Strategi Vegas SuperTrend Enhanced adalah strategi perdagangan inovatif yang menggabungkan saluran Vegas dan indikator SuperTrend untuk menyesuaikan diri dengan keadaan pasaran yang berbeza dengan menyesuaikan sensitiviti indikator SuperTrend secara dinamik. Strategi ini menggunakan saluran Vegas untuk mengukur turun naik pasaran dan menyesuaikan parameter Indeks SuperTrend berdasarkan itu untuk menyesuaikan diri dengan perubahan pasaran dengan lebih baik sambil mengikuti trend.
Pusat strategi ini adalah gabungan antara saluran Vegas dan indikator SuperTrend. Saluran Vegas menggunakan purata bergerak sederhana (SMA) dan perbezaan piawai (STDEV) untuk menentukan julat turun naik harga. Lebar saluran mencerminkan tahap turun naik pasaran.
Strategi ini menyesuaikan kelipatan penunjuk SuperTrend secara dinamik untuk menyesuaikan diri dengan perubahan lebar saluran Vegas. Apabila saluran Vegas lebih luas (iaitu turun naik pasaran yang lebih besar), kelipatan penunjuk SuperTrend akan meningkat dengan selaras, menjadikannya lebih sensitif terhadap perubahan trend; sebaliknya, apabila saluran Vegas lebih sempit (iaitu turun naik pasaran yang lebih kecil), kelipatan akan berkurangan, menjadikan penunjuk lebih stabil.
Sinyal perdagangan dihasilkan berdasarkan perbandingan harga penutupan semasa dengan nilai petunjuk SuperTrend. Apabila harga melintasi garis petunjuk SuperTrend dari bawah ke atas, menghasilkan isyarat banyak; sebaliknya, apabila harga melintasi garis petunjuk dari atas ke bawah, menghasilkan isyarat kosong. Cara penilaian isyarat yang mudah dan intuitif ini menjadikan strategi ini mudah difahami dan digunakan.
Dinamika menyesuaikan diri dengan turun naik pasaran: menyesuaikan parameter SuperTrend secara dinamik melalui saluran Vegas, membolehkan ia menyesuaikan diri dengan keadaan turun naik pasaran yang berbeza, menangkap trend tepat pada masanya di pasaran yang sedang tren, dan tetap kukuh di pasaran yang bergolak.
Isyarat perdagangan yang ringkas dan intuitif: Strategi ini menghasilkan isyarat jual beli yang jelas berdasarkan kedudukan harga berbanding dengan petunjuk SuperTrend, mudah difahami, yang membantu pedagang membuat keputusan dengan cepat.
Pilihan arah perdagangan yang fleksibel: Strategi ini menawarkan tiga pilihan perdagangan multihead, kosong, dan dua arah untuk memenuhi keperluan dan pandangan pasaran pedagang yang berbeza.
Bantuan visual yang sangat baik: Strategi ini menandai trend multihead dan kosong dengan warna hijau dan merah pada carta, dan menandai titik jual beli dengan panah, intuitif, mudah untuk memahami denyutan pasaran.
Lag Trending: Seperti semua strategi trend-following, strategi ini mungkin mengalami lag isyarat pada awal perubahan trend, yang menyebabkan kehilangan masa masuk yang terbaik atau mengambil risiko tambahan.
Penetapan parameter sensitif: prestasi strategi bergantung kepada pilihan parameter, seperti kitaran ATR, panjang saluran Vegas, dan lain-lain.
Perdagangan yang kerap: Strategi ini lebih sensitif terhadap perubahan trend, yang boleh menghasilkan isyarat perdagangan yang kerap dalam pasaran yang bergolak, meningkatkan kos perdagangan dan risiko penarikan balik.
Memperkenalkan lebih banyak petunjuk: Pertimbangkan untuk memperkenalkan petunjuk teknikal lain seperti RSI, MACD, dan lain-lain untuk mengesahkan isyarat trend dalam pelbagai dimensi, meningkatkan kebolehpercayaan isyarat.
Optimumkan peraturan masuk dan keluar: Berdasarkan isyarat masuk semasa, lebih banyak syarat penapisan boleh diperkenalkan, seperti meminta harga penutupan K baris berturut-turut untuk kekal dalam arah trend, untuk mengurangkan isyarat palsu; dan juga boleh menetapkan berhenti bergerak atau berhenti kadar turun naik untuk mengoptimumkan keluar.
Kedudukan perubahan dinamik: Berdasarkan kekuatan trend pasaran, kadar turun naik dan lain-lain, kedudukan perubahan dinamik setiap perdagangan, meningkatkan kedudukan apabila trend kuat, mengurangkan kedudukan apabila trend lemah, untuk mengawal risiko dan mengoptimumkan keuntungan.
“Strategi Vegas SuperTrend Enhanced” adalah strategi perdagangan pengesanan trend yang inovatif, yang mewujudkan penggabungan organik antara pengenalan trend dan penyesuaian pasaran melalui penyesuaian dinamik SuperTrend di saluran Vegas. Isyarat perdagangan strategi jelas, bersesuaian, kesan visual yang sangat baik, tetapi juga menghadapi risiko yang melekat pada pengenalan trend, sensitif parameter, dan sebagainya.
/*backtest
start: 2023-04-22 00:00:00
end: 2024-04-27 00:00:00
period: 1d
basePeriod: 1h
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/
// © PresentTrading
// The "Vegas SuperTrend Strategy" uses Vegas Channel and SuperTrend indicators on trading charts, allowing for adjustable settings like ATR length and channel size.
// It modifies the SuperTrend's sensitivity to market volatility, generating buy (green) or sell (red) signals upon trend shifts.
// Entry and exit points are visually marked, with the strategy automating trades based on these trend changes to adapt to different market conditions.
//@version=5
strategy("Vegas SuperTrend Enhanced - strategy [presentTrading]", shorttitle="Vegas SuperTrend Enhanced - strategy [presentTrading]", overlay=true, precision=3, default_qty_type=strategy.cash,
commission_value=0.1, commission_type=strategy.commission.percent, slippage=1, currency=currency.USD, default_qty_value=10000, initial_capital=10000)
// Input settings allow the user to customize the strategy's parameters.
tradeDirectionChoice = input.string(title="Trade Direction", defval="Both", options=["Long", "Short", "Both"]) // Option to select the trading direction
atrPeriod = input(10, "ATR Period for SuperTrend") // Length of the ATR for volatility measurement
vegasWindow = input(100, "Vegas Window Length") // Length of the moving average for the Vegas Channel
superTrendMultiplier = input(5, "SuperTrend Multiplier Base") // Base multiplier for the SuperTrend calculation
volatilityAdjustment = input.float(5, "Volatility Adjustment Factor") // Factor to adjust the SuperTrend sensitivity to the Vegas Channel width
// Calculate the Vegas Channel using a simple moving average and standard deviation.
vegasMovingAverage = ta.sma(close, vegasWindow)
vegasChannelStdDev = ta.stdev(close, vegasWindow)
vegasChannelUpper = vegasMovingAverage + vegasChannelStdDev
vegasChannelLower = vegasMovingAverage - vegasChannelStdDev
// Adjust the SuperTrend multiplier based on the width of the Vegas Channel.
channelVolatilityWidth = vegasChannelUpper - vegasChannelLower
adjustedMultiplier = superTrendMultiplier + volatilityAdjustment * (channelVolatilityWidth / vegasMovingAverage)
// Calculate the SuperTrend indicator values.
averageTrueRange = ta.atr(atrPeriod)
superTrendUpper = hlc3 - (adjustedMultiplier * averageTrueRange)
superTrendLower = hlc3 + (adjustedMultiplier * averageTrueRange)
var float superTrendPrevUpper = na
var float superTrendPrevLower = na
var int marketTrend = 1
// Update SuperTrend values and determine the current trend direction.
superTrendPrevUpper := nz(superTrendPrevUpper[1], superTrendUpper)
superTrendPrevLower := nz(superTrendPrevLower[1], superTrendLower)
marketTrend := close > superTrendPrevLower ? 1 : close < superTrendPrevUpper ? -1 : nz(marketTrend[1], 1)
superTrendUpper := marketTrend == 1 ? math.max(superTrendUpper, superTrendPrevUpper) : superTrendUpper
superTrendLower := marketTrend == -1 ? math.min(superTrendLower, superTrendPrevLower) : superTrendLower
superTrendPrevUpper := superTrendUpper
superTrendPrevLower := superTrendLower
// Enhanced Visualization
// Plot the SuperTrend and Vegas Channel for visual analysis.
plot(marketTrend == 1 ? superTrendUpper : na, "SuperTrend Upper", color=color.green, linewidth=2)
plot(marketTrend == -1 ? superTrendLower : na, "SuperTrend Lower", color=color.red, linewidth=2)
plot(vegasChannelUpper, "Vegas Upper", color=color.purple, linewidth=1)
plot(vegasChannelLower, "Vegas Lower", color=color.purple, linewidth=1)
// Apply a color to the price bars based on the current market trend.
barcolor(marketTrend == 1 ? color.green : marketTrend == -1 ? color.red : na)
// Detect trend direction changes and plot entry/exit signals.
trendShiftToBullish = marketTrend == 1 and marketTrend[1] == -1
trendShiftToBearish = marketTrend == -1 and marketTrend[1] == 1
plotshape(series=trendShiftToBullish, title="Enter Long", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=trendShiftToBearish, title="Enter Short", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")
// Define conditions for entering long or short positions, and execute trades based on these conditions.
enterLongCondition = marketTrend == 1
enterShortCondition = marketTrend == -1
// Check trade direction choice before executing trade entries.
if enterLongCondition and (tradeDirectionChoice == "Long" or tradeDirectionChoice == "Both")
strategy.entry("Long Position", strategy.long)
if enterShortCondition and (tradeDirectionChoice == "Short" or tradeDirectionChoice == "Both")
strategy.entry("Short Position", strategy.short)
// Close all positions when the market trend changes.
if marketTrend != marketTrend[1]
strategy.close_all()