Отпрака стоп-заявки

 

Здравствуйте! Я вероятно делаю что-то принципиально не так, но я более 5 часов потратил на то, чтобы оправить на рынок заявку ByuStop, и всего чего добился это отправки простого Buy. Сначала пробовал стандартными функциями

   ZeroMemory(request);
   ZeroMemory(result);
   
   req.action   = TRADE_ACTION_PENDING;
   //req.position = ticket_counter;
   req.symbol   = Symbol();
   req.volume   = SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN)*12;
   req.deviation= 5;
   req.magic    = Expert_Magic;
   //req.sl = sl;
   //req.tp = tp;
   req.price = 94300;
   //req.price = SYMBOL_TRADE_EXECUTION_MARKET;
   req.sl=94000;
   req.tp=95000;
   //req.type_time = ORDER_TIME_GTC;
   req.type_filling = ORDER_FILLING_FOK;
   if(direction==buy && beh!=piercing)
      req.type = ORDER_TYPE_BUY_STOP;
   if(direction==buy && beh==piercing)
      req.type = ORDER_TYPE_BUY;
   if(direction==sell && beh!=piercing)
      req.type = ORDER_TYPE_SELL_STOP;
   if(direction==buy && beh==piercing)
      req.type = ORDER_TYPE_SELL;

Выдавало то ошибку 10013, то10015.

Потом попробовал класс CTrade.

Trade.BuyStop(SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN)*12, op,Symbol(),sl, tp);

получаю следующие 4 строки компилятора

2024.06.03 15:43:03.471 Core 1 2024.04.01 09:00:00   failed buy stop 12 SiM4 at 94500 sl: 93768 tp: 95191 [Invalid price]

2024.06.03 15:43:03.471 Core 1 2024.04.01 09:00:00   CTrade::OrderSend: buy stop 12.00 SiM4 at 94500 sl: 93768 tp: 95191 [invalid price]

2024.06.03 15:43:03.471 Core 1 2024.04.01 09:00:00   failed prices for  0 [Invalid request]

2024.06.03 15:43:03.471 Core 1 2024.04.01 09:00:00   retcode=10013  deal=0  order=0

Причём текущая цена того дня ниже 94500.

Помогите, пожалуйста!

 
TraSer:
Trade.BuyStop(SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN)*12, op,Symbol(),sl, tp);
Trade.BuyStop(SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN)*12, op,Symbol(),sl, tp);

Здесь не видно, что в переменной op

А также, надо помнить, что Buy Stop - это приказ на покупку выше текущей цены

 

Извините. Не стал писать цены, поскольку они были написаны в отладке.

op: 94500 sl: 93768 tp: 95191

Понял в чём было дело. У меня 95000 - это ровно цена открытия свечи. Я не совсем туда смотрел. Спасибо за ответ.