
Cette stratégie combine les extrêmes de l’indicateur Relative Strength Index (RSI) et le filtrage de la moyenne Simple Moving Average (SMA) pour suivre la tendance. Lorsque le RSI atteint les extrêmes d’un surachat ou d’une survente, la direction de la moyenne SMA est jugée plus ou moins. Cette stratégie s’applique aux indices boursiers américains, aux indices européens, aux indices asiatiques et à des variétés telles que l’or et l’argent blanc.
Cette stratégie permet de saisir efficacement la tendance en choisissant le moment d’entrée par le biais de la gamme de surachat et de survente du RSI, combinée au filtrage de la tendance du SMA. La valeur maximale du RSI indique que le prix peut être inversé, tandis que la décision de direction du SMA assure la conformité de la direction de la transaction avec la tendance.
Comparé à l’utilisation unique de l’indicateur RSI, cette stratégie augmente le jugement de la tendance du SMA, évitant de faire aveuglément plus de blanchiment. Comparé à l’utilisation unique du système SMA, cette stratégie, basée sur la direction du SMA, utilise les valeurs extrêmes du RSI pour entrer en jeu et améliorer l’efficacité de la sélection.
Il existe un risque de renversement de tendance lorsque la moyenne SMA crée une fourche morte. La solution consiste à raccourcir le cycle SMA de manière appropriée et à augmenter la sensibilité aux changements de tendance.
Il existe un risque de perte d’opportunités de négociation lorsque le RSI est dévié. La solution est de combiner le jugement d’autres indicateurs, tels que le MACD, pour éviter le déviement.
Dans une situation de choc, le RSI et le SMA peuvent générer des signaux erronés. La solution consiste à suspendre la stratégie de négociation après la détection d’un choc.
Une mauvaise configuration des paramètres peut entraîner des transactions excessives ou des soldes négatifs. La solution est d’optimiser les paramètres et de trouver la meilleure combinaison de paramètres.
Le test d’une seule variété n’est pas suffisant pour évaluer l’efficacité de la stratégie.
La rétrospective n’est pas la même chose que le marché réel, qui nécessite une bonne gestion des fonds et de la gestion des risques.
Optimiser les paramètres du RSI pour trouver les meilleurs paramètres du cycle du RSI pour différentes variétés.
Optimiser les paramètres de cycle SMA pour intégrer plusieurs groupes de moyennes SMA.
Augmenter les mécanismes de prévention des pertes et améliorer la capacité de contrôle des risques.
Ajouter d’autres critères de jugement et réaliser une vérification multifactorielle.
Le rythme de l’entrée en scène a été modifié en fonction de l’indicateur de volatilité.
Développer des paramètres qui s’adaptent au système et optimiser les paramètres dynamiques.
Testez différentes méthodes de gestion de fonds pour trouver la meilleure.
Créer des ensembles de stratégies de négociation en fonction des différentes conditions du marché et réaliser l’intégration des stratégies.
La stratégie de filtrage RSI et SMA, qui regroupe la longueur des deux, permet le suivi de la tendance grâce à un jugement simple des indicateurs. La stratégie est claire et compréhensible, les paramètres sont raisonnables et peuvent être largement appliqués à une variété de variétés.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
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('Relative Strength Index Extremes with 200-Day Moving Average Filte', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.cash, default_qty_value=36000, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.01)
// Rsi
rsi_lenght = input.int(14, 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)
//Sma
Length1 = input.int(200, title=' SMA Lenght', minval=1)
SMA1 = ta.sma(close, Length1)
//Strategy Logic
Long = rsi_value < 45 and close > SMA1
Long_exit = rsi_value > 75 and close > SMA1
Short = rsi_value > 65 and close < SMA1
Short_exit = rsi_value < 25 and close < SMA1
if Long
strategy.entry('Long', strategy.long)
if Short
strategy.entry('Short', strategy.short)
strategy.close_all(Long_exit or Short_exit)
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, minval=0.5)
los = pera(stoploss)
strategy.exit('SL', loss=los)
//by wielkieef