Errori, bug, domande - pagina 1717

 

Sto bene.

 

Ciao!

Ho uno strano problema.

Disegno una normale TrendLine tra i punti di chiusura delle due barre precedenti (su ogni nuova 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; 
     } 

Tutto funziona bene in tempo reale. Ma nella modalità di visualizzazione nel tester il punto sinistro della linea è attaccato all'origine e non si muove affatto. Qual è il problema?

Z.U. In MT4 questo problema non sembra presentarsi.

 
fxsaber:

Script

Risultato

È un errore? Mi aspettavo di vedere uchar.

Il tipo di operazione minima è int, quindi tutti gli operandi di un tipo più piccolo sono implicitamente convertiti al tipo int.

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

I tipi di dati char, uchar, short e ushort sono convertiti incondizionatamente in int nelle operazioni.
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Kravchenko:

Ciao!

Ho uno strano problema.

Disegno una normale TrendLine tra i punti di chiusura delle due barre precedenti (su ogni nuova barra).

Tutto funziona bene in tempo reale. Ma nella modalità di visualizzazione nel tester il punto sinistro della linea è attaccato all'origine e non si muove affatto. Qual è il problema, qualcuno può saperlo?
Per favore, datemi un esempio minimo funzionante che possa essere compilato ed eseguito. Inoltre hai bisogno di informazioni sul sistema operativo, sulla build e sul tipo di terminale (dopo aver riavviato il terminale prendi le prime tre linee dalla scheda "Log").
 
Ilyas:

Il tipo di operazione minima è int, quindi tutti gli operandi di un tipo inferiore sono implicitamente castati al tipo int.

Riferendosi a

Grazie. Sembra corretto eseguire operazioni di BATTERIA senza fantasmi in C++, come in MQL5?
 
fxsaber:
Grazie. Vi sembra giusto eseguire operazioni di BATTERIA senza fantasmi in C++ allo stesso modo che in MQL5?
Sì, esattamente lo stesso. Anche in C puro.
 
Vladislav Andruschenko:

Sto bene.

Grazie, metterò in discussione il browser.
 
Karputov Vladimir:
Si prega di fornire un esempio minimo funzionante che possa essere compilato ed eseguito. Inoltre hai bisogno di informazioni sul sistema operativo, sulla build e sul tipo di terminale (dopo aver riavviato il terminale prendi le prime tre linee dalla scheda "Log").

C'è un problema con l'esempio. Lo stesso bullone della shell richiede diversi file. Ne farò uno più semplice quando torno a casa stasera.

WinXP SP3. Costruire 1434

LE 0 14:55:39.873 Terminale MetaTrader 5 build 1434 avviato (MetaQuotes Software Corp.)
DI 0 14:55:39.889 Terminale Microsoft Windows XP (PC basato su 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 Terminale C:\Programmi\MetaTrader 5

Z.U. In ogni caso, okromo quelle manipolazioni che ho dato sopra, non si fa altro. Quando viene rilevata una nuova barra, tutto viene cancellato e viene disegnata una nuova linea. Ma l'esempio completo per la compilazione lo farò.

 
Slawa:
Sì, esattamente lo stesso. Anche in C puro.
Grazie. Peccato che abbiano anche stampelle storiche.
 
Alexey Kravchenko:

C'è un problema con l'esempio. Lo stesso bullone della shell richiede diversi file. Ne farò uno più semplice quando torno a casa stasera.

WinXP SP3. Costruire 1434

LE 0 14:55:39.873 Terminale MetaTrader 5 build 1434 avviato (MetaQuotes Software Corp.)
DI 0 14:55:39.889 Terminale Microsoft Windows XP (PC basato su 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 Terminale C:\Programmi\MetaTrader 5

Z.U. In ogni caso, okromo quelle manipolazioni che ho dato sopra, non si fa altro. Quando viene rilevata una nuova barra, tutto viene cancellato e viene disegnata una nuova linea. Ma l'esempio completo per la compilazione lo farò.

Quando avremo un esempio, combineremo tutto in un post: problema, esempio, dati del sistema operativo e del terminale.