예제 #1
0
        public SmaStochastic(string name, StartProgram startProgram)
            : base(name, startProgram)
        {
            TabCreate(BotTabType.Simple);
            _tab = TabsSimple[0];

            _sma = new MovingAverage(name + "Sma", false);
            _sma = (MovingAverage)_tab.CreateCandleIndicator(_sma, "Prime");
            _sma.Save();

            _stoc = new StochasticOscillator(name + "ST", false);
            _stoc = (StochasticOscillator)_tab.CreateCandleIndicator(_stoc, "StocArea");
            _stoc.Save();

            _tab.CandleFinishedEvent += Strateg_CandleFinishedEvent;

            Slipage   = 0;
            VolumeFix = 1;
            Step      = 500;
            Upline    = 70;
            Downline  = 30;


            Load();


            DeleteEvent += Strategy_DeleteEvent;
        }
예제 #2
0
        protected override void OnStart()
        {
            _SMA = Indicators.SimpleMovingAverage(Source_SMA, Periods_SMA);
            _SOC = Indicators.StochasticOscillator(KPeriods, K_Slowing, DPeriods, MaType);

            Positions.Closed += PositionsOnClosed;
        }
예제 #3
0
 protected override void Init()
 {
     // Event occurs once at the start of the strategy
     Print("Starting TS on account: {0}, comment: {1}", this.Account.Number, CommentText);
     _stoInd = GetIndicator <StochasticOscillator>(Instrument.Id, Timeframe);
     _ftoInd = GetIndicator <FisherTransformOscillator>(Instrument.Id, Timeframe);
 }
예제 #4
0
        protected override void OnStart()
        {
            _SMA = Indicators.SimpleMovingAverage(Source_SMA, Periods_SMA);
            _SOC = Indicators.StochasticOscillator(KPeriods, K_Slowing, DPeriods, MaType);

            Positions.Closed += PositionsOnClosed;
        }
예제 #5
0
 protected override void Init()
 {
     //_awoInd = GetIndicator<AwesomeOscillator>(Instrument.Id, Timeframe);
     _stoInd          = GetIndicator <StochasticOscillator>(Instrument.Id, Timeframe);
     _wprInd          = GetIndicator <ZigZag>(Instrument.Id, Timeframe);
     _wprInd.ExtDepth = ED;
 }
예제 #6
0
 protected override void OnStart()
 {
     Print("Welcome to the world of infinite financial possibilities!");
     MA  = Indicators.MovingAverage(MA_price, MA_period, MAType);
     WPR = Indicators.WilliamsPctR(WPR_period);
     St1 = Indicators.StochasticOscillator(Period_K1, Period_D1, Slowing1, St_Ma_Type1);
     St2 = Indicators.StochasticOscillator(Period_K2, Period_D2, Slowing2, St_Ma_Type2);
 }
예제 #7
0
        protected override void Init()
        {
            _period = Timeframe;
            index   = Bars.Range.To - 1;

            sto = GetIndicator <StochasticOscillator>(Instrument.Id, _period, Kp, Dp, Kslow, _method, _pricePair);
            ao  = GetIndicator <AcceleratorOscillator>(Instrument.Id, _period);
        }
예제 #8
0
        protected override void Init()
        {
            _period = Timeframe;
            index   = Bars.Range.To - 1;

            sto    = GetIndicator <StochasticOscillator>(Instrument.Id, _period, Kp, Dp, Kslow, _method, _pricePair);
            _barH1 = GetCustomSeries(Instrument.Id, Period.H1);
        }
 protected override void OnStart()
 {
     _stochastic  = Indicators.StochasticOscillator(kPeriods, kSlowing, dPeriods, MovingAverageType.Simple);
     setUp        = false;
     setDown      = false;
     highTrail    = Indicators.SimpleMovingAverage(MarketSeries.High, trailMAPeriods);
     lowTrail     = Indicators.SimpleMovingAverage(MarketSeries.Low, trailMAPeriods);
     positionSize = (int)Symbol.NormalizeVolume(Account.Balance * positionSizePercent / 100, RoundingMode.ToNearest);
 }
예제 #10
0
        protected override void Initialize()
        {
            _stochastic5  = Indicators.StochasticOscillator(5, 3, 3, MaType);
            _stochastic14 = Indicators.StochasticOscillator(14, 3, 3, MaType);
            _stochastic45 = Indicators.StochasticOscillator(45, 3, 14, MaType);
            _stochastic75 = Indicators.StochasticOscillator(75, 3, 20, MaType);

            _stpmt   = CreateDataSeries();
            _stpmtMa = Indicators.SimpleMovingAverage(_stpmt, 9);
        }
예제 #11
0
 protected override void Init()
 {
     torg              = false; LogU = true; LogD = true; U1 = 100; D1 = -1;
     Line1             = Tools.Create <HorizontalLine>();
     Line2             = Tools.Create <HorizontalLine>();
     _stoIndH1         = GetIndicator <StochasticOscillator>(Instrument.Id, Timeframe);
     _stoIndH1.Slowing = 3;
     _stoIndH1.PeriodD = 3;
     _stoIndH1.PeriodK = 14;           // Основна
 }
예제 #12
0
        protected override void Initialize()
        {
            // Fetch market series for second symbol
            this.SecondSymbol = MarketData.GetSymbol(SecondPair);
            this.SecondSeries = MarketData.GetSeries(this.SecondSymbol, this.TimeFrame);


            // Now create a stochastic for both
            this.FirstStoch = Indicators.StochasticOscillator(this.MarketSeries, this.kPeriods, this.kSlowing, this.dPeriods, MovingAverageType.Simple);
            this.SecondStoch = Indicators.StochasticOscillator(this.SecondSeries, this.kPeriods, this.kSlowing, this.dPeriods, MovingAverageType.Simple);
        }
예제 #13
0
 protected override void Init()
 {
     // Event occurs once at the start of the strategy
     Print("Starting TS on account: {0}, comment: {1}", this.Account.Number, CommentText);
     _stoInd   = GetIndicator <StochasticOscillator>(Instrument.Id, Timeframe);
     _ftoInd   = GetIndicator <FisherTransformOscillator>(Instrument.Id, Timeframe);
     vlR       = Tools.Create <VerticalLine>();
     vlR.Color = Color.Red;
     vlB       = Tools.Create <VerticalLine>();
     vlB.Color = Color.Blue;
 }
예제 #14
0
파일: Stpmt.cs 프로젝트: Mikai47/cAlgoBot
        protected override void Initialize()
        {
            _stochastic5 = Indicators.StochasticOscillator(5, 3, 3, MaType);
            _stochastic14 = Indicators.StochasticOscillator(14, 3, 3, MaType);
            _stochastic45 = Indicators.StochasticOscillator(45, 3, 14, MaType);
            _stochastic75 = Indicators.StochasticOscillator(75, 3, 20, MaType);

            _stpmt = CreateDataSeries();
            _stpmtMa = Indicators.SimpleMovingAverage(_stpmt, 9);

        }
예제 #15
0
        protected override void Initialize()
        {
            // Fetch market series for second symbol
            this.SecondSymbol = MarketData.GetSymbol(SecondPair);
            this.SecondSeries = MarketData.GetSeries(this.SecondSymbol, this.TimeFrame);


            // Now create a stochastic for both
            this.FirstStoch  = Indicators.StochasticOscillator(this.MarketSeries, this.kPeriods, this.kSlowing, this.dPeriods, MovingAverageType.Simple);
            this.SecondStoch = Indicators.StochasticOscillator(this.SecondSeries, this.kPeriods, this.kSlowing, this.dPeriods, MovingAverageType.Simple);
        }
예제 #16
0
 protected override void Init()
 {
     torg              = false; LogU = false; LogD = false; U1 = 100; D1 = -1;
     isPrU             = false; isPrD = false;
     _barH1            = GetCustomSeries(Instrument.Id, Period.H1);
     Line1             = Tools.Create <HorizontalLine>();
     Line2             = Tools.Create <HorizontalLine>();
     _ftoInd           = GetIndicator <FisherTransformOscillator>(Instrument.Id, Timeframe);
     _ftoIndH1         = GetIndicator <FisherTransformOscillator>(Instrument.Id, Period.H1);
     _stoIndH1         = GetIndicator <StochasticOscillator>(Instrument.Id, Period.H1);
     _stoIndH1.Slowing = 3;
     _stoIndH1.PeriodD = 3;
     _stoIndH1.PeriodK = 14;           // Основна
 }
예제 #17
0
        protected override void OnStart()
        {
            _SOC  = Indicators.StochasticOscillator(KPeriods, KSlowing, DPeriods, MovingAverageType.Simple);
            _MACD = Indicators.MacdCrossOver(LongCycle, ShortCycle, MACDPeriod);

            _RSI = Indicators.RelativeStrengthIndex(MarketSeries.Close, RSIPeriods);

            fastMa = Indicators.ExponentialMovingAverage(MarketSeries.Close, FastPeriods);
            slowMa = Indicators.ExponentialMovingAverage(MarketSeries.Close, SlowPeriods);

            TakeProfit = TakeProfit * 10;
            PipStart   = PipStep / 10;
            PipStep    = PipStep * 10;

            PipMulti = PipStep / 100;
        }
예제 #18
0
        protected override void Init()
        {
            _wprInd3           = GetIndicator <ZigZag>(Instrument.Id, Timeframe);
            _wprInd3.ExtDepth  = ED3;
            _wprInd50          = GetIndicator <ZigZag>(Instrument.Id, Timeframe);
            _wprInd50.ExtDepth = ED50;
            _frInd             = GetIndicator <Fractals>(Instrument.Id, Timeframe);
            _frInd.Range       = 30;
            _stoInd            = GetIndicator <StochasticOscillator>(Instrument.Id, Timeframe);
            _stoInd.Method     = MaMethods.Ema;
            _stoInd.PeriodK    = 9; _stoInd.PricePair = PricePair.CloseClose;

            vy       = Tools.Create <VerticalLine>();
            vy.Color = Color.Yellow;
            vb       = Tools.Create <VerticalLine>();
            vb.Color = Color.Blue;
        }
예제 #19
0
        protected override void Init()
        {
            Print("LR_Trade_strategy_initalization");

            if ((LotVolume > Account.MaxLot) || (LotVolume < Account.MinLot))
            {
                Print("LR_Invalid_lot_valueа");
                Print("LR_Lot_minimum_value " + (double)Account.MinLot);
                Print("LR_Lot_maximum_value " + (double)Account.MaxLot);
                _isAnyErrors = true;
                return;
            }

            _period    = Timeframe;
            _sto       = GetIndicator <StochasticOscillator>(Instrument.Id, _period, PeriodK, PeriodD, Slowdown, Method, Prices);
            _barSeries = GetCustomSeries(Instrument.Id, _period);
        }
