3. no OnDeinit, insiro isso do segundo script a partir daqui: https://www.mql5.com/pt/code/27611:
uchar Bytes2[];
if (MTTESTER::GetLastTstCache(Bytes2) != -1) // Se fosse possível ler o último registro de cache de uma única execução
{
const SINGLETESTERCACHE SingleTesterCache(Bytes2); // Conduza-o para o objeto correspondente.
SingleTesterCache.SaveSet(NULL, true, "Created by " + __FILE__); // Salve o arquivo de conjunto com detalhes.double Balance[];
double Equity[];
Print(SingleTesterCache.Header.ToString()); // Saída do cabeçalho de uma única passagem.Print(SingleTesterCache.Summary.ToString()); // Statistica.Print(SingleTesterCache.Inputs); // Parâmetros de entrada.
Prefiro ter os arquivos prontos para uso. E não entendo o que você precisa obter.
Sim, eu queria obter as estatísticas da última execução única e gravá-las em um arquivo, por exemplo, como você escreveu aqui no tópico do multitester. https://www.mql5.com/ru/forum/318305/page23#comment_19934192.
Para fazer isso sem inserir código no OnDeinit EA em todos os lugares.
De fato, nem mesmo todas as estatísticas são necessárias, mas alguns parâmetros. Por exemplo, MQLInfoString(MQL_PROGRAM_NAME), TesterStatistics(STAT_SHARPE_RATIO).
Sim, eu queria extrair as estatísticas da última execução única e gravá-las em um arquivo, por exemplo, como você escreveu aqui no tópico do multitester. https://www.mql5.com/ru/forum/318305/page23#comment_19934192
De fato, nem mesmo todas as estatísticas são necessárias, mas alguns parâmetros. Por exemplo, MQLInfoString(MQL_PROGRAM_NAME), TesterStatistics(STAT_SHARPE_RATIO).
Provavelmente, você pode tentar executar exemplos da entrega ou das discussões.
Acho que você poderia tentar executar os exemplos da entrega ou das discussões.
Ainda não encontrei essa funcionalidade ou algo semelhante para registrar as estatísticas de passagem em um arquivo csv. Hmm, nem mesmo nas bibliotecas encontrei funções adequadas. Vou procurar mais.
Vi esse bloco, mas não entendi como chamar as informações necessárias a partir dele
Toda vez que olho para o meu código como se fosse o de outra pessoa, não me lembro dele.
É por isso que não posso lhe dizer.
Entendo que, quanto mais você estuda, mais você entende. É que, pelo que entendi, nem todas as funcionalidades podem ser incluídas na versão atual da biblioteca, ou seja, pode estar faltando algo para cumprir a tarefa. O principal é entender se isso é possível ou não)
2 problema.
Comando Print(SingleTesterCache.Summary.ToString());
Testei-o em outros Expert Advisors etc. e ele fornece algumas estatísticas erradas.
variante 1
opção 2
2 problemas.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Erros, bugs, perguntas
Renat Fatkhullin, 2021.01.01 00:14
Talvez eu suponha que ele não funcione por causa da transferência incorreta do código do script para o Expert Advisor.
Vou lhe enviar um exemplo.
Procedimento.
1. qualquer Expert Advisor é usado - testei repetidamente com o Movin' Averag padrão.
2. Coloco as inclusões no topo:
3. no OnDeinit, insiro isso do segundo script a partir daqui: https://www.mql5.com/pt/code/27611:
3.2 Tentei o mesmo "mais ou menos" desta forma
const SINGLETESTERCACHE SingleTesterCache; // Загоняем ее в соответствующий объект. double Balance[]; double Equity[]; Print(SingleTesterCache.Header.ToString()); // Вывели заголовок одиночного прохода. Print(SingleTesterCache.Summary.ToString()); // Статистику. Print(SingleTesterCache.Summary.ToString()); // Статистику. Print(SingleTesterCache.Inputs); // Входные параметры.Talvez eu suponha que ele não funcione por causa da transferência incorreta do código do script para o Expert Advisor.
Enviarei um exemplo agora.
Seria melhor com arquivos prontos. Não entendo o que você precisa obter.
Prefiro ter os arquivos prontos para uso. E não entendo o que você precisa obter.
Sim, eu queria obter as estatísticas da última execução única e gravá-las em um arquivo, por exemplo, como você escreveu aqui no tópico do multitester. https://www.mql5.com/ru/forum/318305/page23#comment_19934192.
Para fazer isso sem inserir código no OnDeinit EA em todos os lugares.
De fato, nem mesmo todas as estatísticas são necessárias, mas alguns parâmetros. Por exemplo, MQLInfoString(MQL_PROGRAM_NAME), TesterStatistics(STAT_SHARPE_RATIO).
Sim, eu queria extrair as estatísticas da última execução única e gravá-las em um arquivo, por exemplo, como você escreveu aqui no tópico do multitester. https://www.mql5.com/ru/forum/318305/page23#comment_19934192
Para evitar a inserção de código no OnDeinit EA em todos os lugares.
De fato, nem mesmo todas as estatísticas são necessárias, mas alguns parâmetros. Por exemplo, MQLInfoString(MQL_PROGRAM_NAME), TesterStatistics(STAT_SHARPE_RATIO).
Provavelmente, você pode tentar executar exemplos da entrega ou das discussões.
Acho que você poderia tentar executar os exemplos da entrega ou das discussões.
Ainda não encontrei essa funcionalidade ou algo semelhante para registrar as estatísticas de passagem em um arquivo csv. Hmm, nem mesmo nas bibliotecas encontrei funções adequadas. Vou procurar mais.
Vi esse bloco, mas não entendi como chamar as informações necessárias a partir dele
string ToString( void ) const
{
return(this.Header.expert_path[] + "\n; " +
this.Header.symbol[] + "\n; " +
::TimeToString(this.Header.date_from, TIME_DATE) + " - " + ::TimeToString(this.Header.date_to, TIME_DATE) + "\n; " +
::DoubleToString(this.Summary.TesterStatistics(STAT_PROFIT), 0) + ", " + " +
::DoubleToString(this.Summary.TesterStatistics(STAT_TRADES), 0) + ", " + ::DoubleToString(this.Summary.TesterStatistics(STAT_TRADES), 0) + ", " +
::DoubleToString(this.Summary.TesterStatistics(STAT_PROFIT_FACTOR), 2) + ", " + ::DoubleToString(this.Summary.TesterStatistics(STAT_PROFIT_FACTOR), 2) + ", " +
::DoubleToString(this.Summary.TesterStatistics(STAT_EXPECTED_PAYOFF), 2) + ", -" + ::DoubleToString(this.Summary.TesterStatistics(STAT_EXPECTED_PAYOFF), 2) + ", -" +
::DoubleToString(this.Summary.TesterStatistics(STAT_EQUITY_DD), 2));
}
Estou vendo esse bloco, mas não entendo como chamar as informações necessárias a partir dele
Toda vez que olho para o meu código como se fosse o de outra pessoa, simplesmente não me lembro dele.
É por isso que não posso lhe dar uma dica.
Toda vez que olho para o meu código como se fosse o de outra pessoa, não me lembro dele.
É por isso que não posso lhe dizer.
Entendo que, quanto mais você estuda, mais você entende. É que, pelo que entendi, nem todas as funcionalidades podem ser incluídas na versão atual da biblioteca, ou seja, pode estar faltando algo para cumprir a tarefa. O principal é entender se isso é possível ou não)
O principal é entender se isso é possível ou não)
https://www.mql5.com/pt/code/viewcode/27611/229701/exptradesummarysingle.mqh