internal void ConnectDone() { EventHappened?.Invoke(this, XProviderEventType.ConnectDone); ProcessPendingCommand(); if (MarketContinuousAfterConnectDone) { TradingStatus = InstrumentStatusType.Continous; EventHappened?.Invoke(this, XProviderEventType.MarketContinuous); } InitQuery(); if (IsInstrumentProvider) { logger.Info("开始查询合约......"); if (!qryInstrumentUseMarketApi) { trader.QueryInstrument(); } else { market.QueryInstrument(); } } else { StartTimerTask(); } }
// IEvent implementation ------------------------------------ void IEvent.Execute() { foreach (var fanout in fanoutList) { fanout.Execute(); } EventHappened?.Invoke(); }
// IEvent implementation void IEvent.Execute() { foreach (var df in fanoutList) { df.Execute(); } EventHappened?.Invoke(); last?.Execute(); }
// IEvent implementation ------------------------------------ void IEvent.Execute() { foreach (var fanout in outputs) { fanout.Execute(); } EventHappened?.Invoke(); complete?.Execute(); }
private void ExecuteTrigger(object state) { _botTimer.TriggerAsync() .ContinueWith(continuation => EventHappened.Invoke(new BotEvent { Channel = _channel, Message = continuation.Result })); }
public void Handle(EventHappened message) { Data.Id = message.Id; Data.NumEvents++; if (Data.NumEvents > 2) { Console.WriteLine("3 event received."); } }
public DetectedEventViewModel(EventHappened eventHappened) { EventKind = eventHappened.Kind.ToString(); Description = eventHappened.Description; MainActor = eventHappened.MainActor?.ToWowParserString(); AdditionalActors = eventHappened.AdditionalActors?.Select(s => s.ToWowParserString()).ToList(); if (eventHappened.EventLocation != null) { Location = $"X: {eventHappened.EventLocation.X} Y: {eventHappened.EventLocation.Y} Z: {eventHappened.EventLocation.Z}"; } }
internal void DisconnectDone() { _subscribeManager.Clear(); _timer.Close(); _dealProcessor.Close(); _emitter.Close(); ClearAccountQueue(); market = null; trader = null; EventHappened?.Invoke(this, XProviderEventType.DisconnectDone); }
internal void OnMessage(InstrumentStatusField field) { if (field.Status != TradingStatus) { TradingStatus = field.Status; if (TradingStatus == InstrumentStatusType.Closed) { CancelUndoneOrder(); } EventHappened?.Invoke(this, (XProviderEventType)field.Status); } }
public async Task HandleAsync(BotCommand command) { var response = await _responder.HandleAsync(command); if (response != null) { EventHappened.Invoke(new BotEvent { Channel = command.Channel, Message = response }); } }
internal void OnTraderCreated() { //var server = GetPersistentServer(); //if (server == null) { // return; //} EventHappened?.Invoke(this, XProviderEventType.TraderCreated); //var tradingDay = server.Settings.GetAsDateTime(ProviderSettingsType.TradingDay); //if (tradingDay == DateTime.Today && DateTime.Now.TimeOfDay > MarketCloseTime) { // //CancelUndoneOrder(); //} //else { // //_dealProcessor.ProcessUndone(framework, tradingDay, server.GetTrades(tradingDay)); //} }
private static void RaiseEventHappened(EventHappenedEventArgs args) { try { EventHappened?.Invoke(null, args); } catch (OutOfMemoryException) { throw; } #pragma warning disable RCS1075 // Avoid empty catch clause that catches System.Exception. catch (Exception) #pragma warning restore RCS1075 // Avoid empty catch clause that catches System.Exception. { //External code throw error, simply ignore. } }
internal void OnTraderCreated() { var server = GetPersistentServer(); if (server != null) { EventHappened?.Invoke(this, XProviderEventType.TraderCreated); var tradingDay = server.Settings.GetAsDateTime(ProviderSettingsType.TradingDay); if (tradingDay == DateTime.Today && DateTime.Now.TimeOfDay > MarketSettlementTime) { //CancelUndoneOrder(); } else { _processor.LoadUndoneOrders(framework, tradingDay, server.GetTrades(tradingDay)); } } }
internal void ConnectDone() { EventHappened?.Invoke(this, XProviderEventType.ConnectDone); if (MarketContinousAfterConnectDone) { TradingStatus = InstrumentStatusType.Continous; EventHappened?.Invoke(this, XProviderEventType.MarketContinous); } InitQuery(); if (IsInstrumentProvider) { Logger.Info("开始查询合约......"); Trader.QueryInstrument(); } else { StartTimerTask(); } }
private void OnMarketClose(DateTime dateTime, object data) { if (framework.OrderServer is DatabaseOrderServer server) { server.PositionStore.ChangeTradingDay(); } if (TradingStatus != InstrumentStatusType.Closed) { TradingStatus = InstrumentStatusType.Closed; EventHappened?.Invoke(this, (XProviderEventType)TradingStatus); } foreach (var provider in framework.ProviderManager.Providers) { if (provider is XProvider) { CancelUndoneOrder(provider.Id); } } framework.StrategyManager.Global.Remove(QuantBoxConst.GlobalMarketCloseReminder); }
public ActionReasonPredictionViewModel(PacketBase action, double probability, string explain, EventHappened reason) { PacketNumber = reason.PacketNumber; Description = reason.Description; Chance = (int)(probability * 100); Explain = explain; Diff = (int)(action.Time.ToDateTime() - reason.Time).TotalMilliseconds; }
private void OnBotEventHappened(BotEvent evnt) { EventHappened?.Invoke(evnt); }
internal void AutoDisconnect() { _connectManager.Post(new OnAutoDisconnect()); EventHappened?.Invoke(this, XProviderEventType.AutoDisconnect); }
private void OnEventHappened(string message) { EventHappened?.Invoke(message); }
public void RegisterEvent(IDeviceEvent deviceEventHappened) { EventHappened?.Invoke(deviceEventHappened); }