А что такое у Вас "SYMBOL_BID" и "SYMBOL_ASK"?
Хотите использовать PositionOpen - потрудитесь получить цены. Не хотите получать цены - используйте простые и доступные методы:
//--- additional checking if(signal==ORDER_TYPE_SELL) { if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && Bars(_Symbol,_Period)>100) Trade.Sell(Lot); // Open Sell } if(signal==ORDER_TYPE_BUY) { if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && Bars(_Symbol,_Period)>100) Trade.Buy(Lot); // Open Buy }
А что такое у Вас "SYMBOL_BID" и "SYMBOL_ASK"?
Хотите использовать PositionOpen - потрудитесь получить цены. Не хотите получать цены - используйте простые и доступные методы:
Большое спасибо! Буду пробовать
Большое спасибо! Буду пробовать
Пробуйте. Этот вариант
//--- additional checking if(signal==ORDER_TYPE_SELL) { if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && Bars(_Symbol,_Period)>100) Trade.Sell(Lot); // Open Sell } if(signal==ORDER_TYPE_BUY) { if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && Bars(_Symbol,_Period)>100) Trade.Buy(Lot); // Open Buy }
позволяет быстро выдавать приказы на покупку.продажу - просто указав объём. То есть можно не указывать: символ, цену, sl и tp, комментарий.
Пробуйте. Этот вариант
позволяет быстро выдавать приказы на покупку.продажу - просто указав объём. То есть можно не указывать: символ, цену, sl и tp, комментарий.
Я вот таким образом сделал так, как нужно было попробовать корректность стопов и тейк профита. Теперь все работает. Спасибо.
if(signal==ORDER_TYPE_SELL) { if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && Bars(_Symbol,_Period)>100) Trade.PositionOpen(_Symbol,signal,Lot,SymbolInfoDouble(_Symbol,SYMBOL_BID),NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK)+SL*_Point,_Digits),NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK)-TP*_Point,_Digits)); // Open SellOrder } if(signal==ORDER_TYPE_BUY) { if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && Bars(_Symbol,_Period)>100) Trade.PositionOpen(_Symbol,signal,Lot,SymbolInfoDouble(_Symbol,SYMBOL_ASK),NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK)-SL*_Point,_Digits),NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK)+TP*_Point,_Digits)); // Open BuyOrder }
Я вот таким образом сделал так, как нужно было попробовать корректность стопов и тейк профита. Теперь все работает. Спасибо.
Можно и так, но когда на символах (фьючерсах или металлах) начнёте получать ошибку "неправильные стопы" - просто спросите - там нужно применять другое решение.
Можно и так, но когда на символах (фьючерсах или металлах) начнёте получать ошибку "неправильные стопы" - просто спросите - там нужно применять другое решение.
Ок, спасибо.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день.
Написал свой первый робот на MQL5. Суть робота - при пересечении скользящих открываться в направлении тренда на открытии нового бара.
При тестах получаю реквоты. Понимаю, что где-то допустил ошибку, но где, найти не могу.
Буду благодарен за подсказку.