Indicadores: Setka (grade) - página 4

 

Não entendo por que, mas se no código de desenho de linhas verticais:

line_counter++;

TimeToStruct(time[i],str);

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

SetVLine(line_name,time[i],line_colour);

substituir a última linha pela próxima linha:

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

então tudo funciona como deveria.

Ao imprimir por meio de Print the line_name variable after the line with StringConcatenate, o nome das linhas é gravado corretamente no terminal.

Por algum motivo, ao substituir essa variável obtida em StringConcatenate na função SetVLine, as linhas não são desenhadas, apenas o cálculo direto do nome da linha no código da chamada da função de desenho funciona.

E isso aparece exatamente após a compilação 3021.

P.S. Eu iniciei o turkey, mas as "baratas" vivem no terminal.

 

Agradecemos aos desenvolvedores pela correção de um bug na função StringConcatenate no build 3090.

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

Agora o indicador funciona bem no código original.

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