想請教於盤中時(0900~1330),如果有發生日線圖收盤價突破布林通道上軌,程式該如何編寫??
有試過TrueCount或Countif來計算次數大於1,但使用期數會是前幾日,結果並不是預期.
想請教於盤中時(0900~1330),如果有發生日線圖收盤價突破布林通道上軌,程式該如何編寫??
有試過TrueCount或Countif來計算次數大於1,但使用期數會是前幾日,結果並不是預期.
Hello 新手測試員,
就文章中的描述來看您是使用日頻率。
要計算盤中達成條件多少次,您需要使用分鐘頻率。
可以使用 getfield 來取得不同頻率的資訊。
xf_getvalue 來取得不同頻率變數的數值。
舉例來說,使用在1分鐘頻率上:
value1 = BollingerBand(getfield("Close", "D"),20,2);
condition1 = close > value1 and getfield("Close", "D")[1] <= xf_getvalue("D", value1, 1); //昨日收盤價小於等於昨日布林上軌,當下收盤價大於當日的布林上軌
if issessionfirstbar then value2 = 0; //每日重置
if condition1 then value2 += 1; //每次達成條件value2就增加1
這樣value2就會是當日條件達成的次數。
感謝,已測試過,使用中!!
但其實是想於"副圖指標","日線圖"中,顯示出總突破次數,
或是能否於程式中,1分鐘頻率執行,但卻於指標日線圖下顯示,謝謝!!
Hello 新手測試員,
小幫手不建議您腳本使用在大頻率上但卻跨到小頻率上。
如果這樣作的話中間會遺漏需多K棒,舉例來說日頻率下取1分鐘頻率的K棒資訊,那麼就只會取到當天最後一根1分鐘頻率的K棒。
要避免這樣的狀況,會需要用迴圈將這段時間內的所有1分鐘K棒資料拉出來計算。
就以上面的範例來說,連布林通道的函數腳本都要自行重新撰寫避免運算錯誤。
3 評論