Strategi ini mengintegrasikan beberapa indikator teknis, termasuk Supertrend, Dual Moving Average (DEMA), dan Bollinger Bands, untuk memanfaatkan kekuatan mereka dan menghasilkan sinyal perdagangan yang lebih akurat.
Strategi ini menggunakan ATR 12 periode dan rata-rata harga untuk menghitung band atas dan bawah Supertrend dan mengidentifikasi sinyal panjang dan pendek ketika harga menembus band tersebut. Sementara itu, DEMA 200 periode berfungsi sebagai indikator tambahan untuk penilaian tren. Selain itu, Bollinger Bands membantu menentukan waktu optimal untuk entri dan stop loss.
Sinyal beli dihasilkan ketika harga pecah di atas band atas. Sinyal jual dihasilkan ketika harga pecah di bawah band bawah. Ketika harga pecah melalui band atas atau bawah Supertrend, penanda dan teks
DEMA digambarkan di atas atau di bawah kurva harga dengan warna putih untuk menilai arah tren pasar secara keseluruhan.
Bollinger Bands digunakan untuk mengidentifikasi waktu terbaik untuk masuk dan menghentikan kerugian. Band atas dan bawahnya membentuk saluran yang mencakup fluktuasi harga, yang membantu menentukan kapan harga telah menyimpang dari kisaran normal mereka, yaitu menjadi terlalu volatile.
Setelah memasuki perdagangan, strategi menggunakan metode stop loss dan take profit untuk mengunci keuntungan atau mengurangi kerugian dengan menetapkan harga stop loss dan mengambil harga profit untuk pengurangan posisi secara otomatis.
Mengintegrasikan beberapa indikator memungkinkan strategi ini untuk memanfaatkan kekuatan individu mereka untuk menghasilkan sinyal perdagangan yang lebih akurat.
Supertrend mampu menyaring kebisingan pasar dan menghindari perdagangan berlebihan. DEMA dapat menentukan arah tren umum dan mencegah perdagangan melawan tren. Bollinger Bands menentukan waktu optimal untuk entri dan stop loss.
Pemberitahuan seluler memungkinkan permintaan perdagangan tepat waktu. Stop loss otomatis dan mengambil keuntungan memungkinkan penguncian keuntungan dan memotong kerugian.
Integrasi dari beberapa indikator meningkatkan kompleksitas strategi dan kemungkinan kesalahan. pengaturan parameter indikator juga dapat menyebabkan kehilangan peluang perdagangan atau menghasilkan sinyal palsu.
Selain itu, pengaturan stop loss yang terlalu agresif dapat memperkuat kerugian. Stabilitas peringatan seluler juga berdampak pada efektivitas pengambilan keuntungan dan stop loss yang tepat waktu.
Kombinasi parameter yang berbeda dapat diuji untuk menemukan set parameter optimal. Parameter juga dapat disesuaikan berdasarkan kondisi pasar yang berbeda.
Mencoba menggunakan indikator individu secara mandiri dapat mengurangi sinyal palsu. indikator tambahan juga dapat ditambahkan untuk optimasi lebih lanjut.
Kriteria stop loss dan take profit juga dikenakan penyesuaian seperti trailing stop loss dan partial stop loss.
Strategi ini menggabungkan kekuatan dari beberapa indikator teknis untuk generasi sinyal perdagangan dan memiliki kepraktisan yang relatif tinggi.
/*backtest start: 2024-01-23 00:00:00 end: 2024-02-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © zhuenrong //@version=4 strategy("Supertrend + DEMA + Bollinger Bands", overlay=true) // Input parameters for Supertrend atrLength = input(title="ATR Period", type=input.integer, defval=12) src = input(hl2, title="Source") multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0) changeATR = input(title="Change ATR Calculation Method?", type=input.bool, defval=true) showSupertrend = input(title="Show Supertrend Indicator?", type=input.bool, defval=true) // Input parameters for DEMA demaLength = input(200, title="DEMA Period") showDEMA = input(title="Show DEMA Indicator?", type=input.bool, defval=true) // Calculate ATR for Supertrend atr2 = sma(tr, atrLength) atr = changeATR ? atr(atrLength) : atr2 // Calculate Supertrend up = src - (multiplier * atr) up1 = nz(up[1], up) up := close[1] > up1 ? max(up, up1) : up dn = src + (multiplier * atr) dn1 = nz(dn[1], dn) dn := close[1] < dn1 ? min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend // Plot Supertrend upPlot = plot(showSupertrend ? (trend == 1 ? up : na) : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0)) buySignal = trend == 1 and trend[1] == -1 plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0)) plotshape(buySignal ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0)) dnPlot = plot(showSupertrend ? (trend == 1 ? na : dn) : na, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0)) sellSignal = trend == -1 and trend[1] == 1 plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0)) plotshape(sellSignal ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0)) mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0) longFillColor = (trend == 1 ? color.new(color.green, 80) : color.new(color.white, 0)) shortFillColor = (trend == -1 ? color.new(color.red, 80) : color.new(color.white, 0)) fill(mPlot, upPlot, title="UpTrend Highlighter", color=longFillColor) fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor) // Alert conditions alertcondition(buySignal, title="Custom Supertrend Buy", message="Custom Supertrend Buy!") alertcondition(sellSignal, title="Custom Supertrend Sell", message="Custom Supertrend Sell!") // Calculate DEMA ema1 = ema(close, demaLength) dema = 2 * ema1 - ema(ema1, demaLength) // Plot DEMA with white color plot(showDEMA ? dema : na, color=color.new(color.white, 0), title="DEMA", linewidth=2) // Add push notification on mobile if buy and sell occurred if (buySignal) strategy.entry("Buy", strategy.long) //strategy.exit("Sell") //alert("Buy Signal - Supertrend") if (sellSignal) strategy.entry("Sell", strategy.short) //strategy.exit("Cover") //alert("Sell Signal - Supertrend") // === Stop LOSS === if strategy.position_size>0 strategy.exit("Stop Loss/Profit Long","Buy", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*1.1) if strategy.position_size<0 strategy.exit("Stop Loss/Profit Short","Sell", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*1.1)