Stratégie de trading basée sur le pullback de cassure


Date de création: 2024-02-28 18:01:56 Dernière modification: 2024-02-28 18:01:56
Copier: 0 Nombre de clics: 585
1
Suivre
1617
Abonnés

Stratégie de trading basée sur le pullback de cassure

Aperçu

La stratégie de négociation de reprise de rupture est une stratégie de négociation de courte ligne qui consiste à calculer l’indicateur de force absolue du prix et l’indicateur MACD pour réaliser des transactions de reprise de rupture dans une tendance particulière. Cette stratégie comprend plusieurs indicateurs pour juger des tendances majeures, des tendances intermédiaires et des tendances à court terme.

Principe de stratégie

Cette stratégie est basée sur l’indicateur de force absolue du prix et l’indicateur MACD pour réaliser des transactions de reprise de rupture. Tout d’abord, le calcul des émas de 9 cycles, 21 cycles et 50 cycles du prix, pour déterminer la direction de la tendance majeure. Ensuite, le calcul de l’indicateur de force absolue du prix, qui reflète la force de l’ajustement à court terme.

Plus précisément, la tendance à la hausse de la variété nécessite de satisfaire à l’EMA du 9e jour supérieur à l’EMA du 21e jour et à l’EMA du 21e jour supérieur à l’EMA du 50e jour. Le critère de jugement de l’ajustement à court terme est l’écart de l’indicateur de force absolue inférieur à 0, le MACDDIFF est inférieur à 0. La tendance à la baisse de la variété nécessite de satisfaire à l’EMA du 9e jour inférieur à l’EMA du 21e jour et à l’EMA du 21e jour inférieur à 50 jours.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Une combinaison de tendances majeures et d’ajustements à court terme pour éviter les fausses percées
  2. Utilisation de combinaisons d’indicateurs multiples, plus de fiabilité
  3. L’indicateur d’intensité absolue reflète la force d’ajustement pour juger de la qualité du réglage
  4. Le MACD peut déterminer les tendances à court terme et les zones de survente

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Une mauvaise évaluation des tendances majeures peut conduire à un échec des transactions
  2. Une erreur de jugement dans le temps et la force de la rétractation peut entraîner une rétractation invalide.
  3. Les indicateurs sont diffusés dans des conditions extrêmes, générant de faux signaux.

Pour répondre à ces risques, il est possible d’optimiser les paramètres et de juger les différents indicateurs cycliques; d’ajuster les règles de maintien des positions et de contrôler les pertes individuelles; d’améliorer les méthodes de filtrage des signaux de plus d’indicateurs et d’améliorer l’exactitude.

Direction d’optimisation

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

  1. Tester plus de combinaisons d’indicateurs pour trouver des stratégies de trading plus adaptées
  2. Optimiser les paramètres de l’indicateur et améliorer sa sensibilité
  3. Modifier la méthode de stop loss pour réduire la valeur maximale de la perte individuelle
  4. Augmentation des conditions de filtrage pour émettre des signaux dans des zones plus efficaces
  5. Augmentation de l’exactitude des jugements, combinée à une augmentation des indicateurs des cycles temporels

Résumer

Dans l’ensemble, la stratégie de trading de rebond de rupture est une stratégie de trading de courte ligne relativement stable. Elle combine un jugement de tendance large, court et multiple pour éviter de faire des erreurs de trading dans des conditions de choc. L’utilisation d’une combinaison d’indicateurs améliore également l’exactitude du jugement.

Code source de la stratégie
/*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)