Para a consideração dos profissionais. - página 2

 
Integer:

As linhas vermelhas mostram os drawdowns, você precisa encontrar o máximo.

Por que você precisa encontrar o máximo de drawdown? O que isso lhe diz?
 
Andrei01:

O testador mede corretamente o máximo de extração de capital próprio, mas não leva em conta o estado de equilíbrio neste momento, o que não faz sentido.

Em outras palavras, se a ordem aberta subiu e depois desceu 100 pips, o testador mostrará um drawdown de 100 pips de equidade enquanto o drawdown real que logicamente determina o risco da estratégia é igual a zero. É claro que tais cálculos são inúteis para estimar os riscos da estratégia.


Andrei01:
E por que procurar o máximo de drawdown? O que isso lhe diz?
Bem, se você não precisa disso ou não entende para que serve, por que juntar-se à conversa e até mesmo impor sua opinião?
 
Andrei01:

O testador mede corretamente o mínimo e o máximo de drawdown, mas não leva em conta o estado de equilíbrio naquele momento, o que torna esta medida um disparate.

Isto é, se a ordem aberta subir e depois cair em 100 pips, o testador mostrará um drawdown de 100 pips de equidade enquanto o drawdown real que logicamente determina o risco da estratégia é igual a zero. É evidente que tais cálculos são inúteis para a estimativa de risco estratégico.

Por favor, explique onde você encontrou tal parâmetro, como mínimo de drawdown, em que relatório. Eu não me deparei com isso. Eu não acho que o saldo seja inútil para mim, não me importo se está no chão desde que meu patrimônio líquido seja bom). Ou estou entendendo mal alguma coisa? Sempre me pareceu que somente as ordens pendentes podem descer e subir. Eu estava enganado? Se eu soubesse antes, eu teria começado a aumentar ou diminuir os pedidos de Venda e Compra na direção em que eu estava interessado). Acredito que a queda máxima de equidade encontrada durante a corrida de teste pode se repetir no comércio real; portanto, acho correto contá-la a partir do máximo.

 
Integer:

Em geral, o saque máximo não é a diferença entre o patrimônio máximo e mínimo. No início, MaxEquity=Equity, MinEquity=Equity, Drawdown=0. Se o valor obtido for superior ao drawdown calculado anteriormente, armazenamos o valor mais alto e reiniciamos o valor mínimo - MinEquity=MaxEquity e armazenamos novo máximo MaxEquity=Equity.
Você poderia, por favor, ajustar o código que coloquei? Obrigado.
 

Eis como funcionou para mim:

double MaxEq;
double MaxDD;

void DD_Init(){ // Вызываем из init
   MaxEq=AccountEquity();
   MaxDD=0;
}

void DD_Start(){ // Вызываем из start


   if(!IsTesting()){
      return;
   }      
   if(AccountEquity()>MaxEq){
      MaxEq=AccountEquity();
   }
   else{
      MaxDD=MathMax(MaxEq,MaxEq-AccountEquity());
   }
}
void DD_Deinit(){ // Вызываем из deinit

      if(!IsTesting()){
         return;
   }      
   Print("Просадка: "+DoubleToStr(MaxDD,2));
}
 
khorosh:
Você poderia, por favor, ajustar o código que coloquei? Obrigado.


Não entrou bem, mas à primeira vista parece bem, com um novo máximo o mínimo é reposto...
 
Andrei01:
Por que procurar o máximo de drawdown? O que isso lhe diz?


Indica se o depósito, no caso da circunstância mais infeliz (a EA começa no momento indicado pela linha verde), será suficiente.

 
Integer:

Não entrei muito nisso, mas à primeira vista parece bem, com um novo máximo o mínimo é reposto...
Bem, se não fosse OnGoing, eu não teria nenhuma dúvida, pois o resultado calculado pelo meu código correspondeu ao resultado no testador.
 

fotos aqui https://www.mql5.com/ru/forum/136747/page696

O consultor abre apenas 1 comércio em um determinado momento (e não o fecha), verifique o drawdown máximo no testador - teste em modo visual:

1. não até o final de 3 de fevereiro (parada de imprensa mais cedo)

2. até o final de 3 de fevereiro de

Arquivos anexados:
 
serferrer:

fotos aqui https://www.mql5.com/ru/forum/136747/page698

O consultor abre apenas 1 comércio em um determinado momento (e não o fecha), verifique o drawdown máximo no testador - teste em modo visual:

1. não até o final de 3 de fevereiro (parada de imprensa mais cedo)

2. até o final de 3 de fevereiro de

O objetivo de seu posto é mostrar como calcular o saque corretamente ou mostrar que o testador calcula o saque incorretamente? Por favor, dê uma resposta detalhada, não seja tão lacônico, nem todos aqui são profissionais. Obrigado pela dica. Só me parece que seu código, se incluído na EA real, determinará o saque de uma ou mais negociações abertas desde o momento da abertura até o fechamento dessas negociações, mas não buscará o saque máximo de todo o tempo em que a EA estiver funcionando. Ou será que eu me enganei? Você pode criticar meu código? Ela desempenha corretamente sua tarefa de encontrar o máximo de drawdown?