| 
 PureBytes Links 
Trading Reference Links 
 | 
Hello Mike,
I am also a newbie but I did have a few comments & questions.
In your AA setting, are you buying on open or open+1 ? If you have 
it set to on open, aren't you then buying before the condition 
actually occurs ? Shouldn't you be buying on open+1 ? Or couldn't 
you just remove the ref (-1) part, keep just the cross condition and 
in the settings put buy+1 as the buy price ?
Also, I tested out your system (maShort=15 & maShort=30) on all the 
stocks on the Dow 30 from 1990-today. It returned a 16.54 % 
annualized return while buy&hold returned 15.97% annualized.
However, when I start testing it on a shorter timeframe (i.e. less 
than 4 years back), the performance drops into the negatives.
Also, why are you using "> 0" and "< 0" in your buy/sell 
conditions ? Why don't you just use the cross condition ? 
Regards,
HB
--- In amibroker@xxxx, "mike_stoecker" <wwkayak@xxxx> wrote:
> Folks,
> 
> I'm a new user - lurking on this group for a handful of months - 
just 
> now beginning to try to actually use AB.
> 
> I tried to code a simple moving average system which apparently is 
a 
> lousy system (huge negative return on backtesting with the limited 
> historical data I used (QQQ).
> 
> I'm hoping the more accomplished AB programmers/users on this 
group 
> can examine my afl code below and tell me if I'm missing "pieces" 
in 
> the system or recommend ways to improve the code (not necessarily 
the 
> system).
> 
> Again, I "tested" this on QQQ in the AA tool. Probably did messed 
> that up too.
> 
> I promise I'll begin reading the manual (beyond looking up syntax 
for 
> the Cross function, etc).
> 
> Thanks, much.
> 
> Michael
> 
> 
> Anyway, here is the code:
> 
> /* MA Cross-Over System */
> 
> 
> //maShort = 9;
> maShort = Optimize("ShortMA Term",9,5,15,1);
> 
> //maLong = 36;
> maLong = Optimize("LongMA Term",36,26,44,2);
> 
> // Buy at open if the previous day's short-term MA crosses above 
the 
> long-term MA
> 
> Buy = Ref(Cross(MA(Close,maShort),MA(Close,maLong)),-1) > 0;
> 
> // Exit with a profit or loss at the open if the previous day's 
short-
> term MA crosses below the long-term MA
> 
> Sell = Ref(Cross(MA(Close,maShort),MA(Close,maLong)),-1) < 0;
> 
> // Exit with a loss if the stock goes against the position by more 
> than 4 times the 10-day ATR
> 
> ApplyStop(0,2,4*ATR(10),1);
 |