Executável: não chamado pelo Agent?

 

Boa tarde!


Chamo um executável sem problema algumpelo modo VISUAL do META (rodando pelo FONTE inclusive!) mas quando coloco em Backtest SEM VisualMode ele simplesmente não o encontra.

A chamada que uso é:

string Caminho = "c:\\MyApp"

int value= ShellExecuteW(0,"Open", Caminho +  "\\Stat.exe ", Linha_Comando, Caminho, 0);
Sleep(1000);
               
if(value > 32)  Print("Sucesso");
else            Print("Ops!");
        


Alguém sabe como posso resolver isso e se esse comportamento vai ocorrer também no Trading real ou demo?

Muito agradecida

 
AliceRioBR:

Boa tarde!


Chamo um executável sem problema algumpelo modo VISUAL do META (rodando pelo FONTE inclusive!) mas quando coloco em Backtest SEM VisualMode ele simplesmente não o encontra.


Qual a comprovação técnica disso?

 
Nenhuma ordem é aberta e a rotina de erro volta 5004 - File not Found.
 
AliceRioBR #:
Nenhuma ordem é aberta e a rotina de erro volta 5004 - File not Found.

Hmmm.....

Analisando melhor a situação, me parece que o problema é o TESTER não enxergar o mesmo TERMINAL_COMMONDATA_PATH pois vejo que o arquivo de entrada FOI GERADO com a data corrente - um sinal que o executável de fato rodou.

Ou seja: eu teria que informar ao TESTER que "COMMON_FILE" diz respeito ao TERMINAL_COMMONDATA_PATH usado pelo DEBUG/VISUAL.

Nesse caso, estou falando de:
C:\Users\Alice\AppData\Roaming\MetaQuotes\Terminal\Common\Files\Output

 

Problema resolvido mas DE FATO não sei porque - talvez uma reinicialização do META TERMINAL.

O código que não rodava, agora roda 100%...

Muito estranho - o que não me surpreende em sendo Metatrader.

 

Bem-vinda ao mundo instável do MQL5...

Onde tudo NUNCA é fácil...

Só tome cuidado para nunca assumir NADA como verdade... Como no exemplo que você nos deu, de que depois de 1seg. você terá executado o programa que vc quer...

;)

 
AliceRioBR #:

Hmmm.....

Analisando melhor a situação, me parece que o problema é o TESTER não enxergar o mesmo TERMINAL_COMMONDATA_PATH pois vejo que o arquivo de entrada FOI GERADO com a data corrente - um sinal que o executável de fato rodou.

Ou seja: eu teria que informar ao TESTER que "COMMON_FILE" diz respeito ao TERMINAL_COMMONDATA_PATH usado pelo DEBUG/VISUAL.

Nesse caso, estou falando de:
C:\Users\Alice\AppData\Roaming\MetaQuotes\Terminal\Common\Files\Output

De fato nao enxerga e ha uma propriedade a ser usada para quando se quer copiar o dado para dentro do diretorio de backtest. Se nao me falha a memoria, "tester_file".