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
>


Reply via email to