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

 
PapaYozh:

¿No tienes a nadie con quien hablar?

¿Qué quieres decir? Igor me lanzó un frenético mensaje de texto a la cabeza. Por supuesto que no es necesario retorcerse tanto, pero si no puedes, pero realmente lo necesitas, entonces puedes hacerlo.

Y al sacar un tema como este, ¿querías una discusión seria de 40 páginas? Todo lo que se puede decir sobre ella en serio ya se ha dicho.

 
Alexey Viktorov:

Llámalo erizo, no habrá ninguna diferencia. Fíjate bien, ¿en qué se diferencian? También está el precio de apertura, la hora de apertura, el take y el stop y todo lo demás que tiene una orden en 4.

Hemos adoptado esta terminología y ya está. Puede que te acostumbres y lo uses incluso en el 4.

Por ejemplo, tenemos la función de precio de apertura de pedido en 4

if(OrderSelect(aTicket, SELECT_BY_TICKET))
  return OrderOpenPrice();

Si necesitamos conocer el beneficio por un orden, podemos hacer lo siguiente

if(OrderSelect(aTicket, SELECT_BY_TICKET))
  return OrderProfit();

Intenta resolver estos dos problemas en 5. Cuánto tiempo le llevará resolverlos. De todos modos, no tendrá éxito en el primer intento hasta que ejecute el algoritmo en una cuenta real y se enfrente a lo que no ha visto en el probador. No todo el mundo tiene tanto tiempo para entender y escribir bibliotecas a gran escala. Por eso dicen que MT4 es más fácil, más simple. Es simplemente elemental que consuma menos tiempo debido a su sistema simplificado de pedidos.

 
Vasiliy Pushkaryov:

Por ejemplo, existe una función en Foursquare para tomar el precio abierto de una orden

Es necesario conocer el beneficio por una orden.

Intenta resolver estas dos tareas en 5. Cuánto tiempo le llevará resolverlos. De todos modos, no tendrá éxito en el primer intento hasta que ejecute el algoritmo en una cuenta real y se enfrente a algunos problemas que no habría encontrado en el probador. No todo el mundo tiene tanto tiempo para entender y escribir bibliotecas a gran escala. Por eso dicen que MT4 es más fácil, más simple. Sólo que se le dedica menos tiempo por su sistema de pedidos simplificado.

Ni siquiera sé cómo decirte...

POSICIÓN_VOLUMEN

Volumen de la posición

doble

POSICIÓN_PRECIO_ABIERTA

Precio de la posición

doble

POSICIÓN_SL

Nivel de stop loss para la posición abierta

doble

POSICIÓN_TP

Nivel de beneficios para la posición abierta

doble

POSICIÓN_PRECIO_ACTUAL

Precio actual del símbolo

doble

POSITION_SWAP

Canje acumulado

doble

POSICIÓN_GANANCIA

Beneficio actual

doble

 
Vasiliy Pushkaryov:

Por ejemplo, existe una función en Foursquare para tomar el precio abierto de una orden

Es necesario conocer el beneficio por una orden.

Intenta resolver estas dos tareas en 5. Cuánto tiempo le llevará resolverlos. De todos modos, no tendrá éxito en el primer intento hasta que ejecute el algoritmo en una cuenta real y se enfrente a algunos problemas que no habría encontrado en el probador. No todo el mundo tiene tanto tiempo para entender y escribir bibliotecas a gran escala. Por eso dicen que MT4 es más fácil, más simple. Lo que ocurre es que se invierte menos tiempo gracias a su sistema de pedidos simplificado.

Al mismo tiempo, en 4ka no es posible establecer el tipo de ejecución de la orden. Y también hubo muchos deseos de hacer lo mismo que para el corredor, y están bien fundamentados. Se trata de 2 formas diferentes de comunicación con la bolsa, las empresas de corretaje de valores. Una es simplificada, la otra es la más cercana a la realidad y, por tanto, más compleja. Y los pros de la optimización y el matan son innegables.

Los 4k deben mantenerse. Se trata de una herramienta sencilla y práctica con suficientes posibilidades tanto para el comercio como para la investigación.

5ka necesita desarrollarse para mantenerse a flote entre otras ofertas.

 
Alexey Viktorov:

Ni siquiera sé cómo decirte...

