Strategi ini menggunakan pengiraan Indeks Kekuatan Sebenar (TSI) untuk mengenal pasti trend pasaran, dan digabungkan dengan penapis RSI untuk melakukan lebih banyak masa penyingkiran. Strategi ini sesuai untuk pelabur yang melakukan perdagangan berprogram pada pasaran bitcoin mengikut keadaan.
Strategi ini adalah berdasarkan kepada Indeks Kekuatan dan Kelemahan Sebenar (TSI). Indeks TSI mengukur saiz dan arah nilai mutlak perubahan harga melalui kadar perubahan harga yang disesuaikan, untuk mengenal pasti kekuatan mutlak kenaikan dan penurunan harga. Kaedah pengiraan khusus adalah seperti berikut:
Apabila penunjuk TSI di atas melintasi garis isyaratnya ts2 menghasilkan isyarat ganda, dan apabila penunjuk TSI di bawah melintasi garis isyaratnya ts2 menghasilkan isyarat kosong. Di samping itu, strategi ini juga menggabungkan penunjuk RSI untuk memfilter isyarat perdagangan TSI, hanya menghasilkan isyarat ganda apabila nilai RSI lebih besar daripada 50, dan isyarat kosong apabila nilai RSI kurang dari 50, untuk memfilter beberapa isyarat palsu.
Strategi ini mempunyai kelebihan berikut:
Strategi ini juga mempunyai risiko:
Kesan gelombang dan masalah lag dapat dikurangkan dengan cara melepaskan syarat penapisan RSI dengan betul, memendekkan kitaran EMA dan lain-lain. Pada masa yang sama, anda boleh mengoptimumkan strategi berhenti kerugian dan mengawal risiko perdagangan tunggal dengan ketat.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Mengoptimumkan parameter TSI dan RSI, mencari kombinasi parameter terbaik. Anda boleh menyesuaikan tempoh EMA yang lebih panjang, parameter RSI dan sebagainya.
Menambah gabungan indikator lain, membentuk model pelbagai faktor. Sebagai contoh, indikator seperti MA, KD dan lain-lain boleh dimasukkan, untuk memanfaatkan kelebihan masing-masing indikator.
Mengoptimumkan syarat kemasukan, mengelakkan banyak pasaran bertukar, pasaran bertukar dapat menilai arah berdasarkan trend kitaran besar.
Mengoptimumkan strategi penutupan kerugian, seperti penutupan bergerak, penutupan masa, penutupan kerugian dan sebagainya.
Mengoptimumkan keadaan berlepas untuk mengelakkan berlepas terlalu awal atau terlalu lewat. Ia boleh digabungkan dengan indikator kadar turun naik untuk menentukan bila berlepas.
Mengoptimumkan varieti perdagangan dan masa perdagangan, kepekatan pada varieti dan masa perdagangan yang paling berkesan.
Strategi ini mengenal pasti trend jangka pendek bitcoin melalui petunjuk kuat dan lemah yang sebenar, dan dilengkapi dengan isyarat penapis RSI, yang dapat melakukan perdagangan berprograman bitcoin secara berkesan. Strategi ini mempunyai kelebihan untuk mengenal pasti trend yang sensitif, memadam bunyi, tetapi juga terdapat beberapa masalah dan risiko perdagangan yang ketinggalan. Dengan pengoptimuman pelbagai aspek, anda dapat meningkatkan lagi prestasi strategi dan mengembangkan penasihat pakar perdagangan bitcoin yang boleh dipercayai.
/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// strategy("True Strength Indicator BTCUSD 15p", shorttitle="TSI BTCUSD 15p",initial_capital=1000, commission_value=0.15, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity)
//BASED ON True Strength Indicator MTF
resCustom = input(title="Timeframe", defval="15" )
long = input(title="Long Length", defval=25)
short = input(title="Short Length", defval=13)
signal = input(title="Signal Length", defval=13)
price = request.security(syminfo.tickerid,resCustom,close)
double_smooth(src, long, short) =>
fist_smooth = ta.ema(src, long)
ta.ema(fist_smooth, short)
pc = ta.change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(math.abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi2=ta.ema(tsi_value, signal)
plot(tsi_value, color=color.lime,linewidth=2)
plot(tsi2, color=color.red,linewidth=2)
rsiserie = ta.rsi(price,7)
cciserie = ta.cci(price,14)
stochserie = ta.stoch(price,14,3,3)
plot(rsiserie,color=color.purple)
hline(30, title="Zero")
hline(50, title="Zero",linestyle=hline.style_solid, linewidth=2)
hline(70, title="Zero")
buy = ta.crossover(tsi_value, tsi2) //and rsiserie[1]<25 //and cciserie<-100 and stochserie<20
sell = ta.crossunder(tsi_value, tsi2) //and rsiserie[1]>85 //and cciserie>100 and stochserie>80
alertcondition(buy, title='TSI system', message='Buy signal at!' )
alertcondition(sell, title='TSI system', message='Sell signal at!' )
strategy.entry("BUY", strategy.long, 1, when = buy)
strategy.entry("SELL", strategy.short, 1, when = sell )
greentsi =tsi_value
redtsi = tsi2
bgcolor( greentsi>redtsi and rsiserie > 50 ? color.lime : na, transp=90)
bgcolor( greentsi<redtsi and rsiserie < 50 ? color.red : na, transp=90)
yellow1= redtsi > greentsi and rsiserie > 50
yellow2 = redtsi < greentsi and rsiserie < 50
bgcolor( yellow1 ? yellow : na, transp=80)
bgcolor( yellow2 ? yellow : na, transp=50)
bgcolor( yellow1 and yellow1[1] ? yellow : na, transp=70)
bgcolor( yellow2 and yellow2[2] ? yellow : na, transp=70)
bgcolor( rsiserie > 70 ? color.lime : na, transp=60)
bgcolor( rsiserie < 30 ? color.red : na, transp=60)