Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 817
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Lo único que hay que hacer es añadir un montón de pequeñas funciones que comprueben una expresión para la igualdad, la resta, la suma, la desigualdad, la multiplicación, etc.
PD/ ¿Qué es "comprobar la resta, la suma y la multiplicación" y no lo entiendo :-(
¿Cómo puedo ver los tiempos de apertura de las barras en M1 desde un marco temporal superior?
Si quieres ver la barra alta desde la barra baja, entonces
¿Cómo puedo ver los tiempos de apertura de las barras en M1 desde un marco temporal superior?
Si quieres ver la barra alta desde la barra baja, entonces
si lo he entendido bien:
datetime time_h1=iTime(_Symbol,PERIOD_H1,1); // время открытия прошлого бара H1
int bar_m1=iBarShift(_Symbol,PERIOD_M1,time_h1); // соотв. ему бар периода M1
datetime time_m1=iTime(_Symbol,PERIOD_M1,bar_m1); // время его открытия
//PS - la diferencia sólo puede ser de h2 y sólo el lunes por la mañana :-)
Si lo he entendido bien, entonces:
datetime time_h1=iTime(_Symbol,PERIOD_H1,1); // время открытия прошлого бара H1
int bar_m1=iBarShift(_Symbol,PERIOD_M1,time_h1); // соотв. ему бар периода M1
datetime time_m1=iTime(_Symbol,PERIOD_M1,bar_m1); // время его открытия
//PS - la diferencia sólo puede ser de h2 y sólo el lunes por la mañana :-)
Supongamos que lahora de apertura de la última barra H1 es 01:00:00, ¿cómo podemosobtener la hora de la barra M1 que abrió a las01:01:00en la variabletime_m1?
Supongamos quela última barra H1 abrió a las01:00:00, ¿cómo puedoobtener el tiempo de la barra M1, que abrió a las01:01:00,en la variabletime_m1?
time_m1_plus_1=time_h1 + 1 * PeriodSeconds(PERIOD_M1); // de repente :-) sólo añade 1 minuto = 60 segundos al tiempo
pero si se arriesga a un cambio de día/sesión/semana o divisas/índices/fondos exóticos, para estar seguro, utilice iBarShift, iTime - porque en lugares decentes la barra se forma con la primera operación (no hay barra sin volúmenes), pero si no hay operaciones, la "rápida" será
time_m1_plus_1=time_h1 + 1 * PeriodSeconds(PERIOD_M1); // de repente :-) sólo añade 1 minuto = 60 segundos al tiempo
Ahora, esto es valioso - para saber que el tiempo especificado está dentro de una barra en cualquier marco de tiempo, usted necesita hacer lo siguiente
pero si la hora es par, sin minutos"2019.04.23 01:00:00" entonces las flechas están en dos barras, en la barra de las 01:00:00 y en la anterior de las 00:00:00 ¿Cómo no poner una extra?
Bueno todas las partes del día y las estaciones))
Escrito por un pavo. Funciona, pero escribe persistentemente un error en la sección Expertos.
Intentos de resolver el problema ... hasta ahora "cuál de los primeros" ..)))
Dime, por favor, dónde me equivoqué por inexperiencia....
Resalté el lugar problemático en el código en rojo ... ¿¡o verde sería mejor!?)))
PD: en principio niego la opción del mango, debido a las condiciones de funcionamiento del mango en MT5
Dispuesto a pagar algunos salarios si el código tiene errores drásticos.
PERO QUIERO LLEGAR A LA ESENCIA DEL PROBLEMA!!!!
Escribió un indie. Funciona, pero escribe persistentemente un error en la sección de Expertos.
Mi registro está limpio, cambió de modo arbitrariamente (EMA también probó). Dar una variante de la configuración en la que puede aparecer el error.
Me preguntaba cómo podía funcionar y dar errores al mismo tiempo.
Esto es valioso, lo que se necesita) Para saber que el tiempo dado está dentro de la barra de cualquier marco de tiempo se necesita hacer lo siguiente
pero si la hora es par, sin minutos"2019.04.23 01:00:00" entonces las flechas están en dos barras, en la barra de las 01:00:00 y en la anterior de las 00:00:00 ¿Cómo no poner una extra?
if (time[i]>=time_m1 && time[i]<time_m1+PeriodSeconds(PERIOD_M1) {
// время time[i] попало внутрь бара открытого в time_m1
}
Tengo un registro limpio, cambié de modo arbitrariamente (EMA también probó). Da la opción de los ajustes en los que puede aparecer el error.
Era interesante cómo podía funcionar y producir un error al mismo tiempo.
Línea EMA 20 23.04.2019 00:00
Al encender MT5, SIN conexión online, aparece inmediatamente el mensaje "array out....".
Los errores varían, pero siempre están presentes. Puede replicarse en línea, pero suele estar presente cuando la MT está encendida.
Tal es el misterio del "paralelepípedo de las Bermudas"