POSICIÓN_VOLUMEN

Volumen de la posición

doble

POSICIÓN_PRECIO_ABIERTA

Precio de la posición

doble

POSICIÓN_SL

Nivel de stop loss para la posición abierta

doble

POSICIÓN_TP

Nivel de beneficios para la posición abierta

doble

POSICIÓN_PRECIO_ACTUAL

Precio actual del símbolo

doble

POSITION_SWAP

Canje acumulado

doble

POSICIÓN_GANANCIA

Beneficio actual

doble

¿Y si ahora tengo que buscar en entidades cerradas? Nada ha cambiado en la 4. ¿Y en MT5?
 
Vasiliy Pushkaryov:

Por ejemplo, existe una función en Foursquare para tomar el precio abierto de una orden

Es necesario conocer el beneficio por una orden.

Intenta resolver estas dos tareas en 5. Cuánto tiempo le llevará resolverlos. De todos modos, no tendrá éxito en el primer intento hasta que ejecute el algoritmo en una cuenta real y se enfrente a algunos problemas que no habría encontrado en el probador. No todo el mundo tiene tanto tiempo para entender y escribir bibliotecas a gran escala. Por eso dicen que MT4 es más fácil, más simple. Simplemente, se tarda menos tiempo gracias a su sistema de pedidos simplificado.

tu código no tiene comprobaciones, así que en el 5 será similar, utilizaPositionSelectByTicket, esto copiará las propiedades de la posición al entorno.... entonces el principio será el mismo que en MT4


Vale, el tema es tan viejo como el mundo, sobre todo ahora que estamos inmersos en una encuesta relámpago: "¿Quién ha entendido qué de la ayuda de MT5? ,

la ayuda es detallada, es suficiente incluso sin el material del artículo sobre el sistema de órdenes y la biblioteca estándar de MT5

 
Vasiliy Pushkaryov:
¿Y si ahora tengo que buscar en entidades cerradas? Nada ha cambiado en la 4. ¿Qué pasa ahora en MT5?
Quiero entender, ¿es un examen para mí o una lección gratis para ti? Aprenda a leer la documentación del idioma. Hay muchas cosas interesantes.
 
Alexey Viktorov:
Quiero entender, ¿es un examen para mí o una lección gratis para ti? Aprenda a leer la documentación del idioma. Hay muchas cosas interesantes.

Sí, no. Es que hace poco, después de cerrar una posición, decidí tomar ganancias en ella. Y no fue durante 5 minutos, como solía ser en 4. Tuve que arreglar un bucle con operaciones de sobrepaso. Luego resultó que no siempre es posible obtener beneficios inmediatamente después de cerrar una posición. Tuve que envolverlo en un bucle más. Pasé medio día en él. Lo que quiero decir es esto.

Fíjate bien, ¿en qué se diferencian? También está el precio de apertura, la hora de apertura, la toma y el stop y todo lo que tiene la orden en 4.

No exageres, no pretendía hacer un examen a nadie.

 

Vasiliy Pushkaryov:

No exageres, no iba a hacer un examen a nadie.

Si no es un examen, es una lección de alfabetización. Preste atención a una propiedad de posición como POSITION_IDENTIFIER

bool  HistorySelectByPosition(
   long   position_id     // идентификатор позиции - POSITION_IDENTIFIER
   );

...y no tendrás que hacer ningún bucle inútil. 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.


ps; con esto concluye la conferencia sobre el analfabetismo. :-)))

Документация по MQL5: Торговые функции / HistorySelectByPosition
Документация по MQL5: Торговые функции / HistorySelectByPosition
  • www.mql5.com
HistorySelectByPosition - Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vasiliy Pushkaryov:

Sí, no. Es que hace poco, después de cerrar una posición, decidí tomar ganancias en ella. Y no fue durante 5 minutos, como solía ser en 4. Tuve que arreglar un bucle con operaciones de sobrepaso. Luego resultó que no siempre es posible obtener beneficios inmediatamente después de cerrar una posición. Tuve que envolverlo en un bucle más. Pasé medio día en él. ¿Cuál es mi punto?

No quería hacer un examen.

Bueno, este es el precio de la velocidad de MT5 - todas las órdenes de comercio son asíncronas, es decir, MQL5 no espera respuestas del servidor y 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