첨부 이미지
그림1
그림2
안녕하세요 개발자님 데이터 매니저를 이용하여 데이터를 만들고, 아래 사진과 같이 해당 기간에 매수,청산 하였을 때 최대손실폭을 보려합니다.(다른 전략 적용했을 때 최대손실폭 보려고 하는데 일단 해당 기간으로 매수 청산하여 테스트 하는 중입니다.) 문제는 실제 최대손실폭과 예스트레이더 성과보고서에 나오는 최대손실폭이 다릅니다.
데이터와 해당 수식도 남겨드립니다. 애러인 것 같은데 어떻게 해결하면 좋을까요?
Input : sd(20120118),ed(20230116);
If sDate==sd Then
Buy();
If sDate==ed Then
ExitLong();
Var1=PositionProfit-MaxPositionProfit;
If Var2>Var1 Then
Var2=Var1;
MessageLog("%.2f",Var2);
답변 1
예스스탁
예스스탁 답변
2023-01-25 17:00:05
안녕하세요? 예스스탁입니다.
최대손실폭은 MaxIDDrawDown 함수를 이용하셔서 구하시면 됩니다.
아래와 같이 변경하셔셔 사용하시면 최대손실폭 확인이 가능합니다.
MessageLog("%.2f", MaxIDDrawDown);
참고로 작성하신 내용은 예스트레이더 성과보고서에서
계산하는 최대손실폭과는 차이가 있습니다.
최대손실폭의 경우 진입시점부터 그 이후의 최저가(매수인 경우)로 계산됩니다.
작성하신 내용은 진입후 최고가에서 최저가를 차감한 것이기
때문에 차이가 발생하게 됩니다.
감사합니다.
> 히익 님이 쓴 글입니다.
> 제목 : 데이터 매니저 최대손실폭
> 안녕하세요 개발자님 데이터 매니저를 이용하여 데이터를 만들고, 아래 사진과 같이 해당 기간에 매수,청산 하였을 때 최대손실폭을 보려합니다.(다른 전략 적용했을 때 최대손실폭 보려고 하는데 일단 해당 기간으로 매수 청산하여 테스트 하는 중입니다.) 문제는 실제 최대손실폭과 예스트레이더 성과보고서에 나오는 최대손실폭이 다릅니다.
데이터와 해당 수식도 남겨드립니다. 애러인 것 같은데 어떻게 해결하면 좋을까요?
Input : sd(20120118),ed(20230116);
If sDate==sd Then
Buy();
If sDate==ed Then
ExitLong();
Var1=PositionProfit-MaxPositionProfit;
If Var2>Var1 Then
Var2=Var1;
MessageLog("%.2f",Var2);