La stratégie de négociation de rappel de rupture

Auteur:ChaoZhang est là., Date: 2024-02-28 18h01:56
Les étiquettes:

img

Résumé

La stratégie de trading de rebond de rupture réalise le trading de rebond de rupture sous des tendances spécifiques en calculant l'indice de force absolue et l'indice MACD des prix. Elle appartient aux stratégies de trading à court terme. Cette stratégie intègre plusieurs indicateurs pour juger des tendances majeures, des tendances à moyen terme et des tendances à court terme. Elle effectue des transactions de suivi de tendance à travers des signaux de confirmation alignés sur la tendance et complémentaires à l'indicateur.

Principe de stratégie

Cette stratégie s'appuie principalement sur l'indice de force absolue et l'indice MACD des prix pour mettre en œuvre le trading de rappel de rupture. Premièrement, il calcule les EMA de prix de 9 périodes, 21 périodes et 50 périodes pour juger de la direction de la tendance principale; puis il calcule l'indice de force absolue des prix pour refléter la force des ajustements à court terme; enfin, il calcule l'indice MACD pour juger de la direction de la tendance à court terme. Il achète lorsque la tendance principale est à la hausse et qu'il y a un ajustement à court terme; il vend lorsque la tendance principale est à la baisse et qu'il y a un rebond à court terme.

Plus précisément, la tendance à la hausse majeure de la variété nécessite que l'EMA à 9 jours soit supérieure à l'EMA à 21 jours et que l'EMA à 21 jours soit supérieure à l'EMA à 50 jours. Les critères pour juger les ajustements à court terme sont que la différence de l'indice de force absolue est inférieure à 0 et MACDDIFF est inférieure à 0.

Analyse des avantages

La stratégie présente les avantages suivants:

  1. Combinaison des principales tendances et des ajustements à court terme pour éviter de fausses ruptures
  2. Une plus grande fiabilité avec une combinaison d'indicateurs multiples
  3. L'indice de force absolue reflète la force des ajustements pour juger de la qualité des rappels
  4. Le MACD peut évaluer les tendances à court terme et les zones de surachat/survente

Analyse des risques

La stratégie comporte également certains risques:

  1. Une mauvaise appréciation des grandes tendances peut conduire à un échec commercial
  2. Un jugement erroné du temps et de la force du rappel peut entraîner un rappel invalide
  3. Différence des indicateurs dans des conditions de marché extrêmes, résultant en des signaux erronés

En réponse aux risques susmentionnés, des méthodes telles que l'optimisation des paramètres, le jugement des indicateurs de différents cycles, l'ajustement des règles de position pour contrôler les pertes uniques, la combinaison de plus d'indicateurs pour filtrer les signaux et l'amélioration de la précision peuvent être utilisées pour améliorer la stratégie.

Directions d'optimisation

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

  1. Testez plus de combinaisons d'indicateurs pour trouver des stratégies de trading plus appropriées
  2. Optimiser les paramètres de l'indicateur pour améliorer sa sensibilité
  3. Modifier les méthodes de stop loss pour réduire la perte unique maximale
  4. Améliorer les conditions de filtrage pour émettre des signaux dans des zones plus efficaces
  5. Combiner plus d'indicateurs de temps pour améliorer la précision du jugement

Résumé

En résumé, la stratégie de trading de rappel de rupture est généralement une stratégie de trading à court terme relativement stable. Elle combine des jugements de tendance sur plusieurs délais pour éviter des transactions erronées sur des marchés oscillants. En même temps, l'utilisation combinée d'indicateurs améliore également la précision des jugements.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5 
strategy("Divergence Scalper [30MIN]", overlay=true , commission_value=0.04 ) 
message_long_entry = input("long entry message") 
message_long_exit = input("long exit message") 
message_short_entry = input("short entry message") 
message_short_exit = input("short exit message") 
//3x ema 
out9 = ta.ema(close,9) 
out21 = ta.ema(close,21) 
out50 = ta.ema(close,50) 
//abs 
absolute_str_formula( ) => 
    top=0.0 
    bottom=0.0 
    if(close>close[1]) 
        top:= nz(top[1])+(close/close[1]) 
    else 
        top:=nz(top[1]) 
    if(close<=close[1]) 
        bottom:= nz(bottom[1])+(close[1]/close) 
    else 
        bottom:=nz(bottom[1]) 
    if (top+bottom/2>=0) 
        1-1/(1+(top/2)/(bottom/2)) 
abs_partial=absolute_str_formula() 
abs_final = abs_partial - ta.sma(abs_partial,50) 
//macd 
fast_length = input(title="Fast Length", defval=23) 
slow_length = input(title="Slow Length", defval=11) 
src = input(title="Source", defval=open) 
signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 6) 
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) 
sma_signal = input.string(title="Signal Line MA Type", defval="SMA", options=["SMA", "EMA"]) 
// Calculating 
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) 
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) 
macd = fast_ma - slow_ma 
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) 
hist = macd - signal 
long= abs_final > 0 and hist <0 and out9<out21 and out21<out50 
short = abs_final <0 and hist >0 and out9>out21 and out21>out50 
long_exit = abs_final <0 and hist >0 and out9>out21 and out21>out50 
short_exit = abs_final > 0 and hist <0 and out9<out21 and out21<out50 
strategy.entry("long", strategy.long, when = long and barstate.isconfirmed, alert_message = message_long_entry) 
strategy.entry("short", strategy.short, when = short and barstate.isconfirmed, alert_message = message_short_entry) 
strategy.close("long", when = long_exit and barstate.isconfirmed, alert_message = message_long_exit) 
strategy.close("short", when = short_exit and barstate.isconfirmed, alert_message = message_short_exit) 


Plus de