Hi Howard,
               here's what i've done with the code at this stage

re Symbols in the watchlist ASX ,Equity's.
re settings daily,long,

i appreciate your interest and help but i'm really not sure this idea is going 
to work and i could be wasting your time which is a concern for me.
         I read a post recently that you've written a new book,,i learnt about 
ma cross overs and optimizing from your first so it may be best that i have a 
look at your second book rather than trying to think something up on my own,

i've waived the white flag many hours ago regarding me learning programing but 
the desire to have something mechanical on EOD is still there.

sincere regards
Paul
// radge1.afl 

//Day Trade

InitEquity = 10000;

SetOption("InitialEquity",InitEquity);

SetTradeDelays (1,1,0,0); // Explore today trade tomorrow



// Number of positions to hold

MaxQty = 1;

SetOption("maxopenpositions",MaxQty);



// Uncomment the way you want to set position size

// $5000 for each trade

PositionSize = 5000;

// positionsize is proportional to maximum number held

//PositionSize = -100 / MaxQty; 





// PositionScore is the ratio of 1 day rate of change to 10 day rate of change 

// unless the 1 day rate of change is zero, PositionScore will always be 
non-zero

// that is, PositionScore will always be True

myroc1=1;//Optimize("myroc1",3,1,10,1);

myroc2=10;//Optimize("myroc2",20,1,30,1);

froc=ROC(C,myroc1);

sroc=ROC(C,myroc2);

PositionScore = froc / sroc; //looking for a big move compared to the last 2 
weeks



// Since PositionScore is always True,

// Filter is True when Close > Open.

// Filter = PositionScore AND Close > Open; //looking for the biggest move on 
an up day.

Filter = Close > Open AND RSI(15)>30;

// Set a buy signal

BuySignal = Filter;



// Buy whenever today's close is greater than 

// today's open.

// But not two days in a row.

Buy = BuySignal AND NOT(Ref(BuySignal,-1));

// BuyPrice is tomorrow's Open

BuyPrice = Open;


// As it stands, the original statement says Sell whenever Close is not Zero.

// You want to sell on the same day you bought.

Sell = Buy;



// You might mean SellPrice = Close?

SellPrice = Close;


AddColumn(PositionScore,"score"); //lets me see the score values in an 
exploration

  ----- Original Message ----- 
  From: Howard B 
  To: [email protected] 
  Sent: Monday, September 29, 2008 9:33 PM
  Subject: Re: [amibroker] backtesting



  Hi Paul --

  Can you post the code your are using, along with the symbols in the 
watchlist, and the settings you are using?

  Thanks,
  Howard


  On Sun, Sep 28, 2008 at 5:53 PM, Paul Radge <[EMAIL PROTECTED]> wrote:


    Hi Howard,
                    i'm wondering if you know what this means,,

    when i run the exploration one day and then backtest for the following day 
to see if it selects the same stock ....

    i'm finding that the program is just about always selecting the first stock 
that has a positionscore value of 1.#J or -1.#J instead of selecting the stock 
that has the highest positionscore value.

     I'm assuming it's some computer language but wondering why it's mixing in 
with typical counting,,,well not actually wondering why but wondering how to 
fix it please ???

    regards
    Paul



      ----- Original Message ----- 
      From: Paul Radge 
      To: [email protected] 
      Sent: Saturday, September 27, 2008 10:25 PM
      Subject: Re: [amibroker] backtesting



      Hi Howard,
                      I just returned from the Alpine region of Victoria and 
downloaded the mass's of Amibroker emails ,i was lucky enough to spot your 
reply amongst them,thank you.

       I'll now make a cup of tea and have a play with the new code,
      warm regards
      Paul
            (ps thanks for fixing my Christian name up too, from my unfamilar 
cousin's.)


        ----- Original Message ----- 
        From: Howard B 
        To: [email protected] 
        Sent: Thursday, September 25, 2008 8:22 AM
        Subject: Re: [amibroker] backtesting



        Paul -- I meant Paul.




        On Wed, Sep 24, 2008 at 3:21 PM, Howard B <[EMAIL PROTECTED]> wrote:

          Hi Nick --

          I've taken the liberty of starting with your first code segment, 
adding some comments, and making
          some changes.  I may not have gotten all of your preferences correct, 
but try this
          and see if it helps.

          Thanks,
          Howard

          ////////////////////////////////////////////////////

          // radge1.afl

          //Day Trade

          InitEquity = 100000;
          SetOption("InitialEquity",InitEquity);

          SetTradeDelays (1,1,0,0); // Explore today trade tomorrow


          // Number of positions to hold
          MaxQty = 10;
          SetOption("maxopenpositions",MaxQty);


          //    Uncomment the way you want to set position size

          // $5000 for each trade
          // PositionSize = 5000;

          // positionsize is proportional to maximum number held
          PositionSize = -100 / MaxQty; 



          // PositionScore is the ratio of 1 day rate of change to 10 day rate 
of change 
          // unless the 1 day rate of change is zero, PositionScore will always 
be non-zero
          // that is, PositionScore will always be True
          PositionScore = ROC(C,1) / ROC(C,10); //looking for a big move 
compared to the last 2 weeks


          //  Since PositionScore is always True,
          //    Filter is True when Close > Open.
          // Filter = PositionScore AND Close > Open; //looking for the biggest 
move on an up day.
          Filter = Close > Open;

          // Set a buy signal
          BuySignal = Filter;


          // Buy whenever today's close is greater than 
          //    today's open.
          // But not two days in a row.
          Buy = BuySignal AND NOT(Ref(BuySignal,-1));

          // BuyPrice is tomorrow's Open
          BuyPrice = Open;
           

          // As it stands, the original statement says Sell whenever Close is 
not Zero.
          // You want to sell on the same day you bought.
          Sell = Buy;


          // You might mean SellPrice = Close?
          SellPrice = Close;
           
          AddColumn(PositionScore,"score"); //lets me see the score values in 
an exploration
           

          // if anyone could advise on the above idea i would appreciate the 
help,,,


           


          ////////////////////////////////////////////////////// 



          On Mon, Sep 22, 2008 at 4:04 AM, Paul Radge <[EMAIL PROTECTED]> wrote:


            Hi all,
                     i recently read a few posts here in the forum and learnt 
about the function "positionscore".As a non programer i find the forum very 
usefull.

             From those posts i've tried to follow a similar line and test a 
day trading system,,,like many of my ideas and notions though it may bare no 
cash flow.

            What i tried to do was look for a break out and then buy the open 
next day and sell the close as a true day trade no money down.Here's what i 
attempted

            //Day Trade
            positionscore = ROC(c,1) / ROC(C,10); //looking for a big move 
compared to the last 2 weeks

            Filter = Positionscore and Close > Open; //looking for the biggest 
move on an up day.

            Buy = Filter;
            Buyprice = Open;

            Sell = close;

            settradedelays = (1,0,0,0); // Explore today trade tomorrow (?)
            positionsize = 5000;

            addcolumn(positionscore,"score"); //lets me see the score values in 
an exploration

            //I've got maxtrades set to 1 within settings 

            When i explore from 18/9/08 to 18/9/08 i get stock abc.asx for 
example but when i backtest from 19/9/08 to 19/9/08 i'm not getting the same 
ticker that i expected to see traded with the Buy delay set to 1.

             If anyone could advise on the above idea i would appreciate the 
help,,,

            i also tried this with no luck,,,,,,,,,,,

            positionscore = ROC(C,1) / ROC(C,10);

            cond1 = c > o;

            longsetup = postionscore and cond1;

            filter = ref(longsetup,-1);

            buy = filter ;
            buyprice = open;
            sell = close;

            settradedelays = (0,0,0,0);
            positionsize = 5000;

            addcolumn(positionscore,"score");









   

Reply via email to