Добрый день,
подскажите пожалуйста, как прописать функцию в советнике для MT4, чтобы ордер открылся один раз. То есть получили сигнал на buy, а следующий сигнал на buy чтобы сработал после сигнала на sell и наоборот. Одним словом, чтобы убрать шумные сигналы.
завести переменную LastOrderType например. В неё писать тип последнего ордера (или сигнала, как удобнее).
(затратный путь) или перед открытием сканировать ордера и историю, чтобы выявить этот LastOrderType
if (signal == OP_BUY && LastOrderType!=OP_BUY) { /* тут чего-то покупаем */ }
статусную переменную лучше записывать в глобалки например так:
if( условие_для_покупок ) if( GlobalVariableGet("POSITION")!=1 ) { OrderSend( параметры_ордера_для_покупки ); GlobalVariableSet("POSITION",1); } if( условие_для_продаж ) if( GlobalVariableGet("POSITION")!=-1 ) { OrderSend( параметры_ордера_для_продажи); GlobalVariableSet("POSITION",-1); } if( условие_для_закрытия) if( GlobalVariableGet("POSITION")!=0 ) { OrderSend( параметры_ордер_для_закрытия ); GlobalVariableSet("POSITION",0); }
P.S. здесь глобалка с именем "POSITION" хранит последнее совершённое действие, по её значению можно понять что произошло: 0 = нет позиций, +1 = последняя была покупка, -1 = последняя была продажа
P.S.S. на самом деле надо ещё проверять успешность исполнения ордера (здесь я этого не показал)
статусную переменную лучше записывать в глобалки например так:
P.S. здесь глобалка с именем "POSITION" хранит последнее совершённое действие, по её значению можно понять что произошло: 0 = нет позиций, +1 = последняя была покупка, -1 = последняя была продажа
P.S.S. на самом деле надо ещё проверять успешность исполнения ордера (здесь я этого не показал)

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день,
подскажите пожалуйста, как прописать функцию в советнике для MT4, чтобы ордер открылся один раз. То есть получили сигнал на buy, а следующий сигнал на buy чтобы сработал после сигнала на sell и наоборот. Одним словом, чтобы убрать шумные сигналы.