/// <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); }
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)); }
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)); }
public GroupGatewayClient(IInstrumentModel instrument) { instrument.PointGroups = _collection; }