protected override void Init() { this.application = (QuickFIX42Application)this.CreateApplicationInstance(); Dictionary dictionary = new Dictionary(); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2820), BeAEwTZGlZaeOmY5cm.J00weU3cM6(2852)); dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2874), this.HeartBtInt); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2898), this.StartTime.ToString()); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2920), this.EndTime.ToString()); dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2938), this.ReconnectInterval); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2976), this.BeginString); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3002), this.DataDictionary); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3034), this.FileStorePath); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3064), this.FileLogPath); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3090), this.CheckLatency); dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3118), this.MaxLatency); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3142), this.SendRedundantResendRequests); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3200), this.ResetOnLogout); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3230), this.ResetOnDisconnect); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3268), this.RefreshOnLogon); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3300), this.TcpNoDelay); this.OnDefaultsSessionSettingsCreated(dictionary); Dictionary settings1 = (Dictionary)null; if (this.PriceSessionEnabled) { settings1 = new Dictionary(); settings1.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3330), this.PriceSocketConnectHost); settings1.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3368), this.PriceSocketConnectPort); settings1.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3406), this.PriceFileStorePath); this.OnPriceSessionSettingsCreated(settings1); } Dictionary settings2 = (Dictionary)null; if (this.OrderSessionEnabled) { settings2 = new Dictionary(); settings2.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3436), this.OrderSocketConnectHost); settings2.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3474), this.OrderSocketConnectPort); settings2.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3512), this.OrderFileStorePath); this.OnOrderSessionSettingsCreated(settings2); } SessionID sessionID1 = this.PriceSessionEnabled ? new SessionID(this.BeginString, this.PriceSenderCompID, this.PriceTargetCompID) : (SessionID)null; SessionID sessionID2 = this.OrderSessionEnabled ? new SessionID(this.BeginString, this.OrderSenderCompID, this.OrderTargetCompID) : (SessionID)null; this.sessionSettings = new SessionSettings(); this.sessionSettings.set(dictionary); if (this.PriceSessionEnabled) { this.sessionSettings.set(sessionID1, settings1); } if (this.OrderSessionEnabled) { this.sessionSettings.set(sessionID2, settings2); } this.storeFactory = (MessageStoreFactory) new FileStoreFactory(this.sessionSettings); this.logFactory = (LogFactory) new FileLogFactory(this.sessionSettings); this.messageFactory = (MessageFactory) new DefaultMessageFactory(); (this.application as QuickFIX42CommonApplication).adf1ZbrcY(sessionID1, sessionID2); }
public virtual void SendOrderCancelReplaceRequest(FreeQuant.FIX.OrderCancelReplaceRequest request) { if (this.IsConnected) { this.application.Send(request); } else { OrderCancelReject reject = new OrderCancelReject(); reject.TransactTime = Clock.Now; reject.OrigClOrdID = request.OrigClOrdID; reject.ClOrdID = reject.OrigClOrdID; reject.CxlRejResponseTo = SmartQuant.FIX.CxlRejResponseTo.CancelReplaceRequest; reject.CxlRejReason = SmartQuant.FIX.CxlRejReason.BrokerOption; reject.OrdStatus = SmartQuant.FIX.OrdStatus.Undefined; reject.Text = BeAEwTZGlZaeOmY5cm.J00weU3cM6(2480); if (this.B02KF0Hm96 != null) { this.B02KF0Hm96((object)this, new OrderCancelRejectEventArgs(reject)); } if (this.e4HAgJhCB == null) { return; } this.e4HAgJhCB(new ProviderErrorEventArgs((IProvider)this, -1, -1, BeAEwTZGlZaeOmY5cm.J00weU3cM6(2534))); } }
protected QuickFIX42CommonProvider() : base() { this.HeartBtInt = 20; this.StartTime = TimeSpan.Parse(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2724)); this.EndTime = TimeSpan.Parse(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2730)); this.ReconnectInterval = 30; this.BeginString = BeAEwTZGlZaeOmY5cm.J00weU3cM6(2736); this.DataDictionary = BeAEwTZGlZaeOmY5cm.J00weU3cM6(2754); this.FileStorePath = ""; this.FileLogPath = ""; this.CheckLatency = false; this.MaxLatency = 120; this.ResetOnLogout = false; this.ResetOnDisconnect = false; this.RefreshOnLogon = false; this.SendRedundantResendRequests = false; this.PriceSessionEnabled = true; this.PriceSenderCompID = ""; this.PriceTargetCompID = ""; this.PriceSocketConnectHost = BeAEwTZGlZaeOmY5cm.J00weU3cM6(2776); this.PriceSocketConnectPort = 0; this.PriceFileStorePath = ""; this.OrderSessionEnabled = true; this.OrderSenderCompID = ""; this.OrderTargetCompID = ""; this.OrderSocketConnectHost = BeAEwTZGlZaeOmY5cm.J00weU3cM6(2798); this.OrderSocketConnectPort = 0; this.OrderFileStorePath = ""; }
protected QuickFIX43CommonProvider() : base() { this.HeartBtInt = 20; this.StartTime = TimeSpan.Parse(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4586)); this.EndTime = TimeSpan.Parse(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4592)); this.ReconnectInterval = 30; this.BeginString = BeAEwTZGlZaeOmY5cm.J00weU3cM6(4598); this.DataDictionary = BeAEwTZGlZaeOmY5cm.J00weU3cM6(4616); this.FileStorePath = ""; this.FileLogPath = ""; this.CheckLatency = false; this.MaxLatency = 120; this.ResetOnLogout = false; this.ResetOnDisconnect = false; this.PriceSessionEnabled = true; this.PriceSenderCompID = ""; this.PriceTargetCompID = ""; this.PriceSocketConnectHost = BeAEwTZGlZaeOmY5cm.J00weU3cM6(4638); this.PriceSocketConnectPort = 0; this.PriceFileStorePath = ""; this.OrderSessionEnabled = true; this.OrderSenderCompID = ""; this.OrderTargetCompID = ""; this.OrderSocketConnectHost = BeAEwTZGlZaeOmY5cm.J00weU3cM6(4660); this.OrderSocketConnectPort = 0; this.OrderFileStorePath = ""; }
public virtual void SendOrderCancelReplaceRequest(OrderCancelReplaceRequest request) { if (this.IsConnected) { this.application.Send((FIXOrderCancelReplaceRequest)request); } else { OrderCancelReject reject = new OrderCancelReject(); reject.TransactTime = Clock.Now; reject.OrigClOrdID = request.OrigClOrdID; reject.ClOrdID = reject.OrigClOrdID; reject.CxlRejResponseTo = FreeQuant.FIX.CxlRejResponseTo.CancelReplaceRequest; reject.CxlRejReason = FreeQuant.FIX.CxlRejReason.BrokerOption; reject.OrdStatus = FreeQuant.FIX.OrdStatus.Undefined; reject.Text = BeAEwTZGlZaeOmY5cm.J00weU3cM6(4342); if (this.GZq4XSlmZH != null) { this.GZq4XSlmZH((object)this, new OrderCancelRejectEventArgs(reject)); } if (this.j4t4Wyi2Ea == null) { return; } this.j4t4Wyi2Ea(new ProviderErrorEventArgs((IProvider)this, -1, -1, BeAEwTZGlZaeOmY5cm.J00weU3cM6(4396))); } }
protected virtual void Init() { this.application = new QuickFIX42Application(); this.sessionSettings = new SessionSettings(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1776)); this.storeFactory = (MessageStoreFactory) new FileStoreFactory(this.sessionSettings); this.logFactory = (LogFactory) new FileLogFactory(this.sessionSettings); this.messageFactory = (MessageFactory) new DefaultMessageFactory(); }
protected override void Init() { this.application = (QuickFIX43Application)this.CreateApplicationInstance(); Dictionary dictionary = new Dictionary(); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4682), BeAEwTZGlZaeOmY5cm.J00weU3cM6(4714)); dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4736), this.HeartBtInt); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4760), this.StartTime.ToString()); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4782), this.EndTime.ToString()); dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4800), this.ReconnectInterval); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4838), this.BeginString); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4864), this.DataDictionary); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4896), this.FileStorePath); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4926), this.FileLogPath); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4952), this.CheckLatency); dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4980), this.MaxLatency); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5004), this.ResetOnLogout); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5034), this.ResetOnDisconnect); this.OnDefaultsSessionSettingsCreated(dictionary); Dictionary settings1 = (Dictionary)null; if (this.PriceSessionEnabled) { settings1 = new Dictionary(); settings1.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5072), this.PriceSocketConnectHost); settings1.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5110), this.PriceSocketConnectPort); settings1.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5148), this.PriceFileStorePath); this.OnPriceSessionSettingsCreated(settings1); } Dictionary settings2 = (Dictionary)null; if (this.OrderSessionEnabled) { settings2 = new Dictionary(); settings2.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5178), this.OrderSocketConnectHost); settings2.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5216), this.OrderSocketConnectPort); settings2.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5254), this.OrderFileStorePath); this.OnOrderSessionSettingsCreated(settings2); } SessionID sessionID1 = this.PriceSessionEnabled ? new SessionID(this.BeginString, this.PriceSenderCompID, this.PriceTargetCompID) : (SessionID)null; SessionID sessionID2 = this.OrderSessionEnabled ? new SessionID(this.BeginString, this.OrderSenderCompID, this.OrderTargetCompID) : (SessionID)null; this.sessionSettings = new SessionSettings(); this.sessionSettings.set(dictionary); if (this.PriceSessionEnabled) { this.sessionSettings.set(sessionID1, settings1); } if (this.OrderSessionEnabled) { this.sessionSettings.set(sessionID2, settings2); } this.storeFactory = (MessageStoreFactory) new FileStoreFactory(this.sessionSettings); this.logFactory = (LogFactory) new FileLogFactory(this.sessionSettings); this.messageFactory = (MessageFactory) new DefaultMessageFactory(); (this.application as QuickFIX43CommonApplication).zWmEpDbll(sessionID1, sessionID2); }
public virtual void SendMarketDataRequest(FIXMarketDataRequest request) { if (this.IsConnected) { switch (request.SubscriptionRequestType) { case '1': string str1 = this.agD49enOqk(request.GetRelatedSymGroup(0)); RequestRecord requestRecord1; if (str1 == null) { ++this.mdReqCount; string str2 = string.Format(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3836), (object)Clock.Now, (object)this.mdReqCount); request.MDReqID = str2; requestRecord1 = new RequestRecord(request.GetRelatedSymGroup(0).Symbol, request); this.mdRequests.Add((object)str2, (object)requestRecord1); this.application.Send(request); } else { requestRecord1 = this.mdRequests[(object)str1] as RequestRecord; } ++requestRecord1.RequestCount; break; case '2': string str3 = this.agD49enOqk(request.GetRelatedSymGroup(0)); if (str3 == null) { break; } RequestRecord requestRecord2 = this.mdRequests[(object)str3] as RequestRecord; --requestRecord2.RequestCount; if (requestRecord2.RequestCount != 0) { break; } request.MDReqID = str3; this.application.Send(request); this.mdRequests.Remove((object)str3); break; } } else { if (this.j4t4Wyi2Ea == null) { return; } this.j4t4Wyi2Ea(new ProviderErrorEventArgs((IProvider)this, -1, -1, BeAEwTZGlZaeOmY5cm.J00weU3cM6(3894))); } }
public virtual void SendSecurityDefinitionRequest(FIXSecurityDefinitionRequest request) { if (this.IsConnected) { this.application.Send(request); } else { if (this.j4t4Wyi2Ea == null) { return; } this.j4t4Wyi2Ea(new ProviderErrorEventArgs((IProvider)this, -1, -1, BeAEwTZGlZaeOmY5cm.J00weU3cM6(3698))); } }
public virtual void SendNewOrderSingle(NewOrderSingle order) { if (this.IsConnected) { this.application.Send((FIXNewOrderSingle)order); } else { ExecutionReport report = new ExecutionReport(); report.TransactTime = Clock.Now; report.ClOrdID = order.ClOrdID; report.ExecType = FreeQuant.FIX.ExecType.Rejected; report.OrdStatus = FreeQuant.FIX.OrdStatus.Rejected; report.Symbol = order.Symbol; report.SecurityType = order.SecurityType; report.SecurityExchange = order.SecurityExchange; report.Currency = order.Currency; report.Side = order.Side; report.OrdType = order.OrdType; report.TimeInForce = order.TimeInForce; report.OrderQty = order.OrderQty; report.Price = order.Price; report.StopPx = order.StopPx; report.LastPx = 0.0; report.LastQty = 0.0; report.AvgPx = 0.0; report.CumQty = 0.0; report.LeavesQty = order.OrderQty; report.Text = BeAEwTZGlZaeOmY5cm.J00weU3cM6(4016); if (this.q8X4lYTN4C != null) { this.q8X4lYTN4C((object)this, new ExecutionReportEventArgs(report)); } if (this.j4t4Wyi2Ea == null) { return; } this.j4t4Wyi2Ea(new ProviderErrorEventArgs((IProvider)this, -1, -1, BeAEwTZGlZaeOmY5cm.J00weU3cM6(4070))); } }
public void onMessage(QuickFix.FIX42.TradingSessionStatus message, SessionID sessionID) { List <string> list = new List <string>(); list.Add(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1532)); if (this.SessionEquals(sessionID, this.priceSessionID)) { list.Add(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1578)); } if (this.SessionEquals(sessionID, this.orderSessionID)) { list.Add(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1592)); } if (message.isSetTradSesStatus()) { int num = message.getTradSesStatus().getValue(); list.Add(string.Format(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1606), (object)num, (object)FIXTradSesStatus.ToString(num))); } if (message.isSetText()) { list.Add(string.Format(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1654), (object)message.getText().getValue())); } this.provider.EmitError(string.Join(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1674), (IEnumerable <string>)list)); }
public void onMessage(QuickFix.FIX43.BusinessMessageReject message, SessionID sessionID) { this.provider.EmitError(message.isSetText() ? message.getText().getValue() : BeAEwTZGlZaeOmY5cm.J00weU3cM6(702)); }
public void onMessage(QuickFix.FIX43.Reject message, SessionID session) { this.provider.EmitError(string.Format(BeAEwTZGlZaeOmY5cm.J00weU3cM6(676), (object)message.ToString())); }
new public void onMessage(QuickFix.FIX43.MarketDataRequestReject reject, SessionID sessionID) { string str = reject.isSetText() ? reject.getText().getValue() : ""; this.provider.EmitError(string.Format(BeAEwTZGlZaeOmY5cm.J00weU3cM6(582), (object)reject.getMDReqID().getValue(), (object)str)); }
private void ST74ZxO7ZP([In] object obj0, [In] FIXMarketDataSnapshotEventArgs obj1) { Console.WriteLine(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4536)); FIXMarketDataSnapshot snapshotFullRefresh = obj1.MarketDataSnapshotFullRefresh; Instrument instrument = InstrumentManager.Instruments[(this.mdRequests[(object)snapshotFullRefresh.MDReqID] as RequestRecord).Symbol]; Trade trade = this.OEp4ErKILr[(object)instrument] as Trade; Quote quote = this.Hmv4SHEnBE[(object)instrument] as Quote; if (trade == null) { trade = new Trade(); this.OEp4ErKILr[(object)instrument] = (object)trade; } if (quote == null) { quote = new Quote(); this.Hmv4SHEnBE[(object)instrument] = (object)quote; } bool flag1 = false; bool flag2 = false; for (int i = 0; i < snapshotFullRefresh.NoMDEntries; ++i) { FIXMDEntriesGroup mdEntriesGroup = snapshotFullRefresh.GetMDEntriesGroup(i); switch (mdEntriesGroup.MDEntryType) { case '0': if (quote.Bid != mdEntriesGroup.MDEntryPx || quote.BidSize != (int)mdEntriesGroup.MDEntrySize) { quote.DateTime = Clock.Now; quote.Bid = mdEntriesGroup.MDEntryPx; quote.BidSize = (int)mdEntriesGroup.MDEntrySize; flag2 = true; break; } else { break; } case '1': if (quote.Ask != mdEntriesGroup.MDEntryPx || quote.AskSize != (int)mdEntriesGroup.MDEntrySize) { quote.DateTime = Clock.Now; quote.Ask = mdEntriesGroup.MDEntryPx; quote.AskSize = (int)mdEntriesGroup.MDEntrySize; flag2 = true; break; } else { break; } case '2': if (trade.Price != mdEntriesGroup.MDEntryPx || trade.Size != (int)mdEntriesGroup.MDEntrySize) { trade.DateTime = Clock.Now; trade.Price = mdEntriesGroup.MDEntryPx; trade.Size = (int)mdEntriesGroup.MDEntrySize; flag1 = true; break; } else { break; } } } if (flag1 && this.odL46gHXsq != null) { this.odL46gHXsq((object)this, new TradeEventArgs(new Trade(trade), (IFIXInstrument)instrument, (IMarketDataProvider)this)); } if (flag2 && this.uQX4e0V1fj != null) { this.uQX4e0V1fj((object)this, new QuoteEventArgs(new Quote(quote), (IFIXInstrument)instrument, (IMarketDataProvider)this)); } if (this.oSc4rhuvbm == null) { return; } this.oSc4rhuvbm((object)this, new MarketDataSnapshotEventArgs(obj1.MarketDataSnapshotFullRefresh)); }
private void hvUXgZCyf([In] object obj0, [In] FIXMarketDataSnapshotEventArgs obj1) { Console.WriteLine(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2674)); FIXMarketDataSnapshot snapshotFullRefresh = obj1.MarketDataSnapshotFullRefresh; Instrument instrument = InstrumentManager.Instruments[(this.mdRequests[(object)snapshotFullRefresh.MDReqID] as RequestRecord).Symbol]; Trade trade = this.nWHTWovCn[(object)instrument] as Trade; Quote quote = this.ojqxnwuNv[(object)instrument] as Quote; if (trade == null) { trade = new Trade(); this.nWHTWovCn[(object)instrument] = (object)trade; } if (quote == null) { quote = new Quote(); this.ojqxnwuNv[(object)instrument] = (object)quote; } bool flag1 = false; bool flag2 = false; for (int i = 0; i < snapshotFullRefresh.NoMDEntries; ++i) { FIXMDEntriesGroup mdEntriesGroup = snapshotFullRefresh.GetMDEntriesGroup(i); switch (mdEntriesGroup.MDEntryType) { case '0': if (quote.Bid != mdEntriesGroup.MDEntryPx || quote.BidSize != (int)mdEntriesGroup.MDEntrySize) { quote.DateTime = Clock.Now; quote.Bid = mdEntriesGroup.MDEntryPx; quote.BidSize = (int)mdEntriesGroup.MDEntrySize; flag2 = true; break; } else { break; } case '1': if (quote.Ask != mdEntriesGroup.MDEntryPx || quote.AskSize != (int)mdEntriesGroup.MDEntrySize) { quote.DateTime = Clock.Now; quote.Ask = mdEntriesGroup.MDEntryPx; quote.AskSize = (int)mdEntriesGroup.MDEntrySize; flag2 = true; break; } else { break; } case '2': if (trade.Price != mdEntriesGroup.MDEntryPx || trade.Size != (int)mdEntriesGroup.MDEntrySize) { trade.DateTime = Clock.Now; trade.Price = mdEntriesGroup.MDEntryPx; trade.Size = (int)mdEntriesGroup.MDEntrySize; flag1 = true; break; } else { break; } } } if (flag1 && this.afmKM6OC6L != null) { this.afmKM6OC6L((object)this, new TradeEventArgs(new Trade(trade), (IFIXInstrument)instrument, (IMarketDataProvider)this)); } if (flag2 && this.C1azfVlsV != null) { this.C1azfVlsV((object)this, new QuoteEventArgs(new Quote(quote), (IFIXInstrument)instrument, (IMarketDataProvider)this)); } if (this.yT3KaHE6As == null) { return; } this.yT3KaHE6As((object)this, new MarketDataSnapshotEventArgs(obj1.MarketDataSnapshotFullRefresh)); }