Отлов MAX MIN - страница 2

 
Я не смотрел твой код. Если я правильно понял, ты хочеш найти три последних верхушки/донышка RBCI и сравнить с соответстующими им ценами? Можно сделать так: (это не код, а логика) //На нулевом баре проверять нельзя! //RBCI[3],RBCI[2],RBCI[1] - значение RBCI на 3-х предыдущих барах. //HiRBCI_3,HiRBCI_2,HiRBCI_1 - значение трех последних верхушек RBCI. //TimeHiRBCI_3,TimeHiRBCI_2,TimeHiRBCI_1 - время верхушек RBCI, необходимо для определения Close. if (RBCI[2]>RBCI[3] && RBCI[2]>RBCI[1]) //Определение верхушки RBCI. Это самое простое условие, { //усложняйте как необходимо Вам. HiRBCI_3=HiRBCI_2; TimeHiRBCI_3=TimeHiRBCI_2; //Если появилась новая верхушка - переназначаем всё. HiRBCI_2=HiRBCI_1; TimeHiRBCI_2=TimeHiRBCI_1; HiRBCI_1=RBCI[2]; TimeHiRBCI_1=Time[2]; } if (HiRBCI_1>HiRBCI_2 && HiRBCI_2>HiRBCI_3 && Close[iBarShift(0,0,TimeHiRBCI_3,false)]>Close[iBarShift(0,0,TimeHiRBCI_2, false)] && Close[iBarShift(0,0,TimeHiRBCI_2,false)]>Close[iBarShift(0,0,TimeHiRBCI_1,false)]) { Print("Тройной дивер!"); } // Для донышек аналогично PS Не въеду как код вставить. ..
 

Вообще какие именно нужны экстремумы - не понятно.
В любом случае экстремум - это фрактал. Задачу можно поделить на 2 логические части.
1 - нахождение вершин-фракталов.
2 - манипуляции с найденными вершинами.

 
kurtman:
Я не смотрел твой код. Если я правильно понял, ты хочеш найти три последних верхушки/донышка RBCI и сравнить с соответстующими им ценами? Можно сделать так: (это не код, а логика) //На нулевом баре проверять нельзя! //RBCI[3],RBCI[2],RBCI[1] - значение RBCI на 3-х предыдущих барах. //HiRBCI_3,HiRBCI_2,HiRBCI_1 - значение трех последних верхушек RBCI. //TimeHiRBCI_3,TimeHiRBCI_2,TimeHiRBCI_1 - время верхушек RBCI, необходимо для определения Close. if (RBCI[2]>RBCI[3] && RBCI[2]>RBCI[1]) //Определение верхушки RBCI. Это самое простое условие, { //усложняйте как необходимо Вам. HiRBCI_3=HiRBCI_2; TimeHiRBCI_3=TimeHiRBCI_2; //Если появилась новая верхушка - переназначаем всё. HiRBCI_2=HiRBCI_1; TimeHiRBCI_2=TimeHiRBCI_1; HiRBCI_1=RBCI[2]; TimeHiRBCI_1=Time[2]; } if (HiRBCI_1>HiRBCI_2 && HiRBCI_2>HiRBCI_3 && Close[iBarShift(0,0,TimeHiRBCI_3,false)]>Close[iBarShift(0,0,TimeHiRBCI_2, false)] && Close[iBarShift(0,0,TimeHiRBCI_2,false)]>Close[iBarShift(0,0,TimeHiRBCI_1,false)]) { Print("Тройной дивер!"); } // Для донышек аналогично PS Не въеду как код вставить. ..
ну на счет нулевого бара я тут почти согласен! кроме одного момента - нулевой бар при определеных условиях всеже удается просчитать с помощью RSI.. примитив в этом коде есть.. а в остальных барах конечно по сформировавшимся. а в остальном смысле тотже за исключением только времени! его я не учитываю, так как и не использую.
 
RickD писал (а):

Вообще какие именно нужны экстремумы - не понятно.
В любом случае экстремум - это фрактал. Задачу можно поделить на 2 логические части.
1 - нахождение вершин-фракталов.
2 - манипуляции с найденными вершинами.


первый пункт я как раз и представил, а второй считается отдельной функцией! так как дивер будет ловится скажем как на RBCI, так и на RSI и на STLM...поэтому это будет совершенно отдельная ф-ия...
меня интересует как это облегчить! потомучто пока не поставили сервер работаю на ишаке...
 

Посмотрите, может пригодится.
http://forum.alpari-idc.ru/post434028-11.html

Там есть пример эксперта, который ищет дивергенцию по MACD.
Вершины цен и MACD - фракталы.

 
RickD писал (а):

Посмотрите, может пригодится.
http://forum.alpari-idc.ru/post434028-11.html

Там есть пример эксперта, который ищет дивергенцию по MACD.
Вершины цен и MACD - фракталы


Большое ШПАСИБО!! хоть что то для раздумий!
Причина обращения: