自動交易setposition 、Position、Filled有無使用的差別請釋疑,
1. 修正請按表格形式修正補充 TKS! 
2. 可否用範例+白話 or 邏輯流程圖 來說明三者之間買賣交易間的變化關係?
例如 (範例+白話) 白話若有誤請修正
Position(N)、SetPosition(N1)的關係式= N+X=N1 ,=>X=N1-N 此X變數是計算後要執行的委託量
例 :N=2、N1=-1 => -2-1=-3 、 X= - 3 =>賣出3張
按此關係式推得 "Position" = "(委託or現在)的買進量"(依策略腳本或實際庫存而定),
當委託成功(SetPosition)執行後,此時Position會變成="現在的委託量"
Filled="希望的成交量",當委託且成交(SetPosition)後,電腦會記住回傳的成交數量 Filled="實際已成交量"
Position 和 Filled 在執行(SetPosition)結果的前後,有用不同稱呼來區隔。
=> 建議 : Position、Filled因會隨著執行(SetPosition)前後狀況不同而有不同,可加用兩個名稱來區隔,如(PositionF、PositionB)=Position,但內部程式執行時仍是相同的,這樣使用者才不會搞混。
假設語法只寫Filled(希望的成交量)
=>系統知道Filled(希望成交量),但不知道Position( 現在的庫存) 所以不知道價格,在下委託單後若還沒成交前,這個價格只要訊號再出現就會再改新的價格再委託一次,重複改價直到成交。
假設語法只寫Position(委託or現在 的買進量)
=>系統知道你Position(委託or現在 的買進量),但不知道你Filled(希望的成交量)而無法比對數量,所以下委託單後還沒有成交前,如果有第二次的買賣訊號出現,就會把第一張單刪掉改下第二張委託單,若第二筆訊號又沒成交,第三筆訊號出現時又會刪單, 重複改單直到成交。
這樣的解釋是否正確?
SetPosition(1,market)=>設定買賣後庫存和交易價格(庫存存量"1"、委託價格"市價")
=>數字1為"+"多單現股的庫存數量、-1為"-"空單融卷的庫存數量、0=平倉(多空皆是庫存0)
if Position = 0 and Filled = 0 and Condition1 then SetPosition(2,market)
// if 委託0 and 庫存0 and 條件1成立 then 用市價買賣將庫存調到剩2張 +=多單(會買進兩張2-0=0)
if Position= 1 and filled=1 and condition2 then SetPosition(-2, Close)
// if 委託1 和 庫存1 和條件2 成立 then 用成交價買賣將庫存調到剩-2張 -=空單(會賣出3張-2-1=-3)
如果自動交易中心
=>3.若選擇現股,此指令是否會賣出1張現股+卷賣2張 or 現股先賣? 若現股先賣如何設定不允許?
=>4.若選到資卷,又會是甚麼情況?
if Position = 3 and Filled = 1 and Condition1 then SetPosition(2,market);
5.程式碼Position 和 Filled 量不相等的情況 對SetPosition的執行影響?
6.如果Position、Filled 數字變來變去易搞混,若都不寫,會有何影響?
7. 本想一個腳本內把可能發生的交易方式包含(現股、資卷,判別庫存)在內,依訊號和獲利看哪個最有利來自動執行買賣,一直難以成功(系統似乎做不到),如果捨棄不用這三個函數,改用Buy、Sell 、Cover、Short 有何差別或限制?
3 評論