Пытаюсь перевести советника с МТ4 на Мт5. Все работает уже вроде нормально. Даже ордера открываются... Кроме одной приятной мелочи - тейки и стопы не ставятся. Что бы я не вводил в .tp и .sl в структуре торгового запроса результат один - уровни не устанавливаются. Ошибок в логах нет.
MqlTradeRequest req;
MqlTradeResult rez;
MqlTick tick;
req.action=TRADE_ACTION_DEAL;
req.magic=1;
req.symbol=Symbol();
req.volume=0.1;
req.deviation=1;
req.type_filling=ORDER_FILLING_IOC;
req.type_time=0;
req.comment="none";
req.price=tick.ask;
req.volume=0.1;
req.sl=tick.ask-0.005;
req.tp=tick.ask+0.005;
req.type=ORDER_TYPE_BUY;
OrderSend(req,rez);
Что не так?
Во первых сделайте в лог распечатку структуры ответа сервера
во вторых если счет типа ЕСN или NDD то на них нельзя в одном запросе отправлять установку стопов
сделайте проще так:
// в начале кода:
#include <Trade\Trade.mqh>
CTrade trade;
trade.Buy(LOT,SYMBOL,OPEN_PRICE,STOP_LOSS,TAKE_PROFIT);
trade.Sell(аналогично);
это без учета ошибок, не для реала, собственно как и у вас.
Пытаюсь перевести советника с МТ4 на Мт5. Все работает уже вроде
нормально. Даже ордера открываются... Кроме одной приятной мелочи -
тейки и стопы не ставятся. Что бы я не вводил в .tp и .sl в структуре
торгового запроса результат один - уровни не устанавливаются. Ошибок в
логах нет.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пытаюсь перевести советника с МТ4 на Мт5. Все работает уже вроде нормально. Даже ордера открываются... Кроме одной приятной мелочи - тейки и стопы не ставятся. Что бы я не вводил в .tp и .sl в структуре торгового запроса результат один - уровни не устанавливаются. Ошибок в логах нет.
MqlTradeRequest req;
MqlTradeResult rez;
MqlTick tick;
req.action=TRADE_ACTION_DEAL;
req.magic=1;
req.symbol=Symbol();
req.volume=0.1;
req.deviation=1;
req.type_filling=ORDER_FILLING_IOC;
req.type_time=0;
req.comment="none";
req.price=tick.ask;
req.volume=0.1;
req.sl=tick.ask-0.005;
req.tp=tick.ask+0.005;
req.type=ORDER_TYPE_BUY;
OrderSend(req,rez);
Что не так?