Thanks lots guys.
#region Variables // Wizard generated variables private int hMAperiod = 21; // Default setting for HMAperiod private int stoploss1 = 20; // Default setting for Stoploss1 private int profitraget3 = 20; // Default setting for Profitraget3 private int profitraget1 = 7; // Default setting for Profitraget1 private int profitraget2 = 15; // Default setting for Profitraget2 private int positionsize1 = 3; // Default setting for Positionsize1 private int positionsize2 = 2; // Default setting for Positionsize2 private int positionsize3 = 1; // Default setting for Positionsize3 // User defined variables (add any user defined variables below) #endregion /// <summary> /// This method is used to configure the strategy and is called once before any strategy method is called. /// </summary> protected override void Initialize() { Add(RCHMASlope(21)); SetProfitTarget("Enter at market1", CalculationMode.Ticks, Profitraget1); SetProfitTarget("Enter at market2", CalculationMode.Ticks, Profitraget2); SetStopLoss("Enter at market1", CalculationMode.Ticks, Stoploss1, false); SetStopLoss("Enter at market2", CalculationMode.Ticks, Stoploss1, false); SetStopLoss("Enter at market3", CalculationMode.Ticks, Stoploss1, false); SetProfitTarget("Enter at market3", CalculationMode.Ticks, Profitraget3); CalculateOnBarClose = false; } /// <summary> /// Called on each bar update event (incoming tick) /// </summary> protected override void OnBarUpdate() { // Condition set 1 if (CrossAbove(RCHMASlope(21).HMAslope, 0, 1)) { DrawArrowUp("My up arrow" + CurrentBar, false, 0, Low[0] + -1 * TickSize, Color.Lime); EnterLongLimit(Positionsize1, GetCurrentAsk(), "Enter at market1"); EnterLongLimit(Positionsize2, GetCurrentAsk(), "Enter at market2"); EnterLongLimit(Positionsize3, GetCurrentAsk(), "Enter at market3"); } // Condition set 2 if (CrossBelow(RCHMASlope(21).HMAslope, 0, 1)) { DrawArrowDown("My down arrow" + CurrentBar, false, 0, High[0] + 1 * TickSize, Color.Red); EnterShortLimit(Positionsize1, GetCurrentBid(), "Enter at market1"); EnterShortLimit(Positionsize2, GetCurrentBid(), "Enter at market2"); EnterShortLimit(Positionsize3, GetCurrentBid(), "Enter at market3"); } // Condition set 3 if (Close[0] >= Position.AvgPrice + 14 * TickSize) { ExitLongStop(Position.AvgPrice + 5 * TickSize, "Breakeven+5 Stop", "Enter at market3"); } // Condition set 4 if (Close[0] <= Position.AvgPrice + -14 * TickSize) { ExitShortStop(Position.AvgPrice + -5 * TickSize, "Breakeven-5 Stop", "Enter at market3"); } }
Comment