Alinhamento das variáveis na "caixa de log" no final do Backtest

 

Olá pessoal, eu estou mostrando algumas informações no final do  backtest e gostaria de alinhar os "#".

Segue o código:

double OnTester()
{
  Print(
         "######################################################","\n"
         "################# ANÁLISE DO BACKTEST ################","\n"
         "######################################################","\n"
         "# Servidor: "+AccountInfoString(ACCOUNT_SERVER)," #""\n"
         "# Depósito Inicial: "+TesterStatistics(STAT_INITIAL_DEPOSIT)," #""\n"
         "# Lucro Líquido: "+TesterStatistics(STAT_PROFIT)," #""\n"
         "# Lucro Bruto: "+TesterStatistics(STAT_GROSS_PROFIT)," #""\n"
         "# Perda Bruta: "+TesterStatistics(STAT_GROSS_LOSS)," #""\n"
         "######################################################"
  );
     
  return(0);
}

Como fica:

######################################################
################# ANÁLISE DO BACKTEST ################
######################################################
# Servidor: XPMT5-Demo #
# Depósito Inicial: 6000.0 #
# Lucro Líquido: -4.0 #
# Lucro Bruto: 74.0 #
# Perda Bruta: -78.0 #
######################################################

E como eu gostaria que ficasse (já vi muito backtest de outros robôs que fica alinhado certinho como abaixo):

######################################################
################# ANÁLISE DO BACKTEST ################
######################################################
# Servidor:                               XPMT5-Demo #
# Depósito Inicial:                           6000.0 #
# Lucro Líquido:                                -4.0 #
# Lucro Bruto:                                  74.0 #
# Perda Bruta:                                 -78.0 #
######################################################
 
poe os espaços a quantidade necessaria para alinhar, mas ja aviso que dificilmente dará certo
 
moslley:

Olá pessoal, eu estou mostrando algumas informações no final do  backtest e gostaria de alinhar os "#".

Segue o código:

Como fica:

E como eu gostaria que ficasse (já vi muito backtest de outros robôs que fica alinhado certinho como abaixo):

Olá mosley

isso não é uma dúvida!   Quebre um pouco a cabeça use as funções as funções de string, leia o manual.

 
Rogerio Giannetti Torres:

Olá mosley

isso não é uma dúvida!   Quebre um pouco a cabeça use as funções as funções de string, leia o manual.

Ainda continua sendo uma dúvida, eu estou tentando usar StringTrimRight e StringTrimLeft sem sucesso.

Eu estou na dúvida se realmente é possível fazer do jeito que mencionei acima (já q nosso amigo Eduardo Oliveira citou que talvez não seja possível), mas se for possível, continuarei estudando a respeito pra tentar resolver isso.

 
moslley:

Ainda continua sendo uma dúvida, eu estou tentando usar StringTrimRight e StringTrimLeft sem sucesso.

Eu estou na dúvida se realmente é possível fazer do jeito que mencionei acima (já q nosso amigo Eduardo Oliveira citou que talvez não seja possível), mas se for possível, continuarei estudando a respeito pra tentar resolver isso.

Não, não foi isso que ele disse, ele disse acha que a sugestão que ele deu talvez não funcione.  E é claro que possível fazer e tem várias soluções.

Bons estudos.

 
moslley:

Ainda continua sendo uma dúvida, eu estou tentando usar StringTrimRight e StringTrimLeft sem sucesso.

Eu estou na dúvida se realmente é possível fazer do jeito que mencionei acima (já q nosso amigo Eduardo Oliveira citou que talvez não seja possível), mas se for possível, continuarei estudando a respeito pra tentar resolver isso.

Se vc precisa adicionar espaços como o Eduardo te sugeriu, pq vc usou funções que removem espaços ?????

 
Jonathan Pereira:

Se vc precisa adicionar espaços como o Eduardo te sugeriu, pq vc usou funções que removem espaços ?????

Eu já tinha tentado inicialmente com espaço, mas se por acaso a quantidade de caracteres mudar, vai ficar fora de posição de qualquer jeito. Então estou tentando outras ciosas aqui.

 
moslley:

Eu já tinha tentado inicialmente com espaço, mas se por acaso a quantidade de caracteres mudar, vai ficar fora de posição de qualquer jeito. Então estou tentando outras ciosas aqui.

Me lembra os relatórios "alinhados" dos Anos 80...

Sério que você quer perder tempo em fazer algo completamente inútil, na perspectiva do usuário que quer receber resultados de backtest??

Se sim, visite as funções de STRING do MQL5 e monte seu algoritmo de String Padding...

Está tudo lá...

https://www.mql5.com/en/docs/strings

;)

Documentation on MQL5: String Functions
Documentation on MQL5: String Functions
  • www.mql5.com
String Functions - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
Razão: