買賣指令#
PowerLanguage 提供了 Buy、Sell、SellShort 和 BuyToCover 買賣下單指令。買賣下單指令的語法由 動作 + 進出場名稱和口數 + 委託單類型 組成。
| 動作 | 進出場名稱和口數 | 委託單類型 |
|---|---|---|
Buy | [("EntryLabel")] [TradeSize] | OrderCommandType |
Sell | [("ExitLabel")] [From Entry("EntryLabel")] [TradeSize [Total]] | OrderCommandType |
SellShort | [("EntryLabel")] [TradeSize] | OrderCommandType |
BuyToCover | [("ExitLabel")] [From Entry("EntryLabel")] [TradeSize [Total]] | OrderCommandType |
委託單類型(OrderCommandType)#
委託單類型(OrderCommandType)決定下單的時間點和價格,共有 4 種:
| 委託單類型 | 說明 |
|---|---|
This Bar On Close | 在當根K棒的最後一筆成交(tick)送出市價單,圖表箭頭顯示在當根K棒收盤價。On 是 skip word |
Next Bar At Market | 在下一根K棒的第一筆成交(tick)送出市價單,圖表箭頭顯示在下一根K棒開盤價。Market 和 Open 可以互換,即 Next Bar At Open。At 是 skip word |
Next Bar At <Price> Limit | 在下一根K棒送出限價 <Price> 的限價單,K棒結束時未成交則取消。圖表箭頭顯示在滿足限價條件的成交價位。At 是 skip word |
Next Bar At <Price> Stop | 在下一根K棒送出停損價 <Price> 的停損單,K棒結束時未成交則取消。圖表箭頭顯示在滿足停損條件的成交價位。At 是 skip word |
實務上不建議使用
This Bar On Close,因為可能造成即時交易與回測的買賣訊號不一致。MultiCharts 在即時行情中,需要收到下一根K棒的第一筆成交,才能判斷上一根K棒已經完成; 而回測時因為有歷史資料,可以事先知道K棒的最後一筆成交,不需要等待下一根K棒。詳見已經完成的K棒。
Buy 指令#
Buy 指令下單買進。如果買進委託單成交時有空單倉位,會將空單倉位平倉。
語法#
| |
| 語法元素 | 說明 |
|---|---|
EntryLabel | 命名進場名稱,顯示在圖表上。可省略,預設名稱依序為 "Buy"、"Buy#2"、"Buy#3"。賣出(Sell)時可用此名稱指定要賣出的進場 |
TradeSize | 下單的股數(口數),後面接 Share/Shares/Contract/Contracts。可省略,預設使用 設定 -> 策略屬性 -> 屬性 -> 固定委託股數(口數) 的值 |
OrderCommandType | 指定下單類型、時間和價格,見委託單類型 |
範例#
在下一根K棒,市價單買進 1 口,命名進場名稱為 "Entry"。
| |
在下一根K棒,限價 100 的限價單買進 2 股。
| |
在下一根K棒,停損價 50 的停損單買進 10 口。
| |
Sell 指令#
Sell 指令賣出多單倉位。
語法#
| |
| 語法元素 | 說明 |
|---|---|
ExitLabel | 命名出場名稱,顯示在圖表上。可省略,預設名稱依序為 "Sell"、"Sell#2"、"Sell#3" |
EntryLabel | 指定要賣出的進場名稱。From 是 skip word,可以省略。可省略,預設為全部進場部位 |
TradeSize | 指定每一筆多單進場部位都賣出 TradeSize 股數(口數),後面接 Share/Shares/Contract/Contracts。如果後面接 Total,根據先進先出(FIFO)原則,先進場的多單先賣出,總共賣出 TradeSize 股數(口數)。可省略,預設賣出全部股數(口數) |
OrderCommandType | 指定下單類型、時間和價格,見委託單類型 |
範例#
在下一根K棒,從進場名稱為 "Original Entry" 的進場部位,市價單賣出 10 股。
| |
在下一根K棒,從每一個進場部位,都以市價單賣出 5 口。
| |
在下一根K棒,從全部進場部位,以限價 100 的限價單總共賣出 1 股。
| |
在下一根K棒,以停損價 50 的停損單賣出全部股數(口數),等同全部平倉。
| |
SellShort 指令#
SellShort 指令下單賣空。如果賣空委託單成交時有多單倉位,會將多單倉位平倉。
SellShort 也可以寫成 Sell Short(中間加空格)。
語法#
| |
| 語法元素 | 說明 |
|---|---|
EntryLabel | 命名進場名稱,顯示在圖表上。可省略,預設名稱依序為 "Short"、"Short#2"、"Short#3"。買進回補(BuyToCover)時可用此名稱指定要回補的進場 |
TradeSize | 下單的股數(口數),後面接 Share/Shares/Contract/Contracts。可省略,預設使用 設定 -> 策略屬性 -> 屬性 -> 固定委託股數(口數) 的值 |
OrderCommandType | 指定下單類型、時間和價格,見委託單類型 |
範例#
在下一根K棒,市價單賣空 1 口,命名進場名稱為 "Entry"。
| |
在下一根K棒,限價 100 的限價單賣空 2 股。
| |
在下一根K棒,停損價 50 的停損單賣空 10 口。
| |
BuyToCover 指令#
BuyToCover 指令買進回補空單倉位。
BuyToCover 也可以寫成 Buy To Cover(中間加空格)。
語法#
| |
| 語法元素 | 說明 |
|---|---|
ExitLabel | 命名出場名稱,顯示在圖表上。可省略,預設名稱依序為 "Cover"、"Cover#2"、"Cover#3" |
EntryLabel | 指定要買進回補的賣空名稱。From 是 skip word,可以省略。可省略,預設為全部進場部位 |
TradeSize | 指定每一筆空單進場部位都買進回補 TradeSize 股數(口數),後面接 Share/Shares/Contract/Contracts。如果後面接 Total,根據先進先出(FIFO)原則,先進場的空單先回補,總共買進回補 TradeSize 股數(口數)。可省略,預設買進回補全部股數(口數) |
OrderCommandType | 指定下單類型、時間和價格,見委託單類型 |
範例#
在下一根K棒,從進場名稱為 "Original Entry" 的進場部位,市價單買進回補 10 股。
| |
在下一根K棒,從每一個進場部位,都以市價單買進回補 5 口。
| |
在下一根K棒,從全部進場部位,以限價 100 的限價單總共買進回補 1 股。
| |
在下一根K棒,以停損價 50 的停損單買進回補全部股數(口數),等同全部平倉。
| |
Reference#
https://www.multicharts.com/trading-software/index.php?title=Category:Strategy_Orders
https://www.multicharts.com/trading-software/index.php?title=Buy
https://www.multicharts.com/trading-software/index.php?title=Sell
https://www.multicharts.com/trading-software/index.php?title=SellShort
https://www.multicharts.com/trading-software/index.php?title=BuyToCover