전문가를 고려합니다. - 페이지 2

 
Integer :

감소는 빨간색 선으로 표시되며 최대값을 찾아야 합니다.

최대 드로다운을 찾는 이유는 무엇입니까? 그것은 무엇을 말하는가?
 
Andrei01 :

테스터는 자기자본의 최대 손실을 정확하게 측정하지만 이 순간의 잔액 상태를 고려하지 않아 이 측정이 넌센스가 됩니다.

즉, 공개 주문이 먼저 상승한 다음 100핍 하락하면 테스터는 100핍의 자기자본 손실을 줄 것이지만, 논리적으로 전략의 위험을 결정해야 하는 실제 손실은 0입니다. 그러한 계산은 전략의 위험을 평가하는 데 쓸모가 없다는 것이 분명합니다.


Andrei01 :
최대 드로다운을 찾는 이유는 무엇입니까? 그것은 무엇을 말하는가?
글쎄, 당신이 그것을 필요로하지 않거나 왜 그것이 필요한지 이해하지 못한다면 왜 대화에 참여하고 의견을 강요합니까?
 
Andrei01 :

테스터는 최소 및 최대 드로우다운을 정확하게 측정하지만 이 순간의 저울 상태를 고려하지 않아 이 측정이 말도 안 됩니다.

즉, 미결제 주문이 먼저 상승한 다음 100핍 하락한 경우 테스터는 100핍의 자기자본 손실을 줄 것이지만, 논리적으로 전략의 위험을 결정해야 하는 실제 손실은 0입니다. 그러한 계산은 전략의 위험을 평가하는 데 쓸모가 없다는 것이 분명합니다.

어떤 보고서에서 최소 감소와 같은 매개 변수를 보았는지 설명하십시오. 나는 뭔가를 발견하지 못했습니다 (. 그러나 저에게 저울은 바닥에 놓여 있어도 에퀴티 만 위에 있다면 텅 빈 곳입니다). 아니면 내가 뭔가를 오해하고 있습니까? 항상 보류 중인 주문 만 오르내리는 것 같았습니다. 내가 틀렸어? 이것을 미리 알았더라면 나에게 유리한 방향으로 오래전부터 매도, 매수 주문을 올리거나 내리기 시작했을 것입니다.) 테스트 런에서 발견된 자기자본의 최대 하락은 실제 거래에서도 반복될 수 있다고 생각합니다, 그래서 최대치부터 세는 것이 맞다고 생각합니다.

 
Integer :

일반적으로 최대 인출액은 최대 자산과 최소 자산의 차이가 아닙니다. 처음에는 MaxEquity=Equity, MinEquity=Equity, Drawdown=0입니다. 작업 과정에서: Equity>MaxEquity이면 MaxEquity-MinEquity로 드로우다운을 계산합니다. 얻은 값이 이전에 고정된 드로우다운보다 크면 더 큰 값을 기억하고 즉시 최소값을 재설정합니다. MinEquity=MaxEquity 및 기억 새로운 최대 MaxEquity=Equity.
내가 게시한 코드를 수정할 수 있습니까? 고맙습니다.
 

내가 얻은 방법은 다음과 같습니다.

 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 :
내가 게시한 코드를 수정할 수 있습니까? 고맙습니다.


나는 그것에 대해 많이 탐구하지 않았지만 언뜻보기에는 모든 것이 정상이며 새로운 최대 값으로 최소값이 재설정됩니다 ...
 
Andrei01 :
최대 드로다운을 찾는 이유는 무엇입니까? 그것은 무엇을 말하는가?


가장 불행한 상황의 경우 보증금이 충분한지 여부를 표시합니다(녹색 선으로 표시된 순간에 어드바이저 실행).

 
Integer :

나는 그것에 대해 많이 탐구하지 않았지만 언뜻보기에는 모든 것이 정상이며 새로운 최대 값으로 최소값이 재설정됩니다 ...
내 코드로 계산한 결과가 테스터의 결과와 일치했기 때문에 OnGoing이 아니었다면 의심하지 않았을 것입니다.
 

사진은 여기 https://www.mql5.com/en/forum/136747/page696

EA는 특정 시간에 1개의 거래만 열고(청산하지 않음) 테스터에서 최대 손실을 확인합니다. - 비주얼 모드에서 테스트합니다.

1. 2월 3일까지 (조기중지 눌러주세요)

2. 2월 3일 말까지

파일:
 
serferrer :

사진은 여기 https://www.mql5.com/ru/forum/136747/page698

EA는 특정 시간에 1개의 거래만 열고(청산하지 않음) 테스터에서 최대 손실을 확인합니다. - 비주얼 모드에서 테스트합니다.

1. 2월 3일까지 (조기중지 눌러주세요)

2. 2월 3일 말까지

게시물의 목적은 드로다운을 올바르게 계산하는 방법을 보여주거나 테스터가 드로다운을 잘못 계산한다는 것을 보여주는 것입니다. 모든 전문가가 여기에 있는 것은 아닙니다. 너무 간결하지 말고 자세한 답변을 주십시오. 조언 감사합니다. 귀하의 코드가 실제 고문에 포함된 경우 이러한 거래를 개시하는 순간부터 이러한 거래를 종료하는 순간까지 하나 또는 여러 개의 공개 거래에 대한 손실을 결정하지만 전체 거래에 대한 최대 손실을 찾지는 않습니다. 고문이 일한 시간. 아니면 제가 잘못 이해한 건가요? 내 코드를 비판할 수 있습니까? 최대 손실을 찾는 작업을 올바르게 수행합니까?