如題,我想要用台指期的數值去判斷進出場,但用小台進行程式交易,我需要用到KD值,所以我改寫函數Stochastic如下
SetBarMode(2);
input:
length(numericsimple), rsvt(numericsimple), kt(numericsimple),
_rsv(numericref), _k(numericref), _d(numericref);
variable:
maxHigh(0), minLow(0), FITXN_Close(0);
maxHigh = Highest(GetSymbolField("FITXN*1.TF","high"), length);
minLow = Lowest(GetSymbolField("FITXN*1.TF","low"), length);
FITXN_Close = GetSymbolField("FITXN*1.TF","close");
if maxHigh <> minLow then
_rsv = 100 * ( FITXN_Close - minLow) / (maxHigh - minLow)
else
_rsv = 50;
if currentbar = 1 then
begin
_k = 50;
_d = 50;
end
else
begin
_k = (_k[1] * (rsvt - 1) + _rsv) / rsvt;
_d = (_d[1] * (kt - 1) + _k) / kt;
end;
依我理解,如此一來當我調用此函數求KD值時應該都會用大台(全日盤)為依據去計算才對,但我發現當我交易商品在小台(一般)跟小台(全日盤)做切換時,計算出來的KD值卻有所不同,這是為什麼呢?KD值不是被我用函數鎖在用FITXN*1.TF去計算了嗎?還是我有那裡沒有改到呢?
1 評論