PureBytes Links
Trading Reference Links
|
I can't test right now, but it may be enough to just use a toggle for
the 3rd argument to bo.EnterTrade. Give it a try and see what happens.
i.e.
bo.EnterTrade( bar + 1, symb, !pos.IsLong, price, 10000 ); // reverse
position
Mike
--- In amibroker@xxxxxxxxxxxxxxx, "progster01" <progster@xxx> wrote:
>
>
> This code (at least in my testing) goes short after the first 2k of
> profit, then continues to close the short positions and reopen them
> (still short) with each additional 2k of profit.
>
> Could someone kindly provide a tweak to make the positions flip-flop
> between short and long with each new 2k of profit? (My efforts must
> be missing the obvious!)
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@> wrote:
> >
> > Hello,
> >
> > One of AmiBroker users brought this to my attention:
> >
> > http://forum.tssupport.com/viewtopic.php?t=6058
> >
> > Rarely I see so much nonsense posted about AmiBroker.
> >
> > Below is the AFL that does what MC people were thinking is
> "impossible" in AB:
> >
> >
> > SetPositionSize( 10000, spsValue ); // dollar value of each
position
> >
> > Buy = True; // just open long trade at very first bar of test
> > Sell = Short = Cover = False; // the rest done in custom
backtester
> code.
> >
> > SetOption("MaxOpenPositions", 2 );
> >
> > SetOption("UseCustomBacktestProc", True );
> >
> > if( Status("action") == actionPortfolio )
> > {
> > bo = GetBacktesterObject();
> >
> > bo.PreProcess(); // Initialize backtester
> >
> > for(bar=0; bar < BarCount; bar++)
> > {
> > bo.ProcessTradeSignals( bar );
> >
> > totalprofit = 0;
> > for( pos = bo.GetFirstOpenPos(); pos; pos = bo.GetNextOpenPos
() )
> > {
> > totalprofit += pos.GetProfit();
> > }
> >
> > if( totalprofit > 2000 )
> > {
> > for( pos = bo.GetFirstOpenPos(); pos; )
> > {
> > price = pos.GetPrice( bar + 1, "O" );
> > symb = pos.Symbol;
> >
> > pos = bo.GetNextOpenPos();
> >
> > bo.ExitTrade( bar + 1, symb, price ); // exit long
> > bo.EnterTrade( bar + 1, symb, False, price, 10000 ); //
> enter short
> > }
> > }
> > }
> > bo.PostProcess(); // Finalize backtester
> > }
> >
> > Best regards,
> > Tomasz Janeczko
> > amibroker.com
> >
>
------------------------------------
**** 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:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto: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/
|