Chiến lược hai xu hướng động lực

Tác giả:ChaoZhang, Ngày: 2024-01-22 17:04:36
Tags:

img

Tổng quan

Chiến lược này kết hợp các chỉ số Relative Strength Index (RSI) và Bollinger Bands để thực hiện một logic xác nhận kép cho các bước vào và ra. Nó tạo ra tín hiệu giao dịch chỉ khi cả RSI và Bollinger Bands cho thấy tín hiệu mua quá nhiều hoặc bán quá nhiều cùng một lúc. Điều này có thể làm giảm hiệu quả các tín hiệu sai và cải thiện sự ổn định của chiến lược.

Chiến lược logic

  1. RSI phán đoán logic
    • RSI vượt trên 45 được coi là tín hiệu bán quá mức
    • RSI vượt dưới 55 được coi là tín hiệu mua quá mức
  2. Bollinger Bands phán đoán logic
    • Giá vượt trên Bollinger Lower Band được coi là bán quá mức
    • Giá vượt dưới Bollinger Upper Band được coi là mua quá mức
  3. Logic xác nhận kép
    • Vị trí mua chỉ được mở khi cả RSI và Bollinger Bands đều hiển thị tín hiệu bán quá mức
    • Vị trí ngắn chỉ được mở khi cả RSI và Bollinger Bands cho thấy tín hiệu mua quá mức

Lý thuyết trên thực hiện một chiến lược xác nhận kép ổn định cho các lối vào và lối ra.

Phân tích lợi thế

  1. Cơ chế xác nhận kép lọc ra rất nhiều giao dịch ồn ào, tránh giao dịch không cần thiết, giảm chi phí giao dịch và cải thiện lợi nhuận.

  2. RSI có hiệu quả trong việc xác định xu hướng và đảo ngược. Bollinger Bands có hiệu quả trong việc đánh giá hỗ trợ và kháng cự. Cả hai bổ sung lẫn nhau hoàn hảo.

  3. Cài đặt tham số linh hoạt, có thể được điều chỉnh dựa trên các sản phẩm khác nhau và ưu tiên thương mại, rất thích nghi.

Phân tích rủi ro

  1. Trong các thị trường dao động, RSI và Bollinger Bands có thể phát ra tín hiệu sai cùng một lúc, gây ra tổn thất không cần thiết.

  2. Cơ chế xác nhận kép làm tăng một chút sự chậm trễ nhập cảnh, có thể bỏ lỡ các cơ hội giao dịch ngắn hạn.

  3. Chiến lược này rất nhạy cảm với các thông số. Các thiết lập thông số không phù hợp có thể làm giảm đáng kể lợi nhuận.

Hướng dẫn tối ưu hóa

  1. Kiểm tra các chỉ số RSI với các khoảng thời gian khác nhau để tìm các thông số khoảng thời gian phù hợp nhất để cải thiện hiệu quả.

  2. Thêm logic dừng lỗ, đặt dừng lỗ di chuyển hợp lý hoặc dừng lỗ cố định để kiểm soát rủi ro mất lỗ giao dịch duy nhất.

  3. Kiểm tra tham số băng thông Bollinger để tối ưu hóa phạm vi kênh và cải thiện hiệu quả.

  4. Kiểm tra các đầu vào giá khác nhau như gần, cao, thấp vv để tìm đầu vào giá tốt nhất để tăng sự ổn định.

Tóm lại

Chiến lược kết hợp thành công các chỉ số RSI và Bollinger Bands để thực hiện một logic xác nhận kép, đảm bảo đủ cơ hội giao dịch trong khi giảm hiệu quả các giao dịch tiếng ồn. Với tối ưu hóa tham số và kiểm soát rủi ro thích hợp, nó có thể trở thành một chiến lược theo dõi và giao dịch xu hướng rất ổn định và đáng tin cậy.


/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Bollinger + RSI, Double Strategy (by ChartArt)", shorttitle="CA_-_RSI_Bol_Strat", overlay=true)

// ChartArt's RSI + Bollinger Bands, Double Strategy
//
// Version 1.0
// Idea by ChartArt on January 14, 2015.
//
// This strategy uses a modfied RSI to sell
// when the RSI increases over the value of 55
// (or to buy when the value falls below 45),
// with the classic Bollinger Bands strategy
// to sell when the price is above the
// upper Bollinger Band (and to buy when
// this value is below the lower band).
//
// This simple strategy only triggers when
// both the RSI and the Bollinger Bands
// indicators are at the same time in
// a overbought or oversold condition.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 


///////////// RSI
RSIlength = input( 16 ,title="RSI Period Length") 
RSIvalue = input( 45 ,title="RSI Value Range") 
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
price = close
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Bands SMA Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
plot(BBbasis, color=aqua,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=silver,title="Bollinger Bands Lower Line")
fill(p1, p2)


///////////// Colors
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) ? red : RSIoverSold and (price[1] < BBlower and price > BBlower)  ? green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)


///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))

    if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
        strategy.entry("RSI_BB_L", strategy.long, stop=BBlower,  comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short, stop=BBupper, comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Thêm nữa