Strategi MACD Valley Detector adalah strategi perdagangan yang didasarkan pada indikator MACD. Strategi ini menghasilkan sinyal beli dengan mendeteksi lembah dalam indikator MACD. Ketika indikator MACD membentuk lembah, nilai MACD kurang dari atau sama dengan -0,4, dan perbedaan antara MACD dan garis sinyalnya kurang dari 0, strategi mengeluarkan sinyal beli dan menetapkan harga mengambil keuntungan.
Inti dari strategi MACD Valley Detector adalah menggunakan indikator MACD untuk menangkap peluang pembalikan potensial. Indikator MACD dihitung dengan perbedaan antara dua rata-rata bergerak eksponensial (EMA), yang mencerminkan perubahan momentum harga. Ketika indikator MACD membentuk lembah, itu menunjukkan bahwa momentum penurunan harga mungkin melemah, dan ada kemungkinan pembalikan.
Strategi ini menggunakan kondisi berikut untuk menentukan lembah MACD:
Ketika kondisi di atas terpenuhi secara bersamaan, strategi menganggapnya sebagai lembah MACD dan mengeluarkan sinyal beli. Pada saat yang sama, strategi menetapkan harga ambil keuntungan tetap, yang merupakan harga beli ditambah perbedaan harga tetap (takeProfitValue).
Strategi MACD Valley Detector adalah strategi perdagangan yang didasarkan pada mendeteksi lembah dalam indikator MACD. Dengan menangkap lembah indikator MACD, strategi ini mencoba untuk menemukan peluang pembalikan potensial dan melakukan pembelian. Strategi ini menggunakan beberapa kondisi untuk mengkonfirmasi sinyal dan menetapkan harga keuntungan tetap. Meskipun strategi ini memiliki keuntungan tertentu, seperti memanfaatkan indikator MACD yang banyak digunakan dan konfirmasi multi-kondisi, strategi ini juga memiliki beberapa risiko dan keterbatasan, seperti lag, parameter tetap, kurangnya stop-loss yang jelas, dll. Untuk meningkatkan strategi, seseorang dapat mempertimbangkan memperkenalkan stop-loss dinamis, optimasi parameter, menggabungkan dengan indikator lain untuk penyaringan, dan metode mengambil keuntungan dinamis. Secara keseluruhan, strategi MACD Valley Detector memberikan ide untuk menangkap peluang pembalikan, tetapi masih perlu dioptimalkan dan ditingkatkan berdasarkan kondisi dan kebutuhan pasar yang sebenarnya.
/*backtest start: 2024-03-12 00:00:00 end: 2024-04-11 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © freditansari //@version=5 //@version=5 strategy("MACD Valley Detector", overlay=true) fastLength = input(12) slowlength = input(26) MACDLength = input(9) MACD = ta.ema(close, fastLength) - ta.ema(close, slowlength) aMACD = ta.ema(MACD, MACDLength) delta = MACD - aMACD rsi = ta.rsi(close, 14) atr = ta.atr(14) qty=1 takeProfitValue =7 // stopLossValue = 1 // close[0] < close[1] and close[1] > close[2] is_valley= delta[0] > delta[1] and delta[1]<delta[2]? 1:0 // plot(is_valley , "valley?") if(is_valley==1 and MACD<=-0.4 and delta <0) takeProfit = close +takeProfitValue action = "buy" // strategy.entry("long", strategy.long, qty=qty) // // strategy.exit("exit", "long", stop=stopLoss, limit=takeProfit) // strategy.exit("exit", "long", limit=takeProfit) alert('{"TICKER":"'+syminfo.ticker+'","ACTION":"'+action+'","PRICE":"'+str.tostring(close)+'","TAKEPROFIT":"'+str.tostring(takeProfit)+'","QTY":"'+str.tostring(qty)+'"}') if (ta.crossover(delta, 0)) stopLoss = low -0.3 takeProfit = high +0.3 strategy.entry("MacdLE", strategy.long,qty=qty, comment="MacdLE") strategy.exit("exit long", "MacdLE", limit=takeProfit) // strategy.exit("exit long", "MacdLE", stop=stopLoss, limit=takeProfit) if (ta.crossunder(delta, 0)) stopLoss = high + 0.3 takeProfit = low - 0.3 strategy.entry("MacdSE", strategy.short,qty=qty, comment="MacdSE") strategy.exit("exit long", "MacdLE", limit=takeProfit) // strategy.exit("exit short", "MacdSE", stop=stopLoss, limit=takeProfit) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)