Strategi Pengesan Lembah MACD adalah strategi dagangan berdasarkan penunjuk MACD. Strategi ini menghasilkan isyarat beli dengan mengesan lembah dalam penunjuk MACD. Apabila penunjuk MACD membentuk lembah, nilai MACD kurang daripada atau sama dengan -0.4, dan perbezaan antara MACD dan garis isyaratnya kurang dari 0, strategi mengeluarkan isyarat beli dan menetapkan harga mengambil keuntungan.
Inti strategi Pengesan Lembah MACD adalah menggunakan penunjuk MACD untuk menangkap peluang pembalikan yang berpotensi. Penunjuk MACD dikira oleh perbezaan antara dua purata bergerak eksponensial (EMA), yang mencerminkan perubahan momentum harga. Apabila penunjuk MACD membentuk lembah, ia menunjukkan bahawa momentum penurunan harga mungkin melemah, dan terdapat kemungkinan pembalikan.
Strategi menggunakan keadaan berikut untuk menentukan lembah MACD:
Apabila syarat-syarat di atas dipenuhi secara serentak, strategi menganggapnya sebagai lembah MACD dan mengeluarkan isyarat beli. Pada masa yang sama, strategi menetapkan harga mengambil keuntungan tetap, yang merupakan harga beli ditambah perbezaan harga tetap (takeProfitValue).
Strategi Pengesan Lembah MACD adalah strategi perdagangan berdasarkan pengesanan lembah dalam penunjuk MACD. Dengan menangkap lembah penunjuk MACD, strategi ini berusaha mencari peluang pembalikan yang berpotensi dan membuat pembelian. Strategi ini menggunakan pelbagai syarat untuk mengesahkan isyarat dan menetapkan harga keuntungan tetap. Walaupun strategi ini mempunyai kelebihan tertentu, seperti memanfaatkan penunjuk MACD yang digunakan secara meluas dan pengesahan pelbagai syarat, ia juga mempunyai beberapa risiko dan batasan, seperti lag, parameter tetap, kekurangan stop-loss yang jelas, dll. Untuk meningkatkan strategi, seseorang boleh mempertimbangkan pengenalan stop-loss dinamik, pengoptimuman parameter, menggabungkan dengan indikator lain untuk penapisan, dan kaedah mengambil keuntungan dinamik. Secara keseluruhan, strategi Pengesan Lembah MACD memberikan idea untuk menangkap peluang pembalikan, tetapi masih perlu dioptimumkan dan dipertingkatkan berdasarkan keadaan dan keperluan pasaran sebenar.
/*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)