Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 125

 
novichok2018:

¿Y no debería aparecer ningún mensaje de error? Probablemente no estaría de más saber por qué no se encuentra un pedido y cómo evitarlo...

En mi opinión, no es necesario. Básicamente, OrderSelect sólo terminará con un error si el índice de la cadena de la lista es incorrecto. Si el índice es exactamente correcto, no se producirá ningún error. Por lo tanto, el error de OrderSelect es un error del programador, no un error de ejecución.

 
Ihor Herasko:

El único libro de texto de MQL4 que conozco es el de Sergei Kovalev.

No sé, tal vez no sé usar el libro de texto, pero no encontré nada en él sobre arrays o estructuras, especialmente cómo usarlos y para qué.

Su código parece entenderlo todo, pero no entiendo cómo utilizarlo en el análisis de posición.

Al mismo tiempo, parece que no puedo resolver mi situación sin arrays. Parece que he utilizado todas las opciones - banderas, contadores de posición, apertura de compra y venta utilizando funciones separadas, así como el cierre de las mismas. Ninguno de ellos ayuda. En cuanto se abre la compra y se cierra la venta, el terminal no ve las condiciones para el cierre hasta que se abre una nueva venta. Si no hay bahías durante este período, todo funciona bien. Será bastante frustrante si las matrices no ayudan.

De todos modos, espero cualquier otra recomendación tuya. Gracias.

22.02 13.00 Creo que he entendido el motivo de mi situación: para hacer que las posiciones se cierren en mis condiciones dependiendo de las condiciones de su apertura, asigno a cada una un magik diferente. Pero para hacer esto, primero uso OrderSelect() después de abrir una posición. Así, cada posición crea una nueva magia cuando se aplica OrderSelect() y se destruye la anterior. Por eso las condiciones se buscan por el último magik y si varias bahías (ventas) fueron abiertas por diferentes condiciones, todas serán cerradas por la última posición abierta (se puede ver en el Probador de Estrategias). Así, cuando se abre una posición de compra cuando se abre una de venta, cambia su número mágico y el terminal no puede encontrar condiciones para cerrar la venta. Encontré la confirmación de esto por medio de impresiones. Ahora queda encontrar la manera de evitar esta situación. ¿Quién puede ayudar?

 
Puede alguien ayudar a adaptar un EA para ponerlo en el mercado. No puedo entender los cheques (
 
novichok2018:

No sé, tal vez no sé usar el libro de texto, pero no encontré allí ninguna palabra sobre arrays o estructuras, y mucho menos sobre cómo usarlos y para qué.

Su código parece entenderlo todo, pero no entiendo cómo utilizarlo en el análisis de posición.

Al mismo tiempo, parece que no puedo resolver mi situación sin arrays. Parece que he utilizado todas las opciones - banderas, contadores de posición, apertura de compra y venta utilizando funciones separadas, así como el cierre de las mismas. Ninguno de ellos ayuda. En cuanto se abre la compra y se cierra la venta, el terminal no ve las condiciones para el cierre hasta que se abre una nueva venta. Si no hay bahías durante este período, todo funciona bien. Será bastante frustrante si las matrices no ayudan.

De todos modos, espero cualquier otra recomendación tuya. Gracias.

Este tutorial es antiguo, fue escrito para versiones de MT4 < 600, es decir, para el viejo MQL4, no tenía estructuras. Las matrices eran.

 
Alexey Volchanskiy:

El tutorial es antiguo, escrito para versiones de MT4 < 600, es decir, para el viejo MQL4, no había estructuras en él. Había matrices.

La Ayuda también contiene arrays, pero para qué sirve: no está claro cómo utilizar los arrays creados para cerrar/abrir posiciones.

 
novichok2018:

También hay matrices en la ayuda, pero para qué sirve: no está claro cómo utilizar las matrices creadas para cerrar/abrir posiciones.

))))))))) me hace reír. ¿Por qué se necesitan matrices para abrir/cerrar posiciones?

 
Alexey Volchanskiy:

))))))))) me hizo reír. ¿Por qué se necesitan matrices para abrir/cerrar?

Si hay una serie de operaciones, y para cada paso hay diferentes parámetros - lote/sl/tp/distancia, entonces es más fácil recorrerlos todos en una matriz

 
Taras Slobodyanik:

Si hay una serie de operaciones, y para cada paso hay diferentes parámetros lote/sl/tp/distancia, entonces es más fácil recorrerlo todo en un array

La situación se describe en el puesto 1243. ¿Tal vez pueda ayudar? Gracias.

 

novichok2018:

¿Quién puede ayudar?

Lógica) Escriba en palabras un plan de lo que debe hacer la EA, en qué secuencia, bajo qué condiciones (diagrama de flujo). Escribir código será mucho más fácil.

 
Aleksey Lebedev:

Lógica) Escriba un plan en palabras, lo que debe hacer el Asesor Experto, en qué secuencia, para qué condiciones (diagrama de flujo). Escribir código será mucho más fácil.

Gracias a todos. Creo que he resuelto el problema yo mismo: simplemente he eliminado todas las magias y he aplicado banderas para identificar las posiciones, para cada condición diferente. Simple y eficaz. Y sin matrices.

Si alguno de los expertos ve los escollos de esta solución, que aún no se han manifestado, estaría muy agradecido de que se le aclararan.