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))
Я долго искала и не видела, откуда взялся предыдущий КАМА, когда я рассчитывала первое значение КАМА, но предыдущего значения КАМА не было? Я не знаю, как это сделать, но, пожалуйста, укажите мне, что делать.