Stratégie de change RSI oscillante longue et courte


Date de création: 2023-12-25 13:49:48 Dernière modification: 2023-12-25 13:49:48
Copier: 0 Nombre de clics: 607
1
Suivre
1623
Abonnés

Stratégie de change RSI oscillante longue et courte

Aperçu

La stratégie d’échange de crypto-monnaie RSI à oscillation multiple est une stratégie de négociation quantitative utilisée dans les crypto-monnaies. Elle combine l’indicateur technique de marché RSI avec l’indicateur ICHIMOKU pour identifier les signaux d’oscillation multiple lors des fluctuations de prix et réaliser des achats et des ventes à bas prix. Elle s’applique aux cycles de longue ligne moyenne, tels que 3-4 heures ou plus.

Principe de stratégie

La stratégie est basée principalement sur les indicateurs et règles suivants:

Indicateur ICHIMOKU

  • Ligne Tenkan: le plus haut et le plus bas des 20 dernières lignes K
  • Ligne Kijun: la moyenne des prix les plus bas et les plus élevés des 50 dernières lignes K
  • La ligne A de Senkou: le point intermédiaire entre la ligne Tenkan et la ligne Kijun
  • Ligne B de Senkou: le plus haut et le plus bas prix des 120 dernières lignes K
  • La ligne Chikou: les 30 premières lignes de K à la clôture de la ligne K actuelle

Indicateur RSI

  • La plage est de 0 à 100.
  • Au-dessus de 50 c’est un signal à plusieurs têtes, en dessous de 50 c’est un signal à tête vide.

Règles d’entrée
Entrée à plusieurs têtes: la ligne Tenkan traverse la ligne Kijun (la croix de l’or) et le prix franchit la ligne Senkou A&B, tandis que le RSI est supérieur à 50 Entrée à vide: Tenkan passe sous la ligne Kijun (cross de la mort) et le prix est inférieur à la ligne Senkou A&B, tandis que le RSI est inférieur à 50

Retour à la règle
Arrêt immédiat de dommages en cas de signal contraire à l’entrée

Cette stratégie tient compte des tendances à moyen et long terme, de la liquidité à court terme et des situations de survente et de survente pour saisir les opportunités de reprise dans des conditions de choc. Elle met en place des règles de stop-loss pour éviter des pertes massives.

Analyse des avantages

1. Une évaluation intégrée de plusieurs indicateurs pour une plus grande certitude

La stratégie prend en compte à la fois la tendance de l’ICHIMOKU et les jugements de résistance de soutien, les situations de sur-achat et de survente du RSI, ainsi que la liquidité des fonds dans la direction de l’entité de la ligne K, garantissant la fiabilité du signal.

2. Convient pour les bouleversements et génère souvent des bénéfices.

La volatilité du marché de la crypto-monnaie est importante, et la stratégie a été conçue pour saisir les occasions de retournement dans des conditions de choc, permettant des achats et des ventes fréquents.

3. Prévenir les chutes à la suite d’une chute, les risques sont maîtrisés

La stratégie doit prendre en compte les tendances à moyen et long terme ainsi que les conditions à court terme pour éviter les risques de chasse au trésor et prévoir des risques d’évitement des pertes.

Analyse des risques

1. Peut manquer une partie de l’opération

La stratégie est basée sur l’inversion, avec des mouvements fréquents de fonds de frappe en cas de longues périodes de fonctionnement.

2. Une seule espèce, pas de risque dispersé

La stratégie consiste à ne négocier qu’une seule variété et ne permet pas de diversifier le risque systémique du marché.

3. La cessation des pertes dans des situations extrêmes

Dans des situations extrêmes, telles que des sauts en l’air, des explosions de puissance, etc., la stratégie peut déclencher un stop-loss et forcer la sortie.

Direction d’optimisation

1. Augmenter les stratégies de stop-loss et réduire les pertes ponctuelles

Il est possible de définir un stop-loss mobile ou un stop-loss en pourcentage de solde pour bloquer les bénéfices et empêcher leur retour à zéro.

2. La diversification du risque de marché combinée à la corrélation des indices boursiers

Il est possible de rechercher des opportunités de trading dans des variétés fortement liées aux indices boursiers afin de diversifier le risque systémique du marché.

3. Augmenter les filtres conditionnels et réduire les transactions invalides

Il est possible de régler des conditions telles que la volatilité des prix et la variation du volume d’échanges, afin d’éviter les signaux de retour inefficaces et d’améliorer la probabilité de réaliser un profit.

Résumer

La stratégie d’échange de crypto-monnaie à RSI multiple et oscillant utilise l’indicateur ICHIMOKU et l’indicateur RSI pour déterminer le point de basculement de la crypto-monnaie, ce qui est approprié pour les conditions de choc. Elle met en place des règles de stop-loss pour contrôler les risques. La stratégie peut être améliorée en optimisant le mécanisme de stop-loss, le risque de dispersion associé et le filtrage des conditions.

Code source de la stratégie
/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-24 00:00:00
period: 3m
basePeriod: 1m
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/
// © exlux99

//@version=4

strategy(title="Ichimoku + RSI Crypto trending strategy", overlay=true, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, pyramiding=1  )

UseHAcandles    = input(true, title="Use Heikin Ashi Candles in Algo Calculations")
//
// === /INPUTS ===

// === BASE FUNCTIONS ===

haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow   = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low


//Inputs
ts_bars = input(20, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(50, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(120, minval=1, title="Senkou-Span B Bars")
cs_offset = input(30, minval=1, title="Chikou-Span Offset")
ss_offset = input(30, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

//Volatility
//vollength = input(defval=1, title="VolLength")
//voltarget = input(defval=0., type=input.float, step=0.1, title="Volatility Target")
//Difference = abs((haClose - haOpen)/((haClose + haOpen)/2) * 100)
//MovingAverage = sma(Difference, vollength)
//highvolatility = MovingAverage > voltarget

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

middle(len) => avg(lowest(len), highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)

//RSI
change = change(haClose)
gain = change >= 0 ? change : 0.0
loss = change < 0 ? (-1) * change : 0.0
avgGain = rma(gain, 14)
avgLoss = rma(loss, 14)
rs = avgGain / avgLoss
rsi = 100 - (100 / (1 + rs))

ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(haClose, cs_offset-1) > 0
cs_cross_bear = mom(haClose, cs_offset-1) < 0
price_above_kumo = haClose > ss_high
price_below_kumo = haClose < ss_low
rsi_bullish = rsi > 50
rsi_bearish = rs < 50
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and rsi_bullish //and highvolatility
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and rsi_bearish //and highvolatility

strategy.entry("Long", strategy.long, when=bullish and long_entry and time_cond)
strategy.entry("Short", strategy.short, when=bearish and short_entry and time_cond)

strategy.close("Long", when=bearish and not short_entry and time_cond)
strategy.close("Short", when=bullish and not long_entry and time_cond)