Les ressources ont été chargées... Je charge...

Stratégie de négociation de la dynamique de la tendance RSI avec double MA et confirmation du volume

Auteur:ChaoZhang est là., Date: 2024-11-28 17h02:32
Les étiquettes:Indice de résistanceSMA

img

Résumé

Cette stratégie est un système de suivi des tendances qui combine les signaux de survente du RSI, les moyennes mobiles à long terme et la confirmation du volume. Elle vise à capturer des positions longues pendant les conditions de survente dans des tendances haussières établies, validées par l'expansion du volume.

Principes de stratégie

La logique de base est basée sur trois conditions clés travaillant en harmonie:

  1. Signaux de survente du RSI (RSI<=30): Capture les opportunités de rebond du marché
  2. L'alignement haussier à double MA (SMA250>SMA500): confirme la tendance à la hausse à long terme
  3. Confirmation du volume (volume courant>volume MA*2,5 sur 20 périodes): Valide les mouvements de prix

Une position longue est initiée lorsque les trois conditions sont remplies simultanément. Le signal de sortie est déclenché par une croix de mort (croisement MA plus court en dessous de MA plus long).

Les avantages de la stratégie

  1. La confirmation multiple réduit les faux signaux: l'intégration du RSI, des MA et du volume fournit un filtrage robuste du signal
  2. Caractéristiques de suivi des tendances: les MAs à long terme empêchent les opérations contre-tendance
  3. Contrôle complet du risque: le stop-loss fixe gère efficacement le risque par transaction
  4. Haute adaptabilité: les paramètres peuvent être ajustés en fonction des différentes conditions du marché
  5. Sélection stricte des échanges: conditions multiples assurent un calendrier d'entrée optimal

Risques stratégiques

  1. Risque de retard: les MAs à long terme entraînent un retard significatif dans l'identification des tendances
  2. Risque de surfiltrage: des conditions multiples strictes pourraient faire échouer des opportunités de négociation valides
  3. Risque de marché variable: des faux signaux peuvent se produire fréquemment sur les marchés latéraux
  4. Risque de configuration stop-loss: les stops à pourcentage fixe peuvent ne pas convenir à toutes les conditions de marché
  5. Risque d'optimisation des paramètres: une optimisation excessive peut entraîner de mauvaises performances de négociation en direct

Directions d'optimisation

  1. L'établissement de la banque doit être en mesure d'exercer des contrôles de la banque en tenant compte de l'évolution de la situation.
  2. Quantification de la force de la tendance: intégrer l'ADX ou des indicateurs similaires pour une meilleure évaluation de la tendance
  3. Optimisation de la taille des positions: ajustement de la taille des positions en fonction de la force du signal et de la volatilité du marché
  4. Amélioration du mécanisme de sortie: ajout d'objectifs de bénéfice et d'arrêts de retard pour les sorties flexibles
  5. Filtrage du temps: mettre en œuvre des filtres de temps de négociation pour éviter les périodes inefficaces

Résumé

Il s'agit d'une stratégie de suivi des tendances bien conçue avec une logique rigoureuse, équilibrant efficacement les rendements et les risques à travers de multiples indicateurs techniques.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © wielkieef

//@version=5
strategy(title=' Rsi Long-Term Strategy [15min]', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)

// Rsi
rsi_lenght = input.int(10, title='RSI lenght', minval=0)
rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght)
rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght)
rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down)
rsi_overs = rsi_value <= 30
rsi_overb = rsi_value >= 70

// Volume
vol_sma_length = input.int(20, title='Volume lenght  ', minval=1)
Volume_condt = volume > ta.sma(volume, vol_sma_length) * 2.5

//SMA1
lengthSMA1 = input(250, title="Lenght SMA 1")
SMA1 = ta.sma(close, lengthSMA1)
//plot(SMA1, color=color.rgb(245, 108, 3), linewidth=1, title="SMA250")

//SMA2
lengthSMA2 = input(500, title="Lenght SMA 2")
SMA2 = ta.sma(close, lengthSMA2)
//plot(SMA2, color=#9803f5, linewidth=1, title="SMA500")


//Entry Logic
Long_cond = (rsi_overs and SMA1 > SMA2 and Volume_condt )  

if Long_cond
    strategy.entry('Long', strategy.long)

//Close Logic
Long_close = ta.crossunder(SMA1,SMA2)

if Long_close
    strategy.close("Long")

//Bar colors
Bar_color = Volume_condt ? #fc9802 : SMA1 > SMA2 ? color.rgb(84, 252, 0) : SMA1 < SMA2 ? color.maroon : color.gray
barcolor(color=Bar_color)

// Rsi value Plotshapes
plotshape(rsi_value < 30 and SMA1 > SMA2 and Volume_condt, title='Buy', color=color.new(color.green, 0), style=shape.circle, location=location.belowbar, size=size.tiny, textcolor=color.new(color.black, 0))
plotshape(rsi_value > 70 and SMA1 < SMA2 and Volume_condt, title='Sell', color=color.new(color.red, 0), style=shape.circle, location=location.abovebar, size=size.tiny, textcolor=color.new(color.black, 0))
plotshape(ta.crossunder(SMA1,SMA2) , title='DEATH CROSS', color=#000000, style=shape.xcross, location=location.abovebar, size=size.small, textcolor=color.new(color.black, 0))

//Stop-Loss// this code is from author RafaelZioni, modified by wielkieef
pera(pcnt) =>
    strategy.position_size != 0 ? math.round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss = input.float(title=' stop loss', defval=5.0, minval=0.5)
los = pera(stoploss)
strategy.exit('SL', loss=los)




// by wielkieef

Relationnée

Plus de