안녕하세요, 트레이더 여러분! 오늘은 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();
이렇게 설정한 일일 드로우다운 지표를 통해, 여러분의 계좌 상황을 더 쉽게 파악할 수 있을 거예요. 트레이딩에 도움이 되길 바랍니다!