Thanks James, the issue I have is not with calculating risk; it's the fact that I need to use the custom Phase 2 backtester to get the portfolio Equity value of each bar and most of my system logic including my stop price calculations are currently in the regular Phase 1 backtester code. Once the backtester moves from Phase 1 to Phase 2, my Phase 2 custom backtester code does not have access to my array variables calculated in Phase 1 (unless I'm not doing something correctly). I'm trying to figure out the easiest way to get my stop prices calculated in Phase 1 into my Phase 2 custom backtester code so that I can calculate a position size based on a percentage of the portfolio equity and the initial risk of each trade.
I could be going about this all wrong, but my goal is simply to calculate a quantity (i.e. number of futures contracts) for each trade based on a percentage of the current portfolio equity divided by the trade risk (i.e. abs(EntryPrice - StopPrice)*PointValue*TickSize). Regards, David --- In [email protected], James <jamesmemp...@...> wrote: > > David, > > I haven't gotten to the point of selecting position size, however, if you > know your entry price and initial stop, you can use something like the > following to determine initial dollar risk: > Prange = PHighPrice - PLowPrice; > MaxLoss = PointValue* PRange; > MaxLossLimit = Optimize("MaxLoss", 1000, 150, 4000, 25); > > In this case I am going long at PhighPrice with an initial stop a PLowPrice > and not taking the trade if the MaxLoss exceeds a certain level. From this > point you could calculate the MaxLoss as a % of equity. Does this help? > > James > > > > > ________________________________ > From: dbwyatt_1999 <dbw...@...> > To: [email protected] > Sent: Saturday, May 30, 2009 7:39:47 AM > Subject: [amibroker] PositionSize based on Equity and Trade Risk > > > > > > I know setting PositionSize based on Equity and Trade Risk has been the topic > of numerous threads and writeups, but I'm missing some understanding. I'm > backtesting a portfolio of futures contracts and would like to set the > Position size of each trade based on each trade's risk (i.e. abs(entryPrice - > stopPrice)) and a percent of the current portfolio Equity value. I understand > that to get the current portfolio Equity, I need to use the custom > backtester. The custom backtester also gives me access to all the data I need > to calculate a new PosSize except my stopPrice values. > > What is the easiest way to access my backtester Phase 1 stopPrice array in > the custom Phase 2 backtester for each trade so that I can calculate a new > PosSize? Using AddToComposite( ) and Foreign() does not seem like an option > because I want my individual stop values for each instrument, not a portfolio > composite of all stop values. Or maybe I would have to create a separate > composite for each instrument. Or do I have to resort to something like > writing and reading files or developing a custom DLL to store the stopPrices > between the backtester Phase 1 and the custom backtester Phase 2? Hopefully, > I'm just not understanding something and there is an easier way. I would > think that accessing Phase 1 backtester variables in Phase 2 would be pretty > common; especially for calculating custom metrics. > > Thanks for any suggestions or insights. > > Regards, > > David >
