Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 514

 
Karputov Vladimir:

Снова нет конкретики. Ладно: пальцем в небо - DebugBreak.

Применять примерно так:

Karputov Vladimir
:

De nuevo, no hay detalles. OK: dedo en el cielo -DebugBreak.

Aplícalo así:

Bien, ¿qué necesitas para los detalles? He escrito un poco antes.

La cuestión es ésta:

se abren dos órdenes pendientes.

Uno de ellos se ejecutará y el otro se eliminará por no ser necesario.

El primero también se cerrará después de un tiempo (más o menos).

La idea es que volvamos al punto de partida. Y todo debería repetirse.

Pero no.

Antes de todo este proceso puse:

   b1 = OrdersTotal();                                      //количество ордеров               
   c1 = PositionSelect(_Symbol);                            //наличие позиции

Si ambos son cero, ejecutamos el circuito, si no, no.

En la depuración, puse estos dos puntos en la observación. Ambos son 0. Pero en la segunda ronda sólo se hace un pedido.

¿Por qué es así?

 
kashi_ann:

Bien, ¿qué necesitas para los detalles? Ya escribí antes.

Esta es la idea:

Se abren 2 órdenes pendientes.

Una se ejecuta, la otra se elimina cuando no se necesita.

El primero también se cerrará después de un tiempo (más o menos).

La idea es que volvamos al punto de partida. Y todo debería repetirse.

Pero no es así.

...

Su lógica, tiene que responder a la pregunta usted mismo.

kashi_ann:

...

En la depuración, puse estos dos elementos en la observación. Ambos son 0. Pero en la segunda ronda, sólo se hace un pedido.

¿Por qué es así?

De nuevo, sólo tú puedes responder, ya que la lógica es tuya.

En general, me gustaría repetirlo una vez más: una pregunta correctamente formulada contiene el 90% de la respuesta. Así que , por favor, pon los puntos de interrupción antes del lugar del código en el que realizas la acción con la posición. Y luego la depuración paso a paso.

 
toni_stark:
Hola, ¿Podría sugerir el código que realiza la acción al comienzo de un nuevo día (00.00), o en otras palabras, cómo mostrar la condición "Si hay un nuevo día (00.00)" en MQL?

Hay dos lenguajes mql.

El algoritmo es el siguiente:

Recuerde el tiempo de la vela anterior en el TF D1 en una variable estática y compárelo con el tiempo de la vela actual en el mismo TF. Si la hora ha cambiado, entonces realiza la acción y recuerda la hora de una nueva vela en la misma variable.

 
¿Está presentela variable estática en MQL4?
 
toni_stark:
Hola, ¿podría decirme el código que hará que el EA ejecute alguna acción al comienzo de un nuevo día, es decir, 00.00, o en otras palabras, cómo mostrar la condición "Si es un nuevo día (00.00)" en MQL?

Alternativamente

if (StatTime==1)

 Time=iTime(NULL,1440,0);

 StatTime=0;

 }

       if(Time!=iTime(NULL,1440,0))

           {

  StatTime=1;

           } 

 
-Aleks-:

Alternativamente

if (StatTime==1)

 Time=iTime(NULL,1440,0);

 StatTime=0;

 }

       if(Time!=iTime(NULL,1440,0))

           {

  StatTime==1;

           } 

No está del todo claro qué tipo de variable StatTime es?
 
toni_stark:
No está muy claro qué tipo de variable StatTime es.

datetimeHora

intTiempo de estado

Había un error en el código: noStatTime==1;StatTime=1;

       if(Time!=iTime(NULL,1440,0))

           {

  StatTime=1;

           }  

 
Karputov Vladimir:

Su lógica, debería responder a la pregunta usted mismo.

De nuevo, sólo tú mismo puedes responder, porque la lógica es tuya.

En general, lo repetiré una vez más: una pregunta correctamente planteada contiene el 90% de la respuesta. En general, coloque los puntos de interrupción antes del lugar del código en el que se realiza la acción con la posición. Y después se hace la depuración paso a paso.

Sí, así que es una cuestión de lógica. Lo que más me preocupa es que, además del orden de las acciones, tengo que tener en cuenta la hora de actualización de los datos en el servidor.

Utilicépuntos de interrupción, por supuesto.

Supongo que tendré que reescribirlo todo, parece un sinsentido.
 
¿Hay alguien aquí de Ufa?
 

2016.02.15_14:27 GMT+3. Hola, pregunta para los moderadores. Adjunto

pantalla. No se pueden obtener los datos del buffer de indicadores de ZigZag. En

Puedo ver en la captura de pantalla que tengo la carpeta "indicadores" en la ruta del archivo. De hecho

En realidad hay una carpeta "Indicadores" en el terminal. Probablemente debido a esta discrepancia y

No puedo abrir el archivo ZigZag.mq4.
Y los datos de los indicadores de Media Móvil y Fractales como entrar en matrices, no

¿sólo los últimos valores? Algún consejo. Eso es todo por ahora. Esperando una respuesta. 14:36 GMT+3. 15:25 GMT+3.

Escrito en programación procedimental.

Archivos adjuntos:
Razón de la queja: