Пример #1
0
        /// <summary>
        /// Define what entites will be displayed on the chart
        /// </summary>
        protected void CreateCharts(IInstrumentModel instrumentX, IInstrumentModel instrumentY)
        {
            //instrumentX.Chart.Name = _assetX;
            //instrumentX.Chart.Area = _assetX;
            //instrumentX.Chart.Shape = nameof(ShapeEnum.Candle);

            //instrumentY.Chart.Name = _assetY;
            //instrumentY.Chart.Area = _assetY;
            //instrumentY.Chart.Shape = nameof(ShapeEnum.Candle);

            //_scaleIndicatorX.Chart.Name = _scaleIndicatorX.Name;
            //_scaleIndicatorX.Chart.Area = "Indicators";
            //_scaleIndicatorX.Chart.Shape = nameof(ShapeEnum.Line);

            //_scaleIndicatorY.Chart.Name = _scaleIndicatorY.Name;
            //_scaleIndicatorY.Chart.Area = "Indicators";
            //_scaleIndicatorY.Chart.Shape = nameof(ShapeEnum.Line);

            //_performanceIndicator.Chart.Name = _account;
            //_performanceIndicator.Chart.Area = "Performance";
            //_performanceIndicator.Chart.Shape = nameof(ShapeEnum.Area);

            //Charts.Add(instrumentX.Chart);
            //Charts.Add(instrumentY.Chart);
            //Charts.Add(_scaleIndicatorX.Chart);
            //Charts.Add(_scaleIndicatorY.Chart);
            //Charts.Add(_performanceIndicator.Chart);
        }
Пример #2
0
        public override Task OnLoad()
        {
            _instrument = new InstrumentModel
            {
                Name      = _asset,
                TimeFrame = _span
            };

            var account = new AccountModel
            {
                Name           = _account,
                Balance        = 50000,
                InitialBalance = 50000,
                Instruments    = new NameCollection <string, IInstrumentModel> {
                    [_asset] = _instrument
                }
            };

            var gateway = new GatewayClient
            {
                Speed    = 100,
                Name     = _account,
                Account  = account,
                Evaluate = Parse,
                Source   = ConfigurationManager.AppSettings["DataLocation"].ToString()
            };

            _rsiIndicator = new RelativeStrengthIndicator {
                Interval = 10, Name = "RSI Indicator : " + _asset
            };
            _atrIndicator = new AverageTrueRangeIndicator {
                Interval = 10, Name = "ATR Indicator : " + _asset
            };
            _bidIndicator = new MovingAverageIndicator {
                Interval = 0, Mode = MovingAverageEnum.Bid, Name = "BID Indicator : " + _asset
            };
            _askIndicator = new MovingAverageIndicator {
                Interval = 0, Mode = MovingAverageEnum.Ask, Name = "ASK Indicator : " + _asset
            };
            _performanceIndicator = new PerformanceIndicator {
                Name = "Balance"
            };

            _disposables.Add(gateway
                             .Account
                             .Instruments
                             .Values
                             .Select(o => o.PointGroups.ItemStream)
                             .Merge()
                             .Subscribe(OnData));

            CreateCharts();
            CreateGateways(gateway);

            return(Task.FromResult(0));
        }
Пример #3
0
        public override Task OnLoad()
        {
            _span = TimeSpan.FromMinutes(1);

            _instrument = new InstrumentModel
            {
                Name      = _asset,
                TimeFrame = _span
            };

            var account = new AccountModel
            {
                Id             = ConfigurationManager.AppSettings["Account"],
                Name           = _account,
                Balance        = 50000,
                InitialBalance = 50000,
                Instruments    = new NameCollection <string, IInstrumentModel> {
                    [_asset] = _instrument
                }
            };

            var gateway = new GroupGatewayClient(_instrument)
            {
                Name    = _account,
                Account = account,
                //Evaluate = Parse,
                //Source = ConfigurationManager.AppSettings["Source"].ToString(),
                //Token = ConfigurationManager.AppSettings["AlpacaToken"].ToString(),
                //Secret = ConfigurationManager.AppSettings["AlpacaSecret"].ToString(),
                LiveToken    = ConfigurationManager.AppSettings["TradierLiveToken"].ToString(),
                SandboxToken = ConfigurationManager.AppSettings["TradierSandboxToken"].ToString(),
                //SnadboxToken = ConfigurationManager.AppSettings["SandboxToken"].ToString(),
                //Secret = ConfigurationManager.AppSettings["Secret"].ToString()
            };

            _imbalanceIndicator = new ImbalanceIndicator {
                Name = "Imbalance"
            };
            _performanceIndicator = new PerformanceIndicator {
                Name = "Balance"
            };

            _disposables.Add(gateway
                             .Account
                             .Instruments
                             .Values
                             .Select(o => o.PointGroups.ItemStream)
                             .Merge()
                             .Subscribe(OnData));

            CreateCharts();
            CreateGateways(gateway);

            return(Task.FromResult(0));
        }
Пример #4
0
 public GroupGatewayClient(IInstrumentModel instrument)
 {
     instrument.PointGroups = _collection;
 }