Ошибки, баги, вопросы - страница 1796

 
В чем смысл вызова OrderCheck, если OrderSend(Async) делает ту же проверку?
 
Vladimir Pastushak:

Чистая винда, чистый каспер, ставлю терминал , каспер упорото его вырезает.

Никакие добавления в исключения не помогают...... 

Не можем воспроизвести. Можете написать заявку в СервисДеск и подробно описать. Версию Windows, версию терминала, версию антивируса.
 
Aleksey Pak:
Не можем воспроизвести. Можете написать заявку в СервисДеск и подробно описать. Версию Windows, версию терминала, версию антивируса.

DrWeb ничего не находит.  

 
Ошибка компиляции
#define MACRO  \
  if (true)    \
  {            \
    Print(""); \
//    Print(""); \
  }

void OnStart()
{
  MACRO
}
 
Vladislav Andruschenko:

DrWeb ничего не находит.  

та он всегда ничего не находит ))))
 
Vladimir Pastushak:
та он всегда ничего не находит ))))

да нет, часто находит вирусы, но именно в мт ничего не находит

 

В продолжение темы. По какой причине при составе запроса для отложенных ордеров поле Request.type_filling перестало иметь значение?

Теперь как бы его не заполнял, OrderGetInteger(ORDER_TYPE_FILLING) == ORDER_FILLING_RETURN.

Скрипт

void OnStart()
{
  MqlTradeRequest Request = {0};
  
  Request.action = TRADE_ACTION_PENDING;

  Request.symbol = _Symbol;
  Request.volume = 1;
  Request.price = SymbolInfoDouble(_Symbol, SYMBOL_BID) - 100 * _Point;

  Request.deviation = 10;
  Request.type = ORDER_TYPE_SELL_STOP;
  
  Request.type_filling = ORDER_FILLING_FOK;
  
  MqlTradeResult Result = {0};
  
  if (OrderSend(Request, Result))
  {
    Sleep(100);
    
    if (OrderSelect(Result.order))    
      Print(EnumToString((ENUM_ORDER_TYPE_FILLING)::OrderGetInteger(ORDER_TYPE_FILLING)));
  }        
}

Результат

ORDER_FILLING_RETURN

type_filling обязан задаваться для тех же ORDER_TYPE_SELL_STOP. В скрипте прописывается ORDER_FILLING_FOK - это значит, что при акцепте стоп-ордера должен быть сформирован маркет-запрос ORDER_FILLING_FOK-типа (все или ничего). По какой причине этого нет?

Pending Order

Торговый приказ на установку отложенного ордера. Требуется указание 11 полей:

  • action
  • symbol
  • volume
  • price
  • stoplimit
  • sl
  • tp
  • type
  • type_filling
  • type_time
  • expiration
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
#define MACRO  \
  if (true)    \
  {            \
    Print(""); \
/*    Print(""); */ \
  }
Так правильно, иначе скобка } сама по себе
 
A100:
#define MACRO  \
  if (true)    \
  {            \
    Print(""); \
/*    Print(""); */ \
  }
Так правильно, иначе скобка } сама по себе
Зачем двойной слэш действует на обратный? И зачем макрос при активации переносит комментарии двойного слэша?
 
MetaQuotes-Demo
OrderSend(Symb,OP_BUYLIMIT,1,Ask-100*Point,100,0,0,My Order)
Request.action = TRADE_ACTION_PENDING (5)
Request.magic = 0
Request.order = 0
Request.symbol = CHFRUB_TOM
Request.volume = 1.0
Request.price = 57.9
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY_LIMIT (2)
Request.type_filling = ORDER_FILLING_RETURN (2)
Request.type_time = ORDER_TIME_DAY (1)
Request.expiration = 1970.01.01 00:00:00
Request.comment = My Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10018
Result.deal = 0
Result.order = 0
Result.volume = 0.0
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Market closed 53.327 + 0.000 ms
Result.request_id = 334
Result.retcode_external = 0
CHFRUB_TOM - якобы закрытый рынок. Поправьте, пожалуйста.
Причина обращения: