Strategi ini adalah sistem perdagangan kuantitatif berdasarkan penunjuk MACD dan EMA berbilang tempoh. Ia menggabungkan ciri-ciri trend MACD dengan ciri-ciri sokongan dan rintangan pelbagai garis EMA untuk mewujudkan sistem keputusan perdagangan yang lengkap. Sistem ini termasuk bukan sahaja penjanaan isyarat tetapi juga amaran masa nyata untuk membantu peniaga menangkap peluang pasaran tepat pada masanya.
Logik teras dibina di atas dua penunjuk teknikal utama. Pertama adalah penunjuk MACD, yang terdiri daripada garis pantas (12 tempoh) dan garis perlahan (26 tempoh), menghasilkan isyarat perdagangan melalui persilangan mereka. Isyarat beli dihasilkan apabila garis MACD melintasi di atas garis isyarat, dan isyarat jual apabila melintasi di bawah. Kedua, strategi menggabungkan lima EMA tempoh yang berbeza (10/20/50/100/200) sebagai rujukan untuk pengesahan trend dan tahap sokongan / rintangan. Reka bentuk EMA pelbagai tempoh ini membantu peniaga lebih memahami persekitaran trend pasaran semasa.
Strategi ini membina sistem perdagangan yang agak lengkap dengan menggabungkan penunjuk MACD dan EMA pelbagai tempoh. Kekuatannya terletak pada isyarat yang jelas, dimensi analisis yang kaya, dan visualisasi yang baik. Walau bagaimanapun, ia juga mempunyai risiko yang melekat seperti lag dan isyarat palsu. Melalui langkah pengoptimuman seperti menambahkan penapisan turun naik dan pengesahan jumlah, kestabilan dan kebolehpercayaan strategi dapat ditingkatkan lagi. Strategi ini sesuai untuk peniaga jangka menengah hingga panjang, terutama cemerlang dalam persekitaran pasaran trend yang jelas.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("REEL TIME MACD Strategy with Alerts and EMAs", overlay=true) // --- Custom Indicator: MACD --- fastLength = input(12, title="MACD Fast Length") slowLength = input(26, title="MACD Slow Length") signalSmoothing = input(9, title="MACD Signal Smoothing") src = close [macdLine, signalLine, _] = ta.macd(src, fastLength, slowLength, signalSmoothing) histogram = macdLine - signalLine // Plot MACD components plot(macdLine, color=color.blue, linewidth=2, title="MACD Line") plot(signalLine, color=color.orange, linewidth=2, title="Signal Line") plot(histogram, style=plot.style_histogram, color=(histogram >= 0 ? color.green : color.red), title="Histogram") // --- Custom Indicator: EMAs --- ema10 = ta.ema(src, 10) ema20 = ta.ema(src, 20) ema50 = ta.ema(src, 50) ema100 = ta.ema(src, 100) ema200 = ta.ema(src, 200) // Plot EMAs on the chart plot(ema10, color=color.green, linewidth=1, title="EMA 10") plot(ema20, color=color.blue, linewidth=1, title="EMA 20") plot(ema50, color=color.purple, linewidth=1, title="EMA 50") plot(ema100, color=color.orange, linewidth=1, title="EMA 100") plot(ema200, color=color.red, linewidth=1, title="EMA 200") // --- Strategy: Buy and Sell conditions (MACD) --- buyCondition = ta.crossover(macdLine, signalLine) // Buy when MACD crosses above signal line sellCondition = ta.crossunder(macdLine, signalLine) // Sell when MACD crosses below signal line // Execute strategy based on buy/sell conditions if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // --- Alerts --- alertcondition(buyCondition, title="MACD Buy Alert", message="MACD XUP - Buy") alertcondition(sellCondition, title="MACD Sell Alert", message="MACD XDN - Sell") // Optional: Visualization for Buy/Sell signals plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY") plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")