
Strategi ini adalah sistem perdagangan trend-tracking yang menggabungkan beberapa indikator, menggabungkan analisis tiga dimensi dari tren pasar, dinamika dan volatilitas. Logika inti adalah menilai tren pasar melalui indikator cloud (Ichimoku Cloud), MACD linear untuk mengkonfirmasi dinamika, Bollinger Band Width untuk memfilter kondisi pasar yang berfluktuasi, dan mengkonfirmasi tren pada tingkat mingguan.
Strategi ini menggunakan mekanisme pemfilteran sinyal multi-lapisan: pertama, menentukan tren besar pasar dengan menilai apakah harga berada di atas atau di bawah awan melalui jarak A dan B yang memimpin dari satu indikator awan; kedua, menggunakan grafik lurus MACD untuk menentukan intensitas pergerakan, yang membutuhkan grafik lurus pada waktu puncak yang lebih besar dari -0.05, kurang dari 0 pada waktu puncak; ketiga, memasukkan rata-rata 50 siklus siklus waktu garis lingkar untuk mengkonfirmasi arah tren tingkat yang lebih besar; keempat, menggunakan indikator lebar bandwidth Brin untuk memfilter tren tren rendah, hanya ketika lebar lebarnya lebih besar dari 0.02.
Strategi ini membangun sistem pelacakan tren yang lengkap dengan penggabungan indikator multi-dimensi dan analisis siklus waktu multi-dimensi, dan dilengkapi dengan mekanisme manajemen risiko dinamis. Meskipun kinerja pengukuran yang baik, risiko yang ditimbulkan oleh perubahan lingkungan pasar masih perlu diperhatikan, dan disarankan untuk diverifikasi dengan hati-hati dan terus dioptimalkan di pasar nyata.
/*backtest
start: 2024-11-01 00:00:00
end: 2025-02-19 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FIWB
//@version=6
strategy("Momentum Edge Strategy - 1D BTC Optimized", overlay=true)
// --- Input Parameters ---
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier")
bbWidthThreshold = input.float(0.02, title="Bollinger Band Width Threshold")
// --- Ichimoku Cloud ---
conversionLine = (ta.highest(high, 9) + ta.lowest(low, 9)) / 2
baseLine = (ta.highest(high, 26) + ta.lowest(low, 26)) / 2
leadingSpanA = (conversionLine + baseLine) / 2
leadingSpanB = (ta.highest(high, 52) + ta.lowest(low, 52)) / 2
priceAboveCloud = close > leadingSpanA and close > leadingSpanB
priceBelowCloud = close < leadingSpanA and close < leadingSpanB
// --- MACD Histogram ---
[_, _, macdHistogram] = ta.macd(close, 12, 26, 9)
// --- Multi-Timeframe Trend Confirmation ---
higherTFTrend = request.security(syminfo.tickerid, "W", close > ta.sma(close, 50))
// --- Bollinger Band Width ---
bbBasis = ta.sma(close, 20)
bbUpper = bbBasis + 2 * ta.stdev(close, 20)
bbLower = bbBasis - 2 * ta.stdev(close, 20)
bbWidth = (bbUpper - bbLower) / bbBasis
// --- ATR-based Stop Loss ---
atrValue = ta.atr(atrLength)
highestHigh = ta.highest(high, atrLength)
lowestLow = ta.lowest(low, atrLength)
longStopLoss = bbWidth < bbWidthThreshold ? lowestLow : close - atrValue * atrMultiplier
shortStopLoss= bbWidth < bbWidthThreshold ? highestHigh : close + atrValue * atrMultiplier
// --- Entry Conditions ---
longCondition = priceAboveCloud and macdHistogram > -0.05 and higherTFTrend and bbWidth > bbWidthThreshold
shortCondition = priceBelowCloud and macdHistogram < 0 and not higherTFTrend and bbWidth > bbWidthThreshold
// --- Strategy Execution ---
if longCondition
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", from_entry="Long", stop=longStopLoss)
if shortCondition
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", from_entry="Short", stop=shortStopLoss)
// --- Plotting ---
plot(leadingSpanA, color=color.new(color.green, 80), title="Leading Span A")
plot(leadingSpanB, color=color.new(color.red, 80), title="Leading Span B")
plotshape(series=longCondition ? close : na, title="Long Signal", location=location.belowbar, color=color.green)
plotshape(series=shortCondition ? close : na, title="Short Signal", location=location.abovebar, color=color.red)