Stratégie de tendance moyenne dynamique


Date de création: 2023-11-15 17:45:13 Dernière modification: 2023-11-15 17:45:13
Copier: 0 Nombre de clics: 624
1
Suivre
1621
Abonnés

Stratégie de tendance moyenne dynamique

Aperçu

Cette stratégie est basée sur les indicateurs de la marque moyenne dynamique, en combinaison avec les bandes de Brin et le RSI pour filtrer les signaux de transaction, pour réaliser une stratégie de suivi de la tendance qui ne fait que faire plus et pas de blanchiment. La stratégie juge la tendance en calculant la variation de la marque moyenne dynamique du prix de clôture de la ligne de Heck et en comparant avec les bandes de Brin pour émettre un signal de transaction.

Principe de stratégie

Le cœur de cette stratégie est de calculer la variation de la marque moyenne dynamique du prix de clôture de la ligne de Heck. Plus précisément, il s’agit de calculer la différence de la marque moyenne de la ligne K actuelle par rapport aux deux lignes K précédentes, puis de multiplier le coefficient de sensibilité pour obtenir la variation de la marque moyenne exacte.

On compare ensuite cette variation avec la différence entre les trains de la bande de Brin et les trains de la bande de Brin. Si la variation de la ligne moyenne de Mark est supérieure à la variation de la bande de Brin, on considère que la tendance se produit.

En outre, la stratégie a également un filtre RSI qui n’émet des signaux multiples que lorsque le RSI est supérieur à la marge, évitant ainsi le risque d’un renversement de tendance.

Avantages stratégiques

  • L’utilisation d’une ligne de mesure dynamique pour déterminer la tendance permet de suivre efficacement les changements de tendance.
  • Les bandes de Brin, en tant qu’indicateur dynamique, en combinaison avec la ligne de la Marque, permettent de mieux identifier les éruptions de tendance
  • Les filtres RSI permettent d’éviter les faux signaux de rebond bas
  • Le marché de l’emploi est en plein essor, et les prix sont en hausse.
  • Paramètres réglables, flexibles et optimisés pour différentes variétés et cycles

Risque stratégique

  • Le fait d’être plus occupé que de ne pas être occupé ne peut pas profiter de la baisse des prix
  • Trop dépendant de l’optimisation des paramètres, les différentes variétés et les différents cycles nécessitent des retests
  • L’incapacité à saisir efficacement une reprise de la tendance pourrait entraîner des pertes plus importantes
  • Un mauvais réglage du filtre RSI peut faire passer une opportunité de trading
  • La sensibilité à des paramètres élevés est sujette à des transactions bruyantes.

Les mesures d’atténuation des risques comprennent: un ajustement approprié des paramètres pour les rendre plus stables, un retour de tendance en combinaison avec d’autres indicateurs, une utilisation uniquement dans des tendances claires sur les lignes longues, etc.

Orientation de l’optimisation de la stratégie

Il y a un peu de place pour l’optimisation de cette stratégie:

  • Essayez différentes sources de prix, telles que le prix de clôture, la moyenne, etc., pour obtenir un meilleur effet de lissage.

  • Adaptation des paramètres de cycle de la ligne de Marc et de la bande de Bryn pour optimiser les différentes variétés

  • Essayez de remplacer les coefficients de sensibilité par des ratios pour rendre les résultats plus intuitifs

  • Ajout d’autres filtres, tels que la moyenne de tendance, le volume des transactions, etc., pour améliorer la qualité du signal

  • Développer des stratégies d’hélicoptère, en fonction de la forme de l’indicateur de l’opération inverse

  • L’adhésion à un mécanisme de coupe-défaut pour une meilleure maîtrise des risques

Résumer

Cette stratégie est généralement une stratégie de suivi de tendance plus stable. Elle utilise la courbe de la moyenne dynamique pour déterminer la direction de la tendance, identifier les points de rupture de la courbe de Brin, filtrer les faux signaux RSI, réaliser un système de tendance qui ne fait que faire plus. Mais il existe également un certain risque, nécessitant l’optimisation des paramètres pour différentes variétés et cycles, et ne peut pas tirer profit de la baisse.

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

