void m_instrLookupRequest_OnData(object sender, InstrumentLookupEventArgs e) { if (e.Event == ProductDataEvent.Found) { // Instrument was found m_instrument = e.InstrumentLookup.Instrument; Console.WriteLine("Found: {0}", m_instrument); AlgoLookupSubscription algoLookupSubscription = new AlgoLookupSubscription(tt_net_sdk.Dispatcher.Current, "TT Iceberg"); algoLookupSubscription.OnData += AlgoLookupSubscription_OnData; algoLookupSubscription.GetAsync(); // Subscribe for market Data m_priceSubscription = new PriceSubscription(m_instrument, tt_net_sdk.Dispatcher.Current); m_priceSubscription.Settings = new PriceSubscriptionSettings(PriceSubscriptionType.MarketDepth); m_priceSubscription.FieldsUpdated += m_priceSubscription_FieldsUpdated; m_priceSubscription.Start(); } else if (e.Event == ProductDataEvent.NotAllowed) { Console.WriteLine("Not Allowed : Please check your Token access"); } else { // Instrument was not found and TT API has given up looking for it Console.WriteLine("Cannot find instrument: {0}", e.Message); Dispose(); } }
public void Dispose() { lock (m_Lock) { if (!m_isDisposed) { // Unattached callbacks and dispose of all subscriptions if (m_instrLookupRequest != null) { m_instrLookupRequest.OnData -= m_instrLookupRequest_OnData; m_instrLookupRequest.Dispose(); m_instrLookupRequest = null; } if (m_algoLookupSubscription != null) { m_algoLookupSubscription.OnData -= AlgoLookupSubscription_OnData; m_algoLookupSubscription.Dispose(); m_algoLookupSubscription = null; } if (m_priceSubscription != null) { m_priceSubscription.FieldsUpdated -= m_priceSubscription_FieldsUpdated; m_priceSubscription.Dispose(); m_priceSubscription = null; } if (m_algoTradeSubscription != null) { m_algoTradeSubscription.OrderUpdated -= m_algoTradeSubscription_OrderUpdated; m_algoTradeSubscription.OrderAdded -= m_algoTradeSubscription_OrderAdded; m_algoTradeSubscription.OrderDeleted -= m_algoTradeSubscription_OrderDeleted; m_algoTradeSubscription.OrderFilled -= m_algoTradeSubscription_OrderFilled; m_algoTradeSubscription.OrderRejected -= m_algoTradeSubscription_OrderRejected; m_algoTradeSubscription.ExportValuesUpdated -= m_algoTradeSubscription_ExportValuesUpdated; m_algoTradeSubscription.AlertsFired -= m_algoTradeSubscription_AlertsUpdated; m_algoTradeSubscription.Dispose(); m_algoTradeSubscription = null; } m_isDisposed = true; } TTAPI.Shutdown(); } }