예제 #20
0
 protected override void Init()
 {
     _allInd = GetIndicator <Alligator>(Instrument.Id, Timeframe);
     // Fractals
     _frInd = GetIndicator <Fractals>(Instrument.Id, Timeframe); _frInd.Range = 5;
     // AO   - определяет движущую силу рынка
     _awoInd = GetIndicator <AwesomeOscillator>(Instrument.Id, Timeframe);
     // Fisher
     _ftoInd = GetIndicator <FisherTransformOscillator>(Instrument.Id, Timeframe);
     // Stohastic
     _stoInd = GetIndicator <StochasticOscillator>(Instrument.Id, Timeframe);
     // Moving Average
     _ma1 = GetIndicator <MovingAverage>(Instrument.Id, Timeframe, 85, 0, MaMethods.Lwma, PriceMode.Close);
     // MACD
     _macd = GetIndicator <MovingAverageConvergenceDivergence> (Instrument.Id, Timeframe);
     _macd.FastEmaPeriod = 15;  _macd.AppliedPrice = PriceMode.Low; _macd.SlowEmaPeriod = 26; _macd.SmaPeriod = 1;
     //
     _wprInd = GetIndicator <ZigZag>(Instrument.Id, Timeframe);
 }
예제 #21
0
        protected override void OnStart()
        {
            var reftf = GetReferenceTimeframe(MarketSeries.TimeFrame);

            rseries = MarketData.GetSeries(MarketSeries.SymbolCode, reftf);

            atr = Indicators.AverageTrueRange(MarketSeries, 6, MovingAverageType.Weighted);
            sto = Indicators.StochasticOscillator(MarketSeries, 13, 9, 4, MovingAverageType.Simple);

            ema8 = Indicators.ExponentialMovingAverage(MarketSeries.Close, 8);
            ema3 = Indicators.ExponentialMovingAverage(MarketSeries.Close, 3);

            lmm150 = Indicators.WeightedMovingAverage(MarketSeries.Close, 150);
            lmm300 = Indicators.WeightedMovingAverage(MarketSeries.Close, 300);
            rmm150 = Indicators.WeightedMovingAverage(rseries.Close, 150);
            rmm300 = Indicators.WeightedMovingAverage(rseries.Close, 300);

            lmacd = Indicators.MacdCrossOver(MarketSeries.Close, 26, 12, 9);
            rmacd = Indicators.MacdCrossOver(rseries.Close, 26, 12, 9);

            Positions.Closed += PositionsOnClosed;
        }
예제 #22
0
        protected override void OnStart()
        {
            BarId             = MarketSeries.Close.Count;
            LastPositionBarId = BarId;

            var reftf = GetReferenceTimeframe(MarketSeries.TimeFrame);

            rseries = MarketData.GetSeries(MarketSeries.SymbolCode, reftf);

            lmm50  = Indicators.WeightedMovingAverage(MarketSeries.Close, 50);
            lmm100 = Indicators.WeightedMovingAverage(MarketSeries.Close, 100);
            lmm200 = Indicators.WeightedMovingAverage(MarketSeries.Close, 200);
            rmm200 = Indicators.WeightedMovingAverage(rseries.Close, 200);

            lmacd = Indicators.MacdCrossOver(MarketSeries.Close, 26, 12, 9);
            rmacd = Indicators.MacdCrossOver(rseries.Close, 26, 12, 9);

            rsi = Indicators.RelativeStrengthIndex(MarketSeries.Close, 6);
            sto = Indicators.StochasticOscillator(MarketSeries, 14, 3, 3, MovingAverageType.Simple);

            Positions.Closed += PositionsOnClosed;
            currentPosition   = Positions.Find(Label, Symbol);
        }
예제 #23
0
        protected override void OnStart()
        {
            //挂单标签
            labelPerfix = "TMSBot";
            //市价单标签
            scalePerfix = "scale";

            //回测
            if (IsBacktesting)
            {
                int backtestNum = new Random().Next(1, 10000);
                labelPerfix += " BT " + backtestNum;
            }

            if (scaleIn)
            {
                //写注册表
                CreateSubKey();
                if (motherClose)
                {
                    Positions.Closed += OnPositionClose;
                }
            }
            //平均正确范围指标
            atr = Indicators.AverageTrueRange(atrPeriod, MovingAverageType.Simple);
            //相对强度指数指标
            _rsi = Indicators.RelativeStrengthIndex(Source, RsiPeriod);
            //布林带指标
            _bollingerBands = Indicators.BollingerBands(_rsi.Result, Volatility, StDev, MovingAverageType.Simple);
            //移动平均线指标(RSI的平均线)
            _price  = Indicators.MovingAverage(_rsi.Result, PricePeriod, PriceMaType);
            _signal = Indicators.MovingAverage(_rsi.Result, SignalPeriod, SignalMaType);
            //随机振荡器指标
            stochastic = Indicators.StochasticOscillator(kPeriods, kSlowing, dPeriods, stMaType);
            //自定义指标
            heikenAshi = Indicators.GetIndicator <HeikenAshi>(HeikenPeriod);
        }
예제 #24
0
        //private HashSet<Int32> ignorableIds;

        protected override void OnStart()
        {
            //ignorableIds = new HashSet<int>();

            BarId             = MarketSeries.Close.Count;
            LastPositionBarId = BarId;

            var reftf = GetReferenceTimeframe(MarketSeries.TimeFrame);

            rseries = MarketData.GetSeries(MarketSeries.SymbolCode, reftf);

            lmm8   = Indicators.ExponentialMovingAverage(MarketSeries.Close, 8);
            lmm100 = Indicators.WeightedMovingAverage(MarketSeries.Close, 100);
            lmm200 = Indicators.WeightedMovingAverage(MarketSeries.Close, 200);
            rmm200 = Indicators.WeightedMovingAverage(rseries.Close, 200);

            lmacd = Indicators.MacdCrossOver(MarketSeries.Close, 26, 12, 9);
            rmacd = Indicators.MacdCrossOver(rseries.Close, 26, 12, 9);

            atr = Indicators.AverageTrueRange(MarketSeries, 14, MovingAverageType.Simple);
            sto = Indicators.StochasticOscillator(MarketSeries, 13, 3, 3, MovingAverageType.Simple);

            Positions.Closed += PositionsOnClosed;
        }
예제 #25
0
파일: AOsto.cs 프로젝트: ivan-petrov-ubk/CS
        protected override void Init()
        {
            // Event occurs once at the start of the strategy
            // Print("Starting TS on account: {0}, comment: {1}", this.Account.Number, CommentText);


            _period = Timeframe;
            index   = Bars.Range.To - 1;

            sto = GetIndicator <StochasticOscillator>(
                Instrument.Id,
                _period,
                Kp,
                Dp,
                Kslow,
                _method,
                _pricePair
                );

            ao = GetIndicator <AcceleratorOscillator>(
                Instrument.Id,
                _period
                );
        }
예제 #26
0
파일: code.cs 프로젝트: aradmand/alg_a
    public override void OnStrategyStart()
    {
        decisionUnit = new DecisionUnit();
        //so_180_a Stochastic Variables
        int so_180_a_tickPeriod = 10;
        int so_180_a_bulkPeriod = 180;
        double so_180_a_highThres = 80;
        double so_180_a_lowThres = 20;
        int so_180_a_nPeriod = 14;
        double so_180_a_smooth = 3;
        int so_180_a_mPeriod = 3;

        //so_180_b Stochastic Variables
        int so_180_b_tickPeriod = 10;
        int so_180_b_bulkPeriod = 180;
        double so_180_b_highThres = 80;
        double so_180_b_lowThres = 20;
        int so_180_b_nPeriod = 21;
        double so_180_b_smooth = 4;
        int so_180_b_mPeriod = 5;

        //so_45_a Stochastic Variables
        int so_45_a_tickPeriod = 10;
        int so_45_a_bulkPeriod = 45;
        double so_45_a_highThres = 80;
        double so_45_a_lowThres = 20;
        int so_45_a_nPeriod = 14;
        double so_45_a_smooth = 3;
        int so_45_a_mPeriod = 3;

        //so_45_b Stochastic Variables
        int so_45_b_tickPeriod = 10;
        int so_45_b_bulkPeriod = 45;
        double so_45_b_highThres = 80;
        double so_45_b_lowThres = 20;
        int so_45_b_nPeriod = 21;
        double so_45_b_smooth = 4;
        int so_45_b_mPeriod = 5;

        //ema_45 Exponential Moving Avg. Variables
        int ema_45_period = 10;
        int ema_45_bulkPeriod = 45;

        //ema_180 Exponential Moving Avg. Variables
        int ema_180_period = 10;
        int ema_180_bulkPeriod = 180;

        System.Console.WriteLine("On strategy start");
        so_180_a = new StochasticOscillator("so_180_a",
                                            so_180_a_tickPeriod,
                                            so_180_a_bulkPeriod,
                                            so_180_a_highThres,
                                            so_180_a_lowThres,
                                            so_180_a_nPeriod,
                                            so_180_a_smooth,
                                            so_180_a_mPeriod);

        so_180_b = new StochasticOscillator("so_180_b",
                                            so_180_b_tickPeriod,
                                            so_180_b_bulkPeriod,
                                            so_180_b_highThres,
                                            so_180_b_lowThres,
                                            so_180_b_nPeriod,
                                            so_180_b_smooth,
                                            so_180_b_mPeriod);

        so_45_a = new StochasticOscillator("so_45_a",
                                    so_45_a_tickPeriod,
                                    so_45_a_bulkPeriod,
                                    so_45_a_highThres,
                                    so_45_a_lowThres,
                                    so_45_a_nPeriod,
                                    so_45_a_smooth,
                                    so_45_a_mPeriod);

        so_45_b = new StochasticOscillator("so_45_b",
                                    so_45_b_tickPeriod,
                                    so_45_b_bulkPeriod,
                                    so_45_b_highThres,
                                    so_45_b_lowThres,
                                    so_45_b_nPeriod,
                                    so_45_b_smooth,
                                    so_45_b_mPeriod);

        ema_180 = new ExponentialMovingAverage("ema_180", ema_180_period, ema_180_bulkPeriod);
        ema_45 = new ExponentialMovingAverage("ema_45", ema_45_period, ema_45_bulkPeriod);
    }
예제 #27
0
 protected override void Init()
 {
     index = Bars.Range.To - 1;
     ash   = GetIndicator <HeikenAshi>(Instrument.Id, Timeframe);
     sto   = GetIndicator <StochasticOscillator>(Instrument.Id, Timeframe, Kp, Dp, Kslow, _method, _pricePair);
 }
예제 #28
0
        protected override void OnStart()
        {
            _SOC = Indicators.StochasticOscillator(KPeriods, KSlowing, DPeriods, MovingAverageType.Simple);
            _MACD = Indicators.MacdCrossOver(LongCycle, ShortCycle, MACDPeriod);

            _RSI = Indicators.RelativeStrengthIndex(MarketSeries.Close, RSIPeriods);

            fastMa = Indicators.ExponentialMovingAverage(MarketSeries.Close, FastPeriods);
            slowMa = Indicators.ExponentialMovingAverage(MarketSeries.Close, SlowPeriods);

            TakeProfit = TakeProfit * 10;
            PipStart = PipStep / 10;
            PipStep = PipStep * 10;

            PipMulti = PipStep / 100;
        }
예제 #29
0
 protected override void Initialize()
 {
     // Initialize and create nested indicators
     dms  = Indicators.DirectionalMovementSystem(ADX_Periods);
     stoc = Indicators.StochasticOscillator(K_Period, Slow_K, D_Period, MAType);
 }
예제 #30
0
 protected override void Init()
 {
     ci      = Bars.Range.To - 1;
     sto     = GetIndicator <StochasticOscillator>(Instrument.Id, Timeframe, Kp, Dp, Kslow, _method, _pricePair);
     _ftoInd = GetIndicator <FisherTransformOscillator>(Instrument.Id, Timeframe);
 }