protected override void Initialize() { MacD = Indicators.MacdHistogram(LngCycle, ShrtCycle, SigPeriod); // Initialize keltner Channels _momentum = Indicators.MomentumOscillator(MarketSeries.Close, Periods); LR_Slope = Indicators.LinearRegressionSlope(MarketSeries.Close, Periods); Klt = Indicators.KeltnerChannels(Klt_Periods, MovingAverageType.Exponential, Klt_ATR_Periods, MovingAverageType.Simple, Klt_stdDev); bb = Indicators.BollingerBands(bb_Source, bb_Periods, bb_stdDev, MovingAverageType.Simple); }
//public IndicatorDataSeries bb_main { get; set; } //[Output("4", Color = Colors.Red, PlotType = PlotType.Line, Thickness = 2)] //public IndicatorDataSeries bb_top { get; set; } //[Output("5", Color = Colors.Red, PlotType = PlotType.Line, Thickness = 2)] //public IndicatorDataSeries bb_bottom { get; set; } //public IndicatorDataSeries bb_bottom; ////////////////////////////////// protected override void Initialize() { MacD_Series = MarketData.GetSeries(MacD_TF); // Initialize keltner Channels LR_Slope = Indicators.LinearRegressionSlope(MarketSeries.Close, Periods); _momentum = Indicators.MomentumOscillator(MarketSeries.Close, Periods); MacD = Indicators.MacdHistogram(MacD_Series.Close, LngCycle, ShrtCycle, SigPeriod); Klt = Indicators.KeltnerChannels(20, MovingAverageType.Exponential, 10, MovingAverageType.Simple, 1.5); bb = Indicators.BollingerBands(bb_Source, 20, 2.0, MovingAverageType.Simple); //form1 = new System.Windows.Forms.Form(); }
protected override void OnStart() { highMA = Indicators.SimpleMovingAverage(MarketSeries.High, MAperiods); lowMA = Indicators.SimpleMovingAverage(MarketSeries.Low, MAperiods); momentum = Indicators.MomentumOscillator(MarketSeries.Close, MOMperiods); momentumMA = Indicators.SimpleMovingAverage(momentum.Result, MOMma); highTrail = Indicators.SimpleMovingAverage(MarketSeries.High, trailMAPeriods); lowTrail = Indicators.SimpleMovingAverage(MarketSeries.Low, trailMAPeriods); buySetup = false; sellSetup = false; }
protected override void OnBar() { _momentum = Indicators.MomentumOscillator(MarketSeries.Close, 20); _rsi = Indicators.RelativeStrengthIndex(MarketSeries.Close, 21); _simpleMovingAverage = Indicators.SimpleMovingAverage(MarketSeries.Close, SMAPeriod); BullDFlag = false; BearDFlag = false; CalculateKnoxvilleDivergence(); // Checking entry signals. if (CurrentPeriodsBetTrades >= PeriodsBetweenTrades) { //Bullish signals. if (_simpleMovingAverage.Result.Last(1) < MarketSeries.Close.Last(1) && BullDFlag == true) { var _TradeType = ReverseFlag ? TradeType.Sell : TradeType.Buy; ExecuteOrder(_TradeType); } //Bearish signals. else if (_simpleMovingAverage.Result.Last(1) > MarketSeries.Close.Last(1) && BearDFlag == true) { var _TradeType = ReverseFlag ? TradeType.Buy : TradeType.Sell; ExecuteOrder(_TradeType); } } // Checking exit signals. var counter = PositionTimers.Count; for (int i = 0; i < counter; i++) { var timer = PositionTimers.Dequeue(); if (timer == 0) { CloseNextPosition(); } else { --timer; PositionTimers.Enqueue(timer); } } ++CurrentPeriodsBetTrades; }
protected override void Initialize() { _momentum = Indicators.MomentumOscillator(MarketSeries.Close, Periods); }
protected override void Initialize() { _momentum = Indicators.MomentumOscillator(MarketSeries.Close, 20); _rsi = Indicators.RelativeStrengthIndex(MarketSeries.Close, 21); }