//@version=5

///////////Original Script Courtesy of Lazy_Bear.... Absolute Legend\\\\\\\\\\\\\\\

strategy('SmoothedWaddah', overlay=false, initial_capital=1)
sensitivity = input(150, title='Sensitivity')
fastLength = input(20, title='MacD FastEMA Length')
slowLength = input(40, title='MacD SlowEMA Length')
channelLength = input(20, title='BB Channel Length')
mult = input(1.5, title='BB Stdev Multiplier')
RSI14filter = input(40, title='RSI Value trade filter')

////////////MacD Calculation of price//////////////////////////////
calc_macd(source, fastLength, slowLength) =>
    fastMA = ta.ema(source, fastLength)
    slowMA = ta.ema(source, slowLength)
    fastMA - slowMA

/////////BolingerBand Calculation of Price///////////////////////
calc_BBUpper(source, length, mult) =>
    basis = ta.sma(source, length)
    dev = mult * ta.stdev(source, length)
    basis + dev

calc_BBLower(source, length, mult) =>
    basis = ta.sma(source, length)
    dev = mult * ta.stdev(source, length)
    basis - dev

//////heinkenashi chart call for closing price "smoothing mechanism"\\\\\\\\\\\\\\\\\\\\\\\\\\\
point = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close)

////////////////////T1 is change in MacD current  candle from previous candle Sensitivy amplifies calculation/////////////////////
t1 = (calc_macd(point, fastLength, slowLength) - calc_macd(point[1], fastLength, slowLength)) * sensitivity
//////////////////////T2 is  T1 from two candles prior\\\\\\\\\\\\\\\\\\\\\\\\\\\
t2 = (calc_macd(point[2], fastLength, slowLength) - calc_macd(point[3], fastLength, slowLength)) * sensitivity

////////////////E1 is difference in bolinger band upper and lower...E2 is E1 from one candle prior not needed//////////////
e1 = calc_BBUpper(ohlc4, channelLength, mult) - calc_BBLower(ohlc4, channelLength, mult)
//e2 = (calc_BBUpper(close[1], channelLength, mult) - calc_BBLower(close[1], channelLength, mult))

//////signal bar printing.. Up if MacD positive .. Down if MacD negative//////////
trendUp = t1 >= 0 ? t1 : 0
trendDown = t1 < 0 ? -1 * t1 : 0

///////plots difference in macD*Sensitivity, color change if increasing or decreasing. 
//////color is green/lime if explosion is up \ color is red/orange if explosion is down/////////
plot(trendUp, style=plot.style_columns, linewidth=1, color=trendUp < trendUp[1] ? color.new(color.lime,45) : color.new(color.green,45), title='UpTrend')
plot(trendDown, style=plot.style_columns, linewidth=1, color=trendDown < trendDown[1] ? color.new(color.orange,45) : color.new(color.red,45), title='DownTrend')
plot(e1, style=plot.style_line, linewidth=2, color=color.new(#A0522D, 0), title='ExplosionLine')


////////////Entry conditions and Concept/////////////////////
////////////Long Only System. T1 is measuring the distance between MACD EMA's. This is Multiplied
////////////by the sensitivity so that it can be compared to the difference between BollingerBand. 
/////////////{this could have been a ratio maybe i will work with that in a different script.} 
/////////////I found that 135-175 sensitivy allows for values to be compared on most charts.....
////////////If the (difference between the EMA)*(Sensitivity) is greater than (BB upper line- BB lower line)
////////////it is considered an explosion in either the downside or the upside.The indicator will print
///////////a bar higher than the trigger line either green or red (up or down respectively)//////////////////

longCondition = trendUp > e1 and ta.rsi(close, 14) > RSI14filter
if longCondition
    strategy.entry('up', strategy.long)

strategy.close('up', trendDown > e1)