Chiến lược này cho phép giao dịch ngắn hạn với Bitcoin bằng cách tính toán chỉ số sức mạnh thực sự của Bitcoin (True Strength Index, TSI) để xác định xu hướng thị trường và kết hợp với bộ lọc chỉ số RSI để thực hiện nhiều thời gian ngắn hạn. Chiến lược này phù hợp với các nhà đầu tư giao dịch theo quy trình trên thị trường Bitcoin.
Chiến lược này chủ yếu dựa trên chỉ số sức mạnh thực sự (TSI). Chỉ số TSI đo lường kích thước và hướng của giá cả thay đổi bằng tỷ lệ biến đổi giá bằng hai đường trượt, để xác định sức mạnh tuyệt đối của giá tăng và giảm. Các phương pháp tính toán cụ thể như sau:
Ngoài ra, chiến lược này cũng kết hợp các chỉ số RSI để lọc tín hiệu giao dịch TSI, chỉ tạo ra tín hiệu đa khi giá trị RSI lớn hơn 50 và tín hiệu trống khi giá trị RSI nhỏ hơn 50, để lọc một số tín hiệu giả.
Chiến lược này có những ưu điểm sau:
Chiến lược này cũng có những rủi ro sau:
Có thể làm giảm hiệu ứng sóng và sự chậm trễ bằng cách nới lỏng các điều kiện lọc RSI, rút ngắn chu kỳ EMA. Đồng thời, tối ưu hóa chiến lược dừng lỗ và kiểm soát chặt chẽ rủi ro giao dịch đơn lẻ.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Tối ưu hóa các tham số của TSI và RSI, tìm ra sự kết hợp tốt nhất của các tham số. Bạn có thể điều chỉnh chu kỳ EMA dài hoặc ngắn, tham số RSI, v.v.
Thêm các chỉ số khác để tạo ra mô hình đa yếu tố. Ví dụ: có thể thêm các chỉ số như MA, KD để tận dụng tối đa các lợi thế của các chỉ số.
Tối ưu hóa các điều kiện nhập cảnh, tránh nhiều thị trường bị va chạm, nhiều thị trường bị va chạm. Bạn có thể đánh giá hướng theo xu hướng chu kỳ lớn.
Tối ưu hóa các chiến lược dừng lỗ, chẳng hạn như dừng di chuyển, dừng thời gian, phá vỡ dừng lỗ.
Tối ưu hóa điều kiện ra sân, ngăn chặn thiệt hại ra sân quá sớm hoặc quá muộn. Bạn có thể kết hợp với chỉ số tỷ lệ dao động để xác định khi ra sân.
Tối ưu hóa các loại và thời điểm giao dịch, tập trung vào các loại và thời điểm giao dịch hiệu quả nhất.
Chiến lược này sử dụng các chỉ số thực sự mạnh mẽ để xác định xu hướng ngắn hạn của bitcoin và được hỗ trợ bởi các tín hiệu lọc của chỉ số RSI, có thể thực hiện giao dịch lập trình ngắn hạn của bitcoin một cách hiệu quả. Chiến lược này có lợi thế trong việc xác định xu hướng nhạy cảm, loại bỏ tiếng ồn, nhưng cũng có một số vấn đề và rủi ro giao dịch. Bằng cách tối ưu hóa nhiều mặt, bạn có thể nâng cao hơn nữa hiệu suất của chiến lược và phát triển một cố vấn chuyên gia giao dịch bitcoin đáng tin cậy.
/*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)