Алгоритм, который бы давал информацию о силе и направление индикатора.

 
А может, кто подсказать, как может выглядеть алгоритм, который бы давал информацию о силе и направление индикатора, например Accumulation/Distribution. Для использования в МТС. Заранее огромное спасибо.
 
Как Вы понимаете термины "сила и направление индикатора" ? Математически или логически (словами)
 
Направление - это наверное разность между двумя его значениями. А сила... "В чем сила, брат?!" :)
 
Дык если так то получается что разность временных значений и есть "сила" а знак этой разности (+/-) и есть направление.
 
D500_Rised:
Как Вы понимаете термины "сила и направление индикатора" ? Математически или логически (словами)

А позвольте поинтересоваться что вы имеете в виду говоря про математически или логический если математически вы подразумевали,
расчет чего-либо то да но расчет этот из логики берется алгоритм (логика) как синоним почти.
 
magiXpert:
Направление - это наверное разность между двумя его значениями. А сила... "В чем сила, брат?!" :)


Говоря про силу, я имел ввиду углы, которые делает линия индикатора Accumulation/Distribution при движение в вех или вниз (то есть мне надо, что бы советник понимал как долго и под каким углом большим или маленьким движется линия индикатора)
эти углы я вижу легко визуально, а вот советник ...это проблема.
Направление это просто движение Accumulation/Distribution вверх или в низ в принципе если есть решение первого, то это не так уж и сложно вроде
Извиняюсь, слово сила действительно может тут и не подходит. Но я проста так назвал.
 
Пример:
Математически:
Выражение iAD(...,i)-iAD(...,i+1)=res,будет отражать относительную силу и направление индикатора?
Логически (словами):
Как выразить относительную динамику временных значений индикатора, которую я называю "силой", таким образом, чтобы в результате получить значение имеющее две характеристики-"силу" и её вертикальный (знаковый) вектор направления.

PS Умничать можно до бесконечности плюс еще полчаса, но судя по первому Вашему посту Вы пришли сюда за советом, а по второму умничать. Определитесь с целью.
Если мой пример, совпал с Вашим вопросом, то ответ на него в моем предыдущем посте. Если нет, конкретизируйте.
 
D500_Rised:
Дык если так то получается что разность временных значений и есть "сила" а знак этой разности (+/-) и есть направление.


Да это так теперь все встало на свои места, но как сделать,
чтобы советник знал, что сейчас сильная разность ну направление ладно, хотя тоже там с,
когда берешь преведущие бары с помощью функции iAD дикий фон, так и направление не всегда адекватно узнаешь для советника.
 
Для адекватного и однозначного восприятия советником значений индикатора используйте обращения не к нулевому бару, а к уже сформированным.
Для того чтобы советник мог сравнивать "силу" необходимо сравнивать её с каким нибудь " эталоном"
Например:

if (разность > 5 ) { Buy;}
if (разность < -5) {Sell;}
 
D500_Rised:
Для адекватного и однозначного восприятия советником значений индикатора используйте обращения не к нулевому бару, а к уже сформированным.

Для того чтобы советник мог сравнивать "силу" необходимо сравнивать её с каким нибудь " эталоном"

Например:



if (разность > 5 ) { Buy;}

if (разность < -5) {Sell;}



Cформерованые это в прошлом которые? Я к ним и обращался. А вот что может выступать в роли эталона не понимаю, поясните если можно
извиняюсь за назойливость конечно. Ниже представлен последний мой вариант но все ровно в нем что то не то с периодам не понятно
да и вообще этот подход мне кажется неправильным а очень хотелась бы сделать такой скрипт который давал советнику ту информацию
которую я вижу в окне индикатора сам. Может так как я хочу вообще не возможно сделать супер задача какае та.

int t=20;

for(int p=20; p>0; p--) {
t--;
if (iAD(NULL, 0, p)>iAD(NULL, 0, t)) {
r=iAD(NULL, 0, p);
procp[p]=((iAD(NULL, 0, p)-iAD(NULL, 0, t))/(iAD(NULL, 0, t)/100));
countv++; }
if (iAD(NULL, 0, p)<iAD(NULL, 0, t)) {
f=iAD(NULL, 0, p);
procm[p]=((iAD(NULL, 0, t)-iAD(NULL, 0, p))/(iAD(NULL, 0, p)/100));
countv--; } }
Alert("разность роста и подения=",countv);

for(int m=0; m<=100; m++) {
if (procp[m]!=0) {
sp++;
countp=countp+procp[m]; }
if (procm[m]!=0) {
sm++;
countm=countm+procm[m]; } }
countm=countm/sm;
countp=countp/sp;
Alert("процент роста=",countp,"%");
Alert("процент спада=",countm,"%");
if (countp>countm)
Alert("разность процент роста",countp-countm,"%");
if (countm>countp)
Alert("разность процент ",countp-countm,"%");
 

Эталоном в Вашем "коде" служит значение индикатора.

Я говорил об эталоне в общем смысле, поясняя что, чтобы сравнивать что-то надо иметь как минимум 2 значения, одним из которых может быть некое постоянное значение.

Странный кодик выложили, похоже на скрипт, но алгоритм расчета какой-то странный. Задом наперед, что-ли?

Скрипт не может передавать в советник что-либо. С советником дружат только индикаторы и библиотеки функций.

Причина обращения: