做空策略程式碼寫法請問

  •   68 
  • 最後發表   阿哲DR5  2025 七月 24
阿哲DR5 發文於   2025/07/22

XQ 小編和論壇的大家好!

我想要寫一個策略如下:

當 9 點開盤之後,只要我的 1 分 k 的收盤價有死亡交叉 ma17(1 分 k 的 17 分均線),我就做空。

然後停利是 1 分 k 跌到 ma68,我就回補。

停損是 1 分 k 漲到今天的開盤價我就回補。

程式碼如下(交易腳本):

 

value1 = getField("close", "1");
value2 = average(value1, 17);
value3 = average(value1, 68);
value4 = getField("open");

if value1 Cross Under value2 then setposition(-1, value1)
else if value1 Cross Under value2 and value1 Cross Under value3 then setposition(0, value1)
else if value1 Cross Under value2 and value1 >= value4 then setposition(0, value1);

我遇到的問題是盤中監控的時候只有做空成功,回補都沒有觸發。

再請各位幫幫忙了,謝謝大家!

 

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

value1 = getField("close", "1");
value2 = average(value1, 17);
value3 = average(value1, 68);
value4 = getField("open");

if value1 Cross Under value2 then setposition(-1, value1);
if value1 Cross Under value3 or value1 >= value4 then setposition(0, value1);

XS小編 發文於   2025/07/24

Hello 阿哲DR5,

 

如果您停損要取的是日開盤價的話,那麼 value4 應該是 getField("open", "D")。

若您的執行頻率為日的話,那麼變數的執行頻率也會是日,value1[1] 會變成前一日的收盤價 (前一日最後一筆1分鐘的收盤價)。

發表回覆
Close