Strategi ini menggabungkan trend berikut dan kaedah analisis momentum, menggunakan sederhana Moving Average (SMA) dan Moving Average Convergence Divergence (MACD) penunjuk untuk mengenal pasti peluang perdagangan yang berpotensi. Strategi ini menggunakan Trendilo penunjuk (penunjuk trend berdasarkan SMA) untuk menentukan keseluruhan trend pasaran, sambil menggunakan MACD garis sifar silang untuk menangkap perubahan momentum jangka pendek. Di samping itu, strategi ini menggabungkan Purata Benar Julat (ATR) untuk secara dinamik menetapkan stop-loss dan mengambil keuntungan tahap, menyesuaikan diri dengan perubahan dalam turun naik pasaran.
Logik teras strategi ini adalah berdasarkan unsur-unsur utama berikut:
Secara khusus, isyarat panjang diaktifkan apabila garis MACD melintasi di atas sifar dan harga penutupan di atas garis Trendilo. Sebaliknya, isyarat pendek diaktifkan apabila garis MACD melintasi di bawah sifar dan harga penutupan di bawah garis Trendilo.
Strategi ini dengan bijak menggabungkan trend berikut dan analisis momentum, menyediakan peniaga dengan kerangka analisis pasaran yang agak komprehensif melalui sinergi Trendilo dan MACD. Pendekatan pengurusan risiko dinamik meningkatkan kebolehan menyesuaikan diri strategi, yang membolehkannya mengekalkan kestabilan dalam persekitaran pasaran yang berbeza. Walau bagaimanapun, peniaga masih harus berhati-hati ketika menggunakan strategi ini, terutama dari segi pengoptimuman parameter dan kawalan risiko. Melalui pemantauan dan pengoptimuman berterusan, strategi ini berpotensi menjadi alat perdagangan yang boleh dipercayai, terutama sesuai untuk pelabur yang ingin menangkap peluang di pasaran trend.
/*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)