OrderSend(symbol, command, Lot, price, SLIPPAGE, 0, 0, NULL, Magic, 0, clrNONE);потом модифицировать
Спасибо, всё заработало, закрываю эту тему.
Всё правильно.
Например, для случая продажи у вас получается вот так:
OrderSend (symbol, OP_SELL, Lot, Bid, SLIPPAGE, Bid, Bid, NULL, Magic, 0, clrNONE);Вообще бред сивой кобылы.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Доброго времени суток.
Пишу советника, который торгует сразу на нескольких валютных парах.
Описание проблемы.
При попытке выставить ордер на покупку или на продажу, терминал в журнале выводит сообщение вида: 2014.03.11 17:41:29.583 '36049145': order buy 0.01 GBPUSD opening at 0.00000 sl: 1.66251 tp: 1.66321 failed [Invalid S/L or T/P].
Т.е. я пытаюсь выставить ордер по цене 0.00000, на что сервер мне отвечает, что у меня не верный СтопЛос/ТейкПрофит.
Странность заключается в том, что рыночная информация, полученная через функцию MarketInfo, и которая была использованы для расчёта СтопЛоса/ТейкПрофита (они верны), также используется и при выставлении ордера, однако на деле получается, что советник пытается выставить ордер по цене 0.00000.,
Такая картина наблюдается на всех валютных парах, на которых работает советник.
Попытки получить, какую-то дополнительную информацию делая, например, распечатку GetLastError(), ни чего не даёт, потому как терминал почему-то вообще не хочет выводить сообщения, которые я хочу инициировать.
В отладке советника в тестере, на одной валютной паре, перечисленных выше проблем не возникает.
Получение рыночной информации.
Выставление ордера.