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; }
protected override void OnStart() { _SMA = Indicators.SimpleMovingAverage(Source_SMA, Periods_SMA); _SOC = Indicators.StochasticOscillator(KPeriods, K_Slowing, DPeriods, MaType); Positions.Closed += PositionsOnClosed; }
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); }
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; }
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); }
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); }
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); }
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); }
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; // Основна }
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); }
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; }
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; // Основна }
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; }
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; }
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); }
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); }
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; }
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); }
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); }
//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; }
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 ); }
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); }
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); }
protected override void Initialize() { // Initialize and create nested indicators dms = Indicators.DirectionalMovementSystem(ADX_Periods); stoc = Indicators.StochasticOscillator(K_Period, Slow_K, D_Period, MAType); }
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); }