Comme son nom l'indique, la moyenne mobile (KAMA) appartient à la catégorie des moyennes mobiles, mais contrairement à la moyenne mobile traditionnelle, elle est beaucoup plus intelligente que le MA normal. Nous savons que le MA présente de nombreuses lacunes. Par exemple, la moyenne mobile à court terme est proche de la tendance des prix, ce qui est très sensible, mais il est facile de produire de faux signaux. La moyenne mobile à long terme est très précise dans la capture de la tendance, mais réagit souvent très lentement lorsque le prix du marché a changé pendant un certain temps.
La "intelligence" du KAMA se reflète dans le fait qu'il peut être basé sur l'état actuel du marché, c'est-à-dire la volatilité, pour ajuster la sensibilité.
Les avantages sont les suivants: il peut réduire les coûts de transaction causés par les mouvements de prix
Par défaut, le nombre de cycles n est de 10, n1 est le nombre de cycles à court terme est de 2 et n2 est le nombre de cycles à long terme est de 30.
Le KAMA est calculé en calculant d'abord la direction (DIR) et la volatilité (VIR), puis en calculant l'efficacité en proportion de ces deux. L'efficacité (ER) est une mesure du degré de changement de prix et est calculée de manière simple: direction / volatilité. Le résultat du calcul se situe entre 0 et 1. Lorsque la valeur de l'ER est plus proche de 0, le marché est dans un état d'oscillation. Lorsque la valeur de l'ER est plus proche de 1, le marché est dans un état de tendance.
Lors du calcul de l'efficacité (ER), la constante d'adoucissement (CS) peut être obtenue en combinant la moyenne mobile rapide et la moyenne mobile lente:
Efficacité * (rapide - lent) + lent
CS représente la vitesse de l'opération de tendance. Selon la formule de calcul de CS, nous pouvons trouver que le changement de CS est toujours proportionnel au changement de ER.
Ensuite, le coefficient (CQ) est calculé en fonction de la puissance lissée, et le but est de rendre le paramètre de cycle lent plus important dans le calcul, qui est également une approche plus prudente.
Dans le calcul de KAMA, le coefficient (CQ) détermine les paramètres périodiques des deux derniers lissages de la moyenne mobile, à savoir: moyenne pondérée exponentielle (moyenne mobile dynamique (prix de clôture, coefficient), 2).
Bien que la méthode de calcul de KAMA
Étape 1: calculer le KAMA
Notez que dans le coin supérieur gauche, veuillez sélectionner le langage de programmation: Mon langage. Il y a déjà un KAMA prêt à l'emploi dans la bibliothèque talib, mais il n'a qu'un seul cycle de paramètres externes (n), et n1 et n2 sont par défaut 2 et 30.
Les stratégies de cet article sont uniquement utilisées à titre de référence. Les lecteurs ayant de fortes capacités de programmation peuvent écrire leurs propres.
%% // Standard format for JavaScript within My language
scope.KAMA = function() {
var r = _C(exchange.GetRecords); // Get the K line array
if (r.length > 140) { // filter the length of the K line
var kama = talib.KAMA(r, 140); // Call talib library to calculate KAMA
Return kama[kama.length - 2]; // return the specific value of KAMA
}
Return;
}
%% // Standard format for JavaScript within My language
Étape 2: calculer les conditions de négociation et passer une commande
%%
scope.KAMA = function() {
var r = _C(exchange.GetRecords);
if (r.length > 140) {
var kama = talib.KAMA(r, 140);
Return kama[kama.length - 2];
}
Return;
}
%%
K^^KAMA; // Print KAMA on the chart
A:CLOSE; // print the closing price on the chart
K > REF(K, 1) && CLOSE > K,BK; // Open long position
K < REF(K, 1) && CLOSE < K,SK; // Open short position
K < REF(K, 1) || CLOSE < K,SP; // close long position
K > REF(K, 1) || CLOSE > K,BP; // close short position
Étape 3: définir la méthode de filtrage des signaux stratégiques
%%
scope.KAMA = function() {
var r = _C(exchange.GetRecords);
if (r.length > 140) {
var kama = talib.KAMA(r, 140);
Return kama[kama.length - 2];
}
Return;
}
%%
K^^KAMA;
A:CLOSE;
K > REF(K, 1) && CLOSE > K,BK;
K < REF(K, 1) && CLOSE < K,SK;
K < REF(K, 1) || CLOSE < K,SP;
K > REF(K, 1) || CLOSE > K,BP;
AUTOFILTER; // Enable one open and one close signal filtering mechanism
Afin de nous rapprocher de l'environnement de négociation réel, nous avons utilisé les 2 pips de glissement pour tester la pression dans le commerce réel.
Environnement de contre-essai
Détails des bénéfices
Curve des fonds
D'après les résultats des backtest ci-dessus, cette simple stratégie KAMA est vraiment à la hauteur des attentes. Même dans le marché super-grand ours de la crypto-monnaie en 2018, la courbe de capital n'a pas montré de retracement important, et il n'y avait pas de position ouverte et fermée à plusieurs reprises dans la période de choc à long terme sur le marché causant des pertes inutiles.
Pour plus d'informations, veuillez nous contacter à:https://www.fmz.com/strategy/155663
Une excellente stratégie qui peut être une stratégie ferme doit être affinée. Les stratégies de cet article ont beaucoup d'espace pour optimiser et améliorer, comme l'ajout de certaines conditions de filtrage, de conditions de stop-loss et de conditions de stop-loss actives. En tant que sorte de moyenne mobile, KAMA hérite des avantages et des inconvénients des moyennes mobiles ordinaires et en même temps sublime. Dans un marché imprévisible, même si vous fixez un paramètre