[TOC]

En analyse technique, Aroon est un indicateur technique très particulier. Le mot « Aroon » vient du sanskrit et signifie « aube ». Il n’est pas aussi connu que MA, MACD, KDJ. Il a été introduit plus tard et n’a été inventé qu’en 1995 par Tushar Chande. L’auteur a également inventé le Chande Momentum Oscillator (CMO) et l’Intraday Momentum Index (IMI). Si un indicateur technique est plus connu et utilisé, sa capacité à générer des bénéfices sera moindre. L’indicateur Aroon, relativement nouveau, est tout le contraire. De ce point de vue, c’est un bon choix.
L’indicateur Aroon aide les traders à prédire les changements dans la position relative des mouvements de prix et des zones de tendance en calculant le nombre de chandeliers entre le chandelier actuel et les prix les plus élevés et les plus bas précédents. Il se compose de deux parties, à savoir AroonUp et AroonDown. Ces deux lignes montent et descendent entre 0 et 100. Bien qu’elles soient nommées ligne supérieure et ligne inférieure, elles ne sont pas identiques. Contrairement à l’indicateur BOLL, il n’a pas de véritables lignes supérieures et inférieures. La figure suivante est l’indicateur Aroon :

L’indicateur Aroon nécessite de définir d’abord un paramètre de période de temps, tout comme pour la définition du paramètre de période de moyenne mobile. Dans les logiciels de marché traditionnels, ce numéro de période est 14. Bien entendu, ce paramètre de période n’est pas fixe. Vous pouvez également le définir sur 10 ou 50, etc. attendez. Pour faciliter la compréhension, définissons ce paramètre de période comme : N. Après avoir déterminé N, nous pouvons calculer AroonUp et AroonDown. La formule de calcul spécifique est la suivante :
À partir de cette formule, nous pouvons voir approximativement l’idée de l’indicateur Aroon. C’est-à-dire : combien de cycles le prix a été en dessous du récent haut/bas, ce qui permet de prédire si la tendance actuelle va se poursuivre et de mesurer la force de la tendance actuelle. Si nous catégorisons cet indicateur, il est évident qu’il appartient au type de suivi de tendance. Mais contrairement à d’autres indicateurs de suivi de tendance, il met davantage l’accent sur le temps plutôt que sur le prix.
AroonUp et AroonDown reflètent la distance entre l’heure actuelle et le prix le plus élevé ou le plus bas précédent. Si l’heure est plus proche, la valeur est plus grande, et si l’heure est plus éloignée, la valeur est 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, cela signifie que le prix est dans une tendance à la hausse et que le prix peut encore augmenter à l’avenir ; si AroonDown est au-dessus d’AroonUp, cela signifie que le prix est dans une tendance à la baisse et que le prix pourrait encore augmenter à l’avenir. Il pourrait encore baisser.
Dans le même temps, nous pouvons également définir plusieurs valeurs fixes pour déterminer avec précision le moment de l’entrée. Nous savons que l’indicateur Aroon évolue toujours entre 0 et 100. Ainsi, lorsque le marché est dans une tendance à la hausse, c’est-à-dire lorsque AroonUp est supérieur à AroonDown, lorsque AroonUp est supérieur à 50, cela signifie que la tendance à la hausse du marché s’est formée. et le prix pourrait continuer à augmenter à l’avenir. Lorsque AroonUp passe en dessous de 50, cela signifie que la dynamique de hausse des prix s’affaiblit et que le prix pourrait fluctuer et baisser à l’avenir.
Au contraire, lorsque le marché est dans une tendance à la baisse, c’est-à-dire lorsque AroonDown est supérieur à AroonUp, lorsque AroonDown est supérieur à 50, cela signifie que la tendance à la baisse du marché s’est formée et que le prix peut continuer à baisser à l’avenir ; Lorsque AroonDown passe en dessous de 50, cela signifie que la dynamique de baisse des prix s’affaiblit. Les prix peuvent fluctuer et augmenter à l’avenir. Ensuite, selon les deux théories ci-dessus, nous pouvons énumérer les conditions d’achat et de vente comme suit :
Après avoir clarifié la logique de trading, nous pouvons l’implémenter avec du code. Dans cet article, nous continuerons à utiliser le langage JavaScript, et le produit est toujours un contrat à terme sur matières premières. Les amis ayant de bonnes compétences pratiques peuvent également traduire le code en langage Python ou en monnaie numérique. OK, sans plus tarder, ouvrez : fmz.com > Connexion > Centre de contrôle > Bibliothèque de politiques > Nouvelle politique, commencez à écrire la politique et faites attention aux commentaires dans le code ci-dessous.
Étape 1 : Utiliser un framework CTA
Avis! Assurez-vous de cliquer sur les éléments suivants :商品期货交易类库. Si vous passez à la monnaie numérique, cliquez sur :数字货币现货交易类库。
function main() {
// ZC000/ZC888 指用指数做为行情源但交易映射到主力连续合约上
$.CTA("ZC000/ZC888", function(st) {
})
}
Étape 2 : Récupérer les données
function main() {
$.CTA("ZC000/ZC888", function(st) {
var r = st.records; // 获取K线数组
var mp = st.position.amount; // 获取持仓数量
})
}
Étape 3 : Calculer l’indicateur Aroon
function main() {
$.CTA("ZC000/ZC888", function(st) {
var r = st.records; // 获取K线数组
var mp = st.position.amount; // 获取持仓数量
if (r.length < 21) { // 判断K线数据是否足够
return;
}
var aroon = talib.AROON(r, 20); // 阿隆指标
var aroonUp = aroon[1][aroon[1].length - 2]; // 阿隆指标上线倒数第2根数据
var aroonDown = aroon[0][aroon[0].length - 2]; // 阿隆指标下线倒数第2根数据
})
}
Étape 4 : Calculez les conditions de trading et passez une commande
function main() {
$.CTA("ZC000/ZC888", function(st) {
var r = st.records; // 获取K线数组
var mp = st.position.amount; // 获取持仓数量
if (r.length < 21) { // 判断K线数据是否足够
return;
}
var aroon = talib.AROON(r, 20); // 阿隆指标
var aroonUp = aroon[1][aroon[1].length - 2]; // 阿隆指标上线倒数第2根数据
var aroonDown = aroon[0][aroon[0].length - 2]; // 阿隆指标下线倒数第2根数据
if (mp == 0 && aroonUp > aroonDown && aroonUp > 50) {
return 1; // 多头开仓
}
if (mp == 0 && aroonDown > aroonUp && aroonDown > 50) {
return -1; // 空头开仓
}
if (mp > 0 && (aroonUp < aroonDown || aroonUp < 50)) {
return -1; // 多头平台
}
if (mp < 0 && (aroonDown < aroonUp || aroonDown < 50)) {
return 1; // 空头平台
}
})
}
// 以上代码就是基于JavaScript语言完整的策略。
// --------------------分割线--------------------
// 为了照顾伸手党,顺便也把这个策略翻译成My语言。同时该也可以用于数字货币,以下是完整的策略代码:
AROONUP := ((N - HHVBARS(H, N)) / N) * 100; // 阿隆指标上线
AROONDOWN := ((N - LLVBARS(L, N)) / N) * 100; // 阿隆指标下线
AROONUP > AROONDOWN && AROONUP > BKV, BK; // 多头开仓
AROONDOWN > AROONUP && AROONDOWN > SKV, SK; // 空头开仓
AROONUP < AROONDOWN || AROONUP < SPV, SP; // 多头平台
AROONDOWN < AROONUP || AROONDOWN < BPV, BP; // 空头平台
AUTOFILTER;
Afin d’être plus proche de l’environnement de trading réel, nous utilisons 2 sauts pour l’ouverture et la fermeture des positions et 2 fois les frais de traitement pour les tests de résistance lors du backtesting. L’environnement de test est le suivant :
Environnement de test
Détails des revenus
Courbe de financement
D’après les résultats du backtest ci-dessus, nous pouvons voir que la stratégie fonctionne bien lorsque la tendance du marché est régulière. Qu’elle soit à la hausse ou à la baisse, l’indicateur Aroon peut suivre entièrement le marché. La courbe des capitaux a également tendance à être globalement à la hausse, et il n’y a pas eu de repli significatif. Cependant, dans un marché volatil, en particulier dans un marché continuellement volatil, des replis locaux se sont produits.
Dans la stratégie, nous avons fixé certains paramètres, tels que : aroonUp ou aroonDown est supérieur ou inférieur à 50, ce qui provoque le décalage de la stratégie. Dans de nombreux cas, le marché va monter ou descendre pendant un certain temps avant l’ouverture et positions de fermeture. Bien que cela augmente le taux de gain et réduise le taux de retrait maximum, cela manque également beaucoup de bénéfices, ce qui confirme également le principe selon lequel les bénéfices et les pertes ont la même source. Les amis intéressés peuvent l’étudier en profondeur et y apporter des améliorations.