Así que saca la funcionalidad necesaria de la clase y escríbela tú mismo.
Gracias. Mi pregunta es mucho más sencilla: he abierto una orden mediante OrderSend(request,result) y quiero operar inmediatamente con sus parámetros, por ejemplo, imprimirlos. Así:
//============================================================//--- declare and initialize the trade request and result of trade requestMqlTradeRequest request={0};
MqlTradeResult result={0};
//--- parameters of request
request.action = TRADE_ACTION_DEAL; // type of trade operation
request.symbol = Pair1; // symbol
request.volume = lots; // volume of lot
request.type = oper; // order type
request.price = priceOpen; // price for opening
request.deviation= Slippage; // allowed deviation from the price
request.magic = magic;
//=================================== if(OrderSend(request,result))
Print ("retcode = " + retcode + "; ");
Print ("deal = " + deal + "; ");
Print ("order = " + order + "; ");
Print ("volume = " + volume + "; ");
Print ("price = " + price + "; ")
Algunos de los parámetros, como el código de repetición, el pedido y el volumen se imprimen, pero el trato y el precio no. Especialmente el precio es de interés. Todos los resultados están en MqlTradeResult. Los imprimo todos de la misma manera, pero algunos se imprimen y otros no. La pregunta es: ¿por qué se imprimen ciertos parámetros y otros no?
Tengo entendido queArrayCopy sólo copia matrices unidimensionales.
No, ArrayCopy copia cualquier array que esté permitido en mql5\4. Pero deben ser idénticos para ser copiados. La segunda dimensión de la primera matriz tiene 50, y la segunda matriz sólo tiene 20. Lo mismo ocurre con la tercera dimensión.
Algotrader18: Gracias. Mi pregunta es mucho más sencilla: he abierto una orden mediante OrderSend(request,result) y quiero operar inmediatamente con sus parámetros, por ejemplo, imprimirlos. Así: algunos de los parámetros como el código de repetición, el pedido y el volumen se imprimen, pero el trato y el precio no. Especialmente el precio es de interés. Todos los resultados están disponibles en MqlTradeResult. Los imprimo por igual, pero algunos se imprimen y otros no. La pregunta es: ¿por qué se imprimen ciertos parámetros y otros no?
//============================================================//--- declare and initialize the trade request and result of trade requestMqlTradeRequest request={0};
MqlTradeResult result={0};
//--- parameters of request
request.action = TRADE_ACTION_DEAL; // type of trade operation
request.symbol = Pair1; // symbol
request.volume = lots; // volume of lot
request.type = oper; // order type
request.price = priceOpen; // price for opening
request.deviation= Slippage; // allowed deviation from the price
request.magic = magic;
//=================================== if(!OrderSend(request,result))
return;
Print ("retcode = " + result. retcode + "; ");
Print ("deal = " + result. deal + "; ");
Print ("order = " + result. order + "; ");
Print ("volume = " + result. volume + "; ");
Print ("price = " + result. price + "; ");
Si lacomprobación de la estructura básica (comprobación del puntero) tiene éxito, se devuelve true - esto no indica que se haya ejecutado con éxito la operación comercial. Para obtener una descripción más detallada del resultado de la función, debemos analizar los campos de la estructura delresultado.
Si se supera la comprobación básica, sólo entonces lo imprimimos. Todo en un solo tic. Por eso escribí
Intenta buscar, fxsaber una vez trabajó en este problema. No sé lo que hizo, no me interesa. Me resulta más fácil obtener todos estos parámetros en OnTradeTransaction
Así que saca la funcionalidad necesaria de la clase y escríbela tú mismo.
Especialmente el precio es de interés. Todos los resultados están en MqlTradeResult. Los imprimo todos de la misma manera, pero algunos se imprimen y otros no. La pregunta es: ¿por qué se imprimen ciertos parámetros y otros no?
¿Cómo se fusionan las matrices?
Tengo entendido queArrayCopy sólo copia matrices unidimensionales.
¿Cómo se fusionan las matrices?
Tengo entendido queArrayCopy sólo copia matrices unidimensionales.
Gracias. Mi pregunta es mucho más sencilla: he abierto una orden mediante OrderSend(request,result) y quiero operar inmediatamente con sus parámetros, por ejemplo, imprimirlos. Así: algunos de los parámetros como el código de repetición, el pedido y el volumen se imprimen, pero el trato y el precio no.
Especialmente el precio es de interés. Todos los resultados están disponibles en MqlTradeResult. Los imprimo por igual, pero algunos se imprimen y otros no. La pregunta es: ¿por qué se imprimen ciertos parámetros y otros no?
Así es como era originalmente
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategia
Preguntas de los principiantes MQL5 MT5 MetaTrader 5
Algotrader18, 2018.10.25 07:39
¡Buenas tardes!
Abro una posición y quiero imprimir el contenido de MqlTradeResult así:
result.retcode, el pedido y el volumen se imprimen pero el trato y el precio son siempre ceros.
Por favor, ¿podría decirme qué estoy haciendo mal?
Por qué se perdió en el siguiente código.... Pregunta...
Creo que el rendimiento es inaceptable. Se imprimirá en el siguiente tick.
Y creo que ese retorno es inaceptable. Al fin y al cabo, se imprimirá en el siguiente tic.
Aprender a enviar órdenes
Valor devuelto
Si lacomprobación de la estructura básica (comprobación del puntero) tiene éxito, se devuelve true - esto no indica que se haya ejecutado con éxito la operación comercial. Para obtener una descripción más detallada del resultado de la función, debemos analizar los campos de la estructura delresultado.
Exploración de OrderSend
Si pasa la comprobación básica, sólo entonces imprímalo. Todo en la misma garrapata. Por eso lo escribí.Este era el caso originalmente.
por qué se perdió en el siguiente código... pregunta...
Pero en mi opinión, ésta es inaceptable. Se imprimirá en el siguiente tick.
He probado varias variantes, incluida ésta:
No he copiado todo en la pregunta por error...
He probado diferentes opciones, incluyendo esta:
y copiado en la pregunta por error...
Hola a todos.
No hay nada parecido. MT5 es multihilo.