
Strategi ini menggunakan indikator RSI untuk mengidentifikasi tren dan overbought dan oversold, digabungkan dengan EMA rata-rata untuk menilai arah tren saat ini, melakukan posisi terbalik ketika arah tren sesuai dengan sinyal RSI, untuk melakukan perdagangan berbalik garis pendek.
Menggunakan indikator EMA untuk menentukan arah tren saat ini. Ketika harga di atas rata-rata EMA, ini didefinisikan sebagai tren naik; Ketika harga di bawah rata-rata EMA, ini didefinisikan sebagai tren turun.
Untuk menilai overbought dan oversold menggunakan RSI. RSI lebih tinggi dari 60 adalah zona overbought dan lebih rendah dari 40 adalah zona oversold.
Ketika tren naik dan RSI di bawah 40, sinyal beli dikirim; ketika tren turun dan RSI di atas 60, sinyal jual dikirim.
Saat sinyal beli dan jual dikirimkan, masing-masing mengatur harga stop stop dan stop loss. Harga stop stop dihitung berdasarkan proporsi tertentu dari harga buka posisi; harga stop loss dihitung berdasarkan proporsi tertentu dari harga buka posisi.
Bila posisi lebih besar dari 0, atur stop loss; bila posisi lebih kecil dari 0, atur stop loss.
Strategi untuk menggunakan indikator EMA dan RSI secara rasional, untuk mengidentifikasi tren dan overbought dan oversold, dan untuk menghindari perdagangan berlawanan.
Strategi ini menggunakan cara berdagang dengan berputar-putar di garis pendek, yang memungkinkan untuk mengambil peluang keuntungan dari berputarnya garis pendek.
Strategi pengaturan stop loss untuk membantu mengunci keuntungan dan mengendalikan risiko.
Strategi trading logikanya jelas dan ringkas, mudah dipahami implementasinya, cocok untuk pemula.
Strategi dapat dioptimalkan dengan menyesuaikan siklus EMA, parameter RSI, dan lain-lain untuk menyesuaikan dengan varietas dan lingkungan perdagangan.
Risiko kegagalan pembalikan. Pembalikan garis pendek mungkin gagal, sehingga menyebabkan kerugian.
Tidak jelas tren risiko. Dalam situasi yang bergejolak, EMA sulit untuk menentukan arah tren yang jelas, yang dapat menghasilkan sinyal yang salah.
Stop loss berisiko dipicu. Stop loss diatur terlalu dekat dan mungkin dipicu secara tidak sengaja.
Risiko over-optimisasi. Over-optimisasi terhadap data historis, mungkin tidak dapat disesuaikan dengan lingkungan disk.
Terlalu sering bertransaksi berisiko. Terlalu sering bertransaksi dalam jangka pendek dapat menyebabkan biaya transaksi yang tinggi.
Mengoptimalkan parameter EMA dan RSI, mencari kombinasi parameter terbaik. Parameter optimal dapat diperoleh dengan melakukan retrospeksi.
Menambahkan kondisi penyaringan untuk menghindari sinyal yang salah dalam situasi getaran. Misalnya, meningkatkan kondisi volume transaksi.
Mengoptimalkan stop loss ratio, mencari rasio optimal untuk mengunci keuntungan. Stop loss ratio tidak boleh terlalu besar, dan dapat dilepaskan dengan tepat.
Menambahkan strategi manajemen posisi, seperti posisi tetap, Martingale, dan lain-lain, untuk mengendalikan kerugian tunggal.
Kombinasi dengan indikator lain, seperti MACD, KD, dan lain-lain, meningkatkan akurasi sinyal. Atau dioptimalkan untuk model multi faktor.
Dengan melakukan pengujian ulang terhadap data yang ada, dan terus mengoptimalkan parameter, strategi dapat disesuaikan dengan situasi terkini.
Strategi ini didasarkan pada indikator EMA dan RSI, menggunakan logika perdagangan untuk menilai tren dan mengidentifikasi overbought dan oversold, serta mengatur risiko pengendalian stop loss dan stop loss saat mendapatkan keuntungan. Keuntungan dari strategi ini adalah sederhana dan mudah digunakan, logika jelas, dan hasil pengukuran yang lebih baik dapat diperoleh melalui pengoptimalan parameter.
/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-31 00:00:00
period: 5m
basePeriod: 1m
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/
// © Sarahann999
//@version=5
strategy("RSI Strategy", shorttitle="RSI", overlay= false)
//Inputs
long_entry = input(true, title='Long Entry')
short_entry = input(true, title='Short Entry')
emaSettings = input(100, 'EMA Length')
ema = ta.ema(close,emaSettings)
rsi = ta.rsi(close,14)
//Conditions
uptrend = close > ema
downtrend = close < ema
OB = rsi > 60
OS = rsi < 40
buySignal = uptrend and OS and strategy.position_size == 0
sellSignal = downtrend and OB and strategy.position_size == 0
//Calculate Take Profit Percentage
longProfitPerc = input.float(title="Long Take Profit", group='Take Profit Percentage',
minval=0.0, step=0.1, defval=1) / 100
shortProfitPerc = input.float(title="Short Take Profit",
minval=0.0, step=0.1, defval=1) / 100
// Figure out take profit price 1
longExitPrice = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)
// Make inputs that set the stop % 1
longStopPerc = input.float(title="Long Stop Loss", group='Stop Percentage',
minval=0.0, step=0.1, defval=1.5) / 100
shortStopPerc = input.float(title="Short Stop Loss",
minval=0.0, step=0.1, defval=1.5) / 100
// Figure Out Stop Price
longStopPrice = strategy.position_avg_price * (1 - longStopPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortStopPerc)
// Submit entry orders
if buySignal and long_entry
strategy.entry(id="Long", direction=strategy.long, alert_message="Enter Long")
if sellSignal and short_entry
strategy.entry(id="Short", direction=strategy.short, alert_message="Enter Short")
//Submit exit orders based on take profit price
if (strategy.position_size > 0)
strategy.exit(id="Long TP/SL", limit=longExitPrice, stop=longStopPrice, alert_message="Long Exit 1 at {{close}}")
if (strategy.position_size < 0)
strategy.exit(id="Short TP/SL", limit=shortExitPrice, stop=shortStopPrice, alert_message="Short Exit 1 at {{close}}")
//note: for custom alert messages to read, "{{strategy.order.alert_message}}" must be placed into the alert dialogue box when the alert is set.
plot(rsi, color= color.gray)
hline(40, "RSI Lower Band")
hline(60, "RSI Upper Band")