Autoaprendizaje del lenguaje MQL5 desde cero - página 57

 
MrBrooklin:

Sigo aprendiendo el lenguaje de programación MQL5. Anteriormente publiqué el código del bucle que inicia la enumeración de las posiciones abiertas. Ahora, una vez iniciado el bucle, empezamos a trabajar con el símbolo en el gráfico actual:

Periódicamente publicaré el código escrito con mis propios comentarios para proporcionar una rápida retroalimentación. Pido a los participantes de este tema que me corrijan, si hay alguna inexactitud en mis códigos y comentarios.

Sinceramente, Vladimir.

Print("Выбираем позицию на символе ", PositionGetSymbol(i), "Тикет", i);

Los comentarios que contienen datos son más prácticos.

 
Valeriy Yastremskiy:

Los comentarios que contienen datos son más prácticos.

¡Gracias, Valery! Su versión del mensaje es más informativa. Voy a cambiar el código de inmediato.

Saludos, Vladimir.

 

Estimados expertos en programación

Por favor, explique dos cuestiones:

  1. Primera pregunta sobre el Número Mágico - ¿se crea en los parámetros de entrada sólo para las órdenes pendientes y las posiciones abiertas (o sólo para las posiciones abiertas?), o para el propio EA se puede crear también? Si la respuesta es "sí", con qué propósito debe hacerse. Realmente me he confundido con esta pregunta y no tengo una buena respuesta.
  2. La segunda pregunta sobre el Número Mágico - si hay más de una posición abierta en el gráfico actual, entonces es posible aplicar tal parámetro de entrada para determinar cada posición:
input int Magic_Number=-1;

Tal vez tengo una comprensión errónea de la aplicación de los números mágicos en la programación en absoluto.

Saludos, Vladimir.

 

Aunque hay una explicación en el artículo de Artem Trishkin https://www.mql5.com/ru/articles/7394#node02, pero sigo sin entenderlo, porque lo hace demasiado complicado.

Sinceramente, Vladimir.

 
MrBrooklin:

Estimados expertos en programación

Por favor, explique dos cuestiones:

  1. Primera pregunta sobre el Número Mágico - ¿se crea en los parámetros de entrada sólo para las órdenes pendientes y las posiciones abiertas (o sólo para las posiciones abiertas?), o para el propio EA se puede crear también? Si la respuesta es "sí", con qué propósito debe hacerse. Realmente me he confundido con esta pregunta y no tengo una buena respuesta.
  2. La segunda pregunta sobre el Número Mágico - si hay más de una posición abierta en el gráfico actual, entonces es posible aplicar tal parámetro de entrada para determinar cada posición:

Tal vez tengo un malentendido de la aplicación de los números mágicos en la programación en absoluto.

Sinceramente, Vladimir.

¿Por qué necesitas ahora el Número Mágico? Realmente, ¿qué sentido tiene molestarse en ello ahora? El trailing stop se utilizará, obviamente, como un elemento de negociación semiautomática: alguien ha colocado una orden, y el EA comienza a recorrerla. ¿A quién le importa quién hizo el pedido? Si otro robot la ha colocado, y usted abre un arrastre, su Asesor Experto también arrastrará su orden. Si no se fija la red de arrastre, no lo hará. Este es exactamente el caso cuando no se necesita un magik. Si de repente lo necesitas más tarde, puedes escribirlo más tarde.

 
MrBrooklin:

Aunque hay una explicación en el artículo de Artem Trishkin https://www.mql5.com/ru/articles/7394#node02, pero sigo sin entenderlo, porque lo hace demasiado complicado.

Sinceramente, Vladimir.

Definitivamente no necesitas leer esto.

 
MrBrooklin:

Sigo aprendiendo el lenguaje de programación MQL5. Anteriormente publiqué el código del bucle que inicia la enumeración de las posiciones abiertas. Ahora, una vez iniciado el bucle, empezamos a trabajar con el símbolo en el gráfico actual:

Periódicamente publicaré el código escrito con mis propios comentarios para proporcionar una rápida retroalimentación. Pido a los participantes de este tema que me corrijan, si hay alguna inexactitud en mi código o comentarios.

Sinceramente, Vladimir.

Nuevamente se parte de una idea equivocada y el código contiene un error. Comienza con las funciones. Escribe un marco del algoritmo utilizando sólo tus propias funciones. Luego pensaremos cómo ponerlas en práctica. Comience con la plantilla estándar que se abre al crear un nuevo EA en el metaeditor.

El trailing stop es mejor que se haga para la cuenta neta para empezar. Así será más fácil trabajar con la posición, porque sólo habrá una posición para un símbolo. En la segunda versión, será posible convertirlo en un híbrido.

 
Vasiliy Sokolov:

¿Por qué necesitas a Magic ahora? Realmente, ¿qué sentido tiene molestarse en ello ahora? El trailing stop se utilizará, obviamente, como un elemento de negociación semiautomática: alguien coloca una orden, y el EA comienza a recorrerla. ¿A quién le importa quién hizo el pedido? Si otro robot la ha colocado, y usted abre un arrastre, su Asesor Experto también arrastrará su orden. Si no activas una red de arrastre, no lo hará. Este es exactamente el caso cuando no se necesita un magik. Si de repente lo necesitas, por favor, escríbelo después.

¡Hola Vasily! Entiendo todo lo relacionado con el Número Mágico, pero el problema es que aquí lo recomendó encarecidamente Andrey Novichkov.

Saludos, Vladimir.

 
Vasiliy Sokolov:

Definitivamente, no es necesario leer este.

Ya veo.

Respetuosamente, Vladimir.

 
Vasiliy Sokolov:

Estás empezando de nuevo desde el lugar equivocado, y el código contiene un error. Comienza con las funciones. Escriba el marco del algoritmo utilizando sólo sus propias funciones. Luego pensaremos cómo ponerlas en práctica. Comience con la plantilla estándar que se abre al crear un nuevo EA en el metaeditor.

El trailing stop es mejor que se haga para la cuenta neta para empezar. Así será más fácil trabajar con la posición, porque sólo habrá una posición para un símbolo. En la segunda versión, será posible convertirlo en un híbrido.

Se creó la plantilla estándar. Empecé a escribir el código en él y publicaré aquí los fragmentos ya escritos. No había adivinado lo del marco del algoritmo con mis propias funciones, ¡gracias por el consejo! ¡También gracias por el consejo sobre la cuenta de red!

Si no es un secreto, ¿cuál es el error en el código?

Si está aquí:

 for(i; i>=0; i--)

Ya lo he corregido a:

 for(i; i>0; i--)

Sinceramente, Vladimir.