如標題
我發現一件蠻奇怪的事情
當我分兩次買進時,只要下 sell 指令,不管有沒有加 1 contract,他都會兩口都出掉
當我一次買進兩口時,這時候下sell 1 contract 指令時,就能夠順利一口一口出
如果照第一種作法,我要怎要做才能夠一口一口減碼呢?
希望版上大大能幫忙解惑,非常感恩。
我的程式碼如下:
// 8:46 買一口 -- 正常買進 if Time=0846 then begin buy("0846 entry") next bar at market; end;
// 9:00 買一口 -- 正常買進
if Time=0900 then begin buy("0900 add ") next bar at market; end;
// 9:01 賣一口 -- 異常全部賣出
if Time=0901 then begin sell("0846 exit") 1 contract next bar at market; end;
// 9:10 賣一口 -- 異常沒有動作
if Time=0910 then begin sell("0910 exit") 1 contract next bar at market; end;
// 9:15 買兩口 -- 正常買進
if Time=0915 then begin buy("0915 entry 2") 2 contract next bar at market; end;
// 9:30 賣一口 -- 正常賣出
if Time=0930 then begin sell("0915 exit 1st contract.") 1 contract next bar at market; end;
// 9:45 賣一口 -- 正常賣出
if Time=0945 then begin sell("0915 exit 2nd contract.") 1 contract next bar at market; end;
可以參考語法用法,指定進場名稱出場或是使用 Total 語法對各別進場部位平倉,
未使用 Total 是針對每個進場部位平指定口數。
出場的價位會在圖表上以箭頭和價位表示,箭頭表示出場時間,價位表示出場價格。在多頭出場箭頭的上方,有標籤顯示出場名稱及倉位數量。
委託會在參數指定的點位執行,若委託在指定的Bar內無法成交,該筆委託將被取消。
Sell[("ExitLabel")][From Entry("EntryLabel")][TradeSize[Total]]Exit
Sell
ExitLabel
From
Entry
EntryLabel
Total
Exit
中括號[]內的參數為可選用參數
若 ExitLabel 未指定,則會依出場信號語句的先後順序依序命名為 "Sell"、"Sell#1"、"Sell#2"……
EntryLabel —— 可選用參數,字符串表達式;表示出場信號是針對特定EntryLabel 名稱的進場信號; 進場信號名稱須緊連在 "From Entry"之後, "From" 是跳躍字,可省略。
From Entry
一個出場信號僅能指定一個進場信號。更多信息請看 Buy
Buy
若 EntryLabel 未指定進場信號名稱,則所有的多頭倉位都將會被平倉。 TradeSize —— 可選用參數,數值表達式;指定買平的數量,必須搭配: Share, Shares, Contract 或 Contracts任一個使用。
Share
Shares
Contract
Contracts
默認(未加Total), TradeSize 參數指定的數量會平掉每一個多頭進場語句的倉位。
TradeSize
如果 TradeSize 後加上 "Total", 只會平倉 TradeSize 參數指定的數量,忽略多頭進場數量。指定數量超過多頭持倉,則全部平倉。在依進場信號的順序平倉,即先進先出。
若 TradeSize 未指定,將會平倉全部的多頭進場。 Exit —— 指定出場的時間和價位,一共有四種類型: This Bar[On]Close
This
Bar
[On]
Close
On
即在當根Bar的收盤價 Close 賣平出場,並標記Sell的箭頭。
Next Bar[At]Open 或 Next Bar[At]Market
Next Bar
[At]
Open
Market
其中:關鍵字 "Market" 和 "Open" 可以互換 - At 是跳躍字,可省略
At
即在下根Bar的開盤價 Open 賣平出場,並標記Sell的箭頭。 Next Bar[At]Price Limit
Price
Limit
若下根Bar的第一筆價格大於或等於 Price ,則在下根Bar賣平出場,並標記Sell的箭頭;若下根Bar內並無價格滿足條件,則委託會被取消。
Stop
其中:Price 是數值表達式,指定停止價出場價格 - At 是跳躍字,可省略
若下根Bar的第一筆價格小於或等於 Price ,則在下根Bar賣平出場,並標記Sell的箭頭;若下根Bar內並無價格滿足條件,則委託會被取消。
在當根Bar結束時,以市價平倉所有的多頭倉位,並標識出場為"Complete Exit":
Sell("Complete Exit")This Bar On Close; 在下根Bar開始時,以市價平倉所有以"Original Entry" 命名的多頭進場倉位:
Sell("Complete Exit")This Bar On Close;
"Complete Exit"
This Bar
Sell From Entry("Original Entry")Next Bar At Open; 在下根Bar開始時,以市價平倉10手以"Original Entry" 命名的多頭進場倉位:
Sell From Entry("Original Entry")Next Bar At Open;
"Original Entry"
Sell Entry("Original Entry")10 Shares Next Bar At Market;
10
在下根Bar開始時,對每個多頭進場倉位以市價平倉5手:
Sell 5 Contracts Next Bar Market; 無論有多少多頭進場倉位,在下根Bar開始時,以大於或等於100的價位,平倉1手:
Sell 5 Contracts Next Bar Market;
5
Sell 1 Share Total Next Bar At 100 Limit; 在下根Bar開始時,以小於或等於50的價位,平掉所有多頭倉位:
Sell 1 Share Total Next Bar At 100 Limit;
1
Share Total Next Bar
100
Sell Next Bar 50 Stop;
50