Errores, fallos, preguntas - página 1717

 

Estoy bien.

 

¡Hola !

Tengo un extraño problema.

Dibujo una TrendLine normal entre los puntos de cierre de las dos barras anteriores (en cada nueva barra).

ObjectsDeleteAll(0," ",-1,-1);
ArrayInitialize(cclose,0);
ArrayInitialize(ttime,0);
CopyTime(Symbol(),0,1,2,ttime);
CopyClose(Symbol(),0,1,2,cclose);
price1=cclose[1];
time1=ttime[1];
price2=cclose[0];
time2=ttime[0];

Print("price1=",price1," time1=",time1," price2=",price2," time2=",time2);

//--- создадим трендовую линию по заданным координатам 
   if(!ObjectCreate(chart_ID,nname,OBJ_TREND,sub_window,time1,price1,time2,price2)) 
     { 
      Print(__FUNCTION__, 
            ": не удалось создать линию тренда! Код ошибки = ",GetLastError()); 
      return; 
     } 

Todo funciona bien en tiempo real. Pero en el modo de visualización en el probador el punto izquierdo de la línea está unido al origen y no se mueve en absoluto. ¿Cuál es el problema?

Z.U. En MT4 este problema no parece surgir.

 
fxsaber:

Guión

Resultado

¿Es un error? Esperaba ver uchar.

El tipo mínimo de operación es int, por lo que todos los operandos de un tipo menor se convierten implícitamente a tipo int.

Ayuda https://www.mql5.com/ru/docs/basis/types/casting

Los tipos de datos char, uchar, short y ushort se convierten incondicionalmente a int en las operaciones.
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Kravchenko:

¡Hola !

Tengo un extraño problema.

Dibujo una TrendLine normal entre los puntos de cierre de las dos barras anteriores (en cada nueva barra).

Todo funciona bien en tiempo real. Pero en el modo de visualización en el probador el punto izquierdo de la línea está unido al origen y no se mueve en absoluto. ¿Cuál es el problema, si alguien lo sabe?
Por favor, dame un ejemplo mínimo de trabajo que pueda ser compilado y ejecutado. También necesita información sobre el sistema operativo, la compilación y el tipo de terminal (después de reiniciar el terminal, tome las tres primeras líneas de la pestaña "Log").
 
Ilyas:

El tipo mínimo de operación es int, por lo que todos los operandos de un tipo menor se lanzan implícitamente al tipo int.

Referenciando

Gracias. ¿Parece correcto realizar operaciones de PILA sin fantasmas en C++, como en MQL5?
 
fxsaber:
Gracias. ¿Parece correcto realizar AMBAS operaciones sin fantasmas en C++, como en MQL5?
Sí. Exactamente lo mismo. También en C puro.
 
Vladislav Andruschenko:

Estoy bien.

Gracias, voy a cuestionar el navegador.
 
Karputov Vladimir:
Por favor, proporcione un ejemplo mínimo de trabajo que pueda ser compilado y ejecutado. También necesita información sobre el sistema operativo, la compilación y el tipo de terminal (después de reiniciar el terminal, tome las tres primeras líneas de la pestaña "Log").

Hay un problema con el ejemplo. El perno de la cáscara en sí toma varios archivos. Haré uno más fácil cuando llegue a casa esta noche.

WinXP SP3. Construir 1434

LE 0 14:55:39.873 Terminal MetaTrader 5 build 1434 iniciado (MetaQuotes Software Corp.)
DI 0 14:55:39.889 Terminal Microsoft Windows XP (PC basado en X86), IE 08.00, Intel Pentium Dual E2200 @ 2.20GHz, RAM: 1150 / 2037 Mb, HDD: 74562 / 152625 Mb, GMT+07:00

LJ 0 14:55:39.889 Terminal C:\N-Archivos de Programa\N-MetaTrader 5

Z.U. En cualquier caso, okromo esas manipulaciones que di arriba, no se hace nada más. Cuando se detecta una nueva barra, se borra todo y se dibuja una nueva línea. Pero el ejemplo completo para la compilación lo haré.

 
Slawa:
Sí. Exactamente lo mismo. También en C puro.
Gracias. Lástima que también tengan muletas históricas.
 
Alexey Kravchenko:

Hay un problema con el ejemplo. El perno de la cáscara en sí toma varios archivos. Haré uno más fácil cuando llegue a casa esta noche.

WinXP SP3. Construir 1434

LE 0 14:55:39.873 Terminal MetaTrader 5 build 1434 iniciado (MetaQuotes Software Corp.)
DI 0 14:55:39.889 Terminal Microsoft Windows XP (PC basado en X86), IE 08.00, Intel Pentium Dual E2200 @ 2.20GHz, RAM: 1150 / 2037 Mb, HDD: 74562 / 152625 Mb, GMT+07:00

LJ 0 14:55:39.889 Terminal C:\N-Archivos de Programa\N-MetaTrader 5

Z.U. En cualquier caso, okromo esas manipulaciones que di arriba, no se hace nada más. Cuando se detecta una nueva barra, se borra todo y se dibuja una nueva línea. Pero el ejemplo completo para la compilación lo haré.

Cuando tengamos un ejemplo, lo combinaremos todo en un solo post: problema, ejemplo, datos del sistema operativo y del terminal.