Stratégie quantitative de divergence RSI multi-période et de combinaison de supports et de résistances

RSI
Date de création: 2024-12-20 17:01:44 Dernière modification: 2024-12-20 17:01:44
Copier: 4 Nombre de clics: 539
1
Suivre
1617
Abonnés

Stratégie quantitative de divergence RSI multi-période et de combinaison de supports et de résistances

Aperçu

La stratégie est un système de trading quantitatif combinant l’indicateur technique RSI, les écarts de prix et les points de résistance de soutien. La stratégie détermine les signaux de trading en identifiant les écarts entre le RSI et les prix, et en combinant les ruptures avec les points de résistance de soutien, tout en intégrant des mécanismes de stop-loss et de stop-loss pour contrôler les risques.

Principe de stratégie

La stratégie repose sur les éléments fondamentaux suivants :

  1. Calcul de l’indicateur RSI: l’indicateur de force relative (RSI) sur 14 cycles est utilisé pour mesurer la dynamique des prix
  2. Identification des points de résistance de soutien: déterminer les niveaux de prix critiques à partir des prix les plus élevés et les plus bas de 50 cycles
  3. Il a été jugé coupable d’un détournement de jugement.
    • Déviation du bull market: lorsque les prix sont innovants et que le RSI n’est pas innovant et que les prix sont au-dessus du support
    • Déviation du marché baissier: lorsque le prix est élevé et que le RSI n’est pas élevé et que le prix est en dessous de la résistance
  4. Gestion des risques :
    • Stop loss de 1% après le début de la transaction
    • Un objectif de 2% de réduction

Avantages stratégiques

  1. Mécanisme de confirmation multiple: combinant les indicateurs de dynamique (RSI), la forme des prix (déclenchement) et la structure du marché (résistance au support), il fournit un signal de trading plus fiable
  2. Contrôle des risques: un système de stop-loss prédéfini permet de contrôler efficacement le risque de chaque transaction
  3. Adaptabilité: les paramètres de la stratégie peuvent être ajustés en fonction des différentes conditions du marché
  4. Les signaux sont clairs: les conditions de transaction sont claires, faciles à exécuter et à répéter

Risque stratégique

  1. Risque de fausse rupture: Faux signaux de rupture peuvent être fréquents sur les marchés de gré à gré
  2. Sensitivité des paramètres: le choix des cycles RSI et des cycles de résistance au support a un impact significatif sur la performance de la stratégie
  3. Effets des points de glissement: dans un mouvement rapide, le prix de transaction réel peut être décalé par rapport au prix du signal
  4. La dépendance aux conditions du marché: la performance est meilleure dans les marchés où la tendance est évidente, mais peut générer de faux signaux dans les marchés en turbulence

Orientation de l’optimisation de la stratégie

  1. Optimisation des fuseaux horaires: il est possible d’ajouter plusieurs mécanismes de confirmation des fuseaux horaires pour améliorer la fiabilité du signal
  2. Optimisation de l’arrêt des pertes: des mécanismes d’arrêt des pertes dynamiques peuvent être introduits, tels que le suivi des pertes
  3. Introduction de filtres: ajout de filtres tels que le débit, la volatilité, etc. pour réduire les faux signaux
  4. Adaptation des paramètres: développement d’un mécanisme d’adaptation des paramètres permettant à la stratégie d’ajuster automatiquement les paramètres en fonction des conditions du marché

Résumer

La stratégie a pour avantage de disposer d’un mécanisme de confirmation multiple et d’une maîtrise parfaite des risques, mais elle est également confrontée à des défis liés au choix des paramètres et à la dépendance des conditions du marché. La stabilité et l’adaptabilité de la stratégie sont susceptibles d’être encore améliorées grâce à l’orientation optimisée des recommandations.

Code source de la stratégie
/*backtest
start: 2024-12-12 00:00:00
end: 2024-12-19 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Агрессивная стратегия с дивергенциями по RSI и уровнями поддержки/сопротивления", overlay=true)

// Параметры для RSI
rsiLength = input.int(14, title="Период для RSI", minval=1)   // Период для расчета RSI
rsiOverbought = input.int(70, title="Уровень перекупленности", minval=1, maxval=100)
rsiOversold = input.int(30, title="Уровень перепроданности", minval=1, maxval=100)

// Параметры для стоп-лосса и тейк-профита
stopLossPercent = input.float(1, title="Стоп-лосс (%)", minval=0.1) / 100
takeProfitPercent = input.float(2, title="Тейк-профит (%)", minval=0.1) / 100

// Период для уровней поддержки и сопротивления
supportResistanceLength = input.int(50, title="Период для уровней поддержки и сопротивления", minval=1)

// Рассчитываем RSI
rsi = ta.rsi(close, rsiLength)

// Рассчитываем уровни поддержки и сопротивления
support = ta.lowest(close, supportResistanceLength)  // Находим минимумы за период для поддержки
resistance = ta.highest(close, supportResistanceLength)  // Находим максимумы за период для сопротивления

// Определяем дивергенцию RSI с ценой
priceHigh = ta.highest(close, rsiLength)
priceLow = ta.lowest(close, rsiLength)
rsiHigh = ta.highest(rsi, rsiLength)
rsiLow = ta.lowest(rsi, rsiLength)

// Дивергенция на покупку (бычья): цена делает новый минимум, а RSI этого не делает
bullishDivergence = priceLow < priceLow[1] and rsiLow > rsiLow[1] and close > support

// Дивергенция на продажу (медвежья): цена делает новый максимум, а RSI этого не делает
bearishDivergence = priceHigh > priceHigh[1] and rsiHigh < rsiHigh[1] and close < resistance

// Отображаем уровни поддержки и сопротивления
plot(support, title="Поддержка", color=color.green, linewidth=2, style=plot.style_line)
plot(resistance, title="Сопротивление", color=color.red, linewidth=2, style=plot.style_line)

// Условия для покупки по бычьей дивергенции
if (bullishDivergence)
    strategy.entry("Long", strategy.long)
    stopLoss = close * (1 - stopLossPercent)   // Стоп-лосс
    takeProfit = close * (1 + takeProfitPercent) // Тейк-профит
    strategy.exit("Exit Long", from_entry="Long", stop=stopLoss, limit=takeProfit)

// Условия для продажи по медвежьей дивергенции
if (bearishDivergence)
    strategy.entry("Short", strategy.short)
    stopLoss = close * (1 + stopLossPercent)   // Стоп-лосс для шорта
    takeProfit = close * (1 - takeProfitPercent) // Тейк-профит для шорта
    strategy.exit("Exit Short", from_entry="Short", stop=stopLoss, limit=takeProfit)

// Отображаем RSI на отдельном графике
plot(rsi, title="RSI", color=color.blue, linewidth=2)
hline(rsiOverbought, "Перекупленность", color=color.red)
hline(rsiOversold, "Перепроданность", color=color.green)