2017-08-20 23 views
0

我使用ta-lib基於市場價格建立指標系列。我做了一些相同概念的實現,但是在任何實現中我發現了同樣的問題。要獲得正確的一系列值,我必須還原輸入序列並最終還原結果序列。通過一個方便的包裝確實調用TA-lib庫的Python代碼是:建築系列的Ta-lib評估訂單

rsi1 = np.asarray(run_example( function_name, 
           arguments, 
           30, 
           weeklyNoFlatOpen[0], 
           weeklyNoFlatHigh[0], 
           weeklyNoFlatLow[0], 
           weeklyNoFlatClose[0], 
           weeklyNoFlatVolume[0][::-1])) 

rsi2 = np.asarray(run_example( function_name, 
           arguments, 
           30, 
           weeklyNoFlatOpen[0][::-1], 
           weeklyNoFlatHigh[0][::-1], 
           weeklyNoFlatLow[0][::-1], 
           weeklyNoFlatClose[0][::-1], 
           weeklyNoFlatVolume[0][::-1]))[::-1] 

兩個系列都可以在這裏觀察到的圖(該指標是真的SMA): enter image description here

綠色明顯地以相反的順序(從n個採樣到0)計算行,而按照預期順序計算紅色行。要實現紅線,我必須反轉輸入序列和輸出序列。

這個測試的代碼可以在:python code

有人觀察到同樣的行爲呢?

+0

問題必須在你身邊。也許與陰謀。你可以在TA指標被調用後調試返回數據嗎? – truf

回答

0

我發現我的問題處理方法有什麼問題。簡單的答案是,MA指標將結果數組上的第一個有效值置於零位,所以結果序列從零開始,並且比輸入序列少N個樣本(其中N是本例中的週期值)。恢復的計算想法是完全錯誤的。

這裏的證明:

enter image description here

添加在開始30個零和取出最後的指示器套在輸入串聯很好。

enter image description here