空單看到櫃買V轉停損策略

  •   74 
  • 最後發表   Allenguo  2025 七月 29
Allenguo 發文於   2025/07/24

最近想在交易腳本裡寫一個停損策略
就是當櫃買指數V轉時回補所有空單部位
但我寫完回測看交易分析卻沒有停損
我寫的語法如下
condition1=GetSymbolField("OTC.TW","收盤價", "D") cross Above (GetSymbolField("OTC.TW","最高價", "D")+GetSymbolField("OTC.TW","最低價", "D"))/2;

if position <> 0 and  condition1 then setposition(0);

此程式是在5分K的頻率執行
希望有大神能幫忙解惑
感激不盡

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

問題應該不是出在櫃買的金叉,它隔幾天就會出現一次。你確定用櫃買指數的日資料判斷?而非5分鐘資料?用日資料時,不會每天出現金叉。不過,盡管如此,測試期間不應該沒有訊號,所以應該還有其他問題。

Allenguo 發文於   2025/07/25

我做的日內當沖的策略

以昨天為例如下圖

櫃買當下的收盤價由上往下穿過當日高低點的一半

所以不是應該10:30左右所有部位就要停損了

但回測數據沒有觸發

不知道是否是上面的語法有誤

感謝解惑

虎科大許教授 發文於   2025/07/25

Cross above 與頻率有關。你的需求似乎應該與執行商品的主頻率一樣用5分鐘頻率才對,而非跨頻率用OTC的日資料。

Allenguo 發文於   2025/07/25

感謝許教授

所以許昂Cross above 跑的頻率是5k的頻率

那我需要的是當日櫃買的高低點

去做櫃買價格有沒有v轉過今日高低點的一半

請教許教授這個該怎麼寫比較好

感謝🙏

虎科大許教授 發文於   2025/07/25

試試看下面的程式是否符合預期:

//前5分鐘的OTC指數沒有高於最高價與最低價的一半,但這5分鐘的成交價有高於它,則平倉空手。

value1=GetSymbolField("OTC.TW","最高價", "D")+GetSymbolField("OTC.TW","最低價", "D"))/2;

condition1=GetSymbolField("OTC.TW","收盤價") cross Above value1;

if position <> 0 and condition1 then setposition(0);

 

Allenguo 發文於   2025/07/25

感謝許教授

我大概懂邏輯錯在哪了

真的非常感謝解惑🙏

XS小編 發文於   2025/07/29

Hello Allenguo,

 

小編補充 cross over / cross under 是與資料序列的上一期作比較。

GetSymbolField("OTC.TW","收盤價", "D") cross Above (GetSymbolField("OTC.TW","最高價", "D")+GetSymbolField("OTC.TW","最低價", "D"))/2

比較的會是前一日的收盤價是否有低於前一日的 (最高價+最低價)/2,今日的收盤價是否有大於今日的 (最高價+最低價)/2。

 

若要比對近5分鐘的資訊,您可以改用變數來判斷,舉例來說:

value1 = GetSymbolField("OTC.TW","收盤價", "D");

value2 = (GetSymbolField("OTC.TW","最高價", "D")+GetSymbolField("OTC.TW","最低價", "D"))/2;

condition1 = value1 cross over value2;

發表回覆
Close