[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Multiple buy signals not taken in backtest


  • Date: Tue, 16 Feb 2010 15:13:08 -0000
  • From: "cvanhaesendonck" <carl.van@xxxxxxxxxx>
  • Subject: [amibroker] Multiple buy signals not taken in backtest

PureBytes Links

Trading Reference Links

I posted some days ago but got no answer; however this system is powerfull yet simple: it scales in after the initial signal then exit quickly as soon as RSI(2) oberbought. 
Problem I struggle with the code below: I can see the multiple buy entry arrows on the chart but backtest will only take the initial signals.
Please help with this - in return you will discover a very interesting system. Here we go:

The system is simple: 
- buy 10% of your position (for exempla, 100 shares) when RSI(2) is below 25 for 2 consecutive bars; close must be above the 200 EMA.
- buy 20% of the position if, any time after the initial buy above, close < ref(close,-1)
- buy 30% of the pôsition if, any time after the buy above, close < ref(close,-1)
- buy 40% of the position if, any time after the buy above, close < ref(close,-1)

You now own 1,000 shares. Don't buy anymore.
Just wait and sell all when RSI(2 periods) rise above 70.

Please see the code below and tell me what is wrong - I am struggling with this for days now as the backtest takes only the initial "10%" trade...

bull= C> EMA(C,200) AND Sum(RSI(2)< 25==2; 
bear= C< EMA(C,200) AND Sum(RSI(2)>25==2;
Buy=0;
Short= 0;

Sell= Cross(RSI(2),70) ;
Cover=Cross(70,RSI(2)) ;
bull200= C<Ref(C,-1) AND BarsSince(Bull)<BarsSince(Sell) AND Ref(Sum(Bull,BarsSince(Sell)),-1)==1;
bear200= C>Ref(C,-1) AND BarsSince(bear)<BarsSince(Cover) AND Ref(Sum(bear,BarsSince(Cover)),-1)==1;
bull300= C<Ref(C,-1) AND Ref(Sum(Bull200,BarsSince(Sell)),-1)==1 ;
bear300= C>Ref(C,-1) AND Ref(Sum(bear200,BarsSince(Cover)),-1)==1 ;
bull400= C<Ref(C,-1) AND Ref(Sum(Bull300,BarsSince(Sell)),-1)==1 ;
bear400= C>Ref(C,-1) AND Ref(Sum(bear300,BarsSince(Cover)),-1)==1 ;
SetPositionSize(IIf(Sum(Buy,BarsSince(Sell))==1, 100,IIf(Sum(Buy,BarsSince(Sell))==2,200,IIf(Sum(Buy,BarsSince(Sell))==3,300,IIf(Sum(Buy,BarsSince(Sell))==4,400,Null)))),4);
SetPositionSize(IIf(Sum(Short,BarsSince(Sell))==1, 100,IIf(Sum(Short,BarsSince(Sell))==2,200,IIf(Sum(Short,BarsSince(Sell))==3,300,IIf(Sum(Short,BarsSince(Sell))==4,400,Null)))),4);
Buy= IIf(Sum(Bull,BarsSince(Sell))<4 AND Sum(Bull200,BarsSince(Sell))<4 AND Sum(Bull300,BarsSince(Sell))<4 AND Sum(Bull400,BarsSince(Sell))<4 ,bull OR bull200 OR bull300 OR bull400,Null);
Short= IIf(Sum(Bear,BarsSince(Sell))<4 AND Sum(Bear200,BarsSince(Sell))<4 AND Sum(Bear300,BarsSince(Sell))<4 AND Sum(Bear400,BarsSince(Sell))<4,bear OR bear200 OR bear300 OR bear400, Null);
Sell=ExRem(Sell,Buy);
Cover=ExRem(Cover,Short);

PlotShapes(Buy*shapeUpArrow,colorBlue,0,L,-10);
PlotShapes(Short*shapeDownArrow,colorRed,0,H,-10);
PlotShapes(Sell*shapeSmallCircle,colorBlue,0,H,10);
PlotShapes(Cover*shapeSmallCircle,colorRed,0,L,-10);

Thanks,
Carl



------------------------------------

**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

TO GET TECHNICAL SUPPORT send an e-mail directly to 
SUPPORT {at} amibroker.com

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    amibroker-digest@xxxxxxxxxxxxxxx 
    amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/