Dans l'analyse technique, Aroon est un indicateur technique très unique. Le mot
L'indicateur Aroon aide les traders à prédire la relation de position relative entre les mouvements de prix et les zones de tendance en calculant le nombre de lignes K entre les prix les plus élevés et les plus bas avant la distance actuelle de la ligne K. Il se compose de deux parties: AroonUp et AroonDown.
L'indicateur Aroon exige que vous définissiez d'abord un paramètre de période de temps, tout comme le paramètre de période moyenne. Dans les logiciels de trading traditionnels, le nombre de cycles est de 14. En outre, ce paramètre de période n'est pas fixe. Vous pouvez également le définir à 10 ou 50 et ainsi de suite. Pour plus de compréhension, définissons-le comme: N. Après avoir déterminé N, nous pouvons calculer AroonUp et AroonDown.
La formule spécifique est la suivante:
De cette formule, nous pouvons voir à peu près l'idée de l'indicateur Aroon. C'est-à-dire: combien de cycles il y a, et le prix est en dessous du récent haut / bas, ce qui aide à prédire si la tendance actuelle se poursuivra et à mesurer la force de la tendance actuelle. Si nous classons cet indicateur, il est évident qu'il appartient au type de suivi de tendance. Mais contrairement aux autres mesures de suivi de tendance, il accorde plus d'attention au temps que au prix.
AroonUp et AroonDown reflètent l'heure actuelle et le prix le plus élevé ou le plus bas précédent. Si le temps est proche, la valeur sera plus grande. Si le temps est loin, la valeur sera plus petite. Et lorsque les deux lignes se croisent, cela indique que la direction du prix peut changer. Si AroonUp est au-dessus d'AroonDown, le prix augmente, le prix peut augmenter; si AroonDown est au-dessus d'AroonUp, le prix est dans une tendance à la baisse, le prix peut baisser.
Dans le même temps, nous pouvons également définir quelques valeurs fixes pour trouver avec précision l'opportunité de trading. Nous savons que l'indicateur Aroon a été en hausse et en baisse entre 0 et 100. Ainsi, lorsque le marché est en hausse, c'est-à-dire lorsque AroonUp est au-dessus d'AroonDown, lorsque AroonUp est supérieur à 50, la tendance haussière du marché s'est déjà formée, et le prix peut continuer à l'avenir. lorsque AroonUp est inférieur à 50, la dynamique des hausses de prix diminue, et les prix peuvent fluctuer et baisser à l'avenir.
En revanche, lorsque le marché est en tendance à la baisse, c'est-à-dire lorsque AroonDown est au-dessus d'AroonUp, lorsque AroonDown est supérieur à 50, la tendance à la baisse du marché s'est déjà formée et le prix peut continuer à baisser à l'avenir; lorsque AroonDown s'use de 50, la force motrice de la baisse des prix s'affaiblit. Les prix futurs peuvent fluctuer et augmenter.
Après avoir clarifié la logique de négociation, nous pouvons la mettre en œuvre avec du code. Dans cet article, nous continuons à utiliser le langage JavaScript, et la variété de négociation est toujours des contrats à terme sur matières premières. le lecteur ayant de solides compétences en programmation peut également le traduire en Python, ou crypto-monnaie.
Suivez ces étapes:fmz.com> Connexion > Tableau de bord > Bibliothèque de stratégies > Nouvelle stratégie, commencez à écrire la stratégie, faites attention aux commentaires dans le code ci-dessous.
Étape 1: Utilisation du cadre CTA
Si vous l'avez adapté à la crypto-monnaie, cliquez sur: Bibliothèque de négociation au comptant de devises numériques.
Function main() {
// ZC000/ZC888 refers to using the index as the source of the market but the transaction is mapped to the main contract
$.CTA("ZC000/ZC888", function(st) {
})
}
Étape 2: obtenir les données
Function main() {
$.CTA("ZC000/ZC888", function(st) {
Var r = st.records; // get the K line array
Var mp = st.position.amount; // Get the number of positions
})
}
Étape 3: Calculer l'indicateur Aroon
Function main() {
$.CTA("ZC000/ZC888", function(st) {
Var r = st.records; // get the K line array
Var mp = st.position.amount; // Get the number of positions
If (r.length < 21) { // Determine if the K line data is sufficient
Return;
}
Var aroon = talib.AROON(r, 20); // Aroon indicator
Var aroonUp = aroon[1][aroon[1].length - 2]; // Aroon indicator goes online with the second root data
Var aroonDown = aroon[0][aroon[0].length - 2]; // Aroon's indicator goes down the second root of the data
})
}
Étape 4: Calcul des conditions de négociation et placement des ordres
Function main() {
$.CTA("ZC000/ZC888", function(st) {
Var r = st.records; // get the K line array
Var mp = st.position.amount; // Get the number of positions
If (r.length < 21) { // Determine if the K line data is sufficient
Return;
}
Var aroon = talib.AROON(r, 20); // Aroon indicator
Var aroonUp = aroon[1][aroon[1].length - 2]; // Aroon indicator goes online with the second root data
Var aroonDown = aroon[0][aroon[0].length - 2]; // AAroon's indicator goes down the second root of the data
If (mp == 0 && aroonUp > aroonDown && aroonUp > 50) {
Return 1; // long position open
}
If (mp == 0 && aroonDown > aroonUp && aroonDown > 50) {
Return -1; // short position open
}
If (mp > 0 && (aroonUp < aroonDown || aroonUp < 50)) {
Return -1; // multi-head platform
}
If (mp < 0 && (aroonDown < aroonUp || aroonDown < 50)) {
Return 1; // short platform
}
})
}
// The above code is a complete strategy based on the JavaScript language.
// --------------------Dividing line--------------------
// In order to take care of the reach of the party, this strategy is also translated into My language. At the same time, this can also be used for digital currency. Here is the complete policy code:
AROONUP := ((N - HHVBARS(H, N)) / N) * 100; // Aroon indicator goes online
AROONDOWN := ((N - LLVBARS(L, N)) / N) * 100; // Aroon indicator goes offline
AROONUP > AROONDOWN && AROONUP > BKV, BK; // Long position open
AROONDOWN > AROONUP && AROONDOWN > SKV, SK; // short position
AROONUP < AROONDOWN || AROONUP < SPV, SP; // Multi-head platform
AROONDOWN < AROONUP || AROONDOWN < BPV, BP; // Short platform
AUTOFILTER;
Afin de nous rapprocher de l'environnement commercial réel, nous avons utilisé les 2 pips de glissement et 2 fois les frais de transaction pour tester la pression pendant le backtest.
Environnement d'essai
Rapport sur les résultats
Curve des fonds
D'après les résultats des tests antérieurs ci-dessus, la stratégie est très bonne lorsque la tendance du marché est fluide, que ce soit en hausse ou en baisse, l'indicateur Aroon peut suivre complètement le marché. La courbe de capital a également montré une tendance globale à la hausse et il n'y a pas eu de retracement significatif.
Avantages: L'indicateur Aroon peut juger de l'état de la tendance du marché, prendre en compte la tendance du marché et la capacité de juger de l'inversion des prix, et aider les traders à augmenter l'utilisation des fonds.
Inconvénients: L'indicateur Aroon n'est qu'un des indicateurs de suivi de tendance, il présente les mêmes lacunes que l'indicateur de suivi de tendance. il ne peut juger que du nombre de périodes du prix le plus élevé ou le plus bas à un moment donné, mais parfois le prix le plus élevé ou le plus bas sera contingent dans l'ensemble de la tendance du marché, cette contingence interférera avec l'indicateur Aroon lui-même, provoquant de faux signaux.
Pour le code source,
avec la version JavaScript, veuillez cliquer:https://www.fmz.com/strategy/154547avec la version Mylanguage, veuillez cliquer:https://www.fmz.com/strategy/155582
Dans cette stratégie, nous avons fixé certains paramètres, tels que: aroonUp ou aroonDown est supérieur et inférieur à 50, ce qui provoque la question de retard de la stratégie. Dans de nombreux cas, le marché augmentera ou diminuera pendant une période de temps avant de fermer la position. Bien que cela ait amélioré le taux de gain et réduit le taux de retracement maximum, il a également manqué beaucoup de profits, ce qui a également confirmé la vérité de l'homonyme de profit et perte. Les amis intéressés peuvent creuser plus profondément et l'améliorer.