Strategi ini menggunakan indikator RSI untuk menentukan sama ada cryptocurrency berada dalam keadaan oversold, jika RSI di bawah 30 dianggap sebagai oversold, ketika itu membeli, kemudian menetapkan harga hentian dan berhenti, menjual hentian jika mencapai harga hentian, dan menjual hentian jika mencapai harga hentian.
Strategi ini menggunakan RSI untuk menentukan masa masuk. RSI adalah indikator analisis teknikal yang menentukan sama ada aset itu terlalu banyak dibeli atau terlalu banyak dijual dengan mengira kelajuan dan keluasan perubahan harga. RSI berkisar antara 0 dan 100, RSI yang lebih tinggi daripada 70 dianggap sebagai kawasan yang terlalu banyak dibeli, dan RSI yang lebih rendah daripada 30 dianggap sebagai kawasan yang terlalu banyak dijual.
Apabila RSI berada di bawah 30, ia dianggap terlalu rendah dan anda boleh membeli lebih banyak.
Tetapkan harga hentikan dan hentikan selepas membuka kedudukan. Harga hentikan adalah kurang daripada 1% dari harga masuk, dan harga hentikan adalah lebih daripada 7% dari harga masuk.
Jika harga jatuh di bawah harga hentikan kerugian, hentikan kerugian; jika harga melebihi harga hentikan kerugian, hentikan kerugian.
Dengan menggunakan RSI untuk menentukan masa pembelian, anda boleh membeli ketika harga jatuh ke titik rendah, untuk mendapatkan harga masuk yang lebih baik.
Tetapan stop loss boleh mengawal kerugian tunggal. Stop loss lebih kecil dan boleh menanggung pengulangan tertentu.
Tetapan penangguhan boleh mengunci keuntungan, tidak akan terlepas kenaikan. Penangguhan lebih besar, untuk memaksimumkan keuntungan.
Strategi ini mempunyai keupayaan untuk menarik balik kawalan yang lebih kuat dan risiko yang lebih rendah.
Indeks RSI yang mengeluarkan isyarat lebih rendah tidak semestinya menandakan harga berbalik dan mungkin akan terus turun sehingga menyebabkan kerugian.
Stop loss terlalu kecil, jika regangan terlalu besar mungkin akan terhenti seketika.
Jika anda tidak mempunyai akaun, anda mungkin tidak dapat menyimpan akaun anda untuk jangka masa yang mencukupi.
Strategi ini boleh menyebabkan kerugian yang besar apabila pasaran tidak berjalan dengan baik.
Ia boleh digabungkan dengan petunjuk lain untuk mengesahkan isyarat RSI overbeat dan mengelakkan isyarat salah. Contohnya, indikator KDJ.
Anda boleh menetapkan marjin stop-loss yang sesuai mengikut kadar turun naik mata wang yang berbeza.
Anda boleh menguji set parameter untuk tempoh masa yang berbeza untuk mencari kombinasi parameter terbaik.
Saiz kedudukan boleh dioptimumkan berdasarkan hasil tinjauan semula.
Strategi ini secara keseluruhan adalah strategi mengejar dan mengejar yang lebih kuat. Dengan menggunakan indikator RSI untuk menentukan pembelian dan pembelian yang lebih rendah, anda boleh membuat kedudukan di kedudukan yang agak rendah. Dengan menetapkan halangan kerugian untuk mengawal risiko dan mengunci keuntungan.
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 15m
basePeriod: 5m
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/
// © brodieCoinrule
//@version=4
strategy(shorttitle='Oversold RSI with tight SL',title='Oversold RSI with tight SL Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
perc_change(lkb) =>
overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100
// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
oversold= input(30)
//Entry
strategy.entry(id="long", long = true, when = RSI< oversold and window())
//Exit
Stop_loss= ((input (1))/100)
Take_profit= ((input (7)/100))
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)
strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())