Type/to search
8
Follow
0
Followers
Попросите помощи по ошибке вызова индикатора KAMA в 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
Попробовал показатель KAMA, но с помощью слов JS он сработал, а с помощью слов py он ошибся. Line 9, in main TypeError: Argument 'real' has incorrect type (expected numpy.ndarray, got OOO00)

Я также написал собственный код для реализации KAMA-индикатора в соответствии с его определением:
Направление (DIR) = Цена закрытия - Цена закрытия n дней назад
Волатильность (VIR) = сумма(абс(цена закрытия - цена закрытия предыдущего торгового дня), n)
Эффективность (ER) = Направление / Волатильность
Быстро = 2 / (n1 + 1)
Медленно = 2 / (n2 + 1)
Плавность (CS) = Эффективность * (Быстро - Медленно) + Медленно
Коэффициент(CQ) = Сглаживание * Сглаживание
KAMA = показательная средняя величина ((Динамическая движущаяся средняя величина ((Цена закрытия, коэффициент), 2) (в конце этапа есть введение, в котором рассчитывается по следующему: текущий KAMA = предыдущий KAMA + SC x (Price - предыдущий KAMA))

Я долго искала и не видела, откуда взялся предыдущий КАМА, когда я рассчитывала первое значение КАМА, но предыдущего значения КАМА не было?
Я не знаю, как это сделать, но, пожалуйста, укажите мне, что делать.

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)