# 下單設定

## 下單

```
g_TradeZMQ.NewOrder(g_TradeSession,orders_obj)
XXXXXXXXXXXXXX→帶入交易連線的SessionKey
OrderData→下單參數
OrderData = {"BrokerID":"XXXXX",
             "Account":"XXXXX",
             "Symbol":"XXXXX",
             "Price":"XXXXX",
             "StopPrice":"XXXXX",
             ......}
```



## 下單參數

| **參數**           | **說明**                                                                                                                                                                                                                                                                              |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| BrokerID         | 券商                                                                                                                                                                                                                                                                                  |
| Account          | 資金帳戶                                                                                                                                                                                                                                                                                |
| Symbol           | 商品代碼                                                                                                                                                                                                                                                                                |
| Price            | 委託價格                                                                                                                                                                                                                                                                                |
| StopPrice        | 停損價                                                                                                                                                                                                                                                                                 |
| Side             | 買賣別(複式單為整體買賣方向)1:買方 2:賣方                                                                                                                                                                                                                                                            |
| TimeInForce      | <p>0:None</p><p>1:ROD Day order</p><p>2:IOC/FAK Immediate or Cancel/Fill and Kill</p><p>3:FOK Fill or Kill</p><p>4 : GTC Good-Till-Cancel</p><p>5 : GTD Good-Till-Date</p><p>6 : OPG  盤前預約單</p>                                                                                  |
| OrderType        | <p>0 : None Unknown</p><p>1:Market order(MARKET)</p><p>2:Limit order(LIMIT)</p><p>3:Stop order(STOP)</p><p>4:Stop limit order(STPLMT)</p><p>5:Trailing Stop(TSTOP)</p><p>6:Trailing StopLimit(TSTPLMT)</p><p>7:Market if Touched Order(MIT)</p><p>8:Limit if Touched Order(LIT)</p> |
| ContingentSymbol | <p>追蹤Symbol</p><p>僅Synthetic = 1</p><p>OrderType=7 或 OrderType=8使用</p>                                                                                                                                                                                                              |
| TrailingField    | <p>僅Synthetic = 1</p><p>OrderType=5 或 OrderType=6使用</p><p>0:None</p><p>1:Last</p><p>2:Bid</p><p>3Ask</p>                                                                                                                                                                            |
| TrailingType     | <p>僅Synthetic = 1</p><p>OrderType=5 或 OrderType=6使用</p><p>0:None<br>1:依價格</p><p>2:依TrailingPrice百分比</p><p>3:依TickSize幾跳</p>                                                                                                                                                         |
| TrailingAmount   | <p>僅Synthetic = 1</p><p>OrderType=5 或 OrderType=6使用</p><p>TrailingType=1時，TrailingAmount為百分比<br>TrailingType=2時，TrailingAmount為點數</p><p>TrailingType=3時，TrailingAmount為幾跳</p>                                                                                                       |
| TouchPrice       | <p>僅Synthetic = 1</p><p>OrderType=7 或 OrderType=8使用</p><p>觸發價</p>                                                                                                                                                                                                                   |
| TouchField       | <p>僅Synthetic = 1</p><p>OrderType=3 或 OrderType=4 或 OrderType=7 或 OrderType=8 使用</p><p>0:None</p><p>1:Last</p><p>2:Bid</p><p>3:Ask</p>                                                                                                                                              |
| TouchCondition   | <p>僅Synthetic = 1</p><p>OrderType=7 或 OrderType= 8 使用</p><p>0:touch or 穿價</p><p>1:Greater</p><p>2:GreaterEqual</p><p>3:Equl</p><p>4:LessEqual</p><p>5:Less</p>                                                                                                                      |
| OrderQty         | 下單口數                                                                                                                                                                                                                                                                                |
| PositionEffect   | <p>0:Open Open position</p><p>1:Close Close position</p><p>4:Auto Auto select Open/Close position</p>                                                                                                                                                                               |
| DayTrade         | <p>0:None</p><p>1:當沖</p>                                                                                                                                                                                                                                                            |
| ChasePrice       | <p>追價</p><p>格式為[每次增加價格|追價幾次|每次追價幾秒最後下市價或刪單或掛單(M or C or L)|PriceType</p><p></p><p>限價追價</p>                                                                                                                                                                                          |
| SlicedType       | <p>不支援群組單</p><p>0 : None</p><p>1 : Iceberg</p><p>2 : TimeSliced</p><p>3 : VolumeSliced</p><p>4 : AllSliced</p><p>5 : AllSliced After PriceTrigger</p>                                                                                                                               |
| DiscloseQty      | <p>僅SlicedType =1 或 SlicedType =2 或SlicedType =3 或SlicedType =4或SlicedType =5使用<br>逐筆揭露數量</p>                                                                                                                                                                                       |
| Variance         | <p>僅SlicedType =1 或 SlicedType =2或 SlicedType =3使用<br>逐筆變動比例%</p>                                                                                                                                                                                                                   |
| Interval         | <p>僅SlicedType =2或 SlicedType =3使用<br>SlicedType =2 : 間隔時間，ms SlicedType =3 : 間隔成交量</p>                                                                                                                                                                                             |
| LeftoverAction   | <p>僅SlicedType =2或 SlicedType =3使用 <br>0 : Leave 繼續掛著(預設)<br>1 : Merge 取消該筆，剩餘數量加入下筆下單<br>2 : Market 轉市價單<br>3 : Payup 追價(未實做)</p>                                                                                                                                                  |
| SlicedPriceField | <p>0 -> Fixed price mode 非0 -> Relative price mode<br><br>0 : None<br>1 : Last<br>2 : Bid<br>3 : Ask</p>                                                                                                                                                                            |
| SlicedTicks      | <p>SlicedPriceField != 0</p><p>TickSize幾跳</p>                                                                                                                                                                                                                                       |
| ExtCommands      | <p>延伸下單參數 多個參數請用；隔開</p><p>1.自動單反向延遲 請帶 DelayTransPosition=3000 表延遲3秒</p><p>2.下單前 將平倉掛單都刪單 CancelCloseWorking=1 or 2</p><p>3.下單速度是否調慢與設定相同 FitOrderFreq=1</p>                                                                                                                        |
| Consecutive      | <p>1 : 連續送單</p><p>2:TW連續IOC</p>                                                                                                                                                                                                                                                     |
| NumberOfRetries  | <p>僅Consecutive=1使用</p><p>持續送單幾次, NumberOfRetries>=9999 表示無線次數</p>                                                                                                                                                                                                                  |
| RetryInterval    | <p>僅Consecutive=1使用</p><p>每次送單間隔ms, RetryInterval=0表是立即送單</p>                                                                                                                                                                                                                       |
| Strategy         | 策略名稱                                                                                                                                                                                                                                                                                |
| UserKey1         | 將可在回報的UserKey1欄位得到相同的字串                                                                                                                                                                                                                                                             |

#### 錯誤回報列表

| 錯誤代碼 | 錯誤說明                                  |
| ---- | ------------------------------------- |
| -10  | Unknow Error                          |
| -11  | 買賣別不對                                 |
| -12  | 複式單商品代碼解析錯誤                           |
| -13  | 下單帳號，不可下此交易所商品                        |
| -14  | 下單錯誤，不支援的價格 或 OrderType 或 TimeInForce |
| -15  | 不支援證券下單                               |
| -20  | 連線未建立                                 |
| -22  | 價格的TickSize錯誤                         |
| -23  | 下單數量超過該商品的上下限                         |
| -24  | 下單數量錯誤                                |
| -25  | 價格不能小於和等於0(市價類型不會去檢查)                 |

## 改單

```
g_TradeZMQ.ReplaceOrder(g_TradeSession,reporders_obj)
XXXXXXXXXXXXXX→帶入交易連線的SessionKey
RePlaceData→改單參數
RePlaceData = {"ReportID":"XXXXX",
               "ReplaceExecType":"XXXXX",
               "OrderQty":"XXXXX",
               "Price":"XXXXX",
               "StopPrice":"XXXXX",
               }
```

| 參數名稱            | 參數說明                                |
| --------------- | ----------------------------------- |
| ReportID        | 回報編號                                |
| ReplaceExecType | <p>0:改價</p><p>1:改量</p><p>2:改價改量</p> |
| OrderQty        | 使用者期望減少的委託量                         |
| Price           | 使用者期望的委託價格                          |
| StopPrice       | 使用者期望的停損價格                          |

## 刪單

```
g_TradeZMQ.CancelOrder(g_TradeSession,canorders_obj)
XXXXXXXXXXXXXX→帶入交易連線的SessionKey
DeleteData→刪單參數
DeleteData = {"ReportID":"XXXXX"}
```

| 參數名稱     | 參數說明 |
| -------- | ---- |
| ReportID | 回報編號 |
