Strategi ini adalah sistem perdagangan kuantitatif canggih berdasarkan indikator Moving Average Convergence Divergence (MACD), meningkatkan keputusan perdagangan melalui tampilan latar belakang dinamis dan beberapa kombinasi parameter yang telah ditetapkan sebelumnya. Inti dari strategi ini terletak pada menangkap titik transisi tren pasar melalui sinyal silang MACD dan menampilkan kondisi pasar secara visual.
Strategi ini menggunakan sepuluh preset parameter MACD yang berbeda, termasuk Standar (12,26,9), Jangka Pendek (5,35,5), Jangka Panjang (19,39,9), dll, untuk beradaptasi dengan lingkungan pasar dan gaya perdagangan yang berbeda. Sistem ini menghasilkan sinyal beli ketika garis MACD melintasi di atas garis sinyal (salib emas) dan sinyal jual ketika melintasi di bawah (salib kematian). Strategi ini meningkatkan pengenalan visual melalui perubahan warna latar belakang dinamis (hijau untuk bullish, merah untuk bearish) untuk membantu pedagang lebih memahami tren pasar.
Ini adalah versi canggih dari strategi MACD yang terstruktur dengan baik dan logis. Melalui beberapa parameter preset dan umpan balik visual dinamis, ini secara signifikan meningkatkan kepraktisan dan operasi strategi. Meskipun risiko yang melekat ada, strategi ini memiliki potensi untuk menjadi sistem perdagangan yang kuat dengan optimasi yang disarankan. Pedagang disarankan untuk melakukan backtesting menyeluruh sebelum implementasi langsung dan memilih pengaturan parameter yang sesuai berdasarkan kondisi pasar tertentu.
/*backtest start: 2024-10-12 00:00:00 end: 2024-11-11 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Hanzo - Top 10 MACD Strategy", overlay=false) // MACD in a separate pane // Define dropdown options for MACD settings macdOption = input.string(title="Select MACD Setting", defval="Standard (12, 26, 9)", options=["Standard (12, 26, 9)", "Short-Term (5, 35, 5)", "Long-Term (19, 39, 9)", "Scalping (3, 10, 16)", "Cryptocurrency (20, 50, 9)", "Forex (8, 17, 9)", "Conservative (24, 52, 18)", "Trend-Following (7, 28, 7)", "Swing Trading (5, 15, 5)", "Contrarian (15, 35, 5)"]) // MACD setting based on user selection var int fastLength = 12 var int slowLength = 26 var int signalLength = 9 switch macdOption "Standard (12, 26, 9)" => fastLength := 12 slowLength := 26 signalLength := 9 "Short-Term (5, 35, 5)" => fastLength := 5 slowLength := 35 signalLength := 5 "Long-Term (19, 39, 9)" => fastLength := 19 slowLength := 39 signalLength := 9 "Scalping (3, 10, 16)" => fastLength := 3 slowLength := 10 signalLength := 16 "Cryptocurrency (20, 50, 9)" => fastLength := 20 slowLength := 50 signalLength := 9 "Forex (8, 17, 9)" => fastLength := 8 slowLength := 17 signalLength := 9 "Conservative (24, 52, 18)" => fastLength := 24 slowLength := 52 signalLength := 18 "Trend-Following (7, 28, 7)" => fastLength := 7 slowLength := 28 signalLength := 7 "Swing Trading (5, 15, 5)" => fastLength := 5 slowLength := 15 signalLength := 5 "Contrarian (15, 35, 5)" => fastLength := 15 slowLength := 35 signalLength := 5 // MACD Calculation [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength) macdHist = macdLine - signalLine // Buy and Sell conditions based on MACD crossovers enterLong = ta.crossover(macdLine, signalLine) exitLong = ta.crossunder(macdLine, signalLine) // Execute buy and sell orders with price labels in the comments if (enterLong) strategy.entry("Buy", strategy.long, comment="Buy at " + str.tostring(close, "#.##")) if (exitLong) strategy.close("Buy", comment="Sell at " + str.tostring(close, "#.##")) // Plot the signal price using plotchar for buy/sell prices //plotchar(enterLong ? close : na, location=location.belowbar, color=color.green, size=size.small, title="Buy Price", offset=0) //plotchar(exitLong ? close : na, location=location.abovebar, color=color.red, size=size.small, title="Sell Price", offset=0) // Background highlighting based on bullish or bearish MACD isBullish = macdLine > signalLine isBearish = macdLine < signalLine // Change background to green for bullish periods and red for bearish periods bgcolor(isBullish ? color.new(color.green, 90) : na, title="Bullish Background") bgcolor(isBearish ? color.new(color.red, 90) : na, title="Bearish Background") // Plot the MACD and Signal line in a separate pane plot(macdLine, title="MACD Line", color=color.blue, linewidth=2) plot(signalLine, title="Signal Line", color=color.orange, linewidth=2) hline(0, "Zero Line", color=color.gray) plot(macdHist, title="MACD Histogram", style=plot.style_histogram, color=color.red)