public SessionCallbacks(gwcConnector gwc, Logger logger, String username, String password) : base() { this.gwc = gwc; this.logger = logger; this.username = username; this.password = password; }
public MessageCallbacks(gwcConnector gwc, Logger logger) : base() { this.gwc = gwc; this.logger = logger; }
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(); }