보조지표 게시글

MetaTrader 5에서 일일 드로우다운 지표 사용하기

첨부파일
41316.zip (2.17 KB, 다운로드 0회)

안녕하세요, 트레이더 여러분! 오늘은 MetaTrader 5에서 일일 드로우다운(DD) 지표를 활용하는 방법에 대해 이야기해보려고 해요. 이 지표는 여러분의 계좌 수익률을 한눈에 확인할 수 있도록 도와줍니다.

페이지의 오른쪽 하단에서 계좌의 손익 비율을 확인할 수 있습니다.


지표 설정하기

이제 지표를 설정해보겠습니다. 아래의 코드를 사용하여 EA(자동매매 시스템)를 작성해보세요.

OnInit():
   CreateEdit("Daily DD", 200, 68, 98, 30, "Daily DD", clrWhite, clrBlack, 12);    CreateEdit("Daily DD V", 100, 68, 98, 30, "", clrWhite, clrBlack, 12);

지표 삭제하기

지표를 더 이상 사용하지 않기로 했다면, 아래의 코드를 통해 삭제할 수 있습니다.

OnDeinit:
   ObjectDelete(0, "Daily DD");    ObjectDelete(0, "Daily DD V");

지표 계산하기

이제 드로우다운을 계산해보겠습니다. 아래 코드를 참고하세요.

OnCalculate:
   MqlDateTime w;
   TimeToStruct(TimeCurrent(), w);
   string md = IntegerToString(w.year) + "." + IntegerToString(w.mon) + ".01";
   double historyProfit = 0, deposit = 0;
   HistorySelect(0, TimeCurrent());
   ulong ticket_history_deal = 0;
   for(int i = 0; i < HistoryDealsTotal(); i++)
     if((ticket_history_deal = HistoryDealGetTicket(i)) > 0) {
       datetime timeeee = (datetime)HistoryDealGetInteger(ticket_history_deal, DEAL_TIME);
       if(timeeee > StringToTime(TimeToString(TimeCurrent(), TIME_DATE))) {
         if(HistoryDealGetInteger(ticket_history_deal, DEAL_TYPE) == DEAL_TYPE_BUY || HistoryDealGetInteger(ticket_history_deal, DEAL_TYPE) == DEAL_TYPE_SELL)
           historyProfit += HistoryDealGetDouble(ticket_history_deal, DEAL_PROFIT) + HistoryDealGetDouble(ticket_history_deal, DEAL_COMMISSION) + HistoryDealGetDouble(ticket_history_deal, DEAL_SWAP);
        } else deposit += HistoryDealGetDouble(ticket_history_deal, DEAL_PROFIT);
    }
   double startBalance = AccountInfoDouble(ACCOUNT_BALANCE) - historyProfit;
   string text = "";
   double dd = (historyProfit + AccountInfoDouble(ACCOUNT_PROFIT)) * 100 / startBalance;
   text = DoubleToString(dd, 2) + " %";
   ObjectSetString(0, "Daily DD V", OBJPROP_TEXT, text);
   ChartRedraw();

이렇게 설정한 일일 드로우다운 지표를 통해, 여러분의 계좌 상황을 더 쉽게 파악할 수 있을 거예요. 트레이딩에 도움이 되길 바랍니다!

연관 포스트

댓글 (0)