Strategi ini merupakan sistem trend-following yang komprehensif yang menggabungkan beberapa indikator teknis dan metode analisis momentum. Inti dari strategi ini menggunakan crossover rata-rata bergerak, konfirmasi tren, dan indikator momentum, dikombinasikan dengan kontrol volatilitas untuk manajemen risiko. Strategi ini menunjukkan kemampuan beradaptasi yang baik di pasar dengan tren jangka menengah hingga panjang yang jelas.
Strategi ini menggunakan mekanisme konfirmasi sinyal berlapis-lapis, termasuk elemen kunci berikut:
Kondisi perdagangan yang komprehensif adalah: Kondisi panjang: EMA9 melintasi di atas EMA21, garis MACD di atas garis sinyal dan positif, RSI antara 40-70, harga di atas EMA9 Kondisi pendek: EMA9 melintasi di bawah EMA21, garis MACD di bawah garis sinyal dan negatif, RSI antara 30-60, harga di bawah EMA9
Strategi ini membangun sistem perdagangan yang relatif lengkap mengikuti tren melalui kombinasi beberapa indikator teknis. Keuntungan utamanya terletak pada keandalan sinyal dan kontrol risiko rasional, meskipun menghadapi tantangan dengan lag dan optimasi parameter. Melalui arah optimasi yang diusulkan, strategi ini memiliki potensi untuk meningkatkan kinerja dalam perdagangan langsung.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Estratégia Cripto - 1D", shorttitle="Estratégia Cripto", overlay=true) // Definição das Médias Móveis Exponenciais (EMA) ema9 = ta.ema(close, 9) ema21 = ta.ema(close, 21) // Definição do MACD [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) // Definição do RSI rsi = ta.rsi(close, 14) // Volume médio volMedio = ta.sma(volume, 14) // Definição das Bollinger Bands basis = ta.sma(close, 20) dev = ta.stdev(close, 20) upperBand = basis + 2 * dev lowerBand = basis - 2 * dev // Condições de Compra (Long) longCondition = (ema9 > ema21) and (macdLine > signalLine) and (macdLine > 0) and (volume > volMedio) and (rsi > 40 and rsi < 70) and (close > ema9) if (longCondition) strategy.entry("Compra", strategy.long) // Condições de Venda (Short) shortCondition = (ema9 < ema21) and (macdLine < signalLine) and (macdLine < 0) and (volume > volMedio) and (rsi < 60 and rsi > 30) and (close < ema9) if (shortCondition) strategy.entry("Venda", strategy.short) // Stop Loss e Take Profit strategy.exit("Take Profit/Stop Loss", from_entry="Compra", loss=200, profit=400) strategy.exit("Take Profit/Stop Loss", from_entry="Venda", loss=200, profit=400) // Plotagem das Médias Móveis e Bollinger Bands plot(ema9, color=color.green, title="EMA 9") plot(ema21, color=color.red, title="EMA 21") plot(upperBand, color=color.blue, title="Upper Band") plot(lowerBand, color=color.blue, title="Lower Band")