public bool CxlReplace(string buySell, string key, InstrumentProc iproc, double price, int WkQty) { bool status = true; if (log.IsDebugEnabled) { log.Debug( new System.Text.StringBuilder("cxlreplace called ") .AppendFormat("{0} {1} qty:{2}",key,price,WkQty) ); } XTAPI.TTOrderObj orderobj = (XTAPI.TTOrderObj)iproc.ttOrderSet.get_SiteKeyLookup(key); /* * http://devnetkb.tradingtechnologies.com/ViewKnowledgeEntry.aspx?KnowledgeEntryID=2387 */ try { while ((orderobj != null) && (Convert.ToInt32(orderobj.get_Get("ExecutionType")) != 1)) //while ( (orderobj.IsNull == 0) && (Convert.ToInt32(orderobj.get_Get("ExecutionType")) != 1) ) { System.Threading.Thread.Sleep(5); orderobj = (XTAPI.TTOrderObj)iproc.ttOrderSet.get_SiteKeyLookup(key); } } catch(Exception exo){ return false; } if (orderobj.IsNull == 0 ) { XTAPI.TTOrderProfile TTOrderProfile = new XTAPI.TTOrderProfile(); TTOrderProfile = orderobj.CreateOrderProfile; TTOrderProfile.Instrument = iproc.ttInstrObj; TTOrderProfile.Customer = "<Default>"; TTOrderProfile.Set("Acct", iproc.Account); TTOrderProfile.Set("AcctType", "M1"); TTOrderProfile.Set("BuySell", buySell); TTOrderProfile.Set("Qty", WkQty); TTOrderProfile.Set("OrderType", "L"); TTOrderProfile.Set("Limit#", Convert.ToString(price)); TTOrderProfile.Set("FFT2", "M"); TTOrderProfile.Set("FFT3", "CXLR"); try { iproc.ttOrderSet.UpdateOrder(TTOrderProfile, 0); } catch (Exception ex) { status = false; if (log.IsErrorEnabled) { System.Text.StringBuilder msg = new System.Text.StringBuilder("ERROR cxlreplace order ") .AppendFormat("{0} {1} {2}",key,buySell,WkQty); log.Error(msg); log.Error(ex.StackTrace); log.Error(ex.Message); } } } return status; }
public bool CxlReplace(string buySell, string key, InstrumentProc iproc, double price, int WkQty) { bool status = true; if (log.IsDebugEnabled) { log.Debug( new System.Text.StringBuilder("cxlreplace called ") .AppendFormat("{0} {1} qty:{2}", key, price, WkQty) ); } XTAPI.TTOrderObj orderobj = (XTAPI.TTOrderObj)iproc.ttOrderSet.get_SiteKeyLookup(key); /* * http://devnetkb.tradingtechnologies.com/ViewKnowledgeEntry.aspx?KnowledgeEntryID=2387 */ try { while ((orderobj != null) && (Convert.ToInt32(orderobj.get_Get("ExecutionType")) != 1)) //while ( (orderobj.IsNull == 0) && (Convert.ToInt32(orderobj.get_Get("ExecutionType")) != 1) ) { System.Threading.Thread.Sleep(5); orderobj = (XTAPI.TTOrderObj)iproc.ttOrderSet.get_SiteKeyLookup(key); } } catch (Exception exo) { return(false); } if (orderobj.IsNull == 0) { XTAPI.TTOrderProfile TTOrderProfile = new XTAPI.TTOrderProfile(); TTOrderProfile = orderobj.CreateOrderProfile; TTOrderProfile.Instrument = iproc.ttInstrObj; TTOrderProfile.Customer = "<Default>"; TTOrderProfile.Set("Acct", iproc.Account); TTOrderProfile.Set("AcctType", "M1"); TTOrderProfile.Set("BuySell", buySell); TTOrderProfile.Set("Qty", WkQty); TTOrderProfile.Set("OrderType", "L"); TTOrderProfile.Set("Limit#", Convert.ToString(price)); TTOrderProfile.Set("FFT2", "M"); TTOrderProfile.Set("FFT3", "CXLR"); try { iproc.ttOrderSet.UpdateOrder(TTOrderProfile, 0); } catch (Exception ex) { status = false; if (log.IsErrorEnabled) { System.Text.StringBuilder msg = new System.Text.StringBuilder("ERROR cxlreplace order ") .AppendFormat("{0} {1} {2}", key, buySell, WkQty); log.Error(msg); log.Error(ex.StackTrace); log.Error(ex.Message); } } } return(status); }