Type/to search
8
Follow
0
Followers
Minta bantuan tentang kesalahan pemanggilan indikator KAMA di python
Help
Created 2021-11-19 23:17:10  Updated 2021-11-20 09:10:32
 4
 1088

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.

Related Recommendations
Comment
All comments (4)

    talib.KAMA(records.Close,30)
    FMZ API文档上有Python调用的例子。
    img

    5 years ago

    可以了,谢谢梦总。还想请教一下,这个传入的参数也是一个数组么?如果我自己定义一个数组作为参数,也可以计算KAMA么?
    为啥是写成records.Close,不用带下标么?比如records[i].Close。求指点,谢谢!

    5 years ago

    把数据构造成函数要求的参数即可。报错信息上提示的:expected numpy.ndarray,

    5 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)