Strategi Gabungan Supertrend dan EMA adalah strategi perdagangan yang menggabungkan penunjuk Supertrend dengan beberapa penunjuk EMA. Strategi ini menggunakan penunjuk Supertrend untuk menentukan arah trend pasaran semasa dan menggunakan tempoh yang berbeza penunjuk EMA sebagai pencetus untuk isyarat beli dan jual. Apabila EMA jangka pendek melintasi di atas EMA jangka sederhana, dan penunjuk Supertrend menunjukkan aliran naik, isyarat beli dihasilkan; apabila EMA jangka pendek melintasi di bawah EMA jangka sederhana, dan penunjuk Supertrend menunjukkan aliran turun, isyarat jual dihasilkan.
Prinsip utama Strategi Gabungan Supertrend dan EMA adalah untuk menggunakan ciri-ciri penunjuk Supertrend dan penunjuk EMA untuk menangkap perubahan dalam trend pasaran dan turun naik harga. Penunjuk Supertrend menentukan arah trend pasaran semasa dengan membandingkan harga penutupan semasa dengan jalur atas dan bawah tempoh sebelumnya. Apabila harga penutupan melangkaui jalur atas, ia menunjukkan aliran naik di pasaran; apabila harga penutupan jatuh di bawah jalur bawah, ia menunjukkan aliran turun di pasaran. Pada masa yang sama, strategi menggunakan empat tempoh yang berbeza dari penunjuk EMA (20 hari, 50 hari, 100 hari, dan 200 hari) dan menghasilkan isyarat beli dan jual dengan membandingkan persimpangan EMA jangka menengah dan EMA jangka menengah yang dihasilkan. Apabila penunjuk EMA jangka pendek melangkaui potensi jangka pendek, ia menunjukkan ketika isyarat kenaikan dan penjualan di pasaran, yang digabungkan dengan penunjuk EMA jangka pendek, digabungkan dengan isyarat jual dan beli jangka pendek, yang ditunjukkan oleh penunjuk EMA.
Strategi gabungan Supertrend dan EMA menggabungkan penunjuk Supertrend dengan beberapa penunjuk EMA untuk membentuk sistem dagangan trend berikut yang lengkap. Strategi menggunakan penunjuk Supertrend untuk menentukan trend pasaran dan menghasilkan isyarat beli dan jual berdasarkan persilangan penunjuk EMA. Ia mempunyai kelebihan keupayaan mengikuti trend yang kuat, pengesahan isyarat yang boleh dipercayai, dan fleksibiliti yang luas. Walau bagaimanapun, strategi ini juga menghadapi risiko seperti pengoptimuman parameter, turun naik pasaran, dan pembalikan trend. Ia perlu dioptimumkan dan ditingkatkan melalui pengoptimuman parameter, penapisan isyarat, stop-loss dan mengambil keuntungan, dan pelbagai instrumen dan jangka masa untuk meningkatkan kekuatan dan keuntungan strategi.
/*backtest start: 2023-06-01 00:00:00 end: 2024-06-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Supertrend EMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // Supertrend Parameters atrPeriod = input(10, title="ATR Period") src = input(hl2, title="Source") multiplier = input(3.0, title="ATR Multiplier", step=0.1) changeATR = input(true, title="Change ATR Calculation Method?") showSignals = input(true, title="Show Buy/Sell Signals?") highlighting = input(true, title="Highlighter On/Off?") // Calculate ATR atr = changeATR ? atr(atrPeriod) : sma(tr, atrPeriod) // Calculate Supertrend up = src - (multiplier * atr) dn = src + (multiplier * atr) up1 = nz(up[1], up) dn1 = nz(dn[1], dn) up := close[1] > up1 ? max(up, up1) : up 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(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green) dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red) // EMA Parameters shortEmaLength = input(20, title="Short EMA Length") mediumEmaLength = input(50, title="Medium EMA Length") longEmaLength = input(100, title="Long EMA Length") longestEmaLength = input(200, title="Longest EMA Length") // Calculate EMA shortEma = ema(close, shortEmaLength) mediumEma = ema(close, mediumEmaLength) longEma = ema(close, longEmaLength) longestEma = ema(close, longestEmaLength) // Plot EMA plot(shortEma, color=color.red, title="EMA 20") plot(mediumEma, color=color.orange, title="EMA 50") plot(longEma, color=color.aqua, title="EMA 100") plot(longestEma, color=color.blue, title="EMA 200") // Define Buy and Sell Conditions buyCondition = crossover(shortEma, mediumEma) and trend == 1 sellCondition = crossunder(shortEma, mediumEma) and trend == -1 // Plot Buy/Sell Signals plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Add Text Labels for Buy and Sell Signals if (buyCondition) label.new(bar_index, high, text="Buy", color=color.green, textcolor=color.white, style=label.style_label_up, yloc=yloc.abovebar) if (sellCondition) label.new(bar_index, low, text="Sell", color=color.red, textcolor=color.white, style=label.style_label_down, yloc=yloc.belowbar) // Strategy Entry and Exit if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // Highlight Trend longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white fill(plot(ohlc4, title="", style=plot.style_circles, linewidth=0), upPlot, title="UpTrend Highlighter", color=longFillColor) fill(plot(ohlc4, title="", style=plot.style_circles, linewidth=0), dnPlot, title="DownTrend Highlighter", color=shortFillColor) // Alerts alertcondition(buyCondition, title="Buy Alert", message="Supertrend EMA Buy Signal") alertcondition(sellCondition, title="Sell Alert", message="Supertrend EMA Sell Signal")