You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Hi ALL,
Need serious help!! I am not sure it is metratrader or me.. I am writing EA and testing it .Part of it involves rising moving average.
my MA is 55 bars periods. Long order is triggered when MA(55) is rising past 3 bars. unfortunately it doesn't give me what I wanted.
For example, at some point in the chart, MA(55) is not rising, just flat, such as cur_ma is not greater than pre_ma. function is below
bool LMARising(){ //long MA is rising
double cur_lma,pre1_lma,pre2_lma,pre3_lma;
bool lma_rising;
cur_lma = iMA(0,0,LMA_PERIOD,0,MODE_EMA,PRICE_CLOSE,0);
pre1_lma = iMA(0,0,LMA_PERIOD,0,MODE_EMA,PRICE_CLOSE,1);
pre2_lma = iMA(0,0,LMA_PERIOD,0,MODE_EMA,PRICE_CLOSE,2);
pre3_lma = iMA(0,0,LMA_PERIOD,0,MODE_EMA,PRICE_CLOSE,3);
if((cur_lma>pre1_lma) && (pre1_lma>pre2_lma) && (pre2_lma>pre3_lma))
lma_rising = true;
else
lma_rising = false;
return (lma_rising);
}
recently, I just tested on EURUSD 30mins chart, some of those incorrect results are below
2010.04.02 22:26:05 2010.03.04 06:00 MACross-Version-1.2 EURUSDFXF,M30: cur_lma=1.3668 pre1_lma=1.3668 pre2_lma=1.3667
2010.04.02 22:26:05 2010.03.08 11:00 MACross-Version-1.2 EURUSDFXF,M30: cur_lma=1.3642 pre1_lma=1.3642 pre2_lma=1.36422010.04.02 22:26:05 2010.03.11 01:30 MACross-Version-1.2 EURUSDFXF,M30: cur_lma=1.3625 pre1_lma=1.3624 pre2_lma=1.3624
2010.04.02 22:26:05 2010.03.15 05:00 MACross-Version-1.2 EURUSDFXF,M30: cur_lma=1.3735 pre1_lma=1.3735 pre2_lma=1.3735
2010.04.02 22:26:06 2010.03.23 02:30 MACross-Version-1.2 EURUSDFXF,M30: cur_lma=1.3543 pre1_lma=1.3543 pre2_lma=1.3542
2010.04.02 22:26:06 2010.03.30 10:30 MACross-Version-1.2 EURUSDFXF,M30: cur_lma=1.3472 pre1_lma=1.3472 pre2_lma=1.3471
As you can see above, my orders are incorrectly triggered at those time, where it is supposed to be only if LMARising() function is true. Hope I made myself
clear. Please let me know how I can make that happen..
Thanks in advance.