
Chiến lược này kết hợp các chỉ số Brin, RSI và phân tích nhiều khung thời gian để nắm bắt hướng của xu hướng đường dài và trung bình. Bằng cách phá vỡ đường dây Brin trên đường ray và đường ray dưới cùng kết hợp với tín hiệu mua và bán RSI để xác định điểm đảo ngược xu hướng, tạo ra sự tham gia có rủi ro thấp.
Ứng dụng chỉ số Bollinger Bands để xác định giá phá vỡ. Bollinger Bands là đường trung chuyển trung bình của giá đóng cửa N ngày, đường trên và đường dưới là một chênh lệch tiêu chuẩn trên đường trung và đường dưới.
Kết hợp với chỉ số RSI để đánh giá hiện tượng bán tháo quá mức. RSI lớn hơn 70 là vùng mua quá mức, nhỏ hơn 30 là vùng bán tháo quá mức. Khi RSI từ dưới lên vượt qua 70, được coi là đang ở trạng thái mua quá mức, Brin mang theo đường băng phá vỡ là xác nhận xu hướng đảo ngược.
Sử dụng bộ lọc thời gian cao hơn để lọc các dấu hiệu phá vỡ giả. Nếu có tín hiệu phá vỡ trong ngày, hãy sử dụng khung thời gian 4 giờ hoặc cao hơn để xác nhận và tránh bị chặn.
Tương tự, các nhà nghiên cứu đã nghiên cứu về các yếu tố khác nhau trong việc xây dựng các chiến lược.
Chỉ số RSI đánh giá các điểm đảo ngược, có thể làm giảm tổn thất do phá vỡ giả.
Phân tích nhiều khung thời gian, lọc hiệu quả các biến động, tránh bị mắc kẹt.
Đánh giá tín hiệu đột phá tối ưu hóa ((3 đường K phải vượt qua và đi xuống đường ray của dây Brin)) để đảm bảo xu hướng phát triển và chín chắn khi tham gia.
Chỉ số Vortex đánh giá xu hướng, có thể bắt được xu hướng mới bắt đầu hình thành.
Thiết lập không đúng các tham số của vòng Brin có thể dẫn đến lỗi tín hiệu mua quá mức.
Cài đặt tham số RSI cần xác định giá trị hợp lý cho các giống khác nhau.
Tín hiệu phá vỡ có thể xảy ra phá vỡ giả, nên mở rộng khoảng cách điểm dừng một cách thích hợp.
Đảm bảo mức dừng lỗ đầy đủ, như 3 lần so với chỉ số ATR.
Ứng dụng thuật toán học máy để tối ưu hóa các tham số của Brinband và RSI trong thời gian thực.
Sử dụng chỉ số biến động để tối ưu hóa điểm dừng lỗ.
Thêm mô-đun kiểm soát khối lượng giao dịch, điều chỉnh vị trí theo thay đổi của thị trường.
Kết hợp các nguyên tắc quản lý tài chính, giới hạn tỷ lệ thua lỗ trên một giao dịch.
Đánh giá sự ổn định của tín hiệu đột phá trong các thời điểm giao dịch khác nhau.
Chiến lược tổng hợp xem xét xu hướng phán đoán, quá mua quá bán hiện tượng, phân tích nhiều khung thời gian và nhiều chỉ số kỹ thuật khác nhau, trong điều kiện kiểm soát rủi ro, chọn thời gian thích hợp để vào thị trường, nắm bắt xu hướng chất lượng đường dài và trung bình, có thể đạt được tỷ lệ lợi nhuận tốt hơn. Ngoài ra còn có không gian tối ưu hóa hơn nữa, thông qua các phương tiện điều chỉnh tham số, cơ chế dừng lỗ, có thể đạt được kết quả đầu tư xuất sắc hơn.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Noway0utstorm
//@version=5
strategy(title='Vortex0.71.3 + bb 3bar breakout + rsi - close hit upper or lower', shorttitle='truongphuthinh', format=format.price, precision=4,overlay = true)
length = input(20, title="Length")
mult = input(2.0, title="Multiplier")
source = close
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upperBand = basis + dev
lowerBand = basis - dev
isClosedBar = ta.change(time("15"))
var bool closeAboveUpperBand = false
var bool closeBelowLowerBand = false
// Vortex Indicator Settings
period_ = input.int(14, title='Period', minval=2)
VMP = math.sum(math.abs(high - low[1]), period_)
VMM = math.sum(math.abs(low - high[1]), period_)
STR = math.sum(ta.atr(1), period_)
VIP = VMP / STR
VIM = VMM / STR
//
lengthrsi = input(14, title="RSI Length")
overboughtLevel = input(70, title="Overbought Level")
oversoldLevel = input(30, title="Oversold Level")
sourcersi = close
rsiValue = ta.rsi(sourcersi, lengthrsi)
shouldShort = rsiValue > overboughtLevel
shouldLong = rsiValue < oversoldLevel
if bool(isClosedBar[1]) and bool(isClosedBar[2]) and bool(isClosedBar[3])
if close[1] > upperBand[1] and close[2] > upperBand[2] and close[3] > upperBand[3] and VIP > 1.25 and VIM < 0.7 and rsiValue > overboughtLevel
strategy.entry("Short", strategy.short)
closeAboveUpperBand := false // Reset the condition when entering a new Short position
if close[1] < lowerBand[1] and close[2] < lowerBand[2] and close[3] < lowerBand[3] and VIP < 0.7 and VIM > 1.25 and rsiValue < oversoldLevel
strategy.entry("Long", strategy.long)
closeBelowLowerBand := false // Reset the condition when entering a new Long position
if strategy.position_size > 0 // Check if there is an open Long position
closeAboveUpperBand := close > upperBand // Update the condition based on close price
if closeAboveUpperBand
strategy.close("Long",disable_alert=true) // Close the Long position if close price is above upper band
if strategy.position_size < 0 // Check if there is an open Short position
closeBelowLowerBand := close < lowerBand // Update the condition based on close price
if closeBelowLowerBand
strategy.close("Short",disable_alert=true) // Close the Short position if close price is below lower band
// Plots
plot(basis, color=color.orange, title="Basis")
p1 = plot(upperBand, color=color.blue, title="Upper Band")
p2 = plot(lowerBand, color=color.blue, title="Lower Band")
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))