Cómo trabajar correctamente en MT5 con OrderSend - página 12 1...5678910111213 Nuevo comentario Maxim Kuznetsov 2017.02.26 19:14 #111 prostotrader: Respondiendo a la pregunta"Cómo trabajar correctamente en MT5 con OrderSend"La respuesta es sencilla.Hasta que los desarrolladores arreglen el problema, entoncesulong pre_ticket; //Предварительный тикет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, entoncesulong order_ticket; //Тикет ордера//---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... prostotrader 2017.02.26 19:20 #112 Maxim Kuznetsov: 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. fxsaber 2017.02.26 19:28 #113 prostotrader:Respondiendo a la pregunta"Cómo trabajar correctamente en MT5 con OrderSend"La respuesta es sencilla.Hasta que los desarrolladores lo arreglenulong pre_ticket; //Предварительный тикет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 No lo harán. Es un chip. prostotrader 2017.02.26 19:29 #114 fxsaber: ¿Qué pasa si un paquete de OrderSend? Quien se lleve un fajo de billetes se llevará un fajo de agua. prostotrader 2017.02.26 19:57 #115 Para los amantes del PACHEulong 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; 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();//////// }} How to work correctly OnTradeTransaction ¿Cómo puedo abrir una prostotrader 2017.02.26 20:12 #116 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; }} How to work correctly OnTradeTransaction ¿Cómo puedo abrir una prostotrader 2017.02.26 20:30 #117 fxsaber: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? prostotrader 2017.02.28 12:35 #118 fxsaber:No lo harán. Es un chip. SD dijo que a partir de la próxima build OrderSend() funcionará correctamente :) fxsaber 2017.02.28 12:54 #119 prostotrader: SD responde que OrderSend() funcionará correctamente en la próxima compilación :) Qué diversión tienen allí posiciones abiertas la estructura completa de la operación o posición". prostotrader 2017.02.28 12:56 #120 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. 1...5678910111213 Nuevo comentario
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.