
Cette stratégie utilise une combinaison de facteurs de revers et de dynamique pour construire un modèle à deux facteurs dans le but de capturer les opportunités de revers à court terme et de persistance à moyen et long terme. La stratégie utilise d’abord la forme 123 pour déterminer les signaux de revers à court terme, puis la combinaison de l’indicateur RSI de Laguerre pour déterminer la tendance à long terme, et enfin la combinaison efficace des signaux à deux facteurs.
La stratégie est composée de deux volets:
Cette section détermine les signaux de reprise à court terme des prix en évaluant la variation des prix de clôture des deux jours précédents. Plus précisément, si le prix de clôture du jour précédent est inférieur à celui des deux jours précédents et que le prix de clôture d’aujourd’hui est supérieur au jour précédent, alors le signal de reprise peut être jugé comme un revirement des prix. L’indicateur de Stoch est utilisé pour le jugement auxiliaire.
Cette section construit un RSI plus sensible. Les RSI traditionnels sont moins sensibles aux variations de prix, tandis que le filtre de Lagrange permet de construire des indices avec moins de données historiques, ce qui améliore la sensibilité aux variations de prix. Le nouveau RSI est utilisé pour juger des tendances de la ligne moyenne et longue.
En fin de compte, la stratégie combine les signaux des deux, tout en assurant que la tendance majeure ne se retourne pas lors d’un revirement à court terme, afin de saisir les opportunités de rebond.
Le plus grand avantage de cette stratégie réside dans la combinaison réussie des facteurs de retournement et de tendance. Les facteurs de retournement permettent de capturer les occasions de rebond des prix après un ajustement à court terme, tandis que les facteurs de tendance assurent que la direction de la plus-value / la plus-value n’est pas modifiée. Par rapport aux modèles à un seul retournement ou à un seul volume de mouvement, le modèle à deux facteurs permet d’améliorer l’exactitude de la plus-value en réduisant les faux signaux.
En outre, l’ajout de l’indicateur RSI de Ragel augmente la sensibilité du modèle aux variations de prix, ce qui est particulièrement important pour le trading à haute fréquence.
Le principal risque de cette stratégie est que les signaux bifacteurs peuvent diverger. En particulier, pendant les ajustements de la volatilité du marché, les tendances de la ligne médiane peuvent également être modifiées, avec des retournements fréquents des prix à court terme.
En outre, une mauvaise sélection de paramètres peut également entraîner une mauvaise performance de la stratégie. Les paramètres d’indicateurs techniques correspondant au facteur de renversement et au facteur de tendance doivent être optimisés et testés séparément. Une mauvaise combinaison de paramètres peut également réduire considérablement l’efficacité de la stratégie.
L’orientation de l’optimisation suivante de la stratégie se concentre principalement sur le filtrage du signal et la sélection des paramètres. Il est possible d’envisager d’ajouter plus de conditions de filtrage, de jouer un rôle dans la divergence du signal bifacteur et de s’assurer que la position n’est ouverte que dans des scénarios de haute certitude. Cela peut réduire considérablement le taux de faux signaux.
Sur la sélection des paramètres, on peut essayer des méthodes d’apprentissage automatique et d’expérimentation scientifique, effectuer des tests systématiques sur les différentes combinaisons de paramètres pour trouver le paramètre optimal. Cela nécessite un support de puissance de calcul plus élevé, mais peut considérablement améliorer la stabilité de la stratégie.
La stratégie a réussi à intégrer les facteurs de reprise et de tendance, capturant les opportunités de rebond à court terme et de persistance à moyen et long terme grâce à un modèle à deux facteurs. L’ajout d’un filtre RSI Ragel a également amélioré la sensibilité du modèle aux variations de prix.
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 21/01/2021
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This is RSI indicator which is more sesitive to price changes.
// It is based upon a modern math tool - Laguerre transform filter.
// With help of Laguerre filter one becomes able to create superior
// indicators using very short data lengths as well. The use of shorter
// data lengths means you can make the indicators more responsive to
// changes in the price.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
LB_RSI(gamma,BuyBand,SellBand) =>
pos = 0.0
xL0 = 0.0
xL1 = 0.0
xL2 = 0.0
xL3 = 0.0
xL0 := (1-gamma) * close + gamma * nz(xL0[1], 1)
xL1 := - gamma * xL0 + nz(xL0[1], 1) + gamma * nz(xL1[1], 1)
xL2 := - gamma * xL1 + nz(xL1[1], 1) + gamma * nz(xL2[1], 1)
xL3 := - gamma * xL2 + nz(xL2[1], 1) + gamma * nz(xL3[1], 1)
CU = (xL0 >= xL1 ? xL0 - xL1 : 0) + (xL1 >= xL2 ? xL1 - xL2 : 0) + (xL2 >= xL3 ? xL2 - xL3 : 0)
CD = (xL0 >= xL1 ? 0 : xL1 - xL0) + (xL1 >= xL2 ? 0 : xL2 - xL1) + (xL2 >= xL3 ? 0 : xL3 - xL2)
nRes = iff(CU + CD != 0, CU / (CU + CD), 0)
pos := iff(nRes > BuyBand, 1,
iff(nRes < SellBand, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Laguerre-based RSI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
gamma = input(0.5, minval=-0.1, maxval = 0.9)
BuyBand = input(0.8, step = 0.01)
SellBand = input(0.2, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLB_RSI = LB_RSI(gamma,BuyBand,SellBand)
pos = iff(posReversal123 == 1 and posLB_RSI == 1 , 1,
iff(posReversal123 == -1 and posLB_RSI == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1 , 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )