自動交易

  •   387 
  • 最後發表   stone77  2025 一月 16
stone77 發文於   2025/01/12

請問系統範例,是否要加入filled才算完整?

 

var: 

long_condition(false), { 是否做多 }

exit_long_condition(false), { 是否多單出場 }

short_condition(false), { 是否做空 }

exit_short_condition(false); { 是否空單出場 }

 

if Position <> 1 and long_condition then begin

{ 如果符合做多情境(long_condition), 則把部位變成1 (可能是0->1 or -1->1) }

SetPosition(1);

 

end else if Position <> -1 and short_condition then begin

{ 如果符合做空情境(short_condition), 則把部位變成-1 (可能是0->-1 or 1->-1) }

SetPosition(-1);

 

end else if Position = 1 and exit_long_condition then begin

{ 如果已經做多, 且發生多方出場情形時(exit_long_condition), 則把部位變成0 }

SetPosition(0);

 

end else if Position = -1 and exit_short_condition then begin

{ 如果已經做空, 且發生空方出場情形時(exit_short_condition), 則把部位變成0 }

SetPosition(0);

end;

 

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/01/12

加不加filled要看情況,有些情況要加,有些情況不能加。範例的出場,沒有用filled,一般適用進場時position與filled會相同(例如以市價單進場)。但若是用限價單進場,則買進時position=1,但filled仍然是0,setposition(0)會刪單。若用position=1 and filled=1,則是有建立庫存時才會出場。若用限價單,則沒成交之前是不會出場,當然掛的限價單也不會刪單,因為掛限價單時position已經變成0了。

  • 按讚來自於
  • stone77
XS小編 發文於   2025/01/16

Hello stone77,

 

小編補充,您可以參考 自動交易語法介紹 裡關於 position和filled有什麼差別 的部分,裡面介紹分別使用 position 或 filled 的情況。

發表回覆
Close