/// <summary> /// Upon the application form loading, setup the TTGate and TTOrderSet objects. /// </summary> public frmServerMode() { // Required for Windows Form Designer support InitializeComponent(); // Instantiate the TTGate. m_TTGate = new XTAPI.TTGateClass(); // Enable Server Mode (X_TRADER does not need to be running). m_TTGate.EnableServerMode(); // Instantiate the TTOrderSet object. m_TTOrderSet = new XTAPI.TTOrderSetClass(); // Set normal level of detail in our order status events m_TTOrderSet.OrderStatusNotifyMode = XTAPI.enumOrderStatusNotifyMode.ORD_NOTIFY_NORMAL; // Subscribe to OrderSet events (for all available events, see the OrderUpdate sample) m_TTOrderSet.OnOrderSubmitted += new XTAPI._ITTOrderSetEvents_OnOrderSubmittedEventHandler(m_TTOrderSet_OnOrderSubmitted); m_TTOrderSet.OnOrderUpdated += new XTAPI._ITTOrderSetEvents_OnOrderUpdatedEventHandler(m_TTOrderSet_OnOrderUpdated); m_TTOrderSet.OnOrderDeleted += new XTAPI._ITTOrderSetEvents_OnOrderDeletedEventHandler(m_TTOrderSet_OnOrderDeleted); m_TTOrderSet.OnOrderFilled += new XTAPI._ITTOrderSetEvents_OnOrderFilledEventHandler(m_TTOrderSet_OnOrderFilled); txtOrderAuditTrail.Text = "Order State: Acct, OrdStatus, OrdAction, Contract$, BuySell, OrderQty, Price, SiteOrderKey, OrderNo\r\n\r\n"; }
/// <summary> /// Initialize the TTOrderSet object and subscribe to the three fill events. /// </summary> public frmFillUpdate() { // Required for Windows Form Designer support InitializeComponent(); // Update the Status Bar text. sbaStatus.Text = "Downloading Fill Information... (This may take a moment)"; // Instantiate the TTOrderSet object. m_TTOrderSet = new XTAPI.TTOrderSetClass(); // Enable the fill updates. m_TTOrderSet.EnableOrderFillData = 1; // Subscribe to the fill events. m_TTOrderSet.OnOrderFillData += new XTAPI._ITTOrderSetEvents_OnOrderFillDataEventHandler(m_TTOrderSet_OnOrderFillData); m_TTOrderSet.OnOrderFillBlockEnd += new XTAPI._ITTOrderSetEvents_OnOrderFillBlockEndEventHandler(m_TTOrderSet_OnOrderFillBlockEnd); m_TTOrderSet.OnOrderFillBlockStart += new XTAPI._ITTOrderSetEvents_OnOrderFillBlockStartEventHandler(m_TTOrderSet_OnOrderFillBlockStart); // Open the TTOrderSet with sending orders disabled. m_TTOrderSet.Open(0); // Print the TTFillObj Get properties header to the text box. txtFillData.Text += "Contract, Price, Qty, FillType, OrderNo, SiteOrderKey\r\n\r\n"; }
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); } }
public int Delete(string key, XTAPI.TTOrderSetClass ttorderSet) { XTAPI.TTOrderObj order = (XTAPI.TTOrderObj)ttorderSet.get_SiteKeyLookup(key); int res = order.DeleteOrder(); if (log.IsDebugEnabled) { log.Debug( new System.Text.StringBuilder("Deleted: ").AppendFormat("{0} from {1}", res, key) ); } return(res); }
/// <summary> /// Upon the application form loading, the TTDropHandler, TTOrderSet, and TTInstrNotify /// objects are initialized, and the required events are subscribed. /// </summary> public frmOrderUpdate() { InitializeComponent(); // Instantiate the TTDropHandler class. m_TTDropHandler = new XTAPI.TTDropHandlerClass(); // Register the active form for drag and drop. m_TTDropHandler.RegisterDropWindow((int) this.Handle); // Subscribe to the OnNotifyDrop event. m_TTDropHandler.OnNotifyDrop += new XTAPI._ITTDropHandlerEvents_OnNotifyDropEventHandler(this.m_TTDropHandler_OnNotifyDrop); // Instantiate the TTInstrNotify class. m_TTInstrNotify = new XTAPI.TTInstrNotifyClass(); // Subscribe to the OnNotifyFound event. m_TTInstrNotify.OnNotifyFound += new XTAPI._ITTInstrNotifyEvents_OnNotifyFoundEventHandler(this.m_TTInstrNotify_OnNotifyFound); // Instantiate the TTOrderSet class. m_TTOrderSet = new XTAPI.TTOrderSetClass(); // Enable reject events m_TTOrderSet.EnableOrderRejectData = 1; // Set normal level of detail in our order status events m_TTOrderSet.OrderStatusNotifyMode = XTAPI.enumOrderStatusNotifyMode.ORD_NOTIFY_NORMAL; // Subscribe to the order status update events m_TTOrderSet.OnOrderDeleted += new XTAPI._ITTOrderSetEvents_OnOrderDeletedEventHandler(m_TTOrderSet_OnOrderDeleted); m_TTOrderSet.OnOrderFilled += new XTAPI._ITTOrderSetEvents_OnOrderFilledEventHandler(m_TTOrderSet_OnOrderFilled); m_TTOrderSet.OnOrderHeld += new XTAPI._ITTOrderSetEvents_OnOrderHeldEventHandler(m_TTOrderSet_OnOrderHeld); m_TTOrderSet.OnOrderSubmitted += new XTAPI._ITTOrderSetEvents_OnOrderSubmittedEventHandler(m_TTOrderSet_OnOrderSubmitted); m_TTOrderSet.OnOrderUpdated += new XTAPI._ITTOrderSetEvents_OnOrderUpdatedEventHandler(m_TTOrderSet_OnOrderUpdated); m_TTOrderSet.OnOrderRejected += new XTAPI._ITTOrderSetEvents_OnOrderRejectedEventHandler(m_TTOrderSet_OnOrderRejected); // Set the Net Limits to false. m_TTOrderSet.Set("NetLimits", false); }
/// <summary> /// This function is called when one or more instruments are dragged and dropped from /// the Market Grid in X_TRADER. /// </summary> private void m_TTDropHandler_OnNotifyDrop() { // Update the Status Bar text. sbaStatus.Text = "Drag & Drop detected. Initializing instrument..."; try { // Obtain the number of instruments dropped. int instrCount = m_TTDropHandler.Count; // Only support a maximum of four instruments. if (instrCount > 4) { instrCount = 4; } for (int i=0; i<instrCount; i++) { // Test is TTInstrObj currently exist. if (m_TTInstrObj[i] != null) { // Remove the Instrument and reset the Alias. m_TTInstrNotify.DetachInstrument(m_TTInstrObj[i]); m_TTInstrObj[i].Alias = ""; m_TTInstrObj[i] = null; } // Obtain the TTInstrObj from the TTDropHandler object. // The TTDropHandler index begins at 1. m_TTInstrObj[i] = (XTAPI.TTInstrObj)m_TTDropHandler[i + 1]; // Attach the TTInstrObj to the TTInstrNotify. m_TTInstrNotify.AttachInstrument(m_TTInstrObj[i]); // Set the TTInstrObj Alias to the index for identification. m_TTInstrObj[i].Alias = i.ToString(); // Open the TTInstrObj with depth disabled. m_TTInstrObj[i].Open(0); // Instantiate the TTOrderSet object. m_TTOrderSet = new XTAPI.TTOrderSetClass(); // Set the OrderSelector to the instrument so that P/L per contract // will be displayed. If omitted the overall P/L per user will be displayed. m_TTOrderSet.OrderSelector = m_TTInstrObj[i].CreateOrderSelector; m_TTOrderSet.EnableFillCaching = 1; m_TTOrderSet.AvgOpenPriceMode = XTAPI.enumAvgOpenPriceMode.LIFO; // Attach the TTOrderSet to the TTInstrObj. m_TTInstrObj[i].OrderSet = m_TTOrderSet; // Open the TTOrderSet. m_TTInstrObj[i].OrderSet.Open(0); } // Clear drop handler list m_TTDropHandler.Reset(); } catch (Exception ex) { // Display exception message. MessageBox.Show(ex.Message, "Exception"); } }
/// <summary> /// Upon the application form loading, the TTDropHandler, TTOrderSet, and /// TTInstrNotify objects are initialized, and the required events are subscribed. /// </summary> public frmModifyOrder() { // 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 the TTOrderSet object. m_TTOrderSet = new XTAPI.TTOrderSetClass(); }
/// <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; }
private void initFills() { log("Init Fills config"); // Instantiate the TTOrderSet object. m_TTOrderSet = new XTAPI.TTOrderSetClass(); // Enable the fill updates. m_TTOrderSet.EnableOrderFillData = 1; // Subscribe to the fill events. m_TTOrderSet.OnOrderFillData += new XTAPI._ITTOrderSetEvents_OnOrderFillDataEventHandler(m_TTOrderSet_OnOrderFillData); m_TTOrderSet.OnOrderFillBlockEnd += new XTAPI._ITTOrderSetEvents_OnOrderFillBlockEndEventHandler(m_TTOrderSet_OnOrderFillBlockEnd); m_TTOrderSet.OnOrderFillBlockStart += new XTAPI._ITTOrderSetEvents_OnOrderFillBlockStartEventHandler(m_TTOrderSet_OnOrderFillBlockStart); m_TTOrderSet.Open(0); }
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); } }