выдает 10013.
не открывает в тестере! в потоке все работает!!! я пробовал все комбинации.
почему там достаточно условий, а в тестере что ему нужно?
MqlTradeRequest send; MqlTradeResult result; MqlTradeCheckResult res; ZeroMemory(send); send.action=TRADE_ACTION_DEAL; send.symbol=_Symbol; send.volume=0.01; send.type_filling=ORDER_FILLING_FOK; send.price=SymbolInfoDouble(_Symbol,SYMBOL_BID); send.type=ORDER_TYPE_SELL; send.tp=SymbolInfoDouble(_Symbol,SYMBOL_BID)-0.005; send.sl=SymbolInfoDouble(_Symbol,SYMBOL_BID)+0.005; if(!OrderCheck(send,res)) { Print(res.comment," ", res.equity, " ", res.margin_free); } if(!OrderSend(send,result)) { ObjectSetString(0,constr_name+"22",OBJPROP_TEXT,result.retcode); }
Нужно обнулить структуру торгового запроса.
С уважением, Владимир.
работает. Спасибо большое. Не очевидное решение.
Пожалуйста! Эта проблема тянется с "лохматых" годов, но так никто в Справочнике MQL5 не отредактировал описание в плане обнуления структуры.
Очень давно (уже не помню в каком именно анонсе билда МТ5) промелькнуло сообщение о принудительном обнулении структуры и на этом всё! А дальше, кто не видел этого сообщения, так и продолжали постоянно натыкаться на эту проблему. В то время нужно было явно прописывать MqlTradeRequest request= {0}; Правда, потом, по истечении некоторого периода, ноль в фигурных скобках уже не нужно было прописывать.
Кстати, ещё в 2016 году, Алексей Викторов пытался разобраться с данной проблемой и всё-таки разобрался почему нужно обнулять. Приведу выдержку из его сообщения: "... Поскольку все операции выполняются функцией OrderSend() с указателями на одни и те-же структуры, в частности на структуру типа MqlTradeRequest, то терминал/сервер распознаёт что от него хотят именно по заполненным полям структуры MqlTradeRequest, соответственно ВСЕ не используемые поля должны быть обнулены..."
С уважением, Владимир.
Пожалуйста! Эта проблема тянется с "лохматых" годов, но никто в Справочнике MQL5 не собирается менять примеры, связанные со структурой торгового запроса MqlTradeRequest, а также отредактировать описание в плане обнуления структуры.
Очень давно (уже не помню в каком именно анонсе билда МТ5) промелькнуло сообщение об обнулении структуры и на этом всё! А дальше, кто не видел этого сообщения, так и продолжают постоянно натыкаться на эту проблему.
Кстати, ещё в 2016 году, Алексей Викторов пытался разобраться с данной проблемой и всё-таки разобрался почему нужно обнулять. Приведу выдержку из его сообщения: "... Поскольку все операции выполняются функцией OrderSend() с указателями на одни и те-же структуры, в частности на структуру типа MqlTradeRequest, то терминал/сервер распознаёт что от него хотят именно по заполненным полям структуры MqlTradeRequest, соответственно ВСЕ не используемые поля должны быть обнулены..."
С уважением, Владимир.
Да неужели я такой умный и так смог написать? Не верю…
Обнулить можно ещё и при объявлении структуры
MqlTradeRequest send = {};
Не так давно я где-то читал объяснения этого, но искать конечно лениво. Да и пользоваться поиском я плохо умею.
А ещё, часто гаишникам говорил, медленно ездить я плохо умею…
Вот в том тексте который мне лениво искать, как-то красиво объяснено, что в таком случае обнуляется только первый элемент структуры. А в остальных возможен мусор.
Вот буквально на днях на это снова наткнулся.
А ещё раньше было много споров по поводу отмены таких записей и многим пришлось править все свои поделки.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
выдает 10013.
не открывает в тестере! в потоке все работает!!! я пробовал все комбинации.
почему там достаточно условий, а в тестере что ему нужно?