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

Gne
--- In [email protected], "zozuzoza" <[EMAIL PROTECTED]> 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 [email protected], "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 [email protected], "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 [email protected], 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
> > > > >
> > > >
> > >
> >
>


Reply via email to