Strategi ini menggabungkan indikator rata-rata bergerak ganda dan Supertrend untuk membangun sinyal perdagangan dan menilai arah tren melalui kombinasi siklus yang berbeda untuk mencapai profitabilitas yang tinggi.
Strategi ini menggunakan indikator MACD dan Supertrend untuk menentukan waktu masuk pasar.
Ketika garis cepat menembus garis lambat ke atas, itu adalah sinyal beli. Pada saat ini, jika Supertrend jangka menengah hingga panjang juga merupakan tren kenaikan, sinyal beli akhir dihasilkan untuk pergi panjang. Sebaliknya, ketika garis cepat menembus garis lambat ke bawah, itu adalah sinyal jual. Pada saat ini, jika Supertrend jangka menengah hingga panjang juga merupakan tren penurunan, sinyal jual akhir dihasilkan untuk pergi pendek.
Stop loss dan take profit ditetapkan pada nilai tetap.
Keuntungan terbesar dari strategi ini adalah bahwa ia menggunakan kedua rata-rata bergerak ganda dan Supertrend untuk menentukan arah pasar, menggabungkan analisis jangka menengah pendek dan jangka menengah panjang untuk secara signifikan meningkatkan efisiensi keputusan dan menghindari pecah palsu.
Risiko utama dari strategi ini adalah bahwa pengaturan stop loss tetap dan take profit dapat melewatkan peluang keuntungan yang lebih besar. Selain itu, jika ada perbedaan antara penilaian jangka menengah pendek dan jangka menengah panjang, strategi tidak akan bekerja dengan baik.
Strategi ini dapat dioptimalkan dalam aspek berikut:
Meningkatkan mekanisme penyesuaian dinamis untuk stop loss dan take profit, dan mengatur stop loss dan take profit sesuai dengan volatilitas dan tren pasar.
Mengoptimalkan parameter MACD untuk menemukan parameter rata-rata bergerak yang lebih cocok untuk varietas target.
Mengoptimalkan parameter Supertrend untuk menyesuaikan sensitivitasnya terhadap pasar.
Meningkatkan indikator lain untuk penilaian untuk memberikan sinyal yang lebih dimensi dan meningkatkan kinerja strategi.
Strategi ini berhasil menggabungkan keuntungan dari rata-rata bergerak ganda dan indikator Supertrend. Dengan menggabungkan penilaian siklus yang berbeda, ia menyaring sinyal yang salah dan memperoleh pengembalian yang lebih baik di pasar tren. Kita dapat lebih meningkatkan stabilitas dan profitabilitas strategi ini melalui optimasi parameter dan penyesuaian mekanisme.
/*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)