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

 
ANDREY:

¿Podría decirme cómo guardar un valor de 5 dígitos de azul en la variable amarilla, si la prueba se realiza en un gráfico de 1 minuto?

Gracias

¿A qué equivale Lou?

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030||Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030||Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)

esta expresión sólo devuelve "verdadero" o "falso"

 
MakarFX:

¿A qué equivale Lou?

esta expresión sólo devuelve "verdadero" o "falso"

Y después de abrir una orden, ¿cómo sabemos cuál de las 3 expresiones if es verdadera?
Gracias

 
ANDREY:

Y después de abrir una orden, ¿cómo puedo saber qué expresión de 3 de si es verdadera?
Gracias

En esta interpretación no puedes... tienes que dividir

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030)
if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)
if (Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)

No veo el sentido...
 
MakarFX:

No con esta interpretación... tenemos que dividir

No veo el sentido...

Tengo un gráfico de un minuto y se ha abierto una orden utilizando una de las expresiones de la condición. ¿Cómo puedo entender por qué expresión se abre el pedido? Por ejemplo, si es según la primera expresión, entonces yo, por ejemplo, coloco una orden pendiente de compra con uno de sus parámetros; si es según la segunda expresión, entonces coloco una orden pendiente de compra con diferentes parámetros; si es según la tercera expresión, entonces coloco una orden pendiente de venta.

 
ANDREY:

Tengo un gráfico de un minuto y una de las expresiones de la condición abrió una orden. ¿Cómo puedo saber por qué expresión se abre? Si uso la primera expresión, entonces, por ejemplo, coloco una orden pendiente de compra con uno de sus parámetros; si uso la segunda expresión, entonces coloco una orden pendiente de compra con diferentes parámetros; si uso la tercera expresión, entonces coloco una orden pendiente de venta.

1) Cada 4 horas, se cumplirán las tres condiciones (cuando aparezca un nuevo mínimo).

2) Si ves el punto, divide

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030)
.....
else
if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)
.....
else
if (Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)
.....
 
MakarFX:

Captura

Hay mucho que aprender en el enfoque de la escritura de código. Un agradecimiento especial por ello. Sólo que todavía tiene la vinculación horizontal del objeto de texto por el tiempo a la última barra (DoTime = TimeCurrent()+(Period()*60*7). Como resultado, tenemos el efecto de desplazamiento del texto, cuando el gráfico se desplaza (capturas de pantalla). Sólo quiero evitarlo y anclar el eje X al borde derecho de la pantalla, digamos, 20 píxeles. Es decir, quiero que esta distancia no cambie, tanto al mover la línea hacia arriba/abajo como al desplazar el gráfico. Hasta ahora, no ha funcionado. En realidad, todo lo que se necesita es una línea de código que especifique la posición del texto. El resto lo entiendo.

 
Oleksandr Nozemtsev:

Hay mucho que aprender en el enfoque de la escritura de código. Un agradecimiento especial por ello. Sólo tiene la vinculación horizontal del objeto de texto por tiempo a la última barra (DoTime = TimeCurrent()+(Period()*60*7). Como resultado, tenemos el efecto de desplazamiento del texto, cuando el gráfico se desplaza (capturas de pantalla). Sólo quiero evitarlo y anclar el eje X al borde derecho de la pantalla, digamos, 20 píxeles. Es decir, quiero que esta distancia no cambie, tanto al mover la línea hacia arriba/abajo como al desplazar el gráfico. Hasta ahora, no ha funcionado. En realidad, todo lo que se necesita es una línea de código que especifique la posición del texto. El resto lo entiendo.

Observe la conversión de la hora y el precio a coordenadas XY en píxeles

bool  ChartTimePriceToXY(
   long           chart_id,     // идентификатор графика
   int            sub_window,   // номер подокна
   datetime       time,         // время на графике
   double         price,        // цена на графике
   int&           x,            // координата X для времени на графике
   int&           y             // координата Y для цены на графике
   );

Lee el precio de la línea, lo convierte en píxeles y asigna las coordenadasal objeto Etiqueta de texto en el eje Y, y la coordenada del eje X permanece inalterada.

 
MakarFX:

1) Cada 4 horas se cumplirán las tres condiciones (cuando aparezca un nuevo lowe)

2) si ves el punto, divide

Gracias por el consejo.

Si no divide las expresiones, sino que las pone en un solo operador if()con || , entoncessólo se ejecutará1 condición - la primera de izquierda a derecha, que será true.... si no me equivoco.

Pero según tengo entendido, con este formato sería imposible que el programa supiera qué expresión concreta es verdadera.
 
Oleksandr Nozemtsev:
¡Saludos! Por favor, indíqueme cómo vincular un texto a una línea en mql4, de modo que cuando la línea se mueva, el texto también se mueva,

Indicador de línea y texto Ver 1

El indicador mueve el texto siguiendo la línea. Introduzca el nombre de la línea en el parámetro de entrada.

Archivos adjuntos:
 
Alexey Viktorov:

Obsérvese la traducción de la hora y el precio a coordenadas XY en píxeles

¡Exactamente!

Razón de la queja: