Ejemplo n.º 1
0
        public HybridTestRules(DataBars db, double atrperiod, double shortperiod, double longperiod)
        {
            rules = new Rule[3];
            rules[0] = new TwoSMARule(db.Close, shortperiod, longperiod);
            rules[1] = new BasicATRRule(db, atrperiod, "atr");
            rules[2] = new BasicMACDRule(db.Close, 12, 26, 9);

            adxTrend = new ADXMarketTrend(db, 14);
            //Kiem tra volume
            volumeRule = new PriceTwoSMARule(db.Volume, 10, 30);
            data = db;
            Volume_Filter = 50000;
        }
Ejemplo n.º 2
0
 public SMAATRRules(DataBars db, double atrperiod, double shortperiod, double longperiod)
 {
     rules = new Rule[2];
     rules[0] = new TwoSMARule(db.Close, shortperiod, longperiod);
     rules[1] = new BasicATRRule(db, atrperiod, "atr");
 }
Ejemplo n.º 3
0
 public MACDHistATRRules(DataBars db, double atrperiod, double fast, double slow,double signal)
 {
     rules = new Rule[2];
     rules[0] = new MACD_HistogramRule(db.Close, fast, slow,signal);
     rules[1] = new BasicATRRule(db, atrperiod, "atr");
 }
Ejemplo n.º 4
0
 public SARATRRules(DataBars db, double atrperiod, double optInAcc,double optLnMax)
 {
     rules = new Rule[2];
     rules[0] = new BasicSARRule(db, optInAcc, optLnMax);
     rules[1] = new BasicATRRule(db, atrperiod, "atr");
 }
Ejemplo n.º 5
0
 public TwoSMABasicMACDRule(DataSeries ds, double fast, double slow, double signal, double shortperiod, double longperiod)
 {
     rules = new Rule[2];
     rules[0] = new BasicMACDRule(ds, (int)fast,(int)slow,(int)signal);
     rules[1] = new TwoSMARule(ds, shortperiod, longperiod);
 }
Ejemplo n.º 6
0
 protected void TrailingStopWithBuyBack(Rule rule, double price, double trailingstoplevel, int idx, BusinessInfo info)
 {
     //Trailing stop strategtest
     double new_trailing_stop = data.Close[idx] * (1 - trailingstoplevel / 100);
     if (new_trailing_stop > trailing_stop)
     {
         trailing_stop = new_trailing_stop;
         //Buy back share if 
         if ((!is_bought) && rule.UpTrend(idx)) BuyAtClose(idx,info);
     }
     else
         if (data.Close[idx] < trailing_stop)
         {
             SellTakeProfit(idx,info);
             trailing_stop = -1;
         }
 }
Ejemplo n.º 7
0
 public SMAATRRules(DataBars db, double atrperiod, double shortperiod, double longperiod)
 {
     rules    = new Rule[2];
     rules[0] = new TwoSMARule(db.Close, shortperiod, longperiod);
     rules[1] = new BasicATRRule(db, atrperiod, "atr");
 }