Nick / Mike -

I stopped by to make a post and was glancing at this.  A simple error kind of 
jumps off the page given your description - that should solve the problem.  
Your ATC to write MSL is -

AddToComposite( MSL,"~MSL","V", atcFlagDeleteValues |  
atcFlagEnableInBacktest);   // if i plot this it looks fine

That's fine - odd to write it in the Volume field of ~MSL, but OK.  And you 
said that you verified the data.

You need to read it from the same field in the CBT pass.  You had -

MSL = Foreign("~MSL", "X",0);

Check the help file (ALWAYS!) and I don't think you'll find a "X", and its not 
reading volume.

Hope that helps

-- BruceR


--- In [email protected], "Mike" <sfclimb...@...> wrote:
>
> This is a popular topic lately. Van Tharp must be doing well with his new 
> book ;)
> 
> See my earlier post on the subject for how to calculate the risk anyway you 
> see fit. Note that the expectancy shown in that post was the formula provided 
> by the original poster, it is not the formula used by Van Tharp, so refer to 
> the methodology, but not the formula:
> 
> http://finance.groups.yahoo.com/group/amibroker/message/139969
> 
> Mike
> 
> --- In [email protected], Nick Willemse <nick.willemse@> wrote:
> >
> > Hi Everyone,
> > 
> > I'm trying to add Risk and R-Multiples to the TradeList.  I've looked  
> > at the example using MaxLossPercent to add r-multiples and that is  
> > pretty straight forward.  However, my risk per trade is based on some  
> > multiple of the ATR.  So I put the risk points per trade in an array,  
> > then I tried using the addtocomposite and Foreign functions to get  
> > this array to the backtester section, but it seems that all the data  
> > is zero when it gets to the backtester.  Is there any other way to  
> > make this array holding the risks per trade available to the  
> > backtester to output this for each trade?
> > 
> > Here's some of the code:-
> > 
> > 
> > Risk = 2.5 * ATR(14);
> > i = 0;
> > MSL = 0;
> > for( bar=1; bar < BarCount; bar++)
> > {
> >     if (Buy[bar] == 1 OR Short[bar] == 1)
> >     {
> >             MSL[i] = Risk[bar];
> > //          _TRACE("MSL = " + MSL[i]);  //this outputs correct values
> >             i++;
> >     }
> > }
> > AddToComposite( MSL,"~MSL","V", atcFlagDeleteValues |  
> > atcFlagEnableInBacktest);   // if i plot this it looks fine
> > 
> > ...
> > 
> > if(AAAction == actionPortfolio)
> > {
> >     MSL = Foreign("~MSL", "X",0);
> >     _TRACE("MSL=" + MSL[0]);   // this output 0 for every index in the  
> > array
> >     ...
> > 
> > }
> > 
> > 
> > 
> > Nick
> >
>


Reply via email to