MT4 EA drawdown per day

Feb 02, 2017 at 09:09
Vistas 1,223
3 Replies
Miembro desde Jan 25, 2017   posts 12
Feb 02, 2017 at 09:09
Lets say I have an EA applied to an H1 chart.

How would I calculate the drawdown for that day?

Eg.

On Tick:
If (Today is a New Day) then
dailyDrawdown is 100.0
thisMorningsWorth = netAssetValue()
Else
dailyDrawdown = netAssetValue() / thisMorningsWorth
End

If (dailyDrawdown < 0.95) then
chillForToday()
Else
MakeThoseTrades()
End

What's the best way to set this sort of thing up?
Miembro desde Nov 21, 2011   posts 1601
Feb 02, 2017 at 17:01
Hi,

I calculate Daily_Profit.

Then
Make it %:
Daily_Profit / (Daily_Profit-AccountBalance() * 100

if Daily_Profit_Pourcentage > - x%... then trade.
Miembro desde Jan 25, 2017   posts 12
Feb 03, 2017 at 07:51
Sketching this out, maybe something like:
--------------------
extern int defaultMaxOrders = 1;
extern double dailyLossLimit = 0.95;
extern double dailyProfitLimit = 1.05;

int today;
double dailyEquity;
double dailyProfit;
bool chillMode = false;

void newDay() {
today = TimeDayOfWeek(TimeCurrent());
dailyEquity = AccountEquity();
chillMode = false;
}

void OnInit() {
today = TimeDayOfWeek(TimeCurrent());
dailyProfit = 1.0;
dailyEquity = AccountEquity();
}

void OnTick() {
if (today != TimeDayOfWeek(TimeCurrent())) {
newDay();
} else {
if (AccountEquity() / dailyEquity > dailyProfitLimit || AccountEquity() / dailyEquity < dailyLossLimit) {
chillMode = true;
closeAll();
}
}
if (openOrders(Symbol()) < defaultMaxOrders && chillMode == false) {
if (isNewCandle()) { makeSomeGoodTrades(); }
}
}
--------------------
?
Miembro desde Nov 21, 2011   posts 1601
Feb 03, 2017 at 09:45
You can handle it.
Make backtest to check the behaviour is correct.
You can also print when Chillmode is true."No more trading... Loss <-5 or Profit >5"
Conectarse / Inscribirse to comment
You must be connected to Myfxbook in order to leave a comment
*El uso comercial y el spam no serán tolerados y pueden resultar en el cierre de la cuenta.
Consejo: Al publicar una imagen o una URL de YouTube, ésta se integrará automáticamente en su mensaje!
Consejo: Escriba el signo @ para completar automáticamente un nombre de usuario que participa en esta discusión.