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

 
Jenya77769:

Gracias, ha funcionado, ¡sólo que he normalizado q y w por separado!

Hay que normalizar la diferencia de dos números. Y compáralo con cero.
 
Artyom Trishkin:
Si es la décima barra, ¿cómo sé la diferencia entre la décima barra y la barra cero? 10-0=10
¿Y por qué tengo que restarlo?


Podemos ver en el papel que 10 - 0 = 10. Pero cómo escribimos esta condición en el programa. No he encontrado una función que devuelva el número de barra. ¿O estaba buscando demasiado?

 
Youri Lazurenko:

Podemos ver en el papel que 10 - 0 = 10. Pero cómo escribimos esta condición en el programa. No he encontrado una función que devuelva el número de barra. ¿O estaba buscando demasiado?

Bueno, ya has encontrado este bar. En la función que busca la intersección.
 
Artyom Trishkin:
Bueno, ya has encontrado ese bar. En la función que busca la intersección.
Sí, lo encontré. Creo que al escribir tu respuesta entendí tu punto - la función IntersectionXX() sólo me da este número, que sea 10. ¿Lo he hecho bien?
 
double SPREAD=MarketInfo(Symb,MODE_SPREAD);// Спред
 double q=High[0]-3.0*Point-High[1];
double w=-SPREAD*Point;

if(NormalizeDouble(q,4)> NormalizeDouble(q,4))
Artyom Trishkin
:

Normaliza la diferencia entre los dos números. Y compáralo con el cero.

Y la forma en que lo hice, ¿podría haber errores?

 
Youri Lazurenko:
Sí, lo encontré. Creo que entendí tu punto mientras escribía la respuesta - IntersectionXX() es exactamente lo que me da este número, que sea 10. ¿He acertado?
 
Artyom Trishkin:

Muchas gracias. Sí, mi lógica, mi imaginación y mi juicio son un poco escasos. Gracias de nuevo, y todo lo mejor.

 

Hola, quería obtener la hora de apertura de la barra del mes actual, pero me da un error 4074 (ERR_NO_MEMORY_FOR_HISTORY). También es interesante que si empiezo a probar desde el 1 de junio, es correcto, pero a partir del 2 de junio empieza a dar el error. ¿Cómo resolver el problema de este mes?

   datetime iTimeMN=iTime(NULL,PERIOD_MN1,0);
   Print("iTimeMN= ",iTimeMN);
   if(iTimeMN==0)
     {
      Print(" Error= ",GetLastError());
      Sleep(1000);
     }
 

Hola a todos, por favor, ayuda con el cambio de los valores de las variables. Hay dos variables con un valor inicial de cero. Por ejemplo, siempre tengo dos niveles en el gráfico. Cómo hacer para que cuando se alcance un nivel la primera variable cambie de valor a "1" y sólo cuando se alcance el otro nivel vuelva a cambiar de valor a "0", mientras que la segunda variable actúa de forma contraria.

 
AlGuru:

Hola a todos, por favor, ayuda con el cambio de los valores de las variables. Hay dos variables con un valor inicial de cero. Por ejemplo, siempre tengo dos niveles en el gráfico. Como hacer, que al alcanzar un nivel la primera variable ha cambiado de valor a "1" y sólo al alcanzar el otro nivel ha vuelto a cambiar de valor a "0", mientras que la segunda variable ha actuado de forma contraria.


Todo parece funcionar. Sin embargo, al principio no funcionó. Extraño.