
Cette stratégie est une stratégie de négociation en ligne courte qui utilise l’indicateur ADX pour filtrer les signaux de rupture. Lorsque le prix franchit la bande de Bollinger Bollinger et que l’ADX est en baisse, vide; lorsque le prix franchit la bande de Bollinger Bollinger et que l’ADX est en hausse, faites plus.
Cette stratégie utilise la Bollinger Bollinger Band comme principal signal de rupture. La descente de la Bollinger Band représente deux fois le décalage standard du prix, et la rupture de la Bollinger Band représente généralement l’entrée du prix dans une phase de forte tendance. De plus, afin d’éviter les fausses ruptures, la stratégie ajoute l’indicateur ADX comme condition de filtrage.
En particulier, cette stratégie utilise la courbe de Brin pour calculer le prix de clôture de 33 cycles de longueur. La courbe de Brin est la moyenne mobile simple de 33 cycles du prix de clôture, la courbe supérieure et la courbe inférieure étant respectivement les deux écarts standards de la courbe moyenne.
Il s’agit d’une stratégie innovante qui combine des signaux de filtrage de tendance et de fréquence avec les avantages suivants:
Cette stratégie présente aussi des risques:
Pour réduire ces risques, nous pouvons ajuster les paramètres de la bande de Brin, réduire la portée de la bande de Brin; ajuster les paramètres de la période ADX, éviter les signaux de défilement excessifs; réduire de manière appropriée la distance d’arrêt, contrôler les pertes individuelles. Bien sûr, ces optimisations doivent être vérifiées par des tests de rétroaction, afin d’éviter une suradaptation.
Il y a encore de la place pour optimiser cette stratégie:
Cette stratégie est globalement une stratégie de filtrage de rupture simple et pratique. En jugeant la tendance par la courbe de Bryn, le signal de filtrage ADX peut éviter le bruit du marché oscillant dans une certaine mesure et saisir les opportunités de tendance. Il y a encore beaucoup de place pour l’optimisation et cela mérite d’être testé et amélioré.
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Hizbullah XAUUSD Sniper", overlay=true)
Price = close
Length = input(33)
Mult = input(2)
Basis = sma(Price, Length)
StdDev = Mult * stdev(Price, Length)
Upper = Basis + StdDev
Lower = Basis - StdDev
ADX_Length = input(4)
TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
SmoothedTrueRange = sma(TrueRange, ADX_Length)
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0
SmoothedDirectionalMovementPlus = sma(DirectionalMovementPlus, ADX_Length)
SmoothedDirectionalMovementMinus = sma(DirectionalMovementMinus, ADX_Length)
DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus - DIMinus) / (DIPlus + DIMinus)*100
SmoothedADX1 = ema(DX, input(8))
SmoothedADX2 = ema(DX, input(15))
Condition1 = crossunder(Price, Upper) and SmoothedADX1 < SmoothedADX2
Take_Profit = input(800)
Stop_Loss = input(400)
strategy.entry("ShortEntry", true, when = Condition1)
strategy.exit("ShortExit", "ShortEntry", profit = Take_Profit, loss = Stop_Loss)