交易
下单
trade.NewOrder直接带入参数,或者使用trade.NewOrder2带入参数对象 NewOrder2需要使用New TCTradeWrapperAPILib.NOPFutOpt实例化参数对象
- 下单参数
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
Account | string | 否 | 下单账户 | |
BrokerID | string | 否 | 账户的 BrokerID | |
Symbol | string | 否 | 下单合约 | |
Side | OrderSide | 否 | 买卖别 (复式单为整体买卖方向) 1:Buy 2:Sell | |
OrderQty | int | 否 | 下单数量 | |
OrderType | OrderType | 否 | 1 : Market 市价单 2 : Limit 限价单 3 : Stop 停损单 4 : StopLimit 停损限价单 5 : 追踪停损价 6 : 追踪停损限价 7 : 触价发市价单 8 : 触价发limit限价单 9 : 追踪限价 10 : 对方价 11 : 本方价 15: 中间价 20 : 最优价 21 : 最优价转限价 (BSTL) 22 : 五档市价 (5LvlMKT) 23 : 五档市价转限价 (5LvlMTL) 24 : 市价转限价 (MTL) 25 : 一定范围市价 |
|
TimeInForce | TimeInForce | 否 | 0 : None None 1 : ROD 日内有效 2 : IOC 立即成交否则取消 3 : FOK 全部成交否则取消 |
|
PositionEffect | PositionEffect | 否 | 0 : 开仓 1 : 平仓 2 : 平今 3 : 平昨 4 : 自动判断开平 10 : 备兑开仓 11 : 备兑平仓 |
|
SymbolA | string | 是 | 空 | 复式单脚1商品TCore代码 |
SymbolB | string | 是 | 空 | 复式单脚2商品TCore代码 |
Price | float | 是 | 0 | 委托价格 or 字段 + or - 价格 字段 + or - 跳数T(加减跳 大写的T) Ex : ASK+1T,ASK+2T , BID-2T 字段為固定字,可为 LAST or BID or ASK or FILLED FILLED为OTO, OTOCO使用, 其他单不可使用FILLED ex. FILLED-150000000000 |
StopPrice | float | 是 | 0 | 停损价 or 字段 + or - 价格 字段 + or - 跳数T(加减几跳 大写的T) Ex : ASK+1T,ASK+2T , BID-2T 字段为固定字, 可为LAST or BID or ASK or MID or FILLED FILLED为OTO, OTOCO使用, 其他单不可使用FILLED |
Side1 | float | 是 | 0 | 买卖别(复式单脚1) 1:Buy 2:Sell |
Side2 | float | 是 | 0 | 买卖别(复式单脚2) 1:Buy 2:Sell |
ContingentSymbol | string | 是 | 空 | 追踪Symbol 仅Synthetic = 1 OrderType=7 或 OrderType=8使用 |
TrailingAmount | float | 是 | 0 | 仅Synthetic = 1且OrderType=5 或 OrderType=6使用 TrailingType=1时, TrailingAmount为百分比 TrailingType=2时, TrailingAmount为点数 TrailingType=3时, TrailingAmount为几跳 |
TrailingField | float | 是 | 0 | 仅Synthetic = 1且OrderType=7 或 OrderType=8使用 触发价 or 字段 + or - 价格 字段 + or - 跳数T(加减几跳 大写的T)Ex : ASK+1T,ASK+2T , BID-2T 字段为固定字, 可为LAST or BID or ASK or FILLED FILLED为OTO, OTOCO使用, 其他单不可使用FILLED |
TrailingType | float | 是 | 0 | 仅Synthetic = 1且OrderType=5 或 OrderType=6使用 0 : None 1 : 依价格 2 : 依TrailingPrice百分比 3 : 依TickSize几跳 |
TouchCondition | float | 是 | 0 | 仅Synthetic = 1且OrderType=7 或 OrderType=8使用 0 : touch or 穿价 1 : Greater 2 : GreaterEqual 3 : Equl 4 : LessEqual 5 : Less |
TouchField | float | 是 | 0 | 仅Synthetic = 1且OrderType=7 或 OrderType=8使用 0 : None 1 : Last 2 : Bid 3 : Ask |
TouchPrice | string | 是 | 空 | 仅Synthetic = 1且OrderType=7 或 OrderType=8使用 触发价 or 字段 + or - 价格 字段 + or - 跳数T(加减几跳 大写的T) Ex : ASK+1T,ASK+2T , BID-2T 字段为固定字, 可为LAST or BID or ASK or FILLED FILLED为OTO, OTOCO使用, 其他单不可使用FILLED |
Synthetic | float | 是 | 0 | 0 : None 1 : Synthetic |
GroupID | string | 是 | 空 | GroupID or OCOID or OTOID or OTOCOID |
GroupType | float | 是 | 0 | 0 : None 1 : Normal 2 : OCO 3 : OTO 4 : OTOCO |
GrpAcctOrdType | float | 是 | 0 | |
ChasePrice | string | 是 | 空 | 追价 格式为[每次增加价格or跳数|追价几次|每次追价几秒|最后下市价或删单(M or C)] PS:增加价格若为跳数尾端带入T,EX:1T(1跳) |
Strategy | string | 是 | 空 | 策略名称 |
UserKey1 | string | 是 | 空 | 将可在回报的UserKey1字段得到相同的字符串 |
SlicedPriceField | float | 是 | 0 | 0 : None 1 : Last 2 : Bid 3 : Ask 4 : 对方价 5 : 本方价 |
SlicedTicks | float | 是 | 0 | SlicedPriceField 非零使用 TickSize几跳 |
SlicedType | float | 是 | 0 | 不支援群组单 0 : None 1 : Iceberg 2 : TimeSliced 3 : VolumeSliced 4 : AllSliced 5 : AllSliced After PriceTrigger |
DiscloseQty | float | 是 | 0 | 逐笔揭露数量 |
Variance | float | 是 | 0 | 逐笔变动比例% 仅SlicedType =1 或 SlicedType =2或 SlicedType =3使用 |
Interval | float | 是 | 0 | 仅SlicedType =2或 SlicedType =3使用 SlicedType =2 : 间隔时间,ms SlicedType =3 : 间隔成交量 |
LeftoverAction | float | 是 | 0 | 仅SlicedType =2或 SlicedType =3使用 0 : Leave 继续挂着(默认) 1 : Merge 取消该笔,剩余数量加入下笔下单 2 : Market 转市价单 |
SelfTradePrevention | float | 是 | 0 | 0 : 或是不带入该参数,不启用自成交侦测 1 : 所有委托时间条件带IOC用来规避自成交 2 : 所有委托时间条件带FOK用来规避自成交 3 : 侦测到自成交时,直接拒绝送出委托,并提示委托错误 |
ExtCommands | string | 是 | 空 | 延伸下单参数 一. 下单前 将平仓挂单都删单 CancelCloseWorking=1 or 2 平净仓 CancelCloseWorking=2 全平 1. stock CancelCloseWorking=2 2. future/option a. 多空并存 CancelCloseWorking=1 b. 只有单边 CancelCloseWorking=2 二. 下单速度自适应於交易安全设定值 FitOrderFreq=1 |
TradeType | float | 是 | 0 | 0 : Normal 1 : Purchase on Margin 2 : ShortSell |
Public Sub neworder()
Dim neworderitem As New TCTradeWrapperAPILib.NOPFutOpt
'Call trade.NewOrder("8000-41009986", "CTP_HTQH_SIMCTS662", "TC.F.DCE.i.202309", 1, 1, 2, 1, 0, "745.5")
neworderitem.Account = "8000-41009986"
neworderitem.BrokerID = "CTP_HTQH_SIMCTS662" 'accbid.Item("8000-41009986") "CTP_SIMNOWSE651"
neworderitem.symbol = "TC.F.SHFE.rb.202309"
neworderitem.Side = 1
neworderitem.OrderType = 2
neworderitem.PositionEffect = 0
neworderitem.TimeInForce = 1
neworderitem.Price = "34710000000000"
neworderitem.OrderQty = 1
neworderitem.StopPrice = ""
Call trade.NewOrder2(neworderitem)
End Sub
取消委托单
trade.CancelOrder,参数为委托单编号,对应委托回报的ReportID字段
'取消委托单
Public Sub cancalorder()
Call trade.CancelOrder("5113216449C")
End Sub
委托单改价改量
trade.RepalceOrder,需要使用New TCTradeWrapperAPILib.NOPReplaceOrder实例化参数对象 参数对象字段
参数 | 类型 | 说明 |
---|---|---|
OrderQty | Long | 修改委托数量 |
Price | LongLong | 修改委托价格(限价或停损限价的委托价格) |
StopPrice | LongLong | 修改停损价格(停损单的触发价格) |
TouchPrice | string | 修改触发价格(本地条件的触发价格) |
'修改委托单
Public Sub replaceorder()
Dim orderitem As New TCTradeWrapperAPILib.NOPReplaceOrder
orderitem.reportid = "R133020989C"
orderitem.Price = 6880
Call trade.RepalceOrder(orderitem)
End Sub