
Strategi ini menggabungkan indikator EMA dan RSI untuk mengidentifikasi peluang penyesuaian garis pendek bitcoin. Ini terutama menggunakan EMA sebagai grafik utama, RSI sebagai indikator penilaian tambahan, mencari bentuk penyesuaian yang lebih jelas. Ini menghasilkan sinyal perdagangan ketika harga turun atau naik kembali ke garis rata-rata EMA.
Strategi ini menggunakan garis EMA 50 siklus dan RSI 25 siklus. Garis EMA dianggap sebagai indikator grafis utama, RSI digunakan untuk menilai overbought dan oversold dan membantu menghasilkan sinyal perdagangan. Ketika harga dari atas ke bawah melanggar garis EMA, menghasilkan sinyal jual; Ketika harga dari bawah ke atas melanggar garis EMA, dan indikator RSI menunjukkan sinyal non-overbought (indicator RSI kurang dari 70), menghasilkan sinyal beli.
Setelah trading entry, strategi menetapkan posisi stop loss dan stop loss secara bersamaan. Jarak stop loss dapat diatur, dengan default 5,1%; Jarak stop loss juga dapat diatur, dengan default 9,6%. Ini dapat secara efektif mengurangi nilai maksimum kerugian tunggal.
Secara keseluruhan, strategi ini bergantung pada bentuk garis EMA, didukung oleh indikator RSI untuk menghindari overbought dan oversold, serta memiliki kontrol stop loss yang sesuai untuk penangkapan BTC short.
Strategi ini memiliki beberapa keuntungan utama:
Sinyal strategi lebih jelas dan tidak menghasilkan terlalu banyak kesalahan masuk acak. Penggunaan kombinasi EMA dan RSI membuat sinyal lebih jelas dan dapat diandalkan daripada hanya bergantung pada satu indikator.
Strategi self-belt stop loss brake control. Hal ini dapat secara efektif mengendalikan setiap kerugian, adalah sangat penting dalam pengendalian risiko.
Parameter strategi dapat dioptimalkan. Panjang EMA, RSI, dan lain-lain dapat disesuaikan, sehingga pengguna dapat menemukan kombinasi parameter terbaik untuk pasar yang berbeda.
Kebijakan mengizinkan pengembalian. Anda dapat mengatur jangka waktu pengembalian secara langsung di dalam kebijakan, untuk memverifikasi kebijakan.
Strategi ini juga memiliki beberapa risiko, terutama dari beberapa aspek berikut:
BT Bitcoin pasar yang kuat, stop loss dapat ditembus. Meskipun strategi yang ditetapkan stop loss, tetapi dalam Bitcoin pasar besar, harga bergerak lebih besar, stop loss garis mungkin akan langsung ditembus. Ini akan membawa kerugian besar.
Risiko penarikan diri. Strategi tidak mempertimbangkan kendali penarikan diri secara keseluruhan. Strategi akan menghasilkan beberapa penarikan diri jika terjadi penyesuaian yang lebih lama.
Efek sinyal dalam situasi besar berubah. Dalam situasi besar yang lebih liar, harga BTC akan memiliki gelombang yang lebih besar dan lebih panjang. Pada saat ini efek sinyal jangka pendek berubah dan mudah ditiru.
Untuk mengatasi dan mengurangi risiko ini, langkah-langkah berikut dapat diambil:
Perlahan-lahan perhentian yang tepat. Jika itu adalah situasi yang besar, Anda dapat memperpanjang jarak perhentian yang tepat, seperti memperluas hingga sekitar 10%, untuk menghindari perhentian yang terlalu mudah untuk ditembus.
Filter ini dapat digabungkan dengan indikator lain. Anda dapat menambahkan indikator tren seperti alignment multihead, untuk menghindari penggunaan strategi ini dalam penyesuaian tren jangka panjang.
Optimalkan parameter set. Anda dapat menguji pengaturan parameter untuk tahap pasar yang berbeda, membangun beberapa kombinasi parameter, dan mengubah parameter untuk meningkatkan kualitas sinyal ketika situasi besar muncul.
Strategi ini juga memiliki ruang untuk pengoptimalan lebih lanjut, terutama dari beberapa aspek:
Meningkatkan kontrol penarikan secara keseluruhan. Anda dapat mengatur rasio penarikan maksimum, seperti 20%, dan strategi berhenti berdagang ketika penarikan tersebut tercapai, untuk menghindari kerugian yang berlebihan.
Meningkatkan kontrol frekuensi pembukaan posisi. Anda dapat membatasi jumlah pembukaan posisi dalam satuan waktu strategi, seperti maksimum dua kali per jam, untuk menghindari terlalu sering berdagang.
Optimalkan pengaturan parameter. Uji kombinasi parameter dalam situasi pasar yang berbeda, bangun beberapa templat parameter, dan pilih parameter yang sesuai sesuai dengan situasi saat ini untuk meningkatkan efektivitas strategi.
Strategi ini dapat digunakan dengan kombinasi indikator lain seperti tren, volatilitas, dan lain-lain untuk membentuk dasar masuk sistem perdagangan yang lebih komprehensif dan andal.
Secara keseluruhan, strategi ini terutama bergantung pada bentuk penyesuaian jangka pendek BTC, memanfaatkan EMA dan RSI untuk menghasilkan sinyal perdagangan yang lebih jelas, dan memiliki kontrol stop loss dan stop loss untuk secara efektif menangkap peluang lelang yang dibawa oleh slippage jangka pendek BT. Namun, strategi ini lebih cocok sebagai alat bantu garis pendek, dan lebih efektif ketika digunakan dengan kombinasi strategi lainnya, yang dapat menghasilkan keuntungan tambahan yang lebih stabil.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mmoiwgg
//@version=4
strategy(title="EMA+RSI Pump & Drop Swing Sniper (With Alerts & SL+TP) - Strategy", shorttitle="EMA+RSI Swing Strategy", overlay=true)
emaLength = input(title="EMA Length", type=input.integer, defval=50, minval=0)
emarsiSource = input(close, title="EMA+RSI Source")
condSource = input(high, title="Long+Short Condition Source")
emaVal = ema(emarsiSource, emaLength)
rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)
rsiVal = rsi(emarsiSource, rsiLength)
//Safety
emaLength2 = input(title="Safety EMA Length", type=input.integer, defval=70, minval=0)
emaSource2 = input(close, title="Safety EMA Source")
ema = ema(emaSource2, emaLength2)
emaColorSource2 = close
emaBSource2 = close
// Backtest+Dates
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest end window
window() => time >= start and time <= finish ? true : false // create function - add window() to entry/exit/close
// Conditions
exit_long = crossover(emaVal, condSource)
longCond = crossunder(emaVal, condSource) and close > ema
//Stoploss + TakeProfit
sl = input(0.051, step=0.001, title="Stop Loss")
tp = input(0.096, step=0.001, title="Take Profit")
// Plots Colors
colors = emarsiSource > emaVal and rsiVal > 14 ? color.green : color.red
emaColorSource = input(close, title="Line Color Source")
emaBSource = input(close, title="Line Color B Source")
// Plots
plot(ema, color=emaColorSource2[1] > ema and emaBSource2 > ema ? color.green : color.red, linewidth=1)
plot(emaVal, color=emaColorSource[1] > emaVal and emaBSource > emaVal ? color.green : color.red, linewidth=3)
plotcandle(open, high, low, close, color=colors)
//Strategy Entry+Exits
strategy.entry("long",1,when=window() and longCond)
strategy.close("long",when=window() and exit_long)
strategy.exit("long tp/sl", "long", profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick)