Stratégie de volatilité Momentum Breakout ATR


Date de création: 2024-01-12 13:50:44 Dernière modification: 2024-01-12 13:50:44
Copier: 0 Nombre de clics: 732
1
Suivre
1617
Abonnés

Stratégie de volatilité Momentum Breakout ATR

Aperçu

Cette stratégie utilise une stratégie simple de moyenne mobile combinée à une stratégie de double moyenne, en plus de l’indicateur de volatilité ATR pour déterminer la volatilité du marché. Lorsqu’une courte moyenne périodique traverse la moyenne périodique longue, elle est jugée comme un marché à plusieurs têtes.

Principe de stratégie

La partie centrale est la stratégie de la bi-médiane. La stratégie de la bi-médiane choisit généralement une moyenne à court terme et une moyenne à long terme, comme la moyenne à 50 jours et la moyenne à 200 jours. Elle génère un signal d’achat lorsque la moyenne à court terme traverse la moyenne à long terme.

Cette stratégie utilise la moyenne à 50 jours comme moyenne à court terme et la moyenne à 200 jours comme moyenne à long terme. La combinaison de la moyenne pondérée par la masse de la circulation VWAP détermine la fiabilité du signal de la moyenne. Elle n’intervient que lorsque le signal de la moyenne et VWAP sont synchronisés.

En ajoutant l’indicateur RSI, évitez de trop acheter et de trop vendre. Évitez d’acheter lorsque le RSI est supérieur à 70 et évitez de vendre lorsque le RSI est inférieur à 30.

Enfin, la volatilité et le niveau de risque du marché sont déterminés par l’indicateur de volatilité moyenne de l’ATR. La volatilité est définie comme élevée lorsque la valeur de l’ATR est supérieure à 1.18. Le changement de couleur de fond indique que le risque est élevé et permet d’éviter temporairement la négociation en attendant que la volatilité diminue.

Analyse des avantages

Les avantages de cette stratégie se reflètent principalement dans trois aspects:

  1. Les lignes binaires capturent les points de basculement des tendances à moyen et long terme du marché et profitent de la tendance pour négocier.

  2. La combinaison de VWAP et de filtrage de faux signaux améliore la fiabilité du signal.

  3. L’introduction de l’indicateur RSI peut réduire les pertes en évitant les contretemps.

  4. L’utilisation de l’indicateur de volatilité ATR pour évaluer les risques du marché permet de réduire les pertes en évitant les périodes de forte volatilité.

  5. L’utilisation de différentes combinaisons d’indicateurs est simple et compréhensible, ce qui est idéal pour les débutants en trading quantitatif.

Analyse des risques

Cette stratégie présente aussi des risques:

  1. Les cours peuvent avoir déjà beaucoup évolué au moment où le signal est généré, et il y a un risque d’être arbitragé. La solution consiste à réduire le cycle de la courbe moyenne et à accélérer la réaction de l’indicateur.

  2. Les erreurs de VWAP peuvent filtrer les signaux de transaction corrects. La solution doit être confirmée par d’autres indicateurs.

  3. À la fin de la tendance, le RSI peut être en zone de sur-achat et de sur-vente pendant une longue période, ce qui entraîne un revirement de tendance manqué. La solution consiste à confirmer la tendance en combinaison avec d’autres indicateurs, tels que le MACD.

  4. L’ATR peut être retardé dans la détermination des fluctuations du marché. La solution est de combiner les prix les plus élevés et les prix les plus bas pour déterminer les fluctuations du marché.

  5. Le rendement peut ne pas atteindre les attentes et nécessite un ajustement approprié des paramètres.

Direction d’optimisation

Il y a encore beaucoup de place pour optimiser cette stratégie:

  1. Testez plus de combinaisons homogènes pour trouver le paramètre optimal.

  2. Ajouter plus de signaux de filtrage d’indicateurs auxiliaires tels que MACD, KDJ, etc.

  3. Optimiser les paramètres de stop-loss, réduire les pertes et augmenter les bénéfices.

  4. Évaluer les différences entre les stratégies de négociation des actions fortes et des actions faibles, en procédant à une modélisation de la classification.

  5. Optimisation automatique des paramètres et évaluation stratégique, combinée à des algorithmes d’apprentissage automatique tels que RNN.

  6. Développer un système de négociation automatique, connecté à un disque dur pour des tests de retour.

Résumer

Cette stratégie est une stratégie de suivi de tendance relativement simple dans l’ensemble. L’utilisation de la ligne de la double équivalence pour juger des tendances à court et à long terme. Le traitement des signaux en combinaison avec le VWAP et le RSI, l’évaluation des risques ATR.

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

//@version=5
strategy("Simple Moving Averages", overlay=true)

sma50 = ta.sma(close, 50)
sma200 = ta.sma(close, 200)
vwap = ta.vwap(close)
rsi = ta.rsi(close, 14)
[diPlus, diMinus, adx_val] = ta.dmi(14, 14)
atr_val = ta.atr(14)

plot(sma50, color=color.new(color.green, 0))
plot(sma200, color=color.new(color.red, 0))
plot(vwap)

longCondition = ta.crossover(sma50, sma200) and vwap > close
shortCondition = ta.crossunder(sma50, sma200) and vwap < close

if (longCondition)
    strategy.entry("Long", strategy.long)
    
if (shortCondition)
    strategy.entry("Short", strategy.short)

barcolor = sma50 > sma200 ? (vwap < close ? (rsi < 70 ? color.green : color.blue) : color.yellow) : (sma50 < sma200 ? (vwap > close ? (rsi > 30 ? color.red : color.orange) : color.yellow) : na)
barcolor(barcolor)
bgcolor(adx_val > 25 and atr_val > 1.18 ? color.new(color.gray, 50) : color.new(color.black, 50), transp=90)

// ADX and ATR Label Box
// label.new(bar_index, high, "ADX: " + str.tostring(adx_val, "#.##") + "\nATR: " + str.tostring(atr_val, "#.##"), color=color.new(color.white, 0), textcolor=color.new(color.black, 0), style=label.style_labeldown, yloc=yloc.price, xloc=xloc.bar_index, size=size.small, textalign=text.align_left)

// Exit conditions (optional)
strategy.close("Long", when = ta.crossunder(sma50, sma200))
strategy.close("Short", when = ta.crossover(sma50, sma200))

// Take Profit and Stop Loss
takeProfitPercentage = 5
stopLossPercentage = 3

strategy.exit("Take Profit / Stop Loss", "Long", profit = takeProfitPercentage, loss = stopLossPercentage)
strategy.exit("Take Profit / Stop Loss", "Short", profit = takeProfitPercentage, loss = stopLossPercentage)