Hi - You seem to be confusing the Explorer with the Backtester. "Filter" 
keyword is required for Exploration mode but is not recognized as anything 
special by the backtester, so you might want to assign your trade rules 
directly to Buy/Sell/Short/Cover and not use the Filter for that. Also, you 
need to use the Custom Backtest Interface to add columns to a backtest report.

OTOH, the Explorer requires the Filter keyword to filter which results it will 
show you, and you will also need to use AddColumn() and/or AddTextColumn() to 
add columns to an exploration report.

 But anyway, something like this should get you into your trades..

HigherHigh = High > ref( High, -1 );
LowerLow = Low < ref( Low, -1 );
Buy = NR4Day AND InsideDay AND HigherHigh;
Short = NR4Day AND InsideDay AND LowerLow;

To close out the short positions, you should also define the Cover variable.

Steve
  ----- Original Message ----- 
  From: alta hob 
  To: [email protected] 
  Sent: Saturday, April 19, 2008 1:58 PM
  Subject: Re: [amibroker] Re: Why do I get "missing buy/sell variable 
assignmets" error?


  Thanks again


  I now have the buy order working in backtest mode with the code below and 
instead of using "Applystop" have used Sell = L < Ref(LLV(L,2),-1); to close 
the position but can't work out how to do the following

  Buy order is currently opening as soon as the "Filter" criteria is met.  I 
actually want it to open a buy only when "Filter"  is true  AND  the next bar 
creates a higher high or to open a short when "Filter is true and next bar 
creates a lower low.

  I have tried quite a few ways of doing this but am not sure how to make AB 
straddle a bar and open a trade when it is broken in either direction.



  --------------
  NR4Day = (H - L) < Ref(LLV(H-L,3),-1);
  Column1 =  NR4Day;
  Column1Name = "Nr4Day";

  InsideDay = H < Ref(High,-1) AND Low > Ref(Low,-1);
  Column2 =  InsideDay;
  Column2Name = "Inside Day";

  Column3 =  High + 0.125;
  Column3Name = "Buy Stop";

  Column4 =  Low - 0.125;
  Column4Name = "Sell Stop";

  Filter = NR4Day == 1 AND InsideDay == 1;

  Buy = Filter

  Sell = L < Ref(LLV(L,2),-1);



  On Sat, Apr 19, 2008 at 4:48 PM, Steve Dugas <[EMAIL PROTECTED]> wrote:


    Hi - In AA settings, you probably have Positions set to "Long and Short" so 
AB is expecting to see Short and Cover defined. You could either change 
settings to Long only or add this to your code...

    Short = Cover = 0;

    Steve
      ----- Original Message ----- 
      From: alta hob 
      To: [email protected] 
      Sent: Saturday, April 19, 2008 6:05 AM
      Subject: Re: [amibroker] Re: Why do I get "missing buy/sell variable 
assignmets" error?


      Thanks for your help.

      I now get "missing short/cover variable assignment" after adding the Sell 
= 0; string

      Going throught the amibroker documentation but appreciate any help while 
I am new to this.




      On Sat, Apr 19, 2008 at 9:40 AM, jamesfarrow2003 <[EMAIL PROTECTED]> 
wrote:

        I wouls just enter the line:

        Sell = 0;

        Then set your stops using the GUI or via code, whichever is desired.



        --- In [email protected], "alta hob" <[EMAIL PROTECTED]> wrote:
        >
        > I`m trying to run this code as a simple backtest but get "missing 
        buy/sell
        > variable assignmets" error. Have tried adding
        > 
        > ApplyStop( stopTypeNBar, stopModeBars, 5 );
        > 
        > but still get error. Can someone please advise what I need to do 
        to run
        > as a simple backtest with a trailing bar stop?
        > 
        > thanks
        > 
        > altahob
        > ----------
        > /* Connors and Raschke Historical Volatility System
        > For further explanation, refer to "Street Smarts"
        > from Connors and Raschke.
        > Ported from Metastock code by Daniel Ervi */
        > 
        > numcolumns = 5;
        > 
        > VolRatio = StDev(Log(C/Ref(C,-1)),5) / StDev(Log(C/Ref(C,-1)),99);
        > column0 = VolRatio;
        > column0name = "VolRatio";
        > 
        > NR4Day = (H - L) < Ref(LLV(H-L,3),-1);
        > column1 = NR4Day;
        > column1name = "Nr4Day";
        > 
        > InsideDay = H < Ref(High,-1) AND Low > Ref(Low,-1);
        > column2 = InsideDay;
        > column2name = "Inside Day";
        > 
        > column3 = High + 0.125;
        > column3name = "Buy Stop";
        > 
        > column4 = Low - 0.125;
        > column4name = "Sell Stop";
        > 
        > filter = VolRatio < 0.5 AND (NR4Day == 1 AND InsideDay == 1);
        > 
        > buy = filter;
        >





   

Reply via email to