Hi Corey,

you can use equity but indeed you need one level deeper inside the backtest 
code. What I do not understand is why MaxPositions does not seem to work on a 
higher level backtest. Will ask Marcin later.

I will maybe try to code using Equity in the custom backtester later.

But on a higher level in the backtester you need to use PositionSize for 
reasons Graham gave. 

I use Equity on this higher level though. For instance I have written code that 
takes a profit per day at e.g. 500$, or per trade at e.g. 150$. What I do is 
that I let the code first calculate the equity without these restrictions and 
then feed the resulting equity into a procedure that takes the profits. So 
basicly within 1 AFL code the equity curve is calculated twice.

But I do not see you can use that for your question. 

And yes if you use:

PositionSize = -10;
SetOption("MaxOpenPositions", 3); 
RoundLotSize = 1;
MarginDeposit = 5000;
TickSize = 0.25;
PointValue = 50;

the equity curve should not be able to explode because the MaxOpenPositions is 
set to 3. But I also see it explode because it takes more than 3 positions as 
the equity increases. This seems to be wrong. I will ask marcin or TJ.

regards, Ed




  ----- Original Message ----- 
  From: Corey Saxe 
  To: [email protected] 
  Sent: Thursday, May 28, 2009 11:13 AM
  Subject: Re: [amibroker] Using Equity to Compute Position Size






  Hi Ed,

  That is the problem.

  You can use almost any metric to adjust positionsize, and it works.
  The problem occurs if you want to use equity in some form to calculate the 
positionsize.

  I have used a more complicated form of the code below in Excel with 
considerable success:

  MinContracts=1;//Optimize("Min Contracts",1,1,5,1); 
  MaxContracts=10;//Optimize("Max Contracts",20,5,25,1); 
  Margin=MarginDeposit; 
  PctEq=PctEq/100; 
  eq=Equity(); 

  PS=Min( MaxContracts * Margin , Max( PctEq * Eq , MinContracts * Margin )); 
  PositionSize = PS; 

  But in AB, for a while, while it trades just one contract, it works just 
fine, then for some reason the equity blows up to the millions very quickly
  and has nothing to do with reality. (Gee, it would be nice if blowing up to 
the millions was reality.)

  -CS

    ----- Original Message ----- 
    From: Edward Pottasch 
    To: [email protected] 
    Sent: Thursday, May 28, 2009 1:04 AM
    Subject: Re: [amibroker] Using Equity to Compute Position Size



    Corey,

    I believe your question is answered here:

    http://www.amibroker.com/guide/h_futbacktest.html

    under the paragraph "Margin deposit"

    Just tested myself:

    PositionSize = -10;
    SetOption("MaxOpenPositions", 3); 

    setting inside Amibroker (Information Window) the Margin Deposit at 5000, 
Roundlotsize at 1 and initial equity at 100000. What I find is that it indeed 
increases the number of positions once enough equity is available, however it 
does not stick to the maximum open positions for some reason. Not sure why,

    Ed

    .
     


  

Reply via email to