Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Respondiendo a la pregunta"Cómo trabajar correctamente en MT5 con OrderSend"
La respuesta es sencilla.
Hasta que los desarrolladores arreglen el problema, entonces
ulong order_ticket; //Тикет ордера
//---
if(OrderSend(request,result))
{
if(result.retcode==TRADE_RETCODE_DONE)
{
pre_ticket=result.order;
}
}
//----------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
switch(trans.type)
{
case TRADE_TRANSACTION_ORDER_UPDATE:
if((pre_ticket>0) && (trans.order==pre_ticket))
{
switch(trans.order_state)
{
case ORDER_STATE_PLACED:
order_ticket = pre_ticket;
break;
}
}
break;
}
}
Y cuando lo son, entonces
//---
if(OrderSend(request,result))
{
if(result.retcode==TRADE_RETCODE_DONE)
{
order_ticket=result.order;
}
}
Tengo la impresión general de que el 5 es crudo, crudo...
Nadie es inmune a los errores.
Otra cosa es que los errores tardan mucho en corregirse.
Respondiendo a la pregunta"Cómo trabajar correctamente en MT5 con OrderSend"
La respuesta es sencilla.
Hasta que los desarrolladores lo arreglen
ulong order_ticket; //Тикет ордера
//---
if(OrderSend(request,result))
{
if(result.retcode==TRADE_RETCODE_DONE)
{
pre_ticket=result.order;
}
}
//----------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
switch(trans.type)
{
case TRADE_TRANSACTION_ORDER_UPDATE:
if((pre_ticket>0) && (trans.order==pre_ticket))
{
switch(trans.order_state)
{
case ORDER_STATE_PLACED:
order_ticket = pre_ticket;
break;
}
}
break;
}
}
¿Y si el paquete OrderSend?
Y cuando esté arreglado, entonces
¿Qué pasa si un paquete de OrderSend?
Para los amantes del PACHE
ulong order_ticket_1 = 0; //Тикет ордера
ulong order_ticket_2 = 0; //Тикет ордера
ulong order_ticket_3 = 0; //Тикет ордера
ulong order_ticket_4 = 0; //Тикет ордера
ulong order_ticket_5 = 0; //Тикет ордера
uint num_order = 0;
//---
if(OrderSend(request,result))
{
if(result.retcode==TRADE_RETCODE_DONE)
{
pre_ticket=result.order;
num_order++;
}
}
//----------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
switch(trans.type)
{
case TRADE_TRANSACTION_ORDER_UPDATE:
if((pre_ticket>0) && (trans.order==pre_ticket))
{
switch(trans.order_state)
{
case ORDER_STATE_PLACED:
switch(num_order)
{
case 1:
order_ticket_1 = pre_ticket;
pre_ticket = 0;
break;
case 2:
order_ticket_2 = pre_ticket;
pre_ticket = 0;
break;
case 3:
order_ticket_3 = pre_ticket;
pre_ticket = 0;
break;
case 4:
order_ticket_4 = pre_ticket;
pre_ticket = 0;
break;
case 5:
order_ticket_5 = pre_ticket;
pre_ticket = 0;
break;
}
break;
}
}
break;
}
}
void OnTick()
{
if(pre_ticket == 0)
{
OrderSend();////////
}
}
O así
ulong pre_ticket = 0; //Претикет ордера
ulong order_ticket_1 = 0; //Тикет ордера
ulong order_ticket_2 = 0; //Тикет ордера
ulong order_ticket_3 = 0; //Тикет ордера
ulong order_ticket_4 = 0; //Тикет ордера
ulong order_ticket_5 = 0; //Тикет ордера
uint num_order = 0;
//---
if(OrderSend(request,result))
{
if(result.retcode==TRADE_RETCODE_DONE)
{
pre_ticket=result.order;
num_order++;
}
}
//----------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
switch(trans.type)
{
case TRADE_TRANSACTION_ORDER_UPDATE:
if((pre_ticket>0) && (trans.order==pre_ticket))
{
switch(trans.order_state)
{
case ORDER_STATE_PLACED:
switch(num_order)
{
case 1:
order_ticket_1 = pre_ticket;
pre_ticket = 0;
OrderSend();
break;
case 2:
order_ticket_2 = pre_ticket;
pre_ticket = 0;
OrderSend();
break;
case 3:
order_ticket_3 = pre_ticket;
pre_ticket = 0;
OrderSend();
break;case 4:
order_ticket_4 = pre_ticket;
pre_ticket = 0;
OrderSend();
break;
case 5:
order_ticket_5 = pre_ticket;
pre_ticket = 0;
break;
}
break;
}
}
break;
}
}
No lo harán. Es un chip.
Es una pena que los desarrolladores no comenten la situación de OrderSend().
¿Es un "chip" o lo van a arreglar?
No lo harán. Es un chip.
SD responde que OrderSend() funcionará correctamente en la próxima compilación :)
posiciones abiertas la estructura completa de la operación o posición".
Sin embargo, obtuve la respuesta que escribí arriba.
Tal vez no escribiste de forma muy convincente o no expusiste el argumento de la falta de función.