La gran y terrible MT4 para siempre (o cómo hacer una estrategia de transición) - página 6

 
Alexey Viktorov:

Si no es un examen, es una prueba de fuego. Preste atención a la propiedad de posición POSITION_IDENTIFIER

...y no tendrás que hacer bucles inútiles. Una posición cerrada de la cuenta Hadge siempre tiene dos operaciones... bajo el índice 0 de apertura y bajo el índice 1 de cierre, a menos que haya hecho un cierre parcial.

Los cierres parciales son raros, pero los uso y la red. Por eso lo he hecho universal de una vez. ¿Es correcto decir que sólo puede haber dos intercambios para las posiciones de cobertura? Al igual que en la compensación, la empresa de corretaje no puede cerrar parcialmente o por partes en función de la política de ejecución?
 
Igor Makanu:

Bueno, este es el precio de la velocidad de MT5 - todas las órdenes de comercio son asíncronas, es decir, MQL5 no espera la respuesta del servidor, sino que continúa su trabajo

en MT4 todas las órdenes de negociación reciben una respuesta sincrónica del servidor


hay que preguntar qué hacer y no por qué

- procesar el cierre de la orden en el siguiente tick (ya sea en el bucle, o en pausa... o aquí depende del TS)

- o procesarOnTradeTransaction

Yo estaba en transición de un cuatro ). Y estas diferencias, mientras se encuentran, se sienten, se superan y crean una impresión de complejidad. Entonces, sí, encontré soluciones en la rama "Peculiaridades del lenguaje mql5" y lo hice. Está claro que cuando su propia biblioteca esté lista, MT5 no parecerá tan engorroso.
 
Vasiliy Pushkaryov:
...Sobre las posiciones de cobertura, ¿es cierto que sólo puede haber dos operaciones? ¿No puede el CC cerrar parcialmente o por partes, como en el caso de las redes, en función de la política de ejecución?

HistoryDealsTotal() siempre funciona y es más rápido que recorrer el historial de todas las órdenes y operaciones.

 
Alexey Viktorov:

HistoryDealsTotal() siempre funciona y es más rápido que recorrer el historial de todas las órdenes y operaciones.

Esto es lo que yo hago, controlo los ID de posición y luego los uso para el muestreo. Sólo que no he encontrado información de que una posición en una cobertura siempre tenga sólo dos operaciones, a menos que se utilice el cierre parcial.
 

Para cambiar a MT5 hay que comprarlo

Entonces la pregunta es ¿por qué cuando ya has comprado MT4?

Así que sólo hay un camino: actualización más barata o gratis.

Y entonces el trader se encontrará con el hecho de que sólo hay MT5 y ya está.

 
No he visto una solución de MT5 que funcione para lo siguiente

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Características del lenguaje mql5, consejos y trucos

fxsaber, 2018.02.15 11:48

Sugiero tratar de escribir un script en MQL5 con este tipo de lógica de comercio (estilo MQL4 sólo para la visualización de sentido rápido)

void OnStart()
{
  OrderCloseBy(OrderSend(_Symbol, OP_BUY, 1, Ask, 0, 0, 0), OrderSend(_Symbol, OP_SELL, 1, Bid, 0, 0, 0));
}

No es nada fácil.

Y hay situaciones mucho más sutiles... Si un broker ofrece una MT4/5, en igualdad de condiciones, la elección siempre es clara.

 
Vasiliy Pushkaryov:
Eso es lo que hago, controlo los identificadores de posición y luego los muestro. Sólo que no he visto información de que una posición en una cobertura siempre tenga sólo dos operaciones a menos que se utilice el cierre parcial.

¿Quieres un manual para cada cosa?

 
fxsaber:
No he visto ninguna solución de MT5 que funcione para los siguientes

Y hay situaciones que son mucho más sutiles... si un broker ofrece MT4/5 en igualdad de condiciones, la elección es siempre clara.

Y nunca lo hará, por la sencilla razón de que el cierre parcial, o el cierre con una posición contraria, va con el ticket de la posición, y la apertura de una posición no devuelve el ticket. Y de todos modos... ¿por qué esas perversiones? Probablemente, es de esa serie cómo cerrar posiciones y eliminar órdenes pendientes con un ciclo...
 
Alexey Viktorov:

¿Quieres un manual para cada cosa?

Por supuesto que sí. No creo que sea el único.
Conseguir un beneficio parcial o uno completo cuando se cuenta con información sobre uno completo después de todo no es poca cosa para mí. Se puede perder mucho dinero por la vía de la experiencia.

Así que cuanto más detallada sea la ayuda, mejor.

 
Alexey Viktorov:
Y nunca lo conocerá por la sencilla razón de que un cierre parcial, o un cierre de posición contraria va en un ticket de posición, y la apertura de una posición no devuelve un ticket. Y de todos modos... ¿por qué semejante perversión?

de legibilidad del código. En el MQL4 queda inmediatamente claro lo que ocurre.