Indicatori: Griglia - pagina 4

 

Non capisco perché, ma se nel codice di disegno delle linee verticali:

line_counter++;

TimeToStruct(time[i],str);

StringConcatenate(nome_linea,IntegerToString(str.hour,2,'0'),":",IntegerToString(str.min,2,'0'),"_N",line_counter);

SetVLine(nome_riga, ora[i], colore_riga);

sostituisce l'ultima riga con quella successiva:

SetVLine(IntegerToString(str.hour,2,'0')+": "+IntegerToString(str.min,2,'0')+"_N "+IntegerToString(line_counter),time[i],line_color);

allora tutto funziona come dovrebbe.

Quando si stampa tramite Print la variabile line_name dopo la riga con StringConcatenate - il nome delle righe viene scritto correttamente sul terminale.

Per qualche motivo, quando si sostituisce la variabile ottenuta con StringConcatenate nella funzione SetVLine, le linee non vengono disegnate, ma funziona solo il calcolo diretto del nome della linea nel codice della chiamata alla funzione di disegno.

E questo appare esattamente dopo la build 3021.

P.S. Ho avviato il tacchino, ma gli "scarafaggi" vivono nel terminale.

 

Grazie agli sviluppatori per aver risolto un bug nella funzione StringConcatenate nella build 3090.

https://www.mql5.com/ru/forum/380121

Ora l'indicatore funziona bene nel codice originale.

Новая версия платформы MetaTrader 5 build 3090: Улучшения в работе
Новая версия платформы MetaTrader 5 build 3090: Улучшения в работе
  • 2021.10.20
  • www.mql5.com
В четверг 21 октября 2021 года будет выпущена обновленная версия платформы MetaTrader 5...