請問當警示成交價大於20100時,啟動自動交易腳本10的程式寫法

  •   184 
  • 最後發表   貓戰ya  2024 四月 22
貓戰ya 發文於   2024/04/18

請問當警示成交價大於20100時,啟動自動交易腳本10的程式寫法?

排序方式: 標準 | 最新
虎科大許教授 發文於   2024/04/18

目前自動交易腳本的啟動似乎只有排程及手動兩種啟動方式。價格符合條件再啟動策略,這種思維有點奇怪。可直接啟動策略,在價格符合條件時去處理原本交易腳本10的內容即可。

貓戰ya 發文於   2024/04/18

比如20100以上買1口以下賣1口,但現在成交價是20000,要等到20100才執行,而不是20000時就賣1口

虎科大許教授 發文於   2024/04/18

if c cross over 20100 then setposition(1);

if c cross under 20100 then setposition(-1);

貓戰ya 發文於   2024/04/18

感謝教學

貓戰ya 發文於   2024/04/18

可是我用逐筆洗價去跑,他有時候明明超過20100還是-1口,而跌過20100有時還是+1口

虎科大許教授 發文於   2024/04/18

這可能是漏接Tick或是程式邏輯與你的邏輯不同。得看看程式才知道。

貓戰ya 發文於   2024/04/19

Input: x(1),x1(-1),x10(21000)

 

If c cross over x10 then seposition(x);

 

If c cross under x10 then seposition(x1);

 

逐筆洗價啟動,洗價頻率設定是預設快那邊的右2 

 

最近會跑錯誤代碼8200

 

錯誤訊息:完全成交單無法善改單(-2057)

 

 

 

 

 

 

虎科大許教授 發文於   2024/04/19

你應該加Position控制,以避免下單之後馬上刪單或改單。

If position<=0 and c cross over x10 then seposition(x);

If position>=0 and c cross under x10 then seposition(x1);

XS小編 發文於   2024/04/22

Hello 貓戰ya,

 

完全成交單無法改單 這個錯誤訊息代表腳本洗價時判斷送出的委託要改價格,但實際執行改價時該委託已經成交。

在快市時較有可能發生這種情況,建議您可以用 position 和 filled 來控制委託。

細節可參考 自動交易語法介紹 裡的說明。

 

另外 cross over / cross under 是比較近兩根Bar的數值,像 c cross over x10 的話就會是前一根收盤價要小於 x10,而當根的收盤價要大於等於 x10。

所以您使用的執行頻率也會影響到條件判斷。

 

感謝 虎科大許教授 的熱心回覆。

發表回覆
Close