示例#1
0
 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);
 }
示例#2
0
        //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;
        }
示例#4
0
        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;
        }
示例#5
0
 protected override void Initialize()
 {
     _momentum = Indicators.MomentumOscillator(MarketSeries.Close, Periods);
 }
示例#6
0
 protected override void Initialize()
 {
     _momentum = Indicators.MomentumOscillator(MarketSeries.Close, 20);
     _rsi      = Indicators.RelativeStrengthIndex(MarketSeries.Close, 21);
 }