如何在小頻率取得大盤kd是否交叉向上

  •   405 
  • 最後發表   jack121974  2023 三月 31
jack121974 發文於   2020/10/04

小幫手您好:

  我想在一分鐘的策略雷達警示中,加入"加權指數的kd值是否處於交叉向上的狀態"(跨頻率也跨商品)

,請問這部分要怎麼寫比較好?

 

另外,若加了這項條件後,一分k 線要往前取幾根比較適合,謝謝

麻煩你了

排序方式: 標準 | 最新
XQ小幫手 發文於   2020/10/06

jack121974您好

這個部分需要去修改一下 xf_Stochastic 函式的內容 

請將裡面的"開高低收"從原本的

GetField("High", "D")  改成 GetSymbolField("TSE.TW","最高價","D")  

來達成跨商品

而是否 交叉向上

可以撰寫一個條件式

value3>value4 也就是k>d就可以判別了

-----

關於資料讀取筆數的問題 如果您用 xf_Stochastic語法

那只要符合您kd 所需要的參數大小的最大值 就可以了

 

jack121974 發文於   2020/10/06

謝謝小幫手的回答!

另外,您提到的“只要符合kd 所需要的參數大小的最大值”, 指的是不是跨頻率函數會自己去抓9天的價格, 所以我的1分鐘k線就不用往回推60x4.5x9天這麼多, 是這樣的意思嗎?

XQ小幫手 發文於   2020/10/07

jack121974 您好

是的,您的理解正確,如果使用到跨頻率的語法

像是 xf_ 系列的 

我們舉個例子說明比較好理解

value1 = xf_MACD("W",xf_weightedclose("W"),12,26,9,value2,value3,value4);

只要資料讀取筆數 大於26  就可以順利計算 不需要 270x5x26 這麼多筆數 

(但我個人還是會習慣稍微取大一點ex 26 我可能取個100 ,

因為其實不會佔太多效能,

且避免我其他程式碼漏看到其實要取得較大的筆數才能計算,而造成之後還要花時間偵錯)

---

補充提醒一下,如果您是使用 getfield(close,5)

這種跨頻率抓資料的話,就必須取得較多的資料讀取筆數數量 

JJJJJ 發文於   2023/03/26

小幫手,

如上, 可否提供能算出大盤周KD值的函數給我, 我有試著去改 xf_stochastic, 但對我來說很難(還是新手) 

 

謝謝

XQ小幫手 發文於   2023/03/31

 Hello JJJJJ,

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。

 

如果您是使用在大盤的商品上的話:

value1 = xf_Stochastic("W",9,3,3,value2,value3,value4); 

value3 為 K, value4 為 D。

 

如果您是想要跨商品取用大盤的週KD的話,可以複製 xf_stochastic 然後將裡面取用 HLC 的部分改用 GetSymbolField 替換掉。

舉例來說,以下這段:

maxHigh = highest(GetField("High", "D"),Length);

minLow = lowest(GetField("Low", "D"),Length);

closePeriod = GetField("Close", "D");

修改為:

maxHigh = highest(GetSymbolField("TSE.TW", "High", "D"),Length);

minLow = lowest(GetSymbolField("TSE.TW", "Low", "D"),Length);

closePeriod = GetSymbolField("TSE.TW", "Close", "D");

 

其他的部分也做相同的修改,簡單來說就是將原本是取 同商品不同頻率的HLC 的部分,改為取 不同商品(TSE.TW)不同頻率的HLC。

這樣計算出來就會是TSE.TW 的 KD。

需注意KD是種需要前期計算值的指標,如果是用週頻率的話會需要經過計算 Length (預設為9) * 3 = 27 週的資料才能夠計算出正確的數值。

發表回覆
Close