Strategi ini menggabungkan metode mengikuti tren dan analisis momentum, menggunakan indikator Simple Moving Average (SMA) dan Moving Average Convergence Divergence (MACD) untuk mengidentifikasi peluang perdagangan potensial. Strategi ini menggunakan indikator Trendilo (indikator tren berdasarkan SMA) untuk menentukan tren pasar secara keseluruhan, sementara menggunakan penyeberangan garis nol MACD untuk menangkap perubahan momentum jangka pendek. Selain itu, strategi ini menggabungkan Average True Range (ATR) untuk secara dinamis menetapkan tingkat stop-loss dan take-profit, beradaptasi dengan perubahan volatilitas pasar.
Logika inti dari strategi ini didasarkan pada elemen kunci berikut:
Secara khusus, sinyal panjang dipicu ketika garis MACD melintasi di atas nol dan harga penutupan di atas garis Trendilo. Sebaliknya, sinyal pendek dipicu ketika garis MACD melintasi di bawah nol dan harga penutupan di bawah garis Trendilo. Setelah masuk, strategi menggunakan level stop-loss dan take-profit berbasis ATR untuk mengelola risiko dan mengunci keuntungan.
Strategi ini dengan cerdas menggabungkan mengikuti tren dan analisis momentum, menyediakan para pedagang dengan kerangka analisis pasar yang relatif komprehensif melalui sinergi Trendilo dan MACD. Pendekatan manajemen risiko dinamis meningkatkan kemampuan adaptasi strategi, memungkinkan untuk mempertahankan stabilitas di lingkungan pasar yang berbeda. Namun, para pedagang harus tetap berhati-hati saat menggunakan strategi ini, terutama dalam hal optimasi parameter dan pengendalian risiko. Melalui pemantauan dan optimasi terus-menerus, strategi ini memiliki potensi untuk menjadi alat perdagangan yang dapat diandalkan, terutama cocok untuk investor yang ingin menangkap peluang di pasar tren.
/*backtest start: 2019-12-23 08:00:00 end: 2024-09-24 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("NNFX Trendilo + Zero MACD Strategy", overlay=true) // --- Inputs --- atrPeriod = input.int(14, title="ATR Period") stopLossMultiplier = input.float(1.5, minval=0.0, maxval = 20.0, step = 0.1 ,title="Stop Loss Multiplier") takeProfitMultiplier = input.float(2.0, minval=0.0 , maxval = 20.0, step = 0.1,title="Take Profit Multiplier") // --- Trendilo --- trendiloPeriod = input.int(50, title="Trendilo Period") trendilo = ta.sma(close, trendiloPeriod) // --- MACD --- [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) macdZeroCrossUp = ta.crossover(macdLine, 0) macdZeroCrossDown = ta.crossunder(macdLine, 0) // --- ATR for Stop Loss and Take Profit --- atr = ta.atr(atrPeriod) stopLoss = atr * stopLossMultiplier takeProfit = atr * takeProfitMultiplier // --- Trading Logic --- longCondition = macdZeroCrossUp and close > trendilo shortCondition = macdZeroCrossDown and close < trendilo // --- Execute Long Trades --- if (longCondition) strategy.entry("Buy", strategy.long) strategy.exit("Take Profit/Stop Loss", "Buy", limit=close + takeProfit, stop=close - stopLoss) // --- Execute Short Trades --- if (shortCondition) strategy.entry("Sell", strategy.short) strategy.exit("Take Profit/Stop Loss", "Sell", limit=close - takeProfit, stop=close + stopLoss) // --- Plot Signals --- plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell") // --- Plot Trendilo --- plot(trendilo, color=color.blue, linewidth=2)