override protected void StrategyExecute() { BasicAroonRule rule = new BasicAroonRule(data.Bars, parameters[0]); //PriceTwoSMARule smarule = new PriceTwoSMARule(data.Close, 10, 20); int cutlosslevel = (int)parameters[1]; int takeprofitlevel = (int)parameters[2]; for (int idx = rule.aroon.FirstValidValue; idx < rule.aroon.Count; idx++) { //Buy Condition if (rule.isValid_forBuy(idx)) { BuyAtClose(idx); } //Sell Condition if (rule.isValid_forSell(idx)) { SellAtClose(idx); } if (is_bought && CutLossCondition(data.Close[idx], buy_price, cutlosslevel)) { SellCutLoss(idx); } if (is_bought && TakeProfitCondition(data.Close[idx], buy_price, takeprofitlevel)) { SellTakeProfit(idx); } } }
override protected void StrategyExecute() { BasicAroonRule rule = new BasicAroonRule(data.Bars, parameters[0]); //PriceTwoSMARule smarule = new PriceTwoSMARule(data.Close, 10, 20); int cutlosslevel = (int)parameters[1]; int takeprofitlevel = (int)parameters[2]; for (int idx = rule.aroon.FirstValidValue; idx < rule.aroon.Count; idx++) { //Buy Condition if (rule.isValid_forBuy(idx)) BuyAtClose(idx); //Sell Condition if (rule.isValid_forSell(idx)) SellAtClose(idx); if (is_bought && CutLossCondition(data.Close[idx], buy_price, cutlosslevel)) SellCutLoss(idx); if (is_bought && TakeProfitCondition(data.Close[idx], buy_price, takeprofitlevel)) SellTakeProfit(idx); } }