如何使用XS選股腳本撰寫MACD綠色Osc(Osc < 0)在收斂中的選股條件?
邏輯判斷大概說明:
挑選股票商品的條件為,在 Osc 小於 0 並且 Osc 連續期數的數值收斂中。
程式碼大概的寫法為:
1. 先用 Macd 系統函數算出 Osc 的數值
2. if Osc < 0 and TrueAll(osc > osc[1]) then ret = 1;
在內建的選股腳本中,已經有MACD黃金交叉的選股腳本,
因此,Jack 將該腳本,部分計算MACD數值的寫法,
Copy 至 MACD綠色Osc(Osc < 0)收斂 的腳本裡,
最後修改完成的程式碼範例如下:
input: FastLength(12), SlowLength(26), MACDLength(9), OscDecrease(5); variable: difValue(0), macdValue(0), oscValue(0); SetTotalBar(maxlist((maxlist(FastLength,SlowLength,6) + MACDLength) * 4, OscDecrease)); SetInputName(1, "DIF短期期數"); SetInputName(2, "DIF長期期數"); SetInputName(3, "MACD期數"); setinputname(4, "Osc收斂期數"); MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue); // Osc綠柱收斂 if oscValue < 0 and trueall(oscValue>oscValue[1], OscDecrease) then ret = 1;
程式碼修改處說明:
程式碼第4行,
設置讀取資料範圍,納入收斂K棒數,並以maxlist函數語法,
去判斷哪個讀取資料範圍較長,就設定此值為讀取資料範圍筆數。
程式碼第14行,
使用if/Then流程控制語法,判斷若
Osc 小於 0 並且 Osc 連續期數的數值收斂中
則將符合此條件的選股商品清單列出。
在此選股腳本中,有一個輸入參數OscDecrease(5),
此為Osc收斂期數,依照自己的需求調整,預設的Osc收斂期數為 5 期。
下圖為今日(11:16)執行完該選股策略後,選股清單商品的畫面

以上,提供給大家參考,謝謝。
4 評論