
Gambaran keseluruhan
Strategi ini adalah sistem perdagangan silang berdasarkan purata bergerak indeks ((EMA) dan indeks lemah relatif ((RSI)). Strategi ini menentukan masa masuk dan keluar dengan menyeberang harga dengan EMA dan tahap overbought dan oversold dengan indikator RSI. Sistem ini merancang mekanisme berhenti dan keuntungan yang lengkap untuk mengawal risiko dengan berkesan.
Prinsip Strategi
Strategi ini adalah berdasarkan logik teras berikut:
- Isyarat masuk berdasarkan persilangan harga dengan EMA yang menyimpang. Isyarat melakukan banyak dihasilkan apabila harga melintasi ke atas (EMA + nilai yang menyimpang); Isyarat melakukan kosong dihasilkan apabila harga melintasi ke bawah (EMA - nilai yang menyimpang).
- Mekanisme keluar terdiri daripada dua dimensi: hentian titik tetap dan keuntungan berdasarkan RSI. Mengambil kedudukan lebih banyak adalah menguntungkan apabila RSI mencapai 70, dan memegang posisi kosong adalah menguntungkan apabila RSI mencapai 28.
- Sistem ini menggunakan 68 kitaran EMA sebagai penunjuk keputusan trend pertengahan, 13 kitaran RSI sebagai penunjuk keputusan jual beli jangka pendek.
Kelebihan Strategik
- Gabungan trend tracking dan indikator getaran: melalui EMA untuk memahami arah trend dalam jangka menengah, melalui RSI untuk menangkap peluang overbought dan oversold dalam pasaran jangka pendek.
- Kawalan risiko yang sempurna: menetapkan titik berhenti tetap, mengawal risiko perdagangan tunggal secara berkesan.
- Parameter sistem boleh disesuaikan: Parameter teras seperti kitaran EMA, kitaran RSI, dan nilai bias silang boleh dioptimumkan mengikut ciri-ciri pasaran yang berbeza.
- Fleksibiliti mekanisme keuntungan: Menggunakan RSI sebagai standard keuntungan, dapat menyesuaikan diri dengan kekuatan turun naik pasaran.
Risiko Strategik
- Risiko trend reversal: Indeks EMA mengalami kemunduran apabila trend pasaran berubah, yang boleh menyebabkan isyarat yang salah.
- Pasaran goyah tidak menguntungkan: Persaingan yang kerap boleh menyebabkan kerugian berturut-turut apabila tiada trend yang jelas di pasaran.
- Sensitiviti parameter: Prestasi strategi lebih sensitif kepada tetapan parameter, dan mungkin memerlukan penyesuaian yang kerap dalam keadaan pasaran yang berbeza.
Arah pengoptimuman strategi
- Menambah penapis trend: Anda boleh mempertimbangkan untuk menambah purata bergerak dengan tempoh yang lebih lama sebagai penapis trend, dan hanya berdagang jika arah trend jelas.
- Mekanisme Hentian Dinamis: Hentian titik tetap boleh diubah menjadi Hentian Dinamis berasaskan ATR, lebih sesuai dengan turun naik pasaran.
- Optimumkan masa kemasukan: boleh digabungkan dengan penunjuk lalu lintas, dengan pengesahan lalu lintas apabila isyarat persilangan muncul.
- Pengenalan keadaan pasaran: Tambah indikator kadar turun naik, sesuaikan parameter perdagangan atau hentikan perdagangan dalam keadaan turun naik yang tinggi.
ringkaskan
Strategi ini membina sistem perdagangan yang mempunyai ciri-ciri trend dan pembalikan dengan menggabungkan EMA dan RSI, dua petunjuk teknikal klasik. Mekanisme kawalan risiko yang baik dan reka bentuk parameter yang boleh disesuaikan menjadikannya praktikal. Walau bagaimanapun, pengoptimuman parameter strategi dan kesesuaian pasaran masih mempunyai ruang untuk peningkatan.
Kod sumber strategi
/*backtest
start: 2024-02-21 00:00:00
end: 2024-10-05 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("EMA & RSI Custom Strategy", overlay=true)
// Input Parameters
emaLength = input.int(68, title="EMA Length")
rsiLength = input.int(13, title="RSI Period")
buyOffset = input.float(2, title="Buy Offset (above EMA)")
sellOffset = input.float(2, title="Sell Offset (below EMA)")
stopLossPoints = input.float(20, title="Stop Loss (points)")
buyRSIProfitLevel = input.int(70, title="Buy RSI Profit Level")
sellRSIProfitLevel = input.int(28, title="Sell RSI Profit Level")
// EMA and RSI Calculations
ema = ta.ema(close, emaLength)
rsi = ta.rsi(close, rsiLength)
// Buy Condition
buyPrice = ema + buyOffset
buyCondition = ta.crossover(close, buyPrice)
if buyCondition
strategy.entry("Buy", strategy.long)
// Stop Loss and Profit for Buy
if strategy.position_size > 0
if close <= strategy.position_avg_price - stopLossPoints
strategy.close("Buy", comment="Stop Loss")
if rsi >= buyRSIProfitLevel
strategy.close("Buy", comment="Profit Target")
// Sell Condition
sellPrice = ema - sellOffset
sellCondition = ta.crossunder(close, sellPrice)
if sellCondition
strategy.entry("Sell", strategy.short)
// Stop Loss and Profit for Sell
if strategy.position_size < 0
if close >= strategy.position_avg_price + stopLossPoints
strategy.close("Sell", comment="Stop Loss")
if rsi <= sellRSIProfitLevel
strategy.close("Sell", comment="Profit Target")
// Plot EMA
plot(ema, color=color.blue, title="EMA 68")