[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [amibroker] Back-testing a simple trading system


  • To: <amibroker@xxxxxxxxxxxxxxx>
  • Subject: RE: [amibroker] Back-testing a simple trading system
  • From: "Amit Ehrenreich" <amite@xxxxxxxxxxxxxxxxxx>
  • Date: Wed, 26 Mar 2008 20:03:40 -0700
  • Thread-topic: [amibroker] Back-testing a simple trading system

PureBytes Links

Trading Reference Links

Frank,
 
Say you want to sell after a 3% rise, and have a stop-loss after a 2% drop. The following code should point you in the right direction. 
 
for (i = 1; i <= Barcount-1; i++) {
       if (Buy[i]) {
            // 3 Percent profit, 2 Percen loss
            wPct = 3;
            lPct = 2;
            for (j = i; j <= Barcount-1; j++)  {
                    if (Low[j] <= (1 - lPct/100)*BuyPrice[i]) { 
                          Sell[j] = 1;
                          SellPrice[j] = Min(Open[j], (1-lPct/100)*BuyPrice[i]);
                          i = j;
                          j = Barcount; // Terminate loop
                    }
                    if (High[j] >= (1 + wPct/100)*BuyPrice[i]) {
                          Sell[j] = 1;
                          SellPrice[j] = Max(Open[j], (1+wPct/100)*BuyPrice[i]);
                          i = j;
                          j = Barcount; // Terminate loop
                    }
             }
       }
}
 
 
Regards,
 
Amit Ehrenreich
Market Testing Wizards
www.markettestingwizards.com
 

________________________________

From: amibroker@xxxxxxxxxxxxxxx on behalf of cstdc5588
Sent: Wed 3/26/2008 7:01 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: [amibroker] Back-testing a simple trading system



I want to back-testing a simple trading system, the formula is as 
follows: 

Cond = Cross( MA (Close, 20), MA(Close, 50) );
Cond1 = Cross( MA (Close, 50), MA(Close, 20) );
MA20 = MA( Close, 20 );
MA50 = MA( Close, 50 );
Crosses = Cross( MA20, MA50 ) OR Cross( MA50, MA20 ) ;
Buy = Cond;
Sell = Cond1;

I'm going to add buy(or short) and sell(or cover), as well as stop-
loss conditions. Such as: when to buy or short a stock, if it has a 
profit of 3%, should sell(or cover) to close this position. If the 
loss occurred, when the loss is 2% to sell(or cover) to stop loss. In 
addition, total capital is $100,000, per transaction for a 10% of the 
capital, while a maximum of 10 positions, not considering 
commissions. I don't know how to write this formula, any help would 
be appreciated!

Frank



 

------------------------------------

Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

<<winmail.dat>>