Preguntas "para" de los operadores de bicicletas - página 2

 
WhooDoo22:

Simon,

No veo qué es lo que estás viendo pero ;) Incluiré de inmediato la función GetLastOrder() para arrojar algo de luz sobre esta cuestión. Disculpas por publicar una pregunta sin incluir primero la función GetLastOrder() con el código.

Gracias.

¿Qué número de ticket muestra OrderPrint()? ¿Qué error se muestra?
 

Simón,


¿qué error se muestra?

ticket desconocido 2 para la función OrderClose


¿Qué número de ticket muestra OrderPrint()?

#20526942 2012.12.24 13:43 comprar 0.01 USDJPY 84.466 0.000 0.000 86.105 0.00 0.00 19.03 0


Gracias.

 
Así que su número de billete USDJPY es 20526942 y sin embargo usted está tratando de cerrar el billete NÚMERO (no la posición)2? ¿ves el problema?
 

Simon,

El número de ticket de USDJPY es 20526942.

La función OrderClose() está intentando cerrar el ticket número 2.

El número de ticket del USDJPY es 20526942 y su número de posición en el pool es el 2.


Si mi entendimiento es correcto, la función OrderClose() no puede cerrar la orden de USDJPY porque el primer parámetro de la función OrderClose() está utilizando el número de posición 2 en lugar del "número único del ticket de la orden" (20526942). Si confirma esta afirmación, entonces parece que debo encontrar una manera de aislar el número de ticket 20526942 de la orden USDJPY, y luego colocar este número en el primer parámetro de la función OrderClose().

¿Qué me dicen de esto? ;)

Gracias.

 
WhooDoo22:


Si mi entendimiento es correcto, la función OrderClose() no puede cerrar la orden USDJPY porque el primer parámetro de la función OrderClose() está utilizando el número de posición 2 en lugar del "número único del ticket de la orden" (20526942). Si confirma esta afirmación, entonces parece que debo encontrar una manera de aislar el número de ticket 20526942 de la orden USDJPY, y luego colocar este número en el primer parámetro de la función OrderClose().

¿Qué dices a esto? ;)

Sí, y hay una función para hacer precisamente eso...
 

Simon,

¿No me digas? ;)

No puede ser la discreta función OrderTicket(), ¿verdad? Jajaja.

Gracias.
 
WhooDoo22:

Simon,

¿No me digas? ;)

No podría ser la discreta función OrderTicket(), ¿verdad? Jajaja.

Gracias.
LOL :-) su código debe trabajar ahora . . . . siguiente ver si se puede modificar para manejar múltiples órdenes USDJPY . . . ;-)
 

Simón,

Una vez más, estoy tan, tan abundantemente bendecido de recibir otra más que generosa contribución de la pestaña "Expertos" en mi MetaTrader que recibo con los brazos abiertos y una manifestación excesivamente alegre. ;)


Descripción del error:

Error de precio del USDJPY (función OrderClose())


Gracias.

Archivos adjuntos:
 
WhooDoo22:

Simón,

Una vez más, me siento muy, muy bendecido al recibir otra generosa contribución de la pestaña "Expertos" en mi MetaTrader que recibo con los brazos abiertos y una manifestación de gran alegría. ;)

Ahora necesitas un informe de errores para saber exactamente qué error se generó... probablemente sea que el precio está demasiado cerca del SL o TP para cerrar la orden. ¿Cuál es tu FreezeLevel?
 

Simon,

MODE_FREEZELEVEL33Nivel de congelación de la orden en puntos. Si el precio de ejecución se encuentra dentro del rango definido por el nivel de congelación, la orden no puede ser modificada, cancelada o cerrada.


No sé cuál es el nivel de congelación del broker de MetaTrader que utilizo para hacer las pruebas. Supongo que el nivel de congelación varía según el corredor.

¿Sabe usted de una manera que puedo utilizar para descubrir el nivel de congelación MetaEditor utilizando la función MarketInfo()?

Ya he incorporado la función GetLastError() sin éxito. Estoy tratando de colocarlo en la ubicación correcta en este momento.

Además, el precio actual de la orden debería superar ampliamente el nivel de congelación.

Aquí hay una captura que muestra su estado:

Estado de la orden USDJPY


Gracias.