Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
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.