Sumber daya yang dimuat... Pemuatan...

Kasalahan panggilan indikator KAMA di Python

Penulis:xaifer48, Dibuat: 2021-11-19 23:17:10, Diperbarui: 2021-11-20 09:10:32

import talib def main (: LastBarTime = 0 while ((true): sementara records = exchange.GetRecords (dalam bahasa Inggris) 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 Saya mencoba indikator KAMA, dengan kata JS bisa berjalan, dengan kata py saya mendapatkan error, in main TypeError: Argument real has incorrect type (expected numpy.ndarray, got OOO00) .

Selain itu, saya sendiri menulis kode implementasi untuk indikator KAMA berdasarkan definisi indikator: Arah ((DIR) = harga penutupan - harga penutupan sebelum n hari Volatilitas (VIR) = sum (abs) (harga penutupan - harga penutupan pada hari perdagangan sebelumnya), n) Efisiensi (ER) = arah / tingkat fluktuasi Jadi kecepatan adalah 2 / (n1 + 1) Perlahan = 2 / (n2 + 1) CS = efisiensi * (cepat - lambat) + lambat Koefisien (CQ) = halus * halus KAMA = rata-rata tertimbang indeks (rata-rata bergerak dinamis (nilai penutupan, koefisien), 2) (Langkah terakhir yang ada dalam pengantar ini dihitung dengan cara ini: KAMA saat ini = KAMA sebelumnya + SC x (Harga - KAMA sebelumnya)

Setelah mencari lama dan tidak melihat dari mana KAMA yang pertama berasal dari langkah terakhir, ketika menghitung nilai KAMA pertama, tidak ada nilai KAMA sebelumnya, kan? Apakah algoritme saya salah? "Saya tidak tahu apa yang harus dilakukan, tapi saya tidak tahu apa yang harus dilakukan", katanya.


Lebih banyak

Penemu Kuantitas - Mimpi Kecil``talib.KAMA ((records.Close,30) `` Contoh panggilan Python tersedia di dokumentasi FMZ API. /upload/asset/16abd34635f22397a31c.png

xaifer48Terima kasih.

Penemu Kuantitas - Mimpi KecilAnda dapat membuat parameter yang diminta oleh fungsi sebagai struktur data.

xaifer48Jika saya sendiri mendefinisikan suatu array sebagai parameter, apakah saya bisa menghitung KAMA? Mengapa ditulis sebagai records.Close, tidak perlu tanda bawah? Misalnya records[i].Close.