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) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
J’ai également écrit le code d’implémentation de l’indicateur KAMA en fonction de sa définition: Direction (DIR) = Cours de clôture - Cours de clôture il y a n jours Volatilité (VIR) = somme (abs (cours de clôture - cours de clôture du jour de négociation précédent), n) Efficacité (ER) = Direction / Volatilité Rapide = 2 / (n1 + 1) Lent = 2 / (n2 + 1) Douceur (CS) = Efficacité * (Rapide - Lent) + Lent Coefficient (CQ) = Lissage * Lissage KAMA = moyenne pondérée indexée ((mobile moyenne mobile ((prix de clôture, facteur), 2) (la dernière étape est calculée selon la formule suivante: KAMA actuel = KAMA précédent + SC x (Price - KAMA précédent))
Si vous cherchez depuis longtemps et que vous ne voyez pas d’où vient le premier KAMA dans la dernière étape, alors il n’y a pas de précédent KAMA dans le calcul de la première valeur de KAMA, n’est-ce pas ? Je vous en prie, dites-moi ce que je dois faire.