import talib def main(): LastBarTime = 0 while(true): records = exchange.GetRecords() BarTime = records[-1][“Time”] ext.PlotRecords(records, “ “) if LastBarTime != BarTime: kama = talib.KAMA(records, 30) Log(kama[30]) Log(kama[kama.length-1]) LastBarTime = BarTime TypeError: Argument ‘real’ has incorrect type (expected numpy.ndarray, got OOO00)
Ngoài ra, tôi đã viết một đoạn mã để thực hiện chỉ số KAMA theo định nghĩa của chỉ số: Hướng (DIR) = Giá đóng cửa - Giá đóng cửa n ngày trước Độ biến động (VIR) = tổng(abs(giá đóng cửa - giá đóng cửa của ngày giao dịch trước đó), n) Hiệu quả (ER) = Hướng / Độ biến động Nhanh = 2 / (n1 + 1) Chậm = 2 / (n2 + 1) Độ mượt (CS) = Hiệu suất * (Nhanh - Chậm) + Chậm Hệ số (CQ) = Làm mịn * Làm mịn KAMA = chỉ số trung bình cân nặng ((Dynamic Moving Average ((giá đóng cửa, hệ số), 2) (bước cuối cùng này được tính theo cách này: KAMA hiện tại = KAMA trước + SC x (Price - KAMA trước))
Tôi đã tìm kiếm rất lâu và không thấy cái KAMA trước đó ở đâu trong bước cuối cùng, khi tôi tính giá trị KAMA đầu tiên, giá trị KAMA trước đó không tồn tại, đúng không? Xin các vị chỉ dẫn cho chúng tôi xem chúng tôi phải làm gì.