
Cette stratégie est une combinaison de la stratégie de double inversion de choc et de la stratégie d’optimisation du rapport de signal-bruit pour former une stratégie de négociation plus puissante et plus stable. La stratégie vise à émettre des signaux de négociation plus précis aux points de retournement de tendance.
La stratégie de double revers de choc permet de déterminer si le prix a été renversé sur deux jours consécutifs en calculant les valeurs de K rapides et lentes des 14 derniers jours. Si le revers se produit, un K rapide inférieur à 50 est un signal d’achat et un K rapide supérieur à 50 est un signal de vente.
La stratégie d’optimisation du rapport de chaîne de communication consiste à calculer le rapport de chaîne de communication des 21 derniers jours et à l’aplanir avec une moyenne mobile simple de 29 jours. Lorsque le rapport de chaîne de communication passe au-dessus de sa moyenne mobile, c’est un signal de vente, et en descendant, c’est un signal d’achat.
Finalement, la stratégie n’effectue une opération d’achat ou de vente correspondante que si la stratégie de réversion de double oscillation et la stratégie d’optimisation du rapport de bruit de messagerie émettent simultanément le même signal d’achat ou de vente.
La combinaison de plusieurs stratégies permet d’émettre des signaux de trading plus précis et d’éviter les faux signaux d’une seule stratégie.
Les stratégies de doubles oscillations permettent de capturer les retournements de tendance, les stratégies d’optimisation du rapport de bruit de la chaîne permettent de filtrer les faux signaux, et les deux combinés permettent de négocier avec précision les retournements.
Les paramètres de calcul optimisés, tels que le paramètre de stoch rapide et lent de 14 jours, le cycle de rapport de bruit de 21 jours, etc., permettent au stab de refléter les tendances récentes sans être affecté par trop de bruit.
L’utilisation de signaux de double confirmation peut réduire considérablement le risque de transaction et réduire les pertes inutiles.
Les signaux de retournement peuvent être retardés, ne pouvant pas être achetés au bas absolu et vendus au haut. Le retard peut être réduit en ajustant les paramètres.
Les conditions de confirmation peuvent être assouplies de manière appropriée, mais les risques sont également plus élevés.
Les paramètres de rapport qualité-bruit doivent être optimisés, car s’ils sont mal réglés, il est possible de manquer des signaux importants ou d’émettre un signal erroné.
La nécessité de surveiller simultanément plusieurs indicateurs augmente la complexité de la stratégie, l’optimisation du code et les ressources informatiques doivent être prises en compte.
Testez plus de combinaisons d’indicateurs pour trouver de meilleurs signaux de combinaison.
Optimisation des paramètres de la stratégie de réversion du double choc pour rendre le signal de réversion plus précis et plus opportun.
Optimiser les cycles de paramètres du rapport son/bruit pour trouver l’équilibre optimal.
Ajout d’une stratégie de stop loss pour contrôler les pertes éventuelles sur une seule transaction.
Envisagez d’optimiser automatiquement les paramètres par des méthodes telles que l’apprentissage automatique pour rendre les stratégies plus adaptables.
Cette stratégie donne un signal de négociation stable au point de retournement de tendance en combinant une stratégie de double inversion de choc et une stratégie d’optimisation du rapport de bruit. Les paramètres optimisés peuvent réduire considérablement la probabilité de faux signaux, et le principe de double confirmation peut réduire le risque de négociation. La stratégie peut continuer à optimiser les paramètres de l’indicateur, ajouter des mesures d’arrêt pour obtenir de meilleurs résultats.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 196/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
// The signal-to-noise (S/N) ratio.
// And Simple Moving Average.
//
// 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
SignalToNoise(length) =>
StN = 0.0
for i = 1 to length-1
StN := StN + (1/close[i])/length
StN := -10*log(StN)
StN(length,Smooth) =>
pos = 0.0
StN = SignalToNoise(length)
SMAStN = sma(StN, Smooth)
pos := iff(SMAStN[0] > StN[0] , -1,
iff(SMAStN[0] < StN[0], 1, 0))
pos
strategy(title="Combo Backtest 123 Reversal & Signal To Noise", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
lengthStN = input(title="Days", type=input.integer, defval=21, minval=2)
SmoothStN = input(title="Smooth", type=input.integer, defval=29, minval=2)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posStN = StN(lengthStN,SmoothStN)
pos = iff(posReversal123 == 1 and posStN == 1 , 1,
iff(posReversal123 == -1 and posStN == -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 )