Multiplicar Strings

 

Oi pessoal! Não venho exatamente com uma dúvida, mas com a curiosidade de saber se há um caminho melhor. Desenvolvi um jeito de multiplicar strings em MQL5.
Em Python, basta usar o sinal de multiplicação " * " e está feito, no entanto, não encontrei função ou método semelhante em MQL5. (talvez valha a pena a construção de uma pequena biblioteca?)

De qualquer maneira eis uma possibilidade (script de exemplo):

void OnStart()
  {
//--- Texto a ser concatenado
   string   textoConcatenado = "TXT";

//--- Matriz que vai ser preenchida pelo textoConcatenado
   string   matrizMultiplicada[];

//--- Variável que armazenará a concatenação da matriz anteriormente preenchida
   string   matrizMultiplicada_STR;

//--- Número de vezes que o texto será multiplicado
   int      multiplicador = 3;

//--- Muda o tamanho da array matrizMultiplicada de acordo com o multiplicador
   ArrayResize(matrizMultiplicada,multiplicador);

//--- Livra a array de lixo da memória (é apenas um costume meu, se desnecessário aprecio a correção)
   ZeroMemory(matrizMultiplicada);

//--- Loop para preenchimento da array com o texto da variável
   for(int i = 0; i < ArraySize(matrizMultiplicada); i++)
     {
      matrizMultiplicada[i] = textoConcatenado;
     }

//--- Loop para preenchimento da variável tipo string matrizMultiplicadora_STR com todo o conteúdo do array matrizMultiplicada
   for(int i = 0; i < ArraySize(matrizMultiplicada); i++)
     {
      matrizMultiplicada_STR += matrizMultiplicada[i];
     }

//--- Impressão do texto concatenado
   Print("textoConcatenado:   ", textoConcatenado);

//--- Impressão do multiplicador
   Print("multiplicador:   ", multiplicador);
   
//--- Impressão do texto avizando da array matrizMultiplicada que será impressa a seguir (a função Print não imprime arrays, por isso duas linhas de código)
   Print("matrizMultiplicada:  ");

//--- Impressão do array matrizMultiplicada
   ArrayPrint(matrizMultiplicada);

//--- Impressão do resultado final: a variável tipo string matrizMultiplicada_STR que armazena o texto multiplicado
   Print("matrizMultiplicada_STR: ", matrizMultiplicada_STR);
  }
//+------------------------------------------------------------------+


Como fica a impressão dos resultados:

        textoConcatenado:   TXT
        multiplicador:   3
        matrizMultiplicada:  
        "TXT" "TXT" "TXT"
        matrizMultiplicada_STR: TXTTXTTXT


Há um jeito mais prático de fazer isso? (apenas para poupar espaço de código e otimizar o desempenho). De qualquer maneira, acho que o tópico serve como ajuda para iniciantes como eu.

Obrigado pela atenção, um abraço!

Razão: