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

moslley  

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 #
######################################################
Eduardo Oliveira  
poe os espaços a quantidade necessaria para alinhar, mas ja aviso que dificilmente dará certo
Rogerio Giannetti Torres  
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.

moslley  
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.

Rogerio Giannetti Torres  
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.

Jonathan Pereira  
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 ?????

moslley  
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.

Flavio Javier Jarabeck  
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: