關於 nthhighest() 第二個參數

  •   202 
  • 最後發表   奔雷  2020 八月 17
奔雷 發文於   2020/08/14

小幫手您好

 

我發現選股 -> 05.型態選股 -> 平台整理後突破 裡面有一段程式碼是這樣寫的:

 

h1=nthhighest(1,high[1],period);
h2=nthhighest(4,high[1],period);
l1=nthlowest(1,low[1],period);
l2=nthlowest(4,low[1],period);

 

這段令我感到奇怪的地方在於為什麼 nthhighest() 第二個參數的 high 需要加上 [1]?

 

NthHighest 文件裡有說「第二個參數是數列,通常是開高低收的價格數列。」,可是加上[1]就不是數列了吧?加上 [1] 代表昨天的最高價,是單純的一個數值。

 

為什麼「平台整理後突破」這樣寫還可以正常運作呢?

XQ小幫手 發文於   2020/08/17

奔雷大  您好

Q1: 為什麼 nthhighest() 第二個參數的 high 需要加上 [1]?

A: 這個我覺得的原因是因為如果他是取high會取到當下這個k棒,就是「突破」這根

而這樣就不能判定前些日子的盤整盤了high[1] 的作用有點像是策略盤中區間的價格天花板

Q2: 數值、數列的判定?

A: 關於這個,我覺得您可以想像成您傳入函數的東西,

如果是「1」「5」..這種,就是所謂的數值

「close」「high[1]」「low」這種,就是數列

不需要探討後面它代表的是不是數字

函數判斷的是資料「傳入」形式,而非「傳出」,這樣應該會比較好想像

您可以參考這篇

Numeric

他其中有介紹到series and simple 的差別點

發表回覆
Close