hi Corey, yes you are right about MaxOpenPositions.
I asked marcin and he says it should be possible using pyramiding, see: http://www.amibroker.com/guide/h_pyramid.html example 3. I did not work it out yet for futures trading. Will have a look later. regards, Ed ----- Original Message ----- From: Corey Saxe To: [email protected] Sent: Thursday, May 28, 2009 1:04 PM Subject: Re: [amibroker] Using Equity to Compute Position Size Hi Ed, I don't use MaxOpenPositions because it pertains to open positions in multiple symbols at one time, (Portfolio trading). I can set it to 3 and still easily open more than 3 contracts at a time in one symbol, like the old backtester. And that's all I'm trying to do. Just increase or decrease the number of contracts to trade in just one symbol, depending on the current equity. Using: Eq = Foreign("~~~EQUITY", "C"); Does return the correct equity for use in a backtest, but the backtest button has to be pushed twice. I think that in the end, unless I'm missing something simple, I'll have to manually program separate code to keep track of my equity. -CS ----- Original Message ----- From: Edward Pottasch To: [email protected] Sent: Thursday, May 28, 2009 3:02 AM Subject: Re: [amibroker] Using Equity to Compute Position Size 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 .
