highd函數的問題
作者:MC 來源:cxh99.com 發布時間:2018年04月23日
-
MC用戶求助:
我不知道您的圖表從什么時間開始的,也不知道您的指標是從第幾根K線開始計算的。假設您圖表最開始的日期時間是2017-07-1,9:05分,指標最大bar設置為5,那么指標會從第六根bar開始計算得出數據。highd(N)默認是-1,當currentbar是1時,highd(0)開始賦值,當currentbar>1 且當根bar的日期和前一根bar的日期不同時,highd(1)開始賦值,當下一次再出現同樣的條件時,highd(2)開始賦值,以此類推,更準確的邏輯您可以看一下函數OHLCPeriodsAgo的代碼。所以highd(0)和highd(1)或者相鄰兩個之間的距離應該是一天,換算成5分鐘周期,就會有幾百根bar的距離。所以,剛開始的很多根bar,計算的hd1=highd(1)是-1; highest函數的用法,使用兩個參數,第一個是pricevalue,第二個是length(長度),highest計算的是pricevalue在length長度根bar上pricevalue的數值;所以,hestd=highest(hd1,ndays)不是得到前5天的最高價,而得到從當根bar到前4根bar上hd1的數值最大值;之所以,hestd剛開始會得到0,是因為在MC中任意數值沒有計算的情況下都是0,也就是說,第6根上hd1=-1,而hd1[1]是0(因為沒有計算)。您需要弄清楚函數內部的邏輯。
?
-
MC回復討論一:
我不知道您的圖表從什么時間開始的,也不知道您的指標是從第幾根K線開始計算的。假設您圖表最開始的日期時間是2017-07-1,9:05分,指標最大bar設置為5,那么指標會從第六根bar開始計算得出數據。highd(N)默認是-1,當currentbar是1時,highd(0)開始賦值,當currentbar>1 且當根bar的日期和前一根bar的日期不同時,highd(1)開始賦值,當下一次再出現同樣的條件時,highd(2)開始賦值,以此類推,更準確的邏輯您可以看一下函數OHLCPeriodsAgo的代碼。所以highd(0)和highd(1)或者相鄰兩個之間的距離應該是一天,換算成5分鐘周期,就會有幾百根bar的距離。所以,剛開始的很多根bar,計算的hd1=highd(1)是-1; highest函數的用法,使用兩個參數,第一個是pricevalue,第二個是length(長度),highest計算的是pricevalue在length長度根bar上pricevalue的數值;所以,hestd=highest(hd1,ndays)不是得到前5天的最高價,而得到從當根bar到前4根bar上hd1的數值最大值;之所以,hestd剛開始會得到0,是因為在MC中任意數值沒有計算的情況下都是0,也就是說,第6根上hd1=-1,而hd1[1]是0(因為沒有計算)。您需要弄清楚函數內部的邏輯。