背離警示訊號

  •   244 
  • 最後發表   RS168  2024 九月 02
RS168 發文於   2024/08/28

想寫一個策略雷達

VIX跟大盤背離時發出警示

但回測都沒結果

照2024/8/28的大盤應該會發出警示

請幫忙看看哪裡有問題

另外有辦法改成即時價位嗎?

謝謝

 

if BarFreq <> "Min" then return;

value1 = GetSymbolField("VIX.TF","收盤價");

value2 = C; //GetSymbolField("TSE.TW","收盤價");

value3 = (value1 / value1[29] -1) * 100;  //VIX 30分內的漲幅

value4 = (value2 / value2[29] -1) * 100;  //TSE 30分內的漲幅

 

//如果大盤往上 VIX也往上 且VIX漲幅還高於大盤

if linearregslope(value1,30) > 0           

and linearregslope(value2,30) > 0

and value3 > value4

then ret=1;

XS小編 發文於   2024/09/02

 Hello RS168,

 

您應該是發生了除以0的錯誤。

可以將

value3 = (value1 / value1[29] -1) * 100;  //VIX 30分內的漲幅

value4 = (value2 / value2[29] -1) * 100;  //TSE 30分內的漲幅

改為

if value1[29] <> 0 and value2[29] <> 0 then begin

    value3 = (value1 / value1[29] -1) * 100;  //VIX 30分內的漲幅

    value4 = (value2 / value2[29] -1) * 100;  //TSE 30分內的漲幅

    end;

 

就會在回測中觸發 (參考附圖)。

 

小編不太清楚您指的即時價位是什麼意思,如果在盤中監控的話,運算時就是用即時的資料。

附加文件

發表回覆
Close