public NewOrderTest(Connector connector, FilterableSecurityProvider securityProvider) { InitializeComponent(); _connector = connector; Portfolios.Connector = connector; Securities.SecurityProvider = securityProvider; }
public MainWindow() { InitializeComponent(); _securityCtrls.Add(Security1, new ColorSettings { Position = Colors.Green, Buy = Colors.Green, Sell = Colors.Red, }); _securityCtrls.Add(Security2, new ColorSettings { Position = Colors.Blue, Buy = Colors.Teal, Sell = Colors.BlueViolet, }); _securityCtrls.Add(Security3, new ColorSettings { Position = Colors.Brown, Buy = Colors.Yellow, Sell = Colors.Brown, }); _securityCtrls.Add(Security4, new ColorSettings { Position = Colors.YellowGreen, Buy = Colors.Cyan, Sell = Colors.DeepPink, }); Chart.IsInteracted = true; //Chart.IsAutoRange = true; Chart.SubscribeIndicatorElement += Chart_SubscribeIndicatorElement; _securityProvider = new FilterableSecurityProvider(); _securityCtrls.ForEach(pair => pair.Key.SecurityProvider = _securityProvider); TimeFrame.ItemsSource = new[] { TimeSpan.FromTicks(1) }.Concat(FinamHistorySource.TimeFrames); TimeFrame.SelectedItem = TimeSpan.FromMinutes(5); Statistics.StatisticManager = _statisticManager; }
/// <summary> /// Создать <see cref="SecurityPicker"/>. /// </summary> public SecurityPicker() { InitializeComponent(); _counterMask = Counter.Text; GuiDispatcher.GlobalDispatcher.AddPeriodicalAction(() => { if (!_isDirty) { return; } _isDirty = false; FilterSecurities(); }); GuiDispatcher.GlobalDispatcher.AddPeriodicalAction(() => { if (!_isCounterDirty) { return; } _isCounterDirty = false; UpdateCounter(); }); _excludeSecurities = new CachedSynchronizedSet <Security>(); _excludeSecurities.Added += s => SecurityProviderOnSecuritiesChanged(true, NotifyCollectionChangedAction.Add, s); _excludeSecurities.Removed += s => SecurityProviderOnSecuritiesChanged(true, NotifyCollectionChangedAction.Remove, s); _excludeSecurities.Cleared += () => SecurityProviderOnSecuritiesChanged(true, NotifyCollectionChangedAction.Reset, null); SecurityProvider = new FilterableSecurityProvider(); SecuritiesCtrl.SelectionMode = _defaultSelectionMode; UpdateCounter(); SecurityTypeCtrl.NullItem.Description = LocalizedStrings.Str1569; }
private void QuikConnectionMouseDoubleClick(object sender, RoutedEventArgs e) { if (_connector == null) { _connector = new Connector(); _connector.Connected += _connector.StartExport; var session = new BasketSessionHolder(_connector.TransactionIdGenerator); _connector.MarketDataAdapter = new BasketMessageAdapter(MessageAdapterTypes.MarketData, session); _connector.TransactionAdapter = new BasketMessageAdapter(MessageAdapterTypes.Transaction, session); _connector.ApplyMessageProcessor(MessageDirections.In, true, false); _connector.ApplyMessageProcessor(MessageDirections.In, false, true); _connector.ApplyMessageProcessor(MessageDirections.Out, true, true); if (QuikCheckBox.IsChecked == true) { session.InnerSessions.Add(new QuikSessionHolder(_connector.TransactionIdGenerator) { IsTransactionEnabled = true, IsMarketDataEnabled = true, }, 1); } if (SmartComCheckBox.IsChecked == true) { session.InnerSessions.Add(new SmartComSessionHolder(_connector.TransactionIdGenerator) { Login = Login.Text, Password = Password.Password.To <SecureString>(), Address = Address.SelectedAddress, IsTransactionEnabled = true, IsMarketDataEnabled = true, }, 0); } if (PlazaCheckBox.IsChecked == true) { session.InnerSessions.Add(new PlazaSessionHolder(_connector.TransactionIdGenerator) { IsCGate = true, IsTransactionEnabled = true, IsMarketDataEnabled = true, }, 0); } if (session.InnerSessions.Count == 0) { MessageBox.Show(LocalizedStrings.Str2971); return; } _securityProvider = new FilterableSecurityProvider(_connector); _connector.ConnectionError += error => this.GuiAsync(() => MessageBox.Show(this, error.ToString(), LocalizedStrings.Str2959)); _connector.Connect(); } else { Disconnect(); } }
private void QuikConnectionMouseDoubleClick(object sender, RoutedEventArgs e) { if (_connector == null) { _connector = new Connector(); if (QuikCheckBox.IsChecked == true) { var quikTs = new LuaFixTransactionMessageAdapter(_connector.TransactionIdGenerator) { Login = "******", Password = "******".To <SecureString>(), Address = "localhost:5001".To <EndPoint>(), TargetCompId = "StockSharpTS", SenderCompId = "quik", ExchangeBoard = ExchangeBoard.Forts, Version = FixVersions.Fix44, RequestAllPortfolios = true, MarketData = FixMarketData.None, UtcOffset = TimeHelper.Moscow.BaseUtcOffset }; var quikMd = new FixMessageAdapter(_connector.TransactionIdGenerator) { Login = "******", Password = "******".To <SecureString>(), Address = "localhost:5001".To <EndPoint>(), TargetCompId = "StockSharpMD", SenderCompId = "quik", ExchangeBoard = ExchangeBoard.Forts, Version = FixVersions.Fix44, RequestAllSecurities = true, MarketData = FixMarketData.MarketData, UtcOffset = TimeHelper.Moscow.BaseUtcOffset }; _connector.Adapter.InnerAdapters[quikMd.ToChannel(_connector, "Quik MD")] = 1; _connector.Adapter.InnerAdapters[quikTs.ToChannel(_connector, "Quik TS")] = 1; } if (SmartComCheckBox.IsChecked == true) { var smartCom = new SmartComMessageAdapter(_connector.TransactionIdGenerator) { Login = Login.Text, Password = Password.Password.To <SecureString>(), Address = Address.SelectedAddress, }; _connector.Adapter.InnerAdapters[smartCom.ToChannel(_connector, "SmartCOM")] = 0; } if (PlazaCheckBox.IsChecked == true) { var pool = new PlazaConnectionPool(); _connector.Adapter.InnerAdapters[new PlazaTransactionMessageAdapter(_connector.TransactionIdGenerator, pool) { ConnectionPoolSettings = { IsCGate = true, } }.ToChannel(_connector, "Plaza TS")] = 0; _connector.Adapter.InnerAdapters[new PlazaStreamMessageAdapter(_connector.TransactionIdGenerator, pool) { ConnectionPoolSettings = { IsCGate = true, } }.ToChannel(_connector, "Plaza MD")] = 0; } if (_connector.Adapter.InnerAdapters.Count == 0) { MessageBox.Show(this, LocalizedStrings.Str2971); return; } _securityProvider = new FilterableSecurityProvider(_connector); _connector.ConnectionError += error => this.GuiAsync(() => MessageBox.Show(this, error.ToString(), LocalizedStrings.Str2959)); _connector.Connect(); } else { Disconnect(); } }