//跨頻計算60KD指標金交
value1 = xfMin_Stochastic("60",9,3,3,value2,value3,value4);
condition1 = value3[1] < value4[1];
condition2 = value3 > value4;
IF condition1 and condition2 then ret=1;
//跨頻計算60KD指標金交
value1 = xfMin_Stochastic("60",9,3,3,value2,value3,value4);
condition1 = value3[1] < value4[1];
condition2 = value3 > value4;
IF condition1 and condition2 then ret=1;
謝謝小幫手解惑,
能使用setbackBar (15,"60");來指定使用資料的筆數嗎?
另外 為什麼是用 9 * 3 * 12 = 324 ?
週期9=9小時 9個小時的5分K=9*12(每小時12根5分K)=108筆讀取筆數 不是108筆就足夠了嗎?
Hello morris8888,
setbackBar 設定的是 最大引用範圍, settotalbar 設定的是 資料讀取範圍。
細節您可以參考文章說明。
兩者是不一樣的,一個會運算 (settotalbar) 一個不會運算 (setbackbar)。
這邊的狀況應該要是使用 settotalbar。
如果您有看過內建的KD選股腳本的話,裡面的設定是 SetTotalBar(maxlist(Length,6) * 3);。
若 Length 設為 9 的話,那就是 9 * 3。
由於您是跨頻率,所以就會是 9 * 3 * 12。
為什麼是 9 * 3,這是內部人員研究出來需要計算出正確數值的筆數。
//跨頻計算60KD指標金交
value1 = xfMin_Stochastic("60",9,3,3,value2,value3,value4);
condition1 = value3[1] < value4[1];
condition2 = value3 > value4;
IF condition1 and condition2 then ret=1;
Hello morris8888,
小幫手不清楚您想要問什麼。
如果是使用在1分鐘頻率的話,settotalbar就會是 9 * 3 * 60。
如果是使用在5分鐘頻率的話,settotalbar就會是 9 * 3 * 12。
如果是使用在10分鐘頻率的話,settotalbar就會是 9 * 3 * 6。
關鍵就是,settotalbar要包含到 9 * 3 根 60分鐘Bar的範圍。
另外,您的 value3[1] 和 value4[1] 會是執行頻率 (1分鐘、5分鐘...etc) 的前一根Bar,而不是前一根60分鐘Bar的值。
如果您要取前一根60分鐘頻率的變數值的話,可以使用 xfmin_getvalue 函數。
5 評論