Хорошо... хорошо, что есть поиск по форуму!!! :о)
Если вдруг забуду - запишу здесь. Функция, возвращающая предыдущий верхний и нижний фрактал по 15-минутам. Аргументы "upper" или "lower".
double fractal(string mode) { double fractal_u = 0.0, fractal_d = 0.0; int i_u = -1, i_d = -1; for ( int i = 0; i < Bars-1; i ++ ) { if ( i_u == -1 && iFractals(Symbol(),PERIOD_M15,MODE_UPPER, i ) > 0 ) { i_u = i; fractal_u = iFractals(Symbol(),PERIOD_M15, MODE_UPPER, i ); } if ( i_d == -1 && iFractals(Symbol(),PERIOD_M15, MODE_LOWER, i ) > 0 ) { i_d = i; fractal_d = iFractals(Symbol(),PERIOD_M15, MODE_LOWER, i ); } if ( i_u > -1 && i_d > -1 ) { if(mode=="lower") { return(fractal_d); } if(mode=="upper") { return(fractal_u); } } } }
На нулевом баре он никогда фрактал не покажет, только на 2 или
3
Вычисление последнего фрактала в зависимости от параметра mode (MODE_UPPER - последний максимум, MODE_LOWER - последний минимум) https://docs.mql4.com/ru/constants/lines
double fractal(int mode) { double fractals = 0.0; for ( int i = 0; i < Bars-1; i ++ ) { fractals = iFractals(Symbol(),0,mode, i); if (fractals > 0) return(fractals); } }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот этот код:
выводит "2006.05.29 21:37:05 Fractalz - 0.9a EURUSD,M15: Previous upper fractal is:0 Previous lower fractal is:0"
Почему?
Разве iFractals не возвращает уровни фракталов?