Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1906

 
novichok2018 #:

Y no sólo eso. Ve claramente la posición de apertura (manualmente), sus topes y cuando se cierra. Es como si estuviera comerciando.

El Asesor Experto está trabajando con el servidor de comercio, y todos los cambios en las órdenes se solicitan en el servidor.

A grandes rasgos: Usted ha abierto una posición manualmente, el Asesor Experto en un nuevo tick o por el temporizador preguntó al servidor el estado de la cuenta, obtuvo la respuesta del servidor de que la orden está abierta, y luego envió un mensaje al host.

 
Tretyakov Rostyslav #:

El Asesor Experto trabaja con el servidor de operaciones y todos los cambios en las órdenes se solicitan en el servidor.

A grandes rasgos: usted abrió una operación manualmente, el Asesor Experto en un nuevo tick o temporizador pregunta al servidor sobre el estado de la cuenta, obtiene una respuesta del servidor de que la operación está abierta y luego envía un mensaje al host.

Si este es el caso, entonces el maestro del EA ve otras operaciones abiertas en otros símbolos que no son los suyos, o más bien los cambios en la cuenta causados por ellos, mientras que sólo debería ver las operaciones en su símbolo.

 
novichok2018 #:

Si este es el caso, entonces el propietario del EA ve otras operaciones abiertas no en su símbolo, o más bien cambios en la cuenta causados por ellos, mientras que sólo debería ver las operaciones en su símbolo.

Si no hay ninguna solicitud para su símbolo como if(OrderSymbol()=="EURUSD")

entonces ve todos los oficios.

 
Tretyakov Rostyslav #:

Si su EA no pide un símbolo como if(OrderSymbol()=="EURUSD")

entonces ve todos los oficios.

Sin embargo, ¿es posible añadir en el código, para que el EA abra una posición (o la refleje) no en el gráfico donde se coloca, sino utilizando el mismo símbolo, pero en otro diferente? ¿O no es posible en principio?

 
novichok2018 #:

Entonces, ¿es posible especificar en el código que el EA abra una posición (o la refleje) no en el gráfico donde se establece, sino en el mismo símbolo, pero en un gráfico diferente? ¿O no es posible en principio?

Cualquier solicitud de estado de la cuenta o del comercio va a la parrilla, donde no hay condiciones ni plazos. La respuesta a su pregunta: no es posible.

 
novichok2018 #:

Entonces, ¿es posible especificar en el código que el EA abra una posición (o la refleje) no en el gráfico donde se establece, sino en el mismo símbolo, pero en un gráfico diferente? ¿O no es posible en principio?

Quieres que el EA #2 vea todas las posiciones abiertas por el EA #1, ¿verdad?

Bueno, eso es fácil.

 
Alekseu Fedotov #:

Usted quiere que el EA #2 (digamos) vea todas las posiciones abiertas por el EA #1, ¿verdad?

Bueno, eso es fácil.

Quiere que el monitor no vea en ninguna parte que interfiere con el comercio de EA.

 

Alexey Viktorov #:

  HideTestIndicators(true); 
   MaCurrent=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,0); 
   MaPrevious=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,1); 
   HideTestIndicators(false);



Gracias por la respuesta anterior, pero ahora otro problema. Cuando se realizan pruebas durante más de un año, la memoria se agota. El probador escribe "Canal_1" : sin memoria. También, "Canal_1" : no se ha inicializado. Estos mensajes aparecen después de probar durante un año o más en 3 ordenadores. El indicador (Canal_1) está conectado a través de un recurso. No hizo ninguna asignación de memoria dinámica a través de new. Todo el problema apareció después de los cambios descritos en el post anterior. Empecé a hacer un bucle a través del indicador conectado y cada vez que cambio intu parámetro (período) en él.

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2022.02.05
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Aleksandr Kononov #:

Gracias por la respuesta anterior, pero ahora otro problema. Cuando se hacen pruebas durante más de un año, la memoria se agota. El probador escribe "Canal_1" : sin memoria. También, "Canal_1" : no se ha inicializado. Estos mensajes aparecen después de probar durante un año o más en 3 ordenadores. El indicador (Canal_1) está conectado a través de un recurso. No hizo ninguna asignación de memoria dinámica a través de new. Todo el problema apareció después de los cambios descritos en el post anterior. Empecé a hacer un bucle con el indicador y cada vez que cambio su parámetro intu (periodo).

¿Quizás ese sea el problema? Prueba a borrar periódicamente el recurso

bool  ResourceFree( 
   const string  resource_name      // имя ресурса 
   );

Pero entonces hay que crearlo de forma dinámica.

bool  ResourceCreate( 
   const string      resource_name,       // имя ресурса 
   const string      path                 // относительный путь к файлу 
   );

Es decir, primero eliminar el recurso y luego volver a crearlo. El único problema es que no sé cómo funcionará. O si funcionará en absoluto. Tendremos que probar...

 
Alekseu Fedotov #:

Usted quiere que el EA #2 (digamos) vea todas las posiciones abiertas por el EA #1, ¿verdad?

Bueno, eso es fácil.

Sí, exactamente: ese EA #2, vería todas las posiciones abiertas por el EA #1. Sólo si fuera fácil para mí, no pediría ayuda.

Hasta ahora, veo la siguiente solución: escribir un indicador que cree un objeto "punto" con coordenadas de apertura de posición por el EA #1 y colocarlo en un gráfico con el EA #2 instalado.

Si mi lógica es correcta, todavía necesito ayuda para escribir este indicador.