Strategi ini menggabungkan garis EMA dan indikator MACD di seluruh kerangka waktu untuk mengidentifikasi sinyal tren dan menangkap tren jangka menengah hingga panjang. Strategi ini mengambil tindakan mengikuti tren ketika tren jangka pendek sejajar dengan tren jangka menengah hingga panjang. Sementara itu, strategi menggunakan indikator ATR untuk mengatur stop loss dan mengambil keuntungan untuk mengendalikan risiko dari fluktuasi.
Strategi ini menggunakan EMA 50 hari dan EMA 100 hari untuk menentukan arah tren jangka menengah hingga panjang. Ketika tren jangka pendek diidentifikasi oleh indikator MACD, ia memeriksa apakah arahnya selaras. Jika ya, ia mengambil tindakan trend berikut.
Secara khusus, ketika garis cepat MACD melintasi di atas garis lambat, dan menutup > 50-hari EMA dan menutup > 100-hari EMA, itu akan panjang.
Strategi ini juga menggunakan indikator ATR untuk menghitung rentang fluktuasi dan menetapkan harga stop loss dan take profit.
Menggabungkan garis EMA dan indikator MACD di seluruh kerangka waktu membantu mengidentifikasi sinyal tren dan mencegah hilangnya tren jangka menengah hingga panjang
Menggunakan indikator ATR untuk mengatur stop loss dan mengambil keuntungan berdasarkan fluktuasi pasar secara efektif mengendalikan risiko
Menghindari zona netral pasar mencegah kerugian yang tidak perlu
Garis EMA memiliki efek keterlambatan dan mungkin melewatkan titik balik
Indikator MACD memiliki beberapa kerangka waktu dan pengaturan parameter yang mempengaruhi hasil
Jangkauan ATR tidak dapat sepenuhnya mewakili fluktuasi harga di masa depan, tidak dapat menghilangkan risiko
Tindakan balas:
Mengkonfirmasi sinyal dengan indikator lain untuk menghindari masalah EMA yang tertinggal
Sesuaikan parameter MACD dan optimalkan hasil
Mengatur pengganda ATR secara wajar untuk mengendalikan kerugian maksimum
Uji kombinasi periode garis EMA yang berbeda
Mengoptimalkan pengaturan parameter MACD
Menggunakan metode pembelajaran mesin untuk secara otomatis menemukan ATR stop loss/take profit multiplier yang optimal
Strategi ini menggabungkan indikator EMA, MACD dan ATR untuk menerapkan tren menyusul operasi di seluruh kerangka waktu. Melalui optimasi parameter, ia memiliki potensi untuk mencapai tingkat pengembalian strategi yang baik. Juga perlu mencegah risiko termasuk keterlambatan indikator, penyesuaian parameter yang tidak tepat dan kontrol fluktuasi, dan terus mengoptimalkan dan meningkatkan.
/*backtest start: 2022-12-29 00:00:00 end: 2024-01-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA-50, EMA-100, and MACD Strategy with ATR for Stop Loss/Profit", overlay=true) // MACD hesaplama fastLength = input(12, title="Fast Length") slowLength = input(26, title="Slow Length") signalLength = input(9, title="Signal Length") [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength) // EMA-50 ve EMA-100 hesaplama ema50 = ta.ema(close, 50) ema100 = ta.ema(close, 100) // ATR hesaplama atrLength = input(14, title="ATR Length") atrValue = ta.atr(atrLength) // Take Profit ve Stop Loss çoklayıcıları takeProfitMultiplier = input(3.0, title="Take Profit Multiplier") // TP, 3 katı ATR stopLossMultiplier = input(1.0, title="Stop Loss Multiplier") // Long Pozisyon Koşulları longCondition = ta.crossover(macdLine, signalLine) and close > ema50 and close > ema100 // Short Pozisyon Koşulları shortCondition = ta.crossunder(macdLine, signalLine) and close < ema50 and close < ema100 // Take Profit ve Stop Loss Seviyeleri takeProfitLevel = close + takeProfitMultiplier * atrValue stopLossLevel = close - stopLossMultiplier * atrValue // Long Pozisyon İşlemleri strategy.entry("Long", strategy.long, when=longCondition) strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stopLossLevel, profit=takeProfitLevel) // Short Pozisyon İşlemleri strategy.entry("Short", strategy.short, when=shortCondition) strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stopLossLevel, profit=takeProfitLevel) // Grafikte Gösterme plot(ema50, color=color.blue, title="EMA-50") plot(ema100, color=color.red, title="EMA-100") hline(0, "Zero Line", color=color.gray)