public void Add(TradeEventArgs args) { lock (this.lockObject) { this.GetProviderCounter((IProvider)((IntradayEventArgs)args).Provider).AddTrade(((IntradayEventArgs)args).Instrument); this.Trades.Increment(); } }
private static void EmitNewTrade(object sender, TradeEventArgs e) { if (ProviderManager.threadSafe) { Monitor.Enter(ProviderManager.dataLock); } try { if (ProviderManager.NewTrade != null) { ProviderManager.NewTrade(sender, e); } } finally { if (ProviderManager.threadSafe) { Monitor.Exit(ProviderManager.dataLock); } } }
private void OnNewTrade(object sender, TradeEventArgs args) { if (!this.isRunning || !this.cbxTrades.Checked) return; this.queue.Enqueue((Action) (() => { Instrument local_0 = ((IntradayEventArgs) args).Instrument as Instrument; InstrumentRow local_1 = this.instruments[local_0] as InstrumentRow; if (local_1 == null) return; local_0.Add(args.Trade); ++local_1.Trades; })); }
private static void OnNewTrade(object sender, TradeEventArgs e) { Instrument instrument = e.Instrument as Instrument ?? InstrumentManager.Instruments[e.Instrument.Symbol, e.Provider.Name]; if (instrument == null) return; Trade trade = e.Trade; if (DataManager.tradeArrayLength != 0) { TradeArray tradeArray = DataManager.tradeArrayList[instrument]; tradeArray.Add(trade); if (DataManager.tradeArrayLength != -1 && tradeArray.Count > DataManager.tradeArrayLength) { tradeArray.RemoveAt(0); } } instrument.EmitNewTrade(new TradeEventArgs(trade, instrument, e.Provider)); }
private void ProviderManager_NewTrade(object sender, TradeEventArgs args) { this.counter.Add(args); }
internal void CMFW95B91R(TradeEventArgs obj0) { try { Instrument instrument = obj0.Instrument as Instrument; Trade trade = obj0.Trade; foreach (StrategyBase strategyBase in this.MU0WP1r0b1(obj0.Provider, instrument)) strategyBase.gSQVAlpOg(instrument, trade); this.metaMoneyManager.OnTrade(instrument, trade); this.OnNewTrade(instrument, trade); } catch (Exception ex) { this.x6bWBlLIvv(ex); } }
private void YGKFrq1UXP(object obj0, TradeEventArgs obj1) { this.Y18FFPmDy5((Quote) null, obj1.Trade, (Bar) null); }
private void OnNewTrade(object sender, TradeEventArgs e) { lock (this.dataLock) { Position position = this.positions[(Instrument)e.Instrument]; if (position != null) { position.EmitValueChanged(); this.EmitValueChanged(position); } } }
internal void EmitNewTrade(TradeEventArgs e) { if (this.Trade.Price != 0.0 && this.Trade.Price != e.Trade.Price) this.Change = e.Trade.Price - this.Trade.Price; this.Trade = e.Trade; if (this.NewTrade != null) { this.NewTrade(this, e); } }
public void OnNewTrade(object sender, TradeEventArgs args) { if (((IntradayEventArgs)args).Instrument != this.instrument) return; if (((DataArray)DataManager.Trades[this.instrument]).Count == 1 && ((DataArray)DataManager.Quotes[this.instrument]).Count == 0) this.isFirstTime = true; DateTime lastDateTime = ((DataArray)DataManager.Trades[this.instrument]).LastDateTime; int num = ((DataArray)DataManager.Trades[this.instrument]).Count - 2; while (num >= 0 && DataManager.Trades[this.instrument][num].DateTime == lastDateTime) --num; if (num < 0) return; // DataManager.Trades[this.instrument][num].DateTime; if (lastDateTime >= this.lastUpdateDate) { if (this.isFirstTime) { this.pad.SetRangeX((double)(((DataArray)DataManager.Trades[this.instrument]).LastDateTime.Ticks - 9000000000L), (double)((DataArray)DataManager.Trades[this.instrument]).LastDateTime.Ticks); this.isFirstTime = false; } else this.pad.SetRangeX((double)((DataArray)DataManager.Trades[this.instrument]).LastDateTime.Ticks + this.pad.XMin - (double)this.lastUpdateDate.Ticks, (double)((DataArray)DataManager.Trades[this.instrument]).LastDateTime.Ticks + (this.pad.XMax - (double)this.lastUpdateDate.Ticks)); } this.lastUpdateDate = lastDateTime; }
private static void EmitNewTrade(object sender, TradeEventArgs e) { if (ProviderManager.threadSafe) Monitor.Enter(ProviderManager.dataLock); try { if (ProviderManager.NewTrade != null) ProviderManager.NewTrade(sender, e); } finally { if (ProviderManager.threadSafe) Monitor.Exit(ProviderManager.dataLock); } }
private void ProviderManager_NewTrade(object sender, TradeEventArgs args) { lock (this) { ++this.countTrade; ++this.countMarketDataTotal; } }
private void marketDataProvider_NewTrade(object sender, TradeEventArgs args) { FreeQuant.Instruments.Instrument instrument = args.Instrument as FreeQuant.Instruments.Instrument; List<StrategyRunner> list = (List<StrategyRunner>)null; if (!this.instrumentTable.TryGetValue(instrument, out list)) return; foreach (StrategyRunner strategyRunner in list) { if (strategyRunner.Enabled) strategyRunner.SetNewTrade(instrument, args.Trade); } }
protected virtual void OnNewTrade(object sender, TradeEventArgs args) { if (((IntradayEventArgs)args).Provider != this.marketDataProvider) return; QuoteViewRow quoteViewRow; bool flag; lock (this.lockObject) flag = this.quoteRows.TryGetValue(((IntradayEventArgs)args).Instrument, out quoteViewRow); if (!flag) return; if (this.eventQueue.Enabled) this.eventQueue.Enqueue(new MarketDataUpdateItem((MarketDataViewRow)quoteViewRow, null, args.Trade, null)); else quoteViewRow.Update((Quote)null, args.Trade, null); this.instrumentPad.OnNewTrade(sender, args); }