手動之後的重複自動交易

  •   162 
  • 最後發表   XQYi  2024 一月 02
XQYi 發文於   2023/12/06

當沖情境如下,如何操作或編寫才能達到連續交易完成(進場、出場)之後才進行下一次(進場出場)如:買1賣1->買2賣2。

不可 買1買2->賣1賣2,,,,,這種連續進場連續出場的情況!!

 

狀態1. 庫存獲利(或手動)賣出S股 or 訊號(或手動)買進B股 ,(庫存獲利的股票若能設定自動判別更好),之後一律由系統自動執行

狀態2. if 狀態1 and  獲利1% then  買進S股 or 賣出B股

狀態3. if 狀態2 and  獲利1% then  賣出S股 or 買進B股

狀態4........重複狀態2、3 到設定的次數或條件 then 結束交易

 

XS小編 發文於   2024/01/02

Hello xqyi,

 

您可以用 position 和 filled 來限制策略的部位庫存,讓其不要連續進場/出場。

且腳本中 setposition 的交易指令本身就會決定進出場的數量,只要有所限制的話就不會發生部位庫存變為2的狀況。

舉例來說:

condition1 = close cross over average(close, 10);    //進場條件

condition2 = close cross under average(close, 10);   //出場條件

condition3 = filledavgprice > 0 and close >= filledavgprice *1.01;    //停利條件

 

if position = 0 and filled = 0 and condition1 then setposition(1, market);     //沒有部位庫存且滿足進場條件時買進1張

if position = 1 and filled = 1 and (condiiton2 or condition3) then setposition(0, market);    //有1張部位庫存時且符合停利或出場條件的話就平倉

 

這樣策略的執行商品就只會在符合條件後買進1張和賣出1張。

 

需注意的是啟動中的策略本身是獨立運作的,其他策略或手動交易對運作中的策略部位庫存是不會有影響的。

若策略啟動時要用當下的實際庫存來運作的話,可以將策略設定為依庫存或是自訂數值來調整。

發表回覆
Close