/// <summary> /// Argument Constructor /// </summary> /// <param name="orderExecutionEngineClient">OEE-Client for communication with the OEE-Server</param> public OrderExecutionService(OrderExecutionEngineClient orderExecutionEngineClient) { _asyncClassLogger = new AsyncClassLogger("OrderExecutionService"); // Set logging level _asyncClassLogger.SetLoggingLevel(); // Set logging path _asyncClassLogger.LogDirectory(TradeHubConstants.DirectoryStructure.CLIENT_LOGS_LOCATION); InitializeDistuptor(new IEventHandler <RabbitMqRequestMessage>[] { this }); // save order execution client _executionEngineClient = orderExecutionEngineClient; // Initialize local map _ordersMap = new ConcurrentDictionary <string, Order>(); // Register Local Event _sendMarketOrderRequest += SendMarketOrderRequest; _sendLimitOrderRequest += SendLimitOrderRequest; _sendCancelOrderRequest += SendCancelOrderRequest; _sendOrderRequests += SendOrderRequests; // Register required OEE-Client Events RegisterExecutionEngineClientEvents(); }
public void TestOrderExecutionLogin() { var manualResetEvent = new ManualResetEvent(false); string loginMessage = null; var executionEngineClient = new OrderExecutionEngineClient(); executionEngineClient.Start(); manualResetEvent.WaitOne(5000); executionEngineClient.LogoutArrived += delegate(string s) { loginMessage = s; }; executionEngineClient.SendLoginRequest(new Login() { OrderExecutionProvider = Common.Core.Constants.OrderExecutionProvider.SimulatedExchange }); manualResetEvent.WaitOne(5000); executionEngineClient.SendMarketOrderRequest(new MarketOrder("1", OrderSide.BUY, 10, "123", "USD", new Security { Symbol = "AAPL" }, Common.Core.Constants.OrderExecutionProvider. SimulatedExchange)); manualResetEvent.WaitOne(5000); executionEngineClient.Shutdown(); System.Console.WriteLine(loginMessage); Assert.AreEqual(false, string.IsNullOrEmpty(loginMessage)); }
public void Setup() { _marketDataEngineClient = new MarketDataEngineClient(); _orderExecutionEngine = new OrderExecutionEngineClient(); _marketDataEngineClient.Start(); _orderExecutionEngine.Start(); }
public void Setup() { _applicationController = ContextRegistry.GetContext()["ApplicationController"] as ApplicationController; if (_applicationController != null) { _applicationController.StartServer(); } Thread.Sleep(5000); _executionEngineClient = new OrderExecutionEngineClient(); }