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

Re: [amibroker] Re: Stop Loss based on equity



PureBytes Links

Trading Reference Links

Hello,

No, it does not do that automatically,
but it will exit automatically your position (liquidate) if it loses more
than user-defined amount or more than 99.9% (automatic ruin stop).
One can also program partial exit via sigScaleOut if position in more than
one contract.

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "loveyourenemynow" <loveyourenemynow@xxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Wednesday, November 26, 2008 11:17 AM
Subject: [amibroker] Re: Stop Loss based on equity


Do you know if AB hadles automatically margin violations due to losses
and rescale accordingly?

Gne
--- In amibroker@xxxxxxxxxxxxxxx, "zozuzoza" <zozuka@xxx> wrote:
>
> I have studied all the docs regarding custom backtester interface. I
> wrote the code but it does not do what I want. Could anyone please
> look at it what the problem is. Thank you, Zozu
>
> ///////Stop Loss based on portfolio equity/////////////
> StopLossEq=Optimize( "StopLossEq",  10, 1, 7, 0.5 );
> SetCustomBacktestProc("");
> if (Status("action") == actionPortfolio)
> {
>     bo = GetBacktesterObject(); //  Get backtester object
>     bo.PreProcess(); //  Do pre-processing
> MaxEq=bo.Equity;
> for (i = 0; i < BarCount; i++) //  Loop through all bars
>     {
> if (i>0 && bo.Equity>MaxEq) MaxEq=bo.Equity;
>         for (sig = bo.GetFirstSignal(i); sig; sig = bo.GetNextSignal
> (i))
>         { //  Loop through all signals at this bar
>             if (sig.IsEntry()) //  Process entries
> {
>                 bo.EnterTrade(i, sig.Symbol, True,
> sig.Price,sig.posSize); }
> else
>             {
>                 if (sig.IsExit()) bo.ExitTrade(i, sig.Symbol,
> sig.Price); //  Process exits
>
>             }
>         } //  End of for loop over signals at this bar
>         bo.HandleStops(i);//  Handle programmed stops at this bar
>         for (trade = bo.GetFirstOpenPos(); trade; trade =
> bo.GetNextOpenPos())
>         { //  Loop through all open positions
>             if (bo.Equity<(1-StopLossEq/100)*MaxEq) bo.ExitTrade(i,
> trade.Symbol, trade.GetPrice(i+1,"O"),5);//ExitType=ruin
>         } //  End of for loop over trades at this bar
>         bo.UpdateStats(i, 1); //  Update MAE/MFE stats for bar
>         bo.UpdateStats(i, 2); //  Update stats at bar's end
>     } //  End of for loop over bars
>     bo.PostProcess(); //  Do post-processing
> }
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "Mike" <sfclimbers@> wrote:
> >
> > Refer to "AmiBroker Custom Backtester Interface.pdf" in the Files
> > section of this group, posted by gp_sydney:
> >
> > http://f1.grp.yahoofs.com/v1/4MUQScTOe79GNNV-
> >
> ZkLEVgZrQsvpi7UryW1IV34jAcr5MrdKVujCnYWixQTKH2jURoJKyDJobZlG0ZMwEvdBvx
> > nggD5xMLok/AmiBroker%20Custom%20Backtester%20Interface.pdf
> >
> > You can monitor portfolio equity on a bar by bar basis in custom
> > backtester code. If equity falls below your threshold, iterate
> through
> > the list of open positions and close them out using the low level
> > custom backtester API:
> >
> > http://www.amibroker.com/guide/a_custombacktest.html
> >
> > Mike
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "zozuzoza" <zozuka@> wrote:
> > >
> > > Thanks, the example works on single stock equity. I am looking
> for
> > > portfolio equity.
> > >
> > > To correct my question
> > > How could I code a stop loss based on portfolio equity? If the
> > > portfolio equity drops 5%, close the positions.
> > >
> > > Has anybody come accross this problem?
> > >
> > > Thank you.
> > >
> > > Best regards,
> > > zozu
> > >
> > > --- In amibroker@xxxxxxxxxxxxxxx, reinsley <reinsley@> wrote:
> > > >
> > > > Hi,
> > > >
> > > > Howard B gave an exemple in this topic :
> > > >
> > > > http://finance.groups.yahoo.com/group/amibroker/message/130567
> > > >
> > > > Best regards
> > > >
> > > > zozuzoza a écrit :
> > > > >
> > > > > How could I code a stop loss based on equity? If the equity
> > drops
> > > 5%,
> > > > > close the positions.
> > > > >
> > > > > Thanks a lot,
> > > > > zozu
> > > > >
> > > >
> > >
> >
>



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

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

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

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

For other support material please check also:
http://www.amibroker.com/support.html

*********************************
Yahoo! Groups Links




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

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

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

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

For other support material please check also:
http://www.amibroker.com/support.html

*********************************
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/