- Проблема с уровнями MACD
- Пересечение скользящих средних
- Вопросы от начинающих MQL4 MT4 MetaTrader 4
Да. А также обратный вариант когда МА сначала была выше, а потом стала ниже другой.
а еще произведение разностей отрицательное например :)
o0=iMA(NULL,0,5,0,MODE_SMA,PRICE_HIGH,1); o1=iMA(NULL,0,5,0,MODE_SMA,PRICE_HIGH,2); M0=iMA(NULL,0,15,0,MODE_SMA,PRICE_HIGH,1); M1=iMA(NULL,0,15,0,MODE_SMA,PRICE_HIGH,2);
Логика:
if(M1>o1 && M0<o0)//buy { Трам па пам Ваш код! } // ---------------------------- if(M1<o1 && M0>o0)//sell { Трам па пам Ваш код! }
Если тяжеловато воспринимается, обращайтесь, у нас вы сможете не только заказать, но и обучиться MQL. Наши программисты проводят обучающие семинары и консультации подстраиваясь под клиента.
Блок присваивания:
o0=iMA(NULL,0,5,0,MODE_SMA,PRICE_HIGH,1); o1=iMA(NULL,0,5,0,MODE_SMA,PRICE_HIGH,2); M0=iMA(NULL,0,15,0,MODE_SMA,PRICE_HIGH,1); M1=iMA(NULL,0,15,0,MODE_SMA,PRICE_HIGH,2);
Логика:
if(M1>o1 && M0<o0)//buy { Трам па пам Ваш код! } // ---------------------------- if(M1<o1 && M0>o0)//sell { Трам па пам Ваш код! }
Если тяжеловато воспринимается, обращайтесь, у нас вы сможете не только заказать, но и обучиться MQL. Наши программисты проводят обучающие семинары и консультации подстраиваясь под клиента.
А если на предыдущем баре значение двух скользящих равно, пересечение происходит, но не фиксируется таким кодом, а если при этом требуется закрыть ордер..... Если это МА, то это может быть не часто, а если осциллятор с сигнальной линией....
Надо на предыдущем проверять на равенство, но при этом может произойти отскок и он тоже зафиксируется как пересечение. Ну и на этот случай имется решение, если потребность в нем актуальна.
А еще, при сравнении на равенство требуется нормализация до одинакового количества знаков (8) . Со скользящими может не обязательно, а при сравнении цены и скользящей может быть казус, проходил такое. Есть на графике пересечение, а эксперт его не определяет, в комментарий выводится как равенство цены и МА. После нормализации цены и МА до восьми знаков все стало работать правильно.
Блок присваивания:
o0=iMA(NULL,0,5,0,MODE_SMA,PRICE_HIGH,1); o1=iMA(NULL,0,5,0,MODE_SMA,PRICE_HIGH,2); M0=iMA(NULL,0,15,0,MODE_SMA,PRICE_HIGH,1); M1=iMA(NULL,0,15,0,MODE_SMA,PRICE_HIGH,2);
Логика:
if(M1>o1 && M0<o0)//buy { Трам па пам Ваш код! } // ---------------------------- if(M1<o1 && M0>o0)//sell { Трам па пам Ваш код! }
Если тяжеловато воспринимается, обращайтесь, у нас вы сможете не только заказать, но и обучиться MQL. Наши программисты проводят обучающие семинары и консультации подстраиваясь под клиента.
А если на предыдущем баре значение двух скользящих равно, пересечение происходит, но не фиксируется таким кодом, а если при этом требуется закрыть ордер..... Если это МА, то это может быть не часто, а если осциллятор с сигнальной линией....
Надо на предыдущем проверять на равенство, но при этом может произойти отскок и он тоже зафиксируется как пересечение. Ну и на этот случай имется решение, если потребность в нем актуальна.
А еще, при сравнении на равенство требуется нормализация до одинакового количества знаков (8) . Со скользящими может не обязательно, а при сравнении цены и скользящей может быть казус, проходил такое. Есть на графике пересечение, а эксперт его не определяет, в комментарий выводится как равенство цены и МА. После нормализации цены и МА до восьми знаков все стало работать правильно.
Полностью с Вами согласен. К сожалению, целью моего ответа не являлось полностью решения поставленной задачи. Мой ответ способен навести на путь, а если не получается как говориться то тогда уже надо думать к кому обратиться. Надеюсь, вы меня понимаете.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования