
Cette stratégie utilise une combinaison de deux indicateurs, la ligne de bi-parité et la SuperTrend, pour construire un signal de négociation, tout en combinant les différentes périodes pour déterminer la direction de la tendance et réaliser un profit efficace.
Cette stratégie utilise les indicateurs MACD et SuperTrend pour déterminer le moment de l’entrée sur le marché. Parmi ceux-ci, MACD est utilisé pour déterminer la direction de la tendance à court terme et SuperTrend pour déterminer la direction de la tendance à moyen terme.
Lorsque la ligne rapide franchit la ligne lente de bas en haut, elle génère un signal d’achat. Si la Supertrend à moyen et long terme est une tendance à la hausse, elle génère un signal de vente.
Le stop loss et le stop stop stop sont définis comme des valeurs fixes.
Le plus grand avantage de cette stratégie réside dans l’utilisation simultanée de la courbe de la courbe de la courbe et de la SuperTrend pour déterminer la direction du marché, combinée à court et à moyen terme, ce qui améliore considérablement l’efficacité de la prise de décision et évite les fausses ruptures. De plus, Supertrend peut s’adapter à un environnement de marché plus large en fonction des paramètres de régulation de la volatilité du marché.
Le principal risque de cette stratégie est que le stop loss fixe peut manquer une plus grande marge de profit. De plus, si les jugements à court et moyen terme et à long terme divergent, la stratégie ne peut pas fonctionner correctement. Nous pouvons réduire ce risque en plaçant le stop loss flottant.
Cette stratégie peut être optimisée dans les domaines suivants:
Ajout d’un mécanisme d’ajustement dynamique des arrêts de perte, en fonction de la volatilité et de la tendance du marché.
Optimiser les paramètres MACD pour trouver les paramètres de la ligne moyenne qui conviennent le mieux à la variété cible.
Optimiser les paramètres de Supertrend pour les adapter à la sensibilité du marché
L’ajout d’autres indicateurs de jugement, fournissant des signaux de plus grande dimension, améliore l’efficacité de la stratégie.
Cette stratégie a réussi à combiner les avantages des deux indicateurs de la ligne de bi-parité et de la SuperTrend, à filtrer les signaux erronés en combinant des jugements sur différents cycles et ainsi à obtenir de meilleurs rendements dans un marché tendanciel. Nous pouvons améliorer encore la stabilité et la rentabilité de la stratégie en optimisant les paramètres et en ajustant le mécanisme.
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//Supertrend Strategy by breizh29 using *rajandran.r* Supertrend Indicator
strategy("Super Trend 2 MACD", overlay=true)
// MACD input
source = input(close)
fastLength = input(12, minval=1, title="MACD fast moving average")
slowLength=input(26,minval=1, title="MACD slow moving average")
signalLength=input(9,minval=1, title="MACD signal line moving average")
// Calculation
fastMA = sma(source, fastLength)
slowMA = sma(source, slowLength)
Macd = fastMA - slowMA
Signal = sma(Macd, signalLength)
res = input(title="Main SuperTrend Time Frame", defval="120")
Factor=input(1, minval=1,maxval = 100)
Pd=input(1, minval=1,maxval = 100)
tp = input(500,title="Take Profit")
sl = input(400,title="Stop Loss")
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
MUp=request.security(syminfo.tickerid,res,hl2-(Factor*atr(Pd)))
MDn=request.security(syminfo.tickerid,res,hl2+(Factor*atr(Pd)))
Mclose=request.security(syminfo.tickerid,res,close)
TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
MTrendUp=Mclose[1]>MTrendUp[1]? max(MUp,MTrendUp[1]) : MUp
MTrendDown=Mclose[1]<MTrendDown[1]? min(MDn,MTrendDown[1]) : MDn
Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown
MTrend = Mclose > MTrendDown[1] ? 1: Mclose< MTrendUp[1]? -1: nz(MTrend[1],1)
MTsl = MTrend==1? MTrendUp: MTrendDown
linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")
Mlinecolor = MTrend == 1 ? blue : orange
plot(MTsl, color = Mlinecolor , style = line , linewidth = 2,title = "Main SuperTrend")
plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)
up = Trend == 1 and Trend[1] == -1 and MTrend == 1
down = Trend == -1 and Trend[1] == 1 and MTrend == -1
plotarrow(up ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(down ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)
golong = Trend == 1 and Trend[1] == -1 and MTrend == 1 and Macd > Signal
goshort = Trend == -1 and Trend[1] == 1 and MTrend == -1 and Macd < Signal
strategy.entry("Buy", strategy.long,when=golong)
strategy.exit("Close Buy","Buy",profit=tp,loss=sl)
strategy.entry("Sell", strategy.short,when=goshort)
strategy.exit("Close Sell","Sell",profit=tp,loss=sl)