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) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Selain itu, saya sendiri telah menulis kode implementasi KAMA berdasarkan definisi indikator: Arah (DIR) = Harga penutupan - Harga penutupan n hari lalu Volatilitas (VIR) = jumlah(abs(harga penutupan - harga penutupan hari perdagangan sebelumnya), n) Efisiensi (ER) = Arah / Volatilitas Cepat = 2 / (n1 + 1) Lambat = 2 / (n2 + 1) Kelancaran (CS) = Efisiensi * (Cepat - Lambat) + Lambat Koefisien (CQ) = Smoothing * Smoothing KAMA = Indeks Berat Rata-rata ((Dynamic Moving Average ((Price, Coefficient)) 2) (Langkah terakhir ini ada pengantarnya di dalam menghitung dengan ini: KAMA saat ini = KAMA sebelumnya + SC x (Price - KAMA sebelumnya)
Setelah lama mencari dan tidak melihat dari mana KAMA sebelumnya di langkah terakhir, ketika saya menghitung nilai KAMA pertama, apakah nilai KAMA sebelumnya tidak ada? Apakah algoritme saya salah? Saya tidak tahu apa yang harus saya lakukan.