Stratégies de suivi des tendances multiples


Date de création: 2023-11-17 17:19:37 Dernière modification: 2023-11-17 17:19:37
Copier: 1 Nombre de clics: 664
1
Suivre
1617
Abonnés

Stratégies de suivi des tendances multiples

Aperçu

La stratégie de suivi de tendance multiple utilise les quatre indicateurs MACD, RSI, ATR et DEMA pour identifier les tendances à court et à long terme des actions et effectuer des transactions de suivi de tendance. La stratégie combine les avantages des transactions de rupture et des transactions de suivi de tendance, afin de capturer les tendances sur les lignes plus longues et de trouver les meilleures opportunités d’entrée sur les lignes courtes.

Principe de stratégie

Stratégies de négociation MACD

Le MACD est un indicateur de dispersion des moyennes mobiles, un indicateur de suivi de la tendance. Le MACD est composé de moyennes mobiles rapides et moyennes mobiles lentes. Les paramètres courants sont l’EMA de 12 jours de la ligne rapide, l’EMA de 26 jours de la ligne lente et l’EMA de 9 jours de la ligne de signal.

Le RSI est une stratégie de survente.

Le RSI est un indice de force relative, qui reflète la sur-achat et la sur-vente d’actions. Le RSI est déterminé en comparant la hausse et la baisse de la clôture moyenne sur une période donnée.

Analyse des avantages

La stratégie utilise les quatre indicateurs MACD, RSI, ATR et DEMA, combinant le suivi de tendances et les transactions de rupture, permettant de trouver de meilleures opportunités d’entrée dans les tendances, avec les avantages suivants:

  1. Le MACD peut identifier efficacement les tendances à moyen et long terme.

  2. Le RSI permet de déterminer si une action est en surachat ou en survente à court terme et évite de suivre les hauts et les bas à un tournant de tendance.

  3. L’ATR modifie dynamiquement la position de la ligne d’arrêt pour contrôler efficacement les pertes individuelles.

  4. Le DEMA est un indicateur de jugement auxiliaire qui permet de filtrer une partie du bruit.

  5. La combinaison de plusieurs indicateurs peut améliorer la fiabilité des signaux de trading.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Les combinaisons d’indicateurs multiples peuvent être divergentes, entraînant des erreurs de signal de négociation.

  2. L’ATR est un indicateur de stop loss dynamique qui peut être percé lors de fortes fluctuations et entraîner des pertes.

  3. Le DEMA est un indicateur de tendance qui peut filtrer les opportunités de trading à court terme les plus fortes.

  4. Les paramètres stratégiques inappropriés peuvent entraîner une fréquence accrue des transactions, augmenter les coûts de transaction et la perte de points de glissement.

Le développement de stratégies de trading quantitatives nécessite une analyse méticuleuse des données historiques, un backtesting robuste et une gestion prudente des risques. Je ne peux recommander des actions spécifiques, mais je peux suggérer de se concentrer sur des principes de développement de stratégies saines.

Direction d’optimisation

La stratégie peut également être optimisée dans les domaines suivants:

  1. Testez différentes combinaisons de paramètres pour trouver le paramètre optimal.

  2. Augmentation des stratégies de stop loss, telles que le stop loss mobile, le stop loss moyen, etc., afin de contrôler davantage le risque.

  3. L’ajout de plus d’indicateurs auxiliaires de jugement, tels que KDJ, Brinband, etc., améliore la précision du signal.

  4. Optimiser les opportunités d’entrée en bourse, en combinant des stratégies telles que la rupture, pour trouver les meilleurs points de vente.

  5. Distinguer les marchés à capitaux multiples et les marchés à capitaux vides, en utilisant des paramètres différents.

  6. La modélisation de la catégorisation en fonction des caractéristiques de l’action rend la stratégie plus adaptable.

Résumer

La stratégie de suivi de tendances multiples utilise les quatre indicateurs MACD, RSI, ATR et DEMA pour réaliser une combinaison organique de suivi de tendance et de rupture de tendance. Comparée à la stratégie d’indicateur unique, cette stratégie peut fournir des signaux de négociation plus fiables et éviter certains faux signaux. L’efficacité de la stratégie peut être encore améliorée par l’optimisation des paramètres, la stratégie d’arrêt des pertes et le jugement d’assistance.

Code source de la stratégie
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © prim722

// © OTS Music

//@version=4
strategy("Atrend by OTS", overlay=true)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
if (crossover(delta, 0))
	strategy.entry("MACD buy", strategy.long, comment="MACD buy")
if (crossunder(delta, 0))
	strategy.entry("MACD sell", strategy.short, comment="MACD sell")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
length = input( 18 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = rsi(price, length)
co = crossover(vrsi, overSold)
cu = crossunder(vrsi, overBought)
if (not na(vrsi))
	if (co)
		strategy.entry("RSI buy", strategy.long, comment="RSI buy")
	if (cu)
		strategy.entry("RSI sell", strategy.short, comment="RSI sell")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)


Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=false)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=false)
atr2 = sma(tr, Periods)
atr= changeATR ? atr(Periods) : atr2
up=src-(Multiplier*atr)
up1 = nz(up[1],up)
up := close[1] > up1 ? max(up,up1) : up
dn=src+(Multiplier*atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_line, linewidth=2, color=color.white)
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0)
plotshape(buySignal and showsignals ? up : na, title="", text="", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.white, textcolor=color.white, transp=0)
dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_line, linewidth=2, color=color.gray)
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red, transp=0)
plotshape(sellSignal and showsignals ? dn : na, title="", text="", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? color.white : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.gray : color.white) : color.white
fill(mPlot, upPlot, title="UpTrend Highligter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highligter", color=shortFillColor)
alertcondition(buySignal, title="ATrend Buy", message="ATrend Buy!")
alertcondition(sellSignal, title="ATrend Sell", message="ATrend Sell!")
changeCond = trend != trend[1]
alertcondition(changeCond, title="ATrend Direction Change", message="ATrend has changed direction!")

length1 = input(25, minval=1)
srcb = input(close, title="Source")
e1 = ema(srcb, length1)
e2 = ema(e1, length)
dema = 2 * e1 - e2
plot(dema, "DEMA", color.red)