El menú contextual de la pestaña "alertas" no está activo, sólo se puede "crear" allí. En la pestaña "señales" sólo puede ver las señales entrantes, no puede darse de baja ni eliminarlas.
Estoy tratando de entender mql5 y reescribir EA desde la versión 4, y me he encontrado con algunos problemas:
1. El compilador escribe 'cH' - identificador no declarado en la líneaif(fcorH==1) countH=cH; aunque la variable está asignada. ¿Cuál es la trampa?
if(fdelH==0) // проверить на близость при отсутствии уровня в массиве удаленных
{
int cH=countH-1; // предыдущее значение счетчика
...
fcorH=1; // перезапись уровня в массиве
}
if(f1==0) // если занесение хая в массив разрешено
{
if(fcorH==1) countH=cH; // если разрешена перезапись уровня, то счетчик отматывается на один назад
...
}
2. la misma historia con otra variable TimeRes:
for(int y2=0;y2<finish;y2++) // поиск ближайших уровней
{
double Level=SupRes[y2][0]; // выбор проверяемого уровняdouble rL=Level-Bid; // разность цены и уровняif((rL<dPlus && rL>0) || (rL>0 && dPlus==0)) // при наличии положительной разницы
{
dPlus=rL; // фиксировать ее
Res=NormalizeDouble(SupRes[y2][0],_Digits); // уровень сопротивленияdatetime TimeRes=SupRes[y2][1]; // время сопротивления
}
}
ObjectSetInteger(0,oRes,OBJPROP_TIME,TimeRes); // отрисовка ближайшего сопротивления
Pero aparte de eso en el segundo ejemplo hay una advertencia"posible pérdida de datos debido a la conversión de tipo" en la línea dedatetime TimeRes=SupRes[y2][1];
Un array a nivel global se combina de esta forma - double SupRes[][2];
Por favor, dígame qué debo hacer para corregir estos errores y advertencias.
Estoy tratando de entender mql5 y reescribir EA desde la versión 4, y me he encontrado con algunos problemas:
1. El compilador escribe 'cH' - identificador no declarado en elif(fcorH==1) countH=cH; aunque la variable está asignada. ¿Cuál es la trampa?
2. la misma historia con la otra variable TimeRes:
En ambos casos estás declarando una variable dentro de una condición/ciclo, es decir, si la condición no se cumple, la variable no está definida.
Poner la definición de las variables al principio de la función o hacerlas globales.
Pero además, el segundo ejemplo provoca el aviso de"posible pérdida de datos debido a la conversión de tipo" en la línea dedatetime TimeRes=SupRes[y2][1];
Un array a nivel global se combina de esta forma - double SupRes[][2];
Por favor, aconséjeme qué hacer para solucionar estos errores y advertencias.
O convertirlo en un tipo
datetime TimeRes=(datetime)SupRes[y2][1];
O bien, definir inicialmente la matriz y la variable como el mismo tipo.
En ambos casos estás declarando una variable dentro de una condición/ciclo, es decir, si la condición no se cumple, la variable no está definida.
Ponga la definición de la variable al principio de la función o hágala global.
Puse la definición de la variable al principio de la función, pero generó advertencias de "posible uso de variable no inicializada" para las variables cH y TimeRes.
¿Qué hacer con él y qué hacer con la advertencia"posible pérdida de datos debido a la conversión de tipo" en la línea datetime TimeRes=SupRes[y2][1]; ???
WindSW: ¿Y cómo se puede definir un array y una variable del mismo tipo, si el array debe contener niveles como double y el tiempo de estos niveles como datetime?
En este caso necesitarás 2 arrays: double y datetime.
Y una vez encontrado el nivel y escrito en el primer array, necesitamos obtener la hora y escribirla en el segundo array.
Pregunta: ¿Cómo configuro qué y dónde para que no entren las señales? No me he suscrito a ninguna de las señales.
+ y desactivar la pestaña de señales en el terminal.
+ y desactivar la pestaña de señales en el terminal.
¡¡¡Buenas tardes!!!
Estoy tratando de entender mql5 y reescribir EA desde la versión 4, y me he encontrado con algunos problemas:
1. El compilador escribe 'cH' - identificador no declarado en la líneaif(fcorH==1) countH=cH; aunque la variable está asignada. ¿Cuál es la trampa?
2. la misma historia con otra variable TimeRes:
Pero aparte de eso en el segundo ejemplo hay una advertencia"posible pérdida de datos debido a la conversión de tipo" en la línea dedatetime TimeRes=SupRes[y2][1];
Un array a nivel global se combina de esta forma - double SupRes[][2];
Por favor, dígame qué debo hacer para corregir estos errores y advertencias.
¡¡¡Buenas tardes!!!
Estoy tratando de entender mql5 y reescribir EA desde la versión 4, y me he encontrado con algunos problemas:
1. El compilador escribe 'cH' - identificador no declarado en elif(fcorH==1) countH=cH; aunque la variable está asignada. ¿Cuál es la trampa?
2. la misma historia con la otra variable TimeRes:
En ambos casos estás declarando una variable dentro de una condición/ciclo, es decir, si la condición no se cumple, la variable no está definida.
Poner la definición de las variables al principio de la función o hacerlas globales.
Pero además, el segundo ejemplo provoca el aviso de"posible pérdida de datos debido a la conversión de tipo" en la línea dedatetime TimeRes=SupRes[y2][1];
Un array a nivel global se combina de esta forma - double SupRes[][2];
Por favor, aconséjeme qué hacer para solucionar estos errores y advertencias.
O convertirlo en un tipo
O bien, definir inicialmente la matriz y la variable como el mismo tipo.En ambos casos estás declarando una variable dentro de una condición/ciclo, es decir, si la condición no se cumple, la variable no está definida.
Ponga la definición de la variable al principio de la función o hágala global.
Puse la definición de la variable al principio de la función, pero generó advertencias de "posible uso de variable no inicializada" para las variables cH y TimeRes.
¿Qué hacer con él y qué hacer con la advertencia"posible pérdida de datos debido a la conversión de tipo" en la línea datetime TimeRes=SupRes[y2][1]; ???
Has definido las variables y has obtenido una advertencia "posible uso de una variable no inicializada 'cH'".
Esto está bien, pero ¿le has dado un valor de inicialización?
Al fin y al cabo, está leyendo el valor por el código y si no hay nada ahí, qué se puede leer. Aquí es una advertencia.Bueno, o bien reducirlo al mismo tipo de
o definir inicialmente la matriz y la variable como el mismo tipo.datetime TimeRes=(datetime)SupRes[y2][1];
¿Y cómo se puede definir un array y una variable del mismo tipo, si el array debe contener niveles como double y el tiempo de estos niveles como datetime?
En este caso necesitarás 2 arrays: double y datetime.
Y una vez encontrado el nivel y escrito en el primer array, necesitamos obtener la hora y escribirla en el segundo array.
Gracias, tus consejos me han ayudado. ¿Dónde puedo leer sobre las definiciones de tipo (datetime)SupRes[y2][1];?
La introducción de los tipos