Strategi ini mengenal pasti trend pasaran bitcoin dengan mengira Indeks Kekuatan Benar (TSI) dan memasuki kedudukan panjang / pendek yang disaring oleh penunjuk RSI untuk melaksanakan perdagangan algoritma bitcoin.
Inti strategi ini adalah Indeks Kekuatan Benar (TSI). TSI mengukur besar mutlak dan arah perubahan harga dengan menggandakan perubahan harga peratusan, dengan itu mengenal pasti kekuatan mutlak pergerakan harga ke atas dan ke bawah.
Apabila TSI melintasi garis isyaratnya tsi2, isyarat panjang dihasilkan. Apabila TSI melintasi di bawah tsi2, isyarat pendek dihasilkan. Di samping itu, strategi menapis isyarat TSI dengan RSI - hanya mengambil isyarat panjang apabila RSI melebihi 50 dan isyarat pendek apabila RSI di bawah 50, untuk mengelakkan beberapa isyarat palsu.
Kelebihan strategi ini termasuk:
Risiko strategi ini termasuk:
Emisyen yang tertinggal dan kesan penapis boleh dikurangkan dengan melonggarkan peraturan penapis RSI dan memendekkan tempoh EMA. Strategi stop loss yang betul harus digunakan untuk mengawal risiko setiap perdagangan dengan ketat.
Strategi ini boleh dioptimumkan dalam aspek berikut:
Mengoptimumkan parameter TSI dan RSI untuk mencari kombinasi terbaik.
Memperkenalkan lebih banyak penunjuk teknikal untuk membina model pelbagai faktor. MA, KD dan lain-lain boleh ditambahkan untuk memanfaatkan setiap penunjuk.
Mengoptimumkan peraturan kemasukan untuk mengelakkan panjang dalam trend menurun dan pendek dalam trend menaik.
Mengoptimumkan strategi stop loss seperti trailing stop loss, stop loss berasaskan masa, stop loss breakout dan lain-lain.
Mengoptimumkan peraturan keluar untuk mengelakkan keluar awal atau lewat. Penunjuk turun naik boleh membantu menentukan titik keluar yang betul.
Mengoptimumkan produk perdagangan, sesi perdagangan untuk memberi tumpuan kepada yang paling berkesan.
Strategi ini mengenal pasti trend jangka pendek bitcoin dengan Indeks Kekuatan Benar dan menapis isyarat dengan RSI untuk perdagangan bitcoin algoritmik. Ia mempunyai kelebihan untuk menangkap trend dengan sensitif dan menapis bunyi bising, tetapi juga mempunyai beberapa masalah yang tertinggal dan risiko perdagangan. Pengoptimuman pelbagai aspek dapat meningkatkan prestasi strategi untuk membangunkan 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)