關於策略計算和交易商品不同的問題

  •   40 
  • 最後發表   維克的投資煩惱  2022 六月 15
維克的投資煩惱 發文於   2022/06/09

如題,我想要用台指期的數值去判斷進出場,但用小台進行程式交易,我需要用到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去計算了嗎?還是我有那裡沒有改到呢?

XQ小幫手 發文於   2022/06/15

Hello 維克的投資煩惱,

 

KD是一種需要用到前期值的指標。

雖然您在小台(一般)跟小台(全日盤)都會取到大台(全日盤)的資料,但是小台(一般)不會運算夜盤的部分。

這會導致您在取前期值時取到不同值,進而造成不同的結果。

  • 按讚來自於
  • 203love
發表回覆
Close