Example #1
0
        static void Main()
        {
            try
            {
                ClientInitiator      app            = new ClientInitiator();
                SessionSettings      settings       = new SessionSettings(@"C:\Users\anhtv\Desktop\QuickFix\QuickFix\initiator.cfg");
                QuickFix.Application application    = new ClientInitiator();
                FileStoreFactory     storeFactory   = new FileStoreFactory(settings);
                ScreenLogFactory     logFactory     = new ScreenLogFactory(settings);
                MessageFactory       messageFactory = new DefaultMessageFactory();

                SocketInitiator initiator = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);
                initiator.start();
                Thread.Sleep(3000);
                System.Collections.ArrayList list = initiator.getSessions();
                SessionID sessionID = (SessionID)list[0];
                Console.WriteLine("Press any key: ");
                string x = Console.ReadLine();
                QuickFix42.NewOrderSingle order = new QuickFix42.NewOrderSingle(new ClOrdID("Hello"), new HandlInst(HandlInst.AUTOMATED_EXECUTION_ORDER_PRIVATE), new Symbol("ABC"), new Side(Side.SELL), new TransactTime(DateTime.Now), new OrdType(OrdType.MARKET));
                bool sent = Session.sendToTarget(order, sessionID);
                Console.ReadLine();
                initiator.stop();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Console.ReadLine();
            }
        }
Example #2
0
        public void Start(string settingFile, bool ResendResult)
        {
            Stop();

            var settings = new SessionSettings(settingFile);

            Account.GetAccountInfo(settings);

            if (ResendResult)
            {
                foreach (var session in settings.getSessions())
                {
                    var dict = settings.get(session as SessionID);

                    var target = dict.getString("FileStorePath") + "\\"
                                 + dict.getString("BeginString") + "-"
                                 + dict.getString("SenderCompID") + "-"
                                 + dict.getString("TargetCompID") + ".seqnums";

                    try
                    {
                        var s = System.IO.File.ReadAllText(target);
                        var d = s.Remove(s.Length - 10);
                        System.IO.File.WriteAllText(target, d + "0000000001");
                    }
                    catch (Exception) {}
                }
            }

            cmdproc = SessionFactory.CommandProcessInstance(Account.target, this.AppReport);
            sock    = new SocketInitiator(cmdproc.App, new FileStoreFactory(settings), settings, new DefaultMessageFactory());
            sock.start();
        }
Example #3
0
        public void Iniciar()
        {
            SessionSettings  settings = new SessionSettings(this.ArquivoConfiguracao);
            FileStoreFactory store    = new FileStoreFactory(settings);
            FileLogFactory   logs     = new FileLogFactory(settings);
            MessageFactory   msgs     = new DefaultMessageFactory();

            // Cria o socket
            if (this.EhInitiator)
            {
                _socketInitiator =
                    new SocketInitiator(
                        this.AplicacaoFix, store, settings, logs, msgs);
                _socketInitiator.start();
            }
            else
            {
                _socketAcceptor =
                    new SocketAcceptor(
                        this.AplicacaoFix, store, settings, logs, msgs);
                _socketAcceptor.start();
            }

            // Envia mensagem para aplicação
            this.AplicacaoFix.Iniciar();
        }
Example #4
0
        static void Main(string[] args)
        {
            AppLogger = new PerDayFileLogSource(Directory.GetCurrentDirectory() + "\\Log", Directory.GetCurrentDirectory() + "\\Log\\Backup")
            {
                FilePattern = "Log.{0:yyyy-MM-dd}.log",
                DeleteDays  = 20
            };

            string path = ConfigurationManager.AppSettings["InitiatorPath"];

            SessionSettings  = new SessionSettings(path);
            FileStoreFactory = new FileStoreFactory(SessionSettings);
            ScreenLogFactory = new ScreenLogFactory(SessionSettings);
            MessageFactory   = new DefaultMessageFactory();

            Program myProgram = new Program();

            Initiator = new SocketInitiator(myProgram, FileStoreFactory, SessionSettings, ScreenLogFactory, MessageFactory);

            Initiator.start();


            Console.WriteLine("Initiator successfully started...");
            Console.ReadKey();
        }
Example #5
0
 public void Start()
 {
     try
     {
         initiator.start();
     }
     catch (Exception ex)
     {
         Logger.Error("SocketInitiator start error", ex);
         throw;
     }
 }
Example #6
0
        static SocketInitiator StartSocketInitiator(String configFile)
        {
            ClientInitiator app      = new ClientInitiator();
            SessionSettings settings = new SessionSettings(configFile);

            QuickFix.Application application    = new ClientInitiator();
            FileStoreFactory     storeFactory   = new FileStoreFactory(settings);
            ScreenLogFactory     logFactory     = new ScreenLogFactory(settings);
            MessageFactory       messageFactory = new DefaultMessageFactory();

            SocketInitiator initiator = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);

            initiator.start();
            Thread.Sleep(3000);
            return(initiator);
        }
 static void OpenFixConn()
 {
     try
     {
         string              fixClientConf = Environment.CurrentDirectory + @"\" + SystemConfigurations.GetAppSetting("FixClientConfPath");
         SessionSettings     settings      = new SessionSettings(fixClientConf);
         OnConnectionChanged d             = new OnConnectionChanged(FixConnChanged);
         _app = new ClientApp(d);
         //_app.OnStatusChanged+=
         FileStoreFactory storeFactory   = new FileStoreFactory(settings);
         FileLogFactory   logFactory     = new FileLogFactory(settings);
         MessageFactory   messageFactory = new DefaultMessageFactory();
         _initiator = new SocketInitiator(_app, storeFactory, settings, logFactory, messageFactory);
         _initiator.start();
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
     }
 }
Example #8
0
        public FixApplication(String configFile)
        {
            try
            {
                logonCount = 0;
                Current = this;
                settings = new SessionSettings(configFile);
                storeFactory = new FileStoreFactory(settings);
                logFactory = new FileLogFactory(settings);
                messageFactory = new DefaultMessageFactory();
                SetSessionIndexes(configFile);

                initiator = new SocketInitiator(this, storeFactory, settings, logFactory, messageFactory);
                initiator.start();
                AddText("Created initiator." + Environment.NewLine);
            }
            catch (Exception exception)
            {
                AddText(exception.Message + Environment.NewLine);
                throw;
            }
        }
Example #9
0
        static void Main(string[] args)
        {
            String configFile = "SchneiderBen.cfg";

            try
            {
                SessionSettings settings = new SessionSettings(configFile);
                FixApplication application = new FixApplication();
                FileStoreFactory storeFactory = new FileStoreFactory(settings);
                ScreenLogFactory logFactory = new ScreenLogFactory(settings);
                MessageFactory messageFactory = new DefaultMessageFactory();
                SocketInitiator initiator = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);

                initiator.start();

                Console.WriteLine("press <enter> to quit");
                Console.Read();
                initiator.stop();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Example #10
0
        static SocketInitiator StartSocketInitiator(String configFile)
        {
            ClientInitiator app = new ClientInitiator();
            SessionSettings settings = new SessionSettings(configFile);
            QuickFix.Application application = new ClientInitiator();
            FileStoreFactory storeFactory = new FileStoreFactory(settings);
            ScreenLogFactory logFactory = new ScreenLogFactory(settings);
            MessageFactory messageFactory = new DefaultMessageFactory();

            SocketInitiator initiator = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);
            initiator.start();
            Thread.Sleep(3000);
            return initiator;
        }
Example #11
0
        public virtual void IniciarServico()
        {
            logger.Info("IniciarServico(): iniciando canal Bovespa ....");

            // Carrega configurações
            _config = GerenciadorConfig.ReceberConfig <CanalNegociacaoConfig>();

            // Cria sessao que será usada para mandar as mensagens
            _session =
                new SessionID(
                    new BeginString(_config.BeginString),
                    new SenderCompID(_config.SenderCompID),
                    new TargetCompID(_config.TargetCompID));


            // Cria dicionario da configuracao
            Dictionary mainDic = new Dictionary();

            if (_config.SocketAcceptPort > 0)
            {
                mainDic.setLong("SocketAcceptPort", _config.SocketAcceptPort);
            }
            mainDic.setLong("SocketConnectPort", _config.SocketConnectPort);
            mainDic.setLong("HeartBtInt", _config.HeartBtInt);
            mainDic.setLong("ReconnectInterval", _config.ReconnectInterval);

            mainDic.setBool("ResetOnLogon", _config.ResetSeqNum);
            mainDic.setBool("PersistMessages", _config.PersistMessages);

            // Ver
            // ret.setString("ConnectionType", ConnectionType.ToLower());
            mainDic.setString("SocketConnectHost", _config.Host);
            mainDic.setString("FileStorePath", _config.FileStorePath);

            logger.Debug("FileLogPath: " + _config.FileLogPath);
            mainDic.setString("FileLogPath", _config.FileLogPath);
            mainDic.setString("StartTime", _config.StartTime);
            mainDic.setString("EndTime", _config.EndTime);
            if (_config.Initiator)
            {
                mainDic.setString("ConnectionType", "initiator");
            }
            else
            {
                mainDic.setString("ConnectionType", "acceptor");
            }

            Dictionary sessDic = new Dictionary();

            sessDic.setString("BeginString", _config.BeginString);
            sessDic.setString("SenderCompID", _config.SenderCompID);
            sessDic.setString("TargetCompID", _config.TargetCompID);
            sessDic.setString("DataDictionary", _config.DataDictionary);
            sessDic.setBool("UseDataDictionary", true);


            // Configure the session settings
            SessionSettings settings = new SessionSettings();

            settings.set(mainDic);
            settings.set(_session, sessDic);

            FileStoreFactory store = new FileStoreFactory(settings);
            FileLogFactory   logs  = new FileLogFactory(settings);

            QuickFix.MessageFactory msgs = new DefaultMessageFactory();

            // Cria o socket
            if (_config.Initiator)
            {
                _socketInitiator = new SocketInitiator(this, store, settings, logs, msgs);
                _socketInitiator.start();
            }
            else
            {
                _socketAcceptor = new SocketAcceptor(this, store, settings, logs, msgs);
                _socketAcceptor.start();
            }

            _status = ServicoStatus.EmExecucao;

            logger.Info("IniciarServico(): canal Bovespa em execucao....");
        }
Example #12
0
        //public static void ResetSequence(int seqNo)
        //{
        //    Session.sendToTarget(new QuickFix44.SequenceReset(new NewSeqNo(seqNo)), Application.m_sessionID);
        //}


        public static void Logon()
        {
            m_initiator.start();
        }