public void Error(string source, string message) { lock (locker_) { NinjaTrader.Strategy.FixConnector f = Logger(); if (f != null) { f.Error(source, message); } } }
static public void OnTermination(NinjaTrader.Strategy.FixConnector fixConnector) { lock (locker_) { s_fixConnectors.Remove(fixConnector); if (s_fixConnectors.Empty) { s_fixConnectors.Info(Name, "No more FixConnectors : stopping."); KillFix(); } } }
public void Remove(NinjaTrader.Strategy.FixConnector fixc) { if (fixc == null) { return; } lock (locker_) { m_providers.RemoveAll(mdd => mdd.fixConnector == fixc); } }
public void Add(NinjaTrader.Strategy.FixConnector fixc) { if (fixc == null) { return; } lock (locker_) { m_providers.AddRange(fixc.GetSymbols()); } }
/* * * instrument quickfix_id => list of fixconnectors */ static public void OnStartUp(NinjaTrader.Strategy.FixConnector fixConnector) { lock (locker_) { // adding anyway s_fixConnectors.Add(fixConnector); try { // start ? if (string.IsNullOrEmpty(ConfigFileName)) { if (string.IsNullOrEmpty(fixConnector.ConfigFileName)) { // cannot start s_fixConnectors.Warn(Name, "No config file name set to start QuickFix server. FixConnector enqueued but inactive for now ..."); return; } // a configfile is set, let's spin that shit ConfigFileName = fixConnector.ConfigFileName; s_fixConnectors.Info(Name, "[OnStartUp] Creating FIX session with file " + ConfigFileName); QuickFix.SessionSettings sessionSettings = new QuickFix.SessionSettings(ConfigFileName); s_fixConnectors.Info(Name, "[OnStartUp] Creating socket acceptor"); m_acceptor = new QuickFix.ThreadedSocketAcceptor( m_app = new NinjaTrader_FixBridge.QuickFixApp(s_fixConnectors), new QuickFix.FileStoreFactory(sessionSettings), sessionSettings, new QuickFix.FileLogFactory(sessionSettings) ); sessionSettings = null; s_fixConnectors.Info(Name, "[OnStartUp] Starting FixBridge ..."); m_acceptor.Start(); s_fixConnectors.Info(Name, "[OnStartUp] FixBridge started !"); } } catch (Exception e) { s_fixConnectors.Error(Name, "[OnStartUp] Exception OnStartUp : " + e.Message + ", source:" + e.Source); s_fixConnectors.Error(Name, "[OnStartUp] Exception OnStartUp : " + e.ToString()); s_fixConnectors.Error(Name, "[OnStartUp] Exception OnStartUp : " + e.StackTrace); s_fixConnectors.Error(Name, "[OnStartUp] => destroying FIX layer"); KillFix(); throw e; } } }
public static List <MarketDataDef> Read(NinjaTrader.Strategy.FixConnector f, string input) { List <MarketDataDef> limdd = new List <MarketDataDef>(f.Instruments.Select(i => new MarketDataDef(f, i.FullName))); limdd.AddRange( input.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .ToList() .ConvertAll(s => new MarketDataDef(f, s.Trim())) ); for (int i = 0; i < limdd.Count; i++) { limdd[i].internal_barinprogress = i; } return(limdd); }
public MarketDataDef(NinjaTrader.Strategy.FixConnector pfixConnector, string psymbol) { fixConnector = pfixConnector; symbol = psymbol; }
public MarketDataDef(NinjaTrader.Strategy.FixConnector pfixConnector, string psymbol) { fixConnector = pfixConnector; symbol = psymbol; }