public void init(XTAPI.TTInstrNotifyClass TTInstrNotify) { if (TTOrderSet != null && TTInstrObj != null && TTInstrNotify != null) { TTInstrNotify.DetachInstrument(TTInstrObj); } TTOrderSet = new XTAPI.TTOrderSetClass(); TTOrderSet.Alias = instrument.Product; TTOrderSet.EnableFillCaching = 1; TTOrderSet.EnableOrderSend = 1; TTOrderSet.Set("NetLimits", false); TTOrderSet.EnableOrderSetUpdates = 1; TTOrderSet.EnableOrderFillData = 1; TTOrderSet.EnableOrderAutoDelete = 1; TTOrderSet.ClearQuotePosition(0, 0, 0); TTInstrObj = new XTAPI.TTInstrObjClass(); TTInstrObj.Exchange = instrument.Exchange; TTInstrObj.Product = instrument.Product; TTInstrObj.Contract = instrument.Contract; TTInstrObj.ProdType = instrument.ProductType; TTInstrObj.Alias = instrument.Product; TTInstrNotify.AttachInstrument(TTInstrObj); XTAPI.TTOrderSelector orderSelector = TTInstrObj.CreateOrderSelector; //match orders per account XTAPI.TTOrderSelector acctSelector = new XTAPI.TTOrderSelectorClass(); acctSelector.AddTest("Acct", instrument.Account); acctSelector.AllMatchesRequired = 1; orderSelector.AddSelector(acctSelector); orderSelector.AllMatchesRequired = 1; TTOrderSet.OrderSelector = orderSelector; TTOrderSet.Open(true); TTInstrObj.OrderSet = TTOrderSet; TTInstrObj.Open(1); if (log.IsInfoEnabled) { System.Text.StringBuilder msg = new System.Text.StringBuilder("trading started for ") .AppendFormat("{0} {1} {2} {3}" , instrument.Account, instrument.Contract, instrument.Product, instrument.Exchange); log.Info(msg); } }
/// <summary> /// Upon the application form loading, the TTDropHandler and TTInstrNotify /// objects are initialized, and the required events are subscribed. /// </summary> public frmOrderSelector() { // Required for Windows Form Designer support InitializeComponent(); // Instantiate the drag and drop handler class. m_TTDropHandler = new XTAPI.TTDropHandlerClass(); // Register the active form for drag and drop. m_TTDropHandler.RegisterDropWindow((int) this.Handle); // Associate the drop and drag callback event. m_TTDropHandler.OnNotifyDrop += new XTAPI._ITTDropHandlerEvents_OnNotifyDropEventHandler(this.m_TTDropHandler_OnNotifyDrop); // Instantiate the instrument notification class. m_TTInstrNotify = new XTAPI.TTInstrNotifyClass(); // Subscribe to the TTInstrNotify events. m_TTInstrNotify.OnNotifyFound += new XTAPI._ITTInstrNotifyEvents_OnNotifyFoundEventHandler(this.m_TTInstrNotify_OnNotifyFound); // Instantiate a TTOrderSet object for submitting orders. m_TTOrderSetSendOrder = new XTAPI.TTOrderSetClass(); m_TTOrderSetSendOrder.Set("NetLimits",false); m_TTOrderSetSendOrder.Open(1); // Instantiate the the TTOrderSelector object. m_TTOrderSelector = new XTAPI.TTOrderSelectorClass(); // Instantiate a TTOrderSet object for receiving orders. m_TTOrderSetReceiveOrder = new XTAPI.TTOrderSetClass(); m_TTOrderSetReceiveOrder.OnOrderSetUpdate += new XTAPI._ITTOrderSetEvents_OnOrderSetUpdateEventHandler(m_TTOrderSet_OnOrderSetUpdate); // Enable the TTOrderTracker and order updates. m_TTOrderSetReceiveOrder.EnableOrderUpdateData = 1; m_TTOrderSetReceiveOrder.EnableOrderSetUpdates = 1; }