Stratégie de trading RSI de Laguerre


Date de création: 2023-12-19 14:04:46 Dernière modification: 2023-12-19 14:04:46
Copier: 0 Nombre de clics: 1317
1
Suivre
1621
Abonnés

Stratégie de trading RSI de Laguerre

Aperçu

La stratégie de négociation RSI de Rachael est basée sur le filtre RSI de John EHLERS. La stratégie augmente ou diminue la stagnation et la fluidité du RSI en ajustant le facteur α, ce qui filtre le bruit du RSI et émet un signal d’achat et de vente plus clair.

Principe de stratégie

L’indicateur central de la stratégie est le RSI de Raguel. Sa formule de calcul est la suivante:

L0 = (1-γ)*Src + γ*L0[1] L1 = -γ*L0 + L0[1] + γ*L1[1]
L2 = -γ*L1 + L1[1] + γ*L2[1] L3 = -γ*L2 + L2[1] + γ*L3[1]

où γ = 1-α, α est le coefficient réglable, Src représente le prix. L0 à L3 sont les 4 indicateurs qui contiennent la relation de succession. Sur cette base, on peut calculer le cumul ascendant cu et le cumul descendant cd:

cu = (L0>L1 ? L0-L1 : 0) + (L1>L2 ? L1-L2 : 0) + (L2>L3 ? L2-L3 : 0) cd = (L0

On peut alors calculer le RSI de Raguel en utilisant cu et cd:

LaRSI = cu / (cu + cd)

Ici, grâce à la structure du filtre récursif, le RSI de Rachael filtre une grande quantité de bruit aléatoire, ce qui permet de produire un signal de trading plus clair et plus fluide, tout en conservant la capacité de reconnaître les tendances du RSI.

Règles de négociation spécifiques: Faites plus lorsque vous portez 20 sur le RSI; faites moins lorsque vous portez 80 sur le RSI.

Analyse des avantages

Les principaux avantages de la stratégie RSI de Raguel sont:

  1. La structure du filtre Ragel filtre efficacement le bruit de l’indicateur RSI, rendant les signaux de négociation plus clairs et plus fiables

  2. L’ajustement du coefficient α permet d’optimiser les paramètres de la stratégie avec souplesse pour s’adapter à un environnement de marché plus large

  3. Il maintient l’efficacité à long terme de l’indicateur RSI tout en permettant l’identification de la dynamique, l’intégration des tendances et les surachats et les surventeurs via des filtres.

  4. Les règles de la stratégie sont simples, intuitives, faciles à mettre en œuvre et fonctionnent bien dans une variété d’environnements

Analyse des risques

La stratégie présente principalement les risques suivants:

  1. Une mauvaise configuration du coefficient α peut entraîner un retard excessif ou un filtre excessif, et manquer les changements de prix.

  2. Des pertes de trading fréquentes dans des marchés très volatiles

  3. Le marché haussier prolongé risque de laisser passer une partie de l’opportunité de hausse

Direction d’optimisation

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

  1. Paramètres optimisés par un algorithme d’apprentissage automatique pour le facteur α

  2. Augmentation des mécanismes de prévention des pertes et réduction des risques de pertes

  3. Combiné à d’autres indicateurs, il permet de détecter les signaux de fausse alerte.

  4. L’augmentation du modèle d’assouplissement quantitatif, qui bloque les bénéfices à un moment donné

Résumer

La stratégie RSI de Raguel est une stratégie de trading recommandée car elle est simple à utiliser, offre un grand espace d’optimisation des paramètres et s’adapte à divers environnements de marché.

Code source de la stratégie
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
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/
// © mertriver1
// Developer: John EHLERS
//@version=3
// Author:Kıvanç Özbilgiç
strategy("Laguerre RSI", shorttitle="LaRSI", overlay=false)
src = input(title="Source", defval=close)
alpha = input(title="Alpha", type=float, minval=0, maxval=1, step=0.1, defval=0.2)
colorchange = input(title="Change Color ?", type=bool, defval=false)

Date1      = input(true, title = "=== Date Backtesting ===")
FromDay1   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth1 = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear1  = input(defval = 2020, title = "From Year", minval = 2017)

ToDay1     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth1   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear1    = input(defval = 9999, title = "To Year", minval = 2017)

start1     = timestamp(FromYear1, FromMonth1, FromDay1, 00, 00) 
finish1    = timestamp(ToYear1, ToMonth1, ToDay1, 23, 59)        
window1()  => time >= start1 and time <= finish1 ? true : false

gamma=1-alpha
L0 = 0.0
L0 := (1-gamma) * src + gamma * nz(L0[1])
L1 = 0.0
L1 := -gamma * L0 + nz(L0[1]) + gamma * nz(L1[1])

L2 = 0.0
L2 := -gamma * L1 + nz(L1[1]) + gamma * nz(L2[1])

L3 = 0.0
L3 := -gamma * L2 + nz(L2[1]) + gamma * nz(L3[1])

cu= (L0>L1 ? L0-L1 : 0) + (L1>L2 ? L1-L2 : 0) + (L2>L3 ? L2-L3 : 0)

cd= (L0<L1 ? L1-L0 : 0) + (L1<L2 ? L2-L1 : 0) + (L2<L3 ? L3-L2 : 0)

temp= cu+cd==0 ? -1 : cu+cd
LaRSI=temp==-1 ? 0 : cu/temp

Color = colorchange ? (LaRSI > LaRSI[1] ? green : red) : blue
plot(100*LaRSI, title="LaRSI", linewidth=2, color=Color, transp=0)
plot(20,linewidth=1, color=maroon, transp=0)
plot(80,linewidth=1, color=maroon, transp=0)

strategy.entry("Long",   true, when = window1() and crossover(cu, cd))
strategy.entry("Short", false, when = window1() and crossunder(cu, cd))