
Strategi ini adalah sistem trend pengesanan yang komprehensif, menggabungkan pelbagai petunjuk teknikal dan kaedah analisis dinamik. Inti strategi ini menggunakan persilangan rata-rata, pengesahan trend dan gabungan indikator dinamik, untuk mengawal risiko melalui kadar turun naik, untuk memahami trend pasaran dan pengurusan risiko yang berkesan. Strategi ini mempunyai kebolehpasaran yang baik dalam persekitaran pasaran yang jelas dalam jangka masa sederhana dan jangka panjang.
Strategi ini menggunakan mekanisme pengesahan isyarat bertingkat, yang terdiri daripada beberapa elemen utama:
Syarat-syarat transaksi untuk penilaian gabungan pelbagai isyarat adalah seperti berikut: Buat banyak syarat: EMA9 melalui EMA21, MACD lebih besar daripada garis isyarat dan positif, RSI antara 40-70, harga di atas EMA9 Keadaan kosong: EMA9 melalui EMA21, MACD lebih kecil daripada isyarat dan negatif, RSI antara 30-60, harga di bawah EMA9
Strategi ini membina sistem perdagangan trend yang agak lengkap dengan menggunakan gabungan pelbagai petunjuk teknikal. Kelebihan utama strategi ini adalah kebolehpercayaan isyarat dan kesahihan kawalan risiko, tetapi pada masa yang sama terdapat beberapa ketinggalan dan masalah pengoptimuman parameter. Dengan arah pengoptimuman yang dikemukakan, strategi ini dijangka dapat mencapai prestasi yang lebih baik dalam aplikasi lapangan.
/*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")