Необходима правильная формула пересечения скользящих средних, чтобы можно было входить в рынок на следующей свече.
К примеру, на текущей свече в который раз произошло пересечение, свеча закрылась, значит входим в сделку на следующей.
Формулы в советниках, предлагаемые на разных форумах, работают не так, например, при пересечении средних сделка не открывается и тд.
Необходима правильная формула пересечения скользящих средних, чтобы можно было входить в рынок на следующей свече.
К примеру, на текущей свече в который раз произошло пересечение, свеча закрылась, значит входим в сделку на следующей.
Формулы в советниках, предлагаемые на разных форумах, работают не так, например, при пересечении средних сделка не открывается и тд.
F[3]>S[3] && F[2]<=S[2] && F[1]<S[1] - Пересечение вниз
F[3]<S[3] && F[2]>=S[2] && F[1]>S[1] - Пересечение вверх.
Где F - быстрая скользящая S - медленная скользящая.
1,2,3 - индекс бара.
Попробуйте нарисовать (изобразить) своё видение проблемы на картинке(желательно с белым фоном). Будет сразу понятно о чём идёт речь.
Я тут новичок. Крепил файл, а он не прикрепился, прям как блондинка. :) Попробую ещё раз.
Файл лучше не прикреплять к сообщению - а вставлять прямо в своё сообщение (Форум: как вставить картинку) - так как я исправил Ваше сообщение выше. Получается очень информативно.
Ага, спасибо, попробую опять. :)
F[3]>S[3] && F[2]<=S[2] && F[1]<S[1] - Пересечение вниз
F[3]<S[3] && F[2]>=S[2] && F[1]>S[1] - Пересечение вверх.
Где F - быстрая скользящая S - медленная скользящая.
1,2,3 - индекс бара.
Спасибо за ответ. Формула вроде не сложная, но мне надо разобраться.
Я правильно понял, 1 - это текущий бар? Если да, то остальные, получается - предыдущие бары?
А зачем три бара, достаточно двух.
F[2]>=S[2] && F[1]>S[1] - Пересечение вверх.
Так?
extern string Indicator_=" Настройки индикатора"; extern int MA_1_PERIOD=100; extern int MA_2_PERIOD=200; extern int MA_1_METHOD=MODE_SMA; extern int MA_2_METHOD=MODE_SMA; int start() { double ma_1_0=iMA(Symbol(),0,MA_1_PERIOD,0,MA_1_METHOD,0,1); double ma_1_1=iMA(Symbol(),0,MA_1_PERIOD,0,MA_1_METHOD,0,2); double ma_2_0=iMA(Symbol(),0,MA_2_PERIOD,0,MA_2_METHOD,0,1); double ma_2_1=iMA(Symbol(),0,MA_2_PERIOD,0,MA_2_METHOD,0,2); if( ma_1_0<ma_2_0 && ma_1_1>=ma_2_1){Signal=1;} if( ma_1_0>ma_2_0 && ma_1_1<=ma_2_1){Signal=2;} }
здесь считает по закрытому бару пересечение
Спасибо за ответ. Формула вроде не сложная, но мне надо разобраться.
Я правильно понял, 1 - это текущий бар? Если да, то остальные, получается - предыдущие бары?
Нет текущий бар будет 0, он еще не закрыт и проверять на нем пересечение будет не совсем корректно.
В принципе алгоритм не сложный: при открытии нового бара проверяете условие пересечения на 1, 2 и 3 баре если условие true открываете сделку, иначе ни чего не делаете.
....
P.S.
Как написали выше, можно и два бара 1 - й и 2 - ой. А на нулевом баре пока он не закрыт значение быстрой и медленной скользящей будут меняться каждый тик.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Необходима правильная формула пересечения скользящих средних, чтобы можно было входить в рынок на следующей свече.
К примеру, на текущей свече в который раз произошло пересечение, свеча закрылась, значит входим в сделку на следующей.
Формулы в советниках, предлагаемые на разных форумах, работают не так, например, при пересечении средних сделка не открывается и тд.
upd. Спасибо за ответы. Решил для наглядности сделать рисунок. :)