Chiến lược mua giảm giá trong xu hướng giảm với dừng lỗ

Tác giả:ChaoZhang, Ngày: 2024-01-05 14:18:05
Tags:

img

Tổng quan

Chiến lược này sử dụng chỉ số RSI để xác định hướng xu hướng thị trường tiềm năng, kết hợp với chỉ số Bollinger Bands để xác định các khu vực hỗ trợ và kháng cự chính, và tìm kiếm các cơ hội hấp thụ thấp trong các thị trường sốc xu hướng để thiết lập các vị trí dài và kiếm lợi nhuận tại các khu vực mua quá mức.

Chiến lược logic

  1. Sử dụng chỉ số RSI để xác định hướng xu hướng thị trường tiềm năng. RSI dưới 40 được coi là một khu vực bán quá mức, nơi thị trường có thể tăng. RSI trên 50 được coi là khu vực mua quá mức, nơi thị trường có thể giảm.

  2. Sử dụng chỉ số Bollinger Bands để xác định các vùng hỗ trợ và kháng cự chính. Dải giữa của Bollinger Bands là đường trung bình động của giá, và các dải trên và dưới tạo thành kênh lệch chuẩn của giá. Giá tiếp cận dải dưới có cơ hội hấp thụ thấp.

  3. Khi chỉ số RSI <40 và giá tiếp cận dải dưới Bollinger, nó được xác định là cơ hội dài hấp thụ thấp để thiết lập một vị trí dài.

  4. Khi chỉ số RSI >50 hoặc lợi nhuận vượt quá 50%, đóng các vị trí dài để kiếm lợi nhuận và cắt giảm lỗ.

Phân tích lợi thế

  1. Sử dụng chỉ số RSI để xác định hướng xu hướng thị trường tiềm năng để tránh giao dịch chống lại xu hướng.

  2. Xác định thời gian nhập chính xác kết hợp với Bollinger Bands để xác định các điểm hấp thụ thấp.

  3. Sử dụng phương pháp sốc xu hướng để tránh bị mắc kẹt.

  4. Cơ chế dừng lợi nhuận và dừng lỗ linh hoạt để tối đa hóa lợi nhuận.

Phân tích rủi ro

  1. Các thông số Bollinger không chính xác có thể không xác định chính xác vùng hỗ trợ.

  2. Sự đột phá xu hướng hoặc sự đột phá sai có thể dẫn đến sai lầm trong đánh giá mua quá mức và bán quá mức.

  3. Việc thiết lập điểm dừng lợi nhuận và dừng lỗ không chính xác có thể dẫn đến thoát sớm hoặc tăng lỗ.

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

  1. Tối ưu hóa các thông số Bollinger để xác định chính xác hơn các khu vực hỗ trợ và kháng cự.

  2. Kết hợp các chỉ số khác như MACD và KDJ để lọc các tín hiệu sai.

  3. Tối ưu hóa động các thuật toán dừng lợi nhuận và dừng lỗ để tối đa hóa lợi nhuận trong khi giảm thiểu tổn thất.

Tóm lại

Chiến lược này xác định hướng xu hướng tiềm năng với chỉ số RSI, kết hợp với Bollinger Bands để xác định các vùng hỗ trợ, nhận ra mức mua thấp bán cao, đó là một chiến lược cú sốc xu hướng điển hình. Với tối ưu hóa thích hợp, nó có thể trở thành một chiến lược định lượng đáng tin cậy và ổn định.


/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("price drop buy in", overlay=true, initial_capital=1000, max_bars_back=24)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"


///////////// RSI
RSIlength = input(60,title="RSI Period Length") 
RSIoverSold = 40
RSIoverBought = 50
price = close
vrsi = rsi(close, RSIlength)

smaLong = sma(close,80)
smaShort = sma(close,40)

///////////// Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Period Length")
BBmult = 2 // 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

longcondition = (price < BBlower and vrsi < RSIoverSold) 

    // vrsi < RSIoverSold

shortcondition = (RSIoverBought and strategy.openprofit > 50 )  or price > BBupper






if(longcondition)
    strategy.entry('buy', strategy.long, when = window())
    
if(shortcondition)
    strategy.entry('sell', strategy.short, when = window())



Thêm nữa