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.
- 1

