Stratégies de trading d'actions basées sur l'oscillateur Aroon


Date de création: 2024-01-15 14:08:33 Dernière modification: 2024-01-15 14:08:33
Copier: 1 Nombre de clics: 586
1
Suivre
1617
Abonnés

Stratégies de trading d’actions basées sur l’oscillateur Aroon

Aperçu de la stratégie

Cette stratégie est appelée la stratégie de l’oscillateur d’Alon Saucius et s’applique aux actions, indices et marchandises dont les prix sont très volatils et sans tendance évidente. La stratégie utilise l’indicateur d’oscillateur d’Alon pour identifier les tendances des prix et, en combinaison avec plusieurs paramètres, définir les conditions d’entrée et de sortie pour permettre la négociation automatique de ces actifs risqués.

Principe de stratégie

Cette stratégie est née de l’idée de Tushar Chande, le fondateur de la ligne d’Alon. Selon Chande, les tendances à plusieurs têtes et à la tête vide peuvent être identifiées lorsque l’oscillateur d’Alon est supérieur ou inférieur à 50. Cela aide à compenser les lacunes de la simple ligne d’Alon et de la croisée d’Alon dans les marchés non tendance.

En particulier, la stratégie commence par calculer la ligne supérieure d’Alon, la ligne inférieure d’Alon et l’oscillateur d’Alon de 19 cycles. L’oscillateur est calculé en soustrayant la ligne inférieure de la ligne supérieure.

Ainsi, la ligne médiane est utilisée pour déterminer la direction de la tendance à l’entrée du terrain, et les rails supérieurs et inférieurs sont utilisés pour l’inversion de la tendance à l’extérieur du terrain, ce qui permet une transaction automatisée basée sur l’indicateur de l’oscillateur d’Aaron.

Avantages stratégiques

Les avantages de cette stratégie par rapport aux stratégies traditionnelles de suivi des tendances sont les suivants:

  1. Il est plus efficace que la simple stratégie de tendance.
  2. L’oscillateur Alon est plus fiable pour détecter les tendances
  3. Les conditions de paramétrage sont strictes pour éviter les transactions erronées
  4. Des bénéfices rapides et un contrôle efficace des risques de pertes

Dans l’ensemble, cette stratégie, combinée aux avantages de l’indicateur de l’oscillateur d’Arlon, permet d’obtenir de bonnes performances en termes d’automatisation des transactions, de taux de victoire et de rentabilité pour des variétés spécifiques.

Risque stratégique

Cette stratégie comporte aussi des risques:

  1. Les paramètres doivent être ajustés et optimisés en fonction des variétés, sinon cela affectera les résultats.
  2. La fréquence des transactions peut être plus élevée, ce qui augmente les coûts de transaction et les coûts de dérapage.
  3. Dépendance à des indicateurs techniques qui peuvent entraîner des pertes en cas de défaillance

Ces points de risque peuvent être améliorés et atténués en ajustant les paramètres et en optimisant le code. De plus, une bonne localisation et une bonne gestion des fonds permettent de contrôler efficacement les risques potentiels.

Optimisation de la stratégie

Afin d’améliorer encore l’efficacité de la stratégie, il est possible d’optimiser la stratégie dans les domaines suivants:

  1. Adapter les paramètres pour tester les variétés et les environnements de marché
  2. Ajouter une combinaison d’autres indicateurs techniques pour créer un signal de trading plus puissant
  3. Augmentation des stratégies de coupe-perte et maîtrise des pertes individuelles
  4. La combinaison des indicateurs quantitatifs pour éviter les erreurs de transaction lors de la percée virtuelle
  5. Optimiser les conditions d’entrée et réduire le nombre de transactions inutiles

La stabilité, le succès et la rentabilité des stratégies peuvent être considérablement améliorés par des tests et des optimisations multilatéraux.

Résumer

Cette stratégie, basée sur l’indicateur de l’oscillateur d’Aaron, permet de réaliser de manière créative des transactions automatisées sur des variétés plus volatiles et moins tendance. Par rapport à la stratégie de tendance traditionnelle, son efficacité est meilleure sur ces variétés, et des conditions de négociation strictes sont également réalisées grâce à la définition de paramètres.

Code source de la stratégie
/*backtest
start: 2023-12-15 00:00:00
end: 2024-01-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// by Saucius Finance https://saucius-finance.blogspot.com/
// copyrights reserved :)
// This strategy derives form the consideration of the author, Tushar Chande, that, in "more patterns" paragraph, 
// long and short trends are identified by oscillator < or > line 50. 
// This helps because simple Aroon and Aroon crosses suffer in not trending periods.
// original article avabile in:" Stocks & Commodities, V. 13:9 (369-374) : A Time Price Oscillator by Tushar Chande, Ph.D.""
strategy("Aroon Oscillator strategy by Saucius", overlay=false)
//building aroon lines, Embodying both Aroon line (Up and Down) and Aroon Oscillator
length = input(19, minval=1)
level_middle = input(-25, minval=-90, maxval=90, step = 5)
levelhigh = input(75,  minval=-100, maxval=100, step = 5)
levellow = input(-85,  minval=-100, maxval=100, step = 5)
upper = 100 * (highestbars(high, length+1) + length)/length
lower = 100 * (lowestbars(low, length+1) + length)/length
oscillator = upper - lower 
plot(upper, title="Aroon Up", color=blue)
plot(lower, title="Aroon Down", color=red)
plot(oscillator, title="Aroon Oscillator", color = yellow)
hline(level_middle, title="middle line", color=gray,  linewidth=2)
hline(levelhigh, title ="upper border", color=gray,  linewidth=1)
hline(levellow, title ="lower border", color=gray, linewidth=1)

// Entry //
entryl = oscillator[1] < level_middle[1] and oscillator > level_middle
entrys = oscillator[1] > level_middle[1] and oscillator < level_middle
strategy.entry("Long", true, when = entryl)
strategy.entry("Short", false, when = crossunder (oscillator, level_middle))


// === EXIT===
exitL1 = oscillator[1] > levelhigh[1] and oscillator < levelhigh
exitS1 =  oscillator[1] < levellow[1] and oscillator > levellow
strategy.close("Long", when=entrys)
strategy.close("Short", when=entryl)
strategy.close("Long", when= exitL1)
strategy.close("Short", when= exitS1)