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
El error de la línea 9 en el argumento 'real' tiene un tipo incorrecto (expected numpy.ndarray, got OOO00)
Además, he escrito mi propio código para la implementación del índice KAMA según su definición:
Dirección (DIR) = Precio de cierre - Precio de cierre hace n días
Volatilidad (VIR) = suma(abs(precio de cierre - precio de cierre del día de negociación anterior), n)
Eficiencia (ER) = Dirección / Volatilidad
Rápido = 2 / (n1 + 1)
Lento = 2 / (n2 + 1)
Suavidad (CS) = Eficiencia * (Rápido - Lento) + Lento
Coeficiente (CQ) = Suavizado * Suavizado
KAMA = promedio ponderado por índice (PM) (promedio móvil (PM)) (precio de cierre, coeficiente), 2) (el último paso se calcula de la siguiente manera: KAMA actual = KAMA anterior + SC x (Price - KAMA anterior))
Después de buscar durante mucho tiempo y no ver de dónde viene el KAMA anterior en el último paso, cuando se calcula el primer valor de KAMA, no existe el valor de KAMA anterior, ¿verdad?
Los dioses me indican qué hacer.
- 1

