
Strategi penyesuaian balik ke bawah adalah strategi jual beli rendah yang tipikal. Ia menggunakan indikator RSI untuk mengenal pasti titik jual beli, menghantar isyarat beli setelah harga turun ke tahap tertentu, untuk mengumpul token dengan harga yang lebih rendah; apabila harga naik semula, keuntungan ditutup dengan menetapkan RSI untuk keluar dari titik terendah.
Strategi ini adalah berdasarkan kepada RSI untuk mengenal pasti titik oversold. RSI mempunyai julat normal antara 0 dan 100. RSI menghantar isyarat beli apabila RSI jatuh ke bawah paras paras paras masuk yang ditetapkan 35 dan isyarat jual apabila RSI naik semula ke paras paras keluar yang ditetapkan 65 atau lebih.
Di samping itu, strategi ini juga memperkenalkan purata bergerak sederhana 100 kitaran, dengan RSI untuk membentuk keadaan gabungan, yang hanya akan mencetuskan isyarat beli apabila harga jatuh ke bawah purata bergerak dan RSI memasuki kawasan oversold. Ini dapat menyaring secara berkesan beberapa pecah palsu dan mengurangkan perdagangan yang tidak perlu.
Strategi pembetulan balik bawah secara keseluruhan adalah strategi jual beli rendah yang stabil dan praktikal. Melalui penapisan berganda RSI dan purata bergerak, isyarat palsu dapat dihalang dengan berkesan, dan dengan parameter yang dioptimumkan, kos pemegang mata wang yang lebih rendah dapat diperoleh. Pada masa yang sama, parameter penunjuk yang dioptimumkan dengan betul, menyesuaikan strategi kedudukan, dijangka memperoleh kecekapan penggunaan dana yang lebih tinggi.
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
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/
// © Coinrule
//@version=4
strategy(shorttitle='Optimized RSI Strategy',title='Optimized RSI Strategy - Buy The Dips (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, 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"
// RSI inputs and calculations
lengthRSI = (14)
RSI = rsi(close, lengthRSI)
RSI_entry = input(35, title = 'RSI Entry', minval=1)
RSI_exit = input(65, title = 'RSI Close', minval=1)
//Calculate Moving Averages
movingaverage_signal = sma(close, input(100))
//Entry
strategy.entry(id="long", long = true, when = RSI< RSI_entry and close < movingaverage_signal and window())
//Exit
//RSI
strategy.close("long", when = RSI > RSI_exit and window())
plot (movingaverage_signal)