PureBytes Links
Trading Reference Links
|
The following is a simple code for illustration purposes which is meant to enter on the close being greater than the 20 period moving average and exiting on a trailing stop based on the highs minus 3.0 times ATR. I've plotted the trailing stop as an indicator but when I run a backtest of the code below the exits don't line up with trailing stop indicator. In fact the I'm getting exits one bar after entry. I really don't understand what is going on. Can someone help?
Thanks
Maurice
SetBarsRequired(10000,10000); /* this ensures that the charts include all bars AND NOT just those on screen */
SetFormulaName("Weekly SMA System with ATR stop"); /*name it for backtest report identification */
SetTradeDelays( 1, 1, 1, 1 ); /* delay entry/exit by one bar */
SetOption( "initialequity", 100000 ); /* starting capital */
SetOption( "PriceBoundChecking", 1 ); /* trade only within the chart bar's price range */
SetOption( "CommissionMode", 2 ); /* set commissions AND costs as $ per trade */
SetOption( "CommissionAmount", 32.95 ); /* commissions AND cost */
SetOption( "UsePrevBarEquityForPosSizing", True ); /*set the use of last bars equity for trade size*/
SetOption("MaxOpenPositions", 20); // This sets maximum number of open positions to 15;
SetOption( "AllowPositionShrinking", False);
SetOption("AllowSameBarExit", False);
ATRLevel = 3*ATR(20);
Cond1 = H>Ref(HHV(H,30),-1);
Cond2 = C>EMA(C,30);
Cond3 = C>=0.5;
Cond4 = MA(V,5)>=500000;
Cond5 = ROC(C, 26) > 30;
Buy = Cond1 AND Cond2 AND Cond3 AND Cond4 AND Cond5;
PositionSize=-10;// invest 10% of portfolio equity in single trade
Sell = 0;
trailARRAY = Null;
trailstop = 0;
for( i = 1; i < BarCount; i++ )
{
if( trailstop == 0 AND Buy[ i ] )
{
trailstop = H[ i ]- ATRLevel[ i ];
}
else Buy[ i ] = 0; // remove excess buy signals
if( trailstop > 0 AND Low[ i ] < trailstop )
{
Sell[ i ] = 1;
SellPrice[ i ] = trailstop;
trailstop = 0;
}
if( trailstop > 0 )
{
trailstop = Max( H[ i ]- ATRLevel[ i ], trailstop );
trailARRAY[ i ] = trailstop;
}
}
Sell = trailARRAY;
Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);
------------------------------------
**** 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/
|