
Strategi ini adalah strategi perdagangan pembalikan titik rendah yang bertenaga untuk mata wang kripto. Ia menggunakan teknik bingkai masa berbilang dan indikator RSI yang menyesuaikan diri untuk menilai kemungkinan rendah jangka pendek di pasaran, masuk ke dalam pembalikan di sekitar titik rendah, dan memperoleh keuntungan tambahan.
Pertama, strategi ini menggunakan jumlah perubahan dan jumlah transaksi untuk mengira RSI yang disesuaikan untuk menentukan kemungkinan rendah jangka pendek di pasaran. Kemudian, ia digabungkan dengan teknik bingkai masa berbilang untuk menentukan isyarat titik rendah pada tahap yang lebih besar. Ia menghasilkan isyarat beli apabila garis RSI yang disesuaikan melintasi dari bawah tahap 0.
Khususnya, kaedah pengiraan penunjuk RSI yang menyesuaikan diri adalah: pertama mengira jumlah perubahan setiap garis K, kemudian mengira jumlah transaksi pada akar K, kemudian jumlah perubahan kalikan dengan jumlah transaksi untuk mendapatkan kekuatan kuantitatif pada akar K. Menghitung RSI pada kekuatan kuantitatif, dan mengambil purata N kitaran, untuk mendapatkan penunjuk RSI yang menyesuaikan diri. Penunjuk ini dapat menilai dengan jelas titik rendah pasaran.
Berdasarkan ini, strategi ini memperkenalkan teknik bingkai masa berbilang untuk menilai isyarat pada bingkai yang lebih tinggi untuk mengelakkan gangguan oleh bunyi pasaran jangka pendek. Apabila rata-rata peringkat tinggi berbalik dari titik rendah, pertimbangkan masa pembelian strategi ini.
Kelebihan terbesar strategi ini ialah menggunakan RSI untuk menilai rendah jangka pendek pasaran, yang memberikan isyarat yang berkesan untuk perdagangan berbalik rendah. Selain itu, penambahan teknologi bingkai masa berbilang juga meningkatkan kualiti isyarat, mengelakkan gangguan oleh bunyi pasaran jangka pendek.
Berbanding dengan RSI tradisional, RSI adaptif menambah pengiraan kekuatan kuantitatif, menjadikannya lebih sensitif terhadap pasaran cryptocurrency yang berubah dengan cepat, dan dapat menilai titik rendah pasaran lebih awal dan lebih tepat, yang memberikan peluang untuk perdagangan berbalik pada titik rendah.
Di samping itu, strategi ini mempunyai kelebihan untuk mengikuti trend dan berdagang dengan berbalik. Dalam pasaran yang tidak jelas trend, ia boleh memanfaatkan perdagangan berbalik untuk keuntungan.
Risiko utama strategi ini adalah bahawa ketepatan penilaian titik rendah tidak dapat dijamin 100%. Pasaran sering mengalami turun naik yang tidak rasional dalam jangka pendek. Jika titik rendah terus di bawah, risiko kerugian yang lebih besar akan dihadapi.
Di samping itu, terdapat kemungkinan untuk berlaku perpindahan antara pelbagai bingkai masa. Jika isyarat bingkai masa tinggi terlewat, ia boleh menyebabkan kerugian perdagangan.
Untuk mengawal risiko, strategi ini menggunakan mekanisme penutupan kerugian yang lebih konservatif, dan menetapkan sekatan sekatan, untuk mengoptimumkan keuntungan secara beransur-ansur. Selain itu, parameter yang sesuai dapat disesuaikan dengan RSI, untuk mengoptimumkan ketepatan penilaian titik rendah.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Mengoptimumkan parameter RSI untuk meningkatkan ketepatan penghakiman titik rendah pasaran. Anda boleh mencuba parameter kitaran yang berbeza.
Tambah petunjuk lain untuk pengesahan, untuk mengelakkan isyarat yang salah.
Mengoptimumkan mekanisme hentian kerugian, dengan syarat menjamin nisbah kerugian, kelonggaran hentian kerugian yang sewajarnya, untuk mendapatkan lebih banyak keuntungan trend.
Pilihan untuk mengoptimumkan jangka masa untuk memastikan kebolehpercayaan isyarat pada tahap yang lebih tinggi. Garis purata yang lebih tinggi boleh diuji setiap hari, mingguan dan sebagainya.
Uji kebolehan strategi ini dalam pelbagai jenis mata wang kripto, dan pilih yang terbaik.
Strategi pembalikan titik rendah yang cerdas ini menilai kemungkinan rendah jangka pendek pasaran dengan menyesuaikan diri dengan indikator RSI dan teknik bingkai masa yang banyak. Ciri-ciri perdagangan pembalikan ini membolehkan ia memperoleh keuntungan tambahan dalam keadaan yang tidak pasti.
/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © theCrypster 2020
//@version=4
strategy(title = "Low Scanner strategy crypto", overlay = false, pyramiding=1,initial_capital = 1000, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.075)
strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"])
strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all
strategy.risk.allow_entry_in(strat_dir_value)
leng=1
p1=close[1]
min=input(10)
len55 = timeframe.isintraday and timeframe.multiplier >= 1 ?
min / timeframe.multiplier * 7 :
timeframe.isintraday and timeframe.multiplier < 60 ?
60 / timeframe.multiplier * 24 * 7 : 7
//taken from https://www.tradingview.com/script/Ql1FjjfX-security-free-MTF-example-JD/
tf3 = input("60", type=input.resolution)
ti = change( time(tf3) ) != 0
T_c = fixnan( ti ? close : na )
vrsi = rsi(cum(change(T_c) * volume), leng)
pp=wma(vrsi,len55)
d=(vrsi[1]-pp[1])
min1 =input(1)
len100 = timeframe.isintraday and timeframe.multiplier >= 1 ?
min1 / timeframe.multiplier * 7 :
timeframe.isintraday and timeframe.multiplier < 60 ?
60 / timeframe.multiplier * 24 * 7 : 7
x=ema(d,len100)
//
zx=x/-1
col=zx > 0? color.lime : color.orange
plot(zx,color=col,linewidth=1)
//
tf10 = input("60", title = "Timeframe", type = input.resolution, options = ["1", "5", "15", "30", "60","120", "240","360","720", "D", "W"])
length = input(24, title = "Period", type = input.integer)
shift = input(1, title = "Shift", type = input.integer)
hma(_src, _length)=>
wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
hma3(_src, _length)=>
p = length/2
wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p)
a = security(syminfo.tickerid, tf10, hma(close, length))
b =security(syminfo.tickerid, tf10, hma3(close[1], length)[shift])
//plot(a,color=color.gray)
//plot(b,color=color.yellow)
close_price = close[0]
len = input(25)
linear_reg = linreg(close_price, len, 0)
//plot(linear_reg, color=color.blue, title="LR", linewidth=3)
buy=crossover(linear_reg, b)
sell=crossunder(linear_reg, b)
//
l = crossover(zx,0) or buy
if l
strategy.entry("buy", strategy.long)
per(pcnt) =>
strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss=input(title=" stop loss", defval=10, minval=0.01)
los = per(stoploss)
q1=input(title=" qty_percent1", defval=25, minval=1)
q2=input(title=" qty_percent2", defval=25, minval=1)
q3=input(title=" qty_percent3", defval=25, minval=1)
tp1=input(title=" Take profit1", defval=1, minval=0.01)
tp2=input(title=" Take profit2", defval=2, minval=0.01)
tp3=input(title=" Take profit3", defval=3, minval=0.01)
tp4=input(title=" Take profit4", defval=5, minval=0.01)
strategy.exit("x1", qty_percent = q1, profit = per(tp1), loss = los)
strategy.exit("x2", qty_percent = q2, profit = per(tp2), loss = los)
strategy.exit("x3", qty_percent = q3, profit = per(tp3), loss = los)
strategy.exit("x4", profit = per(tp4), loss = los)