請教前輩們,我想用XS寫一個MACD的篩選,在週頻率時,這禮拜OSC數字大於上禮拜,同時MACD要在0軸以上,DIF12-26需要大於0,這樣寫要改進哪個地方?因為篩選出來的標的,有的有符合,有的不太符合,感謝幫忙!!!

// 設定頻率為「週」,確保計算的是週線資料
SetBarFreq("W");
// 定義變數
variable: dif_val(0), macd_val(0), osc_val(0);
// 計算 MACD 指標
// 參數預設為: 收盤價, 短天期12, 長天期26, 訊號線9
MACD(Close, 12, 26, 9, dif_val, macd_val, osc_val);
// 篩選條件
// 條件1: 這禮拜 OSC 數字大於上禮拜 ([1]代表上一根K棒,即上週)
Condition1 = osc_val > osc_val[1];
// 條件2: MACD (訊號線) 在 0 軸以上
Condition2 = macd_val > 0;
// 條件3: DIF (12-26) 大於 0
Condition3 = dif_val > 0;
// 執行篩選:同時滿足以上三個條件
if Condition1 and Condition2 and Condition3 then
begin
ret = 1;
// 可以在選股結果中顯示數值方便檢查
OutputField(1, osc_val, 2, "本週OSC");
OutputField(2, osc_val[1], 2, "上週OSC");
OutputField(3, dif_val, 2, "DIF");
end;
2 評論