コード例 #1
0
ファイル: example.cs プロジェクト: james-rank/fosdk
 public SessionCallbacks(gwcConnector gwc, Logger logger, String username, String password)
     : base()
 {
     this.gwc      = gwc;
     this.logger   = logger;
     this.username = username;
     this.password = password;
 }
コード例 #2
0
ファイル: example.cs プロジェクト: james-rank/fosdk
 public MessageCallbacks(gwcConnector gwc, Logger logger)
     : base()
 {
     this.gwc    = gwc;
     this.logger = logger;
 }
コード例 #3
0
ファイル: example.cs プロジェクト: james-rank/fosdk
        public void doMain()
        {
            LogService logService = LogService.get();
            Properties logProps   = new Properties();

            logProps.setProperty("ls.console.level", "debug");
            logProps.setProperty("ls.console.color", "true");
            logService.configure(logProps);

            Properties props = new Properties("gwc", "millennium", "sim");

            props.setProperty("real_time_host", "127.0.0.1:9899");
            props.setProperty("recovery_host", "127.0.0.1:10000");
            props.setProperty("venue", "lse");

            Logger       log = LogService.getLogger("MILLENIUM_TEST");
            gwcConnector gwc = gwcConnectorFactory.get(log, "millennium", props);

            if (gwc == null)
            {
                Console.WriteLine("failed to get connector...");
                return;
            }

            SessionCallbacks sessionCbs = new SessionCallbacks(gwc, log, "USER1", "PASS1");
            MessageCallbacks messageCbs = new MessageCallbacks(gwc, log);

            log.log(LogSeverity.level.INFO, "initialising connector...");
            if (!gwc.init(sessionCbs, messageCbs, props))
            {
                Console.WriteLine("failed to initialise connector...");
                return;
            }

            log.log(LogSeverity.level.INFO, "starting connector...");
            if (!gwc.start(false))
            {
                Console.WriteLine("failed to initialise connector...");
                return;
            }

            // wait for logon - blocks untill state change
            gwc.waitForLogon();

            // send order
            gwcOrder order = new gwcOrder();

            order.setPrice(1234.45);
            order.setQty(1000);
            order.setTif(gwcTif.GWC_TIF_DAY);
            order.setSide(gwcSide.GWC_SIDE_BUY);
            order.setOrderType(gwcOrderType.GWC_ORDER_TYPE_LIMIT);
            order.setString(codecBinding.ClientOrderID, "myorder");
            order.setInteger(codecBinding.InstrumentID, 133215);  // VOD.L
            order.setInteger(codecBinding.AutoCancel, 1);

            order.setString(codecBinding.TraderID, "TX1");
            order.setString(codecBinding.Account, "account");
            order.setInteger(codecBinding.ClearingAccount, 1);
            order.setInteger(codecBinding.FXMiFIDFlags, 0);
            order.setInteger(codecBinding.PartyRoleQualifiers, 0);
            order.setInteger(codecBinding.ExpireDateTime, 0);
            order.setInteger(codecBinding.DisplayQty, 0);
            order.setInteger(codecBinding.Capacity, 1);
            order.setInteger(codecBinding.OrderSubType, 0);
            order.setInteger(codecBinding.Anonymity, 0);
            order.setDouble(codecBinding.StopPrice, 0.0);
            order.setInteger(codecBinding.PassiveOnlyOrder, 0);
            order.setInteger(codecBinding.ClientID, 1234);
            order.setInteger(codecBinding.InvestmentDecisionMaker, 0);
            order.setInteger(codecBinding.MinimumQuantity, 0);
            order.setInteger(codecBinding.ExecutingTrader, 7676);

            log.log(LogSeverity.level.INFO, "sending-input-order");
            if (!gwc.sendOrder(order))
            {
                Console.WriteLine("failed to send order myorder...");
                return;
            }

            Thread.Sleep(5000);
            gwc.stop();
            Thread.Sleep(2000);


            log.log(LogSeverity.level.INFO, "destroying connector");
            gwc.Dispose();
        }