Errores, fallos, preguntas - página 1796

 
¿Qué sentido tiene llamar a OrderCheck si OrderSend(Async) hace la misma comprobación?
 
Vladimir Pastushak:

Limpio windup, limpio kasper, puse terminal, kasper lo cortó como loco.

No hay manera de añadirlo a las excepciones......

No se puede reproducir. Puede escribir al ServiceDesk con los detalles. Versión Windows, versión terminal, versión antivirus.
 
Aleksey Pak:
No puedo reproducirlo. Puede escribir una solicitud al ServiceDesk y describirla en detalle. Versión Windows, versión terminal, versión antivirus.

DrWeb no encuentra nada.

 
Error de compilación
#define MACRO  \
  if (true)    \
  {            \
    Print(""); \
//    Print(""); \
  }

void OnStart()
{
  MACRO
}
 
Vladislav Andruschenko:

DrWeb no encuentra nada.

Siempre no encuentra nada ))))
 
Vladimir Pastushak:
Siempre no encuentra nada ))))

No, suele encontrar virus, pero no encuentra nada en mt.

 

Como continuación del tema. ¿Por qué razón al hacer una solicitud de órdenes pendientes, el campoRequest.type_filling ya no tiene valor?

Ahora, no importa cómo lo rellene, OrderGetInteger(ORDER_TYPE_FILLING) == ORDER_FILLING_RETURN.

Guión

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)));
  }        
}

Resultado

ORDER_FILLING_RETURN

type_filling debe establecerse para el mismo ORDER_TYPE_SELL_STOP. ORDER_FILLING_FOK está escrito en el script - significa que se debe generar una solicitud de mercado de tipo ORDER_FILLING_FOK (todo o nada) cuando se acepta la orden de stop. ¿Cuál es la razón por la que no es así?

Pending Order

Una orden comercial para colocar una orden pendiente. Requiere que se especifiquen 11 campos:

  • acción
  • símbolo
  • volumen
  • precio
  • stoplimit
  • sl
  • tp
  • tipo
  • tipo_relleno
  • tipo_tiempo
  • caducidad
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
#define MACRO  \
  if (true)    \
  {            \
    Print(""); \
/*    Print(""); */ \
  }
Esto es correcto, de lo contrario el paréntesis } mismo
 
A100:
#define MACRO  \
  if (true)    \
  {            \
    Print(""); \
/*    Print(""); */ \
  }
Así es, de lo contrario el corchete } actúa por sí mismo
¿Por qué la doble barra obvia actúa sobre la barra invertida? ¿Y por qué la macro lleva los comentarios de doble barra cuando se activa?
 
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 - mercado supuestamente cerrado. Corríjalo, por favor.