Подскажите как правильно реализовать програмно в MQL следующию задачу.
Как в пределах 10 баров найти первый встречающийся фрактал, т. е. от последнего бара в глубь истории если найден верхний фрактал, то прерываем поиск и выполняем условие, и наоборот если нижний фрактал.
int isFractalUp() { for(int i=0; i != 10; i++) { if(iFractals(NULL, 0, MODE_UPPER, i)!= NULL) return(i); } return(-1); } int isFractalDn() { for(int i=0; i != 10; i++) { if(iFractals(NULL, 0, MODE_LOWER, i)!= NULL) return(i); } return(-1); }
если найден, возвращает номер бара, если нет, возвращает -1
В продолжение темы про фракталы, такой вопрос:
Есть эксперт и отдельно индикатор который показывает фракталы по укзанному плечу.
В эксперт я получаю сигналы индикатора
double FR_L1 = iCustom(NULL, 0, Indicator, BarsForFract, 0, 1); double FR_S1 = iCustom(NULL, 0, Indicator, BarsForFract, 1, 1);
Соответственно по этим сигналам работает эксперт.
if (FR_L1 > 0) ... Покупаем if (FR_S1 > 0) ... Продаем
Но кроме этого мне нужно еще получить цену этого фрактала, чтобы по ней выставить отложенный ордер.
Вот часть кода фрактального индикатора
int start() { int N=Bars-IndicatorCounted()-BuFr-1; if(N<=BuFr) N=BuFr+1; for (i=N;i>=BuFr;i--) { BufD[i]=EMPTY_VALUE; BufU[i]=EMPTY_VALUE; if (i==Lowest(NULL,0,MODE_LOW,BuFr*2+1,i-BuFr)) BufD[i]=Low[i]-5*Point; if (i==Highest(NULL,0,MODE_HIGH,BuFr*2+1,i-BuFr)) BufU[i]=High[i]+5*Point; } return(0); }
Как получить цену фрактала в эксперт, чтобы потом выставить отложенный ордер?
Помогите плз., очень нужно. Спасибо.
За ответ спасибо timbo. А по другому можно, чтобы кусок кода в эксперт не вставлять? А то для меня эмуляцию функций в эксперт целое дело переделывать. Хотелось бы как-то проще получить значения индикатора.
Можно просто: в индикаторе открыть ещё один буфер, в него загонять нужное значение. А из эксперта его запрашивать :)
Или я чего-то не понял..
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите как правильно реализовать програмно в MQL следующию задачу.
Как в пределах 10 баров найти первый встречающийся фрактал, т. е. от последнего бара в глубь истории если найден верхний фрактал, то прерываем поиск и выполняем условие, и наоборот если нижний фрактал.