Пожалуйста, вставляйте код правильно, почитайте статью MQL5 Community - Памятка пользователя:
Кнопка
предназначена для вставки исходного кода MQL в
текст сообщения. При нажатии появляется
пустое окно, в которое необходимо вставить код и далее нажать кнопку Вставить.
Для отмены
вставки кода необходимо нажать кнопку Отмена.
Не рекомендуется выделять код полужирным шрифтом, чтобы выделить как-то по смыслу определенные куски. Дело в том, что в разных операционных системах и браузерах моноширинные шрифты отображаются по разному. Например, в Windows Vista используется моноширинный шрифт Consolas, у которого полужирное начертание для 10 размера практически не отличимо от обычного.
Пожалуйста, вставляйте код правильно, почитайте статью MQL5 Community - Памятка пользователя:
PS. Где в коде происходит установка значения переменной last_tick? Почему Вы не проверяете то, что Вы передаете в функцию OrderSend()?MqlTick last_tick; while (SymbolInfoTick("EURUSD",last_tick)==false)
2010.06.16 15:21:04 Core 1 failed buy stop 0.10 EURUSD at 0.0000 sl: 1.2126 [Invalid stops]
из журнала видно, что при нулевой цене, SL=1.2126 и типе ордера (buy stop) ордер неправильный
вопрос вот в чем, почему 1.2126+0.005=0
Эта строчка
while (SymbolInfoTick("EURUSD",last_tick)==false) { request.price=last_tick.last+50*_Point; }
означает, что если не удалось получить в переменную last_tick последние текущие цены, то установим
request.price=last_tick.last+50*_Point;
Вас ничего не смущает?
ага, точно, согласен
результат этой функции включает в себя отложенные ордера?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
MqlTradeRequest request;
request.action=TRADE_ACTION_PENDING;
request.symbol="EURUSD";
request.volume=0.1;
MqlTick last_tick;
while (SymbolInfoTick("EURUSD",last_tick)==false)
request.price=last_tick.last+50*_Point;
Print(" ",last_tick.last);
Print(" ",SL*_Point);
Print(" ",TipaCena);
request.deviation=5;
request.sl=last_tick.last;
request.tp=0;
request.type=ORDER_TYPE_BUY_STOP;
MqlTradeResult result;
OrderSend(request,result);
в журнале пишется
2010.06.16 15:21:04 Core 1 failed buy stop 0.10 EURUSD at 0.0000 sl: 1.2126 [Invalid stops]
2010.06.16 15:21:04 Core 1 0
2010.06.16 15:21:04 Core 1 0.005
2010.06.16 15:21:04 Core 1 1.2126
Что я неправильно сделал?