Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 871

 

При запуске в тестере, текущая цена = 4843. сов ставит сел лимит на цену 10.

Как такое возможно, как этого избежать?

mrak

 
lil_lil:

При запуске в тестере, текущая цена = 4843. сов ставит сел лимит на цену 10.

Как такое возможно, как этого избежать?


Выдавайте правильную цену на установку отложенного ордера.

 
Vladimir Karputov:

Выдавайте правильную цену на установку отложенного ордера.

После того как этот селлимит становится позицией, дальнейшая установка лимитных ордеров проходит без эксцессов.

               ExtStep=10*m_adjusted_point;
               m_trade.SellLimit(checkVolumeValue(loot),m_symbol.Bid()+ExtStep);
В чём неправильная цена?
 
lil_lil:

После того как этот селлимит становится позицией, дальнейшая установка лимитных ордеров проходит без эксцессов.

В чём неправильная цена?

m_symbol.Bid() - здесь явно содержится или мусор или старая цена. 

Сначала необходимо обновлять цены:

   if(!RefreshRates())
      return;

а потом уже выдавать торговый приказ на размещение отложенного ордера.

 
Vladimir Karputov:

m_symbol.Bid() - здесь явно содержится или мусор или старая цена. 

Сначала необходимо обновлять цены:

а потом уже выдавать торговый приказ на размещение отложенного ордера.

Есть  

 if(!RefreshRates())
            return;

перед отправкой приказа

 
lil_lil:

Есть  

перед отправкой приказа

Перед отправкой приказа распечатайте цену которую Вы передаёте. 

 
Vladimir Karputov:

Перед отправкой приказа распечатайте цену которую Вы передаёте. 

   m_symbol.Bid()4828.0


 
lil_lil:

   m_symbol.Bid()4828.0


Ладно зайдём с другой стороны: проверьте логи во вкладке "Журнал" - там точно болжно быть видно, что Вы отослали приказ Sell limit по цене 10.

 
Vladimir Karputov:

Ладно зайдём с другой стороны: проверьте логи во вкладке "Журнал" - там точно болжно быть видно, что Вы отослали приказ Sell limit по цене 10.

   CTrade::OrderSend: modify #3 at 10.00000 (sl: 0.00000 tp: 0.00000) [done]

так, это модифицирует на такую цену, буду искать.
 
lil_lil:

   CTrade::OrderSend: modify #3 at 10.00000 (sl: 0.00000 tp: 0.00000) [done]


Проверьте в терминале тики на дату в 00-00

Причина обращения: