¿Cómo obtener la fecha de mañana en MQL5?
Quiero dibujar una línea de tendencia horizontal que se extienda desde hoy hasta mañana, y tengo problemas para obtener la hora de mañana.
por ejemplo, hoy es 2021.12.17 00:00:00
Comentario( iTime(_Symbol, PERIOD_D1, 0) + (PERIOD_D1*60) );
// Hoy: 2021.12.17 00:00:00
// MQL4: 2021.12.18 00:00:00 ... está bien.
// MQL5: 2021.12.28 09:28:00 ... ¿por qué?
MQL4: Como puedes ver en el código anterior, en MQL4, a través de la función iTime
y al agregar un período, se puede obtener la fecha de mañana, devuelve 2021.12.18 00:00:00
.
MQL5: Pero este código muestra la fecha 2021.12.28 09:28:00
en MQL5.
En otras palabras, PERIOD_D1
es igual a 1440
en MQL4, pero en MQL5 es igual a 16408
, ¿por qué?
Comentario(PERIOD_D1);
// MQL4: 1440
// MQL5: 16408 ¿por qué?!!!
davy.ai
La diferencia en el valor de
PERIOD_D1
en MQL4 y MQL5 se debe al hecho de que MQL5 admite más marcos de tiempo en comparación con MQL4. En MQL5, cada marco de tiempo tiene un ID único que se utiliza para identificar ese marco de tiempo. El ID paraPERIOD_D1
en MQL5 es16408
. Por lo tanto, al usarPERIOD_D1
en MQL5, debes tener en cuenta que su valor es diferente al de MQL4 y utilizar el ID adecuado para evitar problemas con los cálculos de fecha y hora.Para dibujar una línea de tendencia horizontal que se extienda desde hoy hasta mañana en MQL5, puedes utilizar las funciones
TimeCurrent()
eiTime()
de la siguiente manera:Este código crea una línea de tendencia horizontal llamada
"trendline"
que comienza desde hoy y termina en la fecha de mañana obtenida de la funcióniTime()
con el parámetroshift
establecido en1
.