voidOnStart()
{
ulong i=0;
while(true)
{
if(i<ULONG_MAX) {i++;} //тут в условии так и остаётся тип ulong, преобразования к long не происходитelse {break;}
}
}
En TF: D1 y M4 el depurador rechaza la línea min=Low[i]; el terminal se "cuelga". En otros TF este problema no existe. Sustituir por min=iLow(); no hace nada. Por favor, avisa, ¿dónde está el "agujero": en el historial, en el nuevo editor de MT4 o en mi cabeza?
En TF: D1 y M4 el depurador rechaza la línea min=Low[i];, el terminal se "cuelga". En otros TF este problema no existe. El reemplazo en min=iLow(); no me da nada. Por favor, avisen dónde está el "agujero": ¿en el historial, en el nuevo editor de MT4 o en mi cabeza?
Por favor,utilice el botón "SRC" al crear un mensaje en el foro para insertar el código
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
En las comparaciones "normales", se da al tipo sin signo:
Entonces, ¿cómo lo explicas?
En la expresión probada del primer bucle, se compara una variable de tipo int con una constante entera de tipo uint:
no hay conversión de tipos implícita, se realiza una comparación a nivel de bits. La expresión es siempre cierta.
En la expresión del segundo bucle que se comprueba, se compara una variable de tipo int con una variable de tipo uint:
se realiza una conversión implícita de la variable i al tipo uint. Y tras el desbordamiento de la variable i: uint(-1)= 4294967295
la expresión será falsa.
El fin de una era(¿UNIX?)se retrasa 8 horas:
Tipos enteros
Tipo
Tamaño en bytes
Valor mínimo
Valor máximo
Analógico en C++
datetime
8
0 (1970.01.01 0:00:00)
32 535 244 799 (3000.12.31 23:59:59)
__time64_t
Los promotores,
Dale una descripción formal de la gramática MQL, que busque los mocos :-)))
Algo sencillo:
double min,max;
i=Bars-1-period1;
while(max-min==0)
{
min=Low[i];
max=High[i];
i++;
}
En TF: D1 y M4 el depurador rechaza la línea min=Low[i]; el terminal se "cuelga". En otros TF este problema no existe. Sustituir por min=iLow(); no hace nada. Por favor, avisa, ¿dónde está el "agujero": en el historial, en el nuevo editor de MT4 o en mi cabeza?
Cosas sencillas:
En TF: D1 y M4 el depurador rechaza la línea min=Low[i];, el terminal se "cuelga". En otros TF este problema no existe. El reemplazo en min=iLow(); no me da nada. Por favor, avisen dónde está el "agujero": ¿en el historial, en el nuevo editor de MT4 o en mi cabeza?
Por favor,utilice el botón "SRC" al crear un mensaje en el foro para insertar el código
Esto facilitará la lectura de sus mensajes.
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Cómo compilar este código en MT5
barabashkakvn, 2014.04.09 11:09
Aquí hay un buen artículo:Migración de MQL4 a MQL5
El fin de una era(¿UNIX?)se retrasa 8 horas:
O no sabemos algo, creo que alguien incluso lo contó a mano aquí https://www.mql5.com/en/forum/16036
Aparentemente hay un error en la ayuda max=32'535'215'999
Es que el límite para el tipo datetime no está definido correctamente:
El límite para el tipo datetime simplemente no está definido correctamente: