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) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
E eu mesmo escrevi um código para implementar o KAMA, de acordo com a definição do indicador: Direção (DIR) = Preço de fechamento - Preço de fechamento n dias atrás Volatilidade (VIR) = soma(abs(preço de fechamento - preço de fechamento do dia de negociação anterior), n) Eficiência (ER) = Direção / Volatilidade Rápido = 2 / (n1 + 1) Lento = 2 / (n2 + 1) Suavidade (CS) = Eficiência * (Rápido - Lento) + Lento Coeficiente(CQ) = Suavização * Suavização KAMA = média ponderada indexada ((MDA ((Price, Coefficient)) 2) (este último passo é calculado de acordo com: KAMA atual = KAMA anterior + SC x (Price - KAMA anterior))
Depois de procurar por um longo tempo e não ter visto onde veio o KAMA anterior no último passo, quando o primeiro KAMA foi calculado, o KAMA anterior não existia, certo? Por favor, digam-me o que fazer.