Chiến lược giao dịch dải biến động đa chỉ báo


Ngày tạo: 2023-11-15 15:30:43 sửa đổi lần cuối: 2023-11-15 15:30:43
sao chép: 0 Số nhấp chuột: 686
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch dải biến động đa chỉ báo

Tổng quan

Chiến lược này kết hợp nhiều chỉ số kỹ thuật, chẳng hạn như vùng dao động, chỉ số tương đối mạnh và chỉ số phân tích trung bình di chuyển, để đưa ra quyết định mua và bán. Chiến lược này đầu tiên vẽ các vùng dao động truyền thống trên biểu đồ, khác với việc sử dụng khu vực dạng dải hai màu để thể hiện hai mức chênh lệch tiêu chuẩn khác nhau.

Nguyên tắc chiến lược

  1. Đầu tiên, chiến lược vẽ trên biểu đồ các vùng dao động 34 chu kỳ, bao gồm đường trung tâm, đường trên và đường dưới với 1 độ lệch tiêu chuẩn và 2 độ lệch tiêu chuẩn.

  2. Khi giá đóng cửa lên đường, hãy mở nhiều đầu. Khi giá đóng cửa xuống đường, hãy mở đầu trống.

  3. Khi nhiều đầu giữ vị trí, nếu giá đóng cửa đi qua đường trung đạo, vị trí thanh toán nhiều. Khi giữ vị trí trống, nếu giá đóng cửa đi qua đường trung đạo, vị trí thanh toán trống.

  4. Chiến lược cũng giới thiệu chỉ số RSI, RSI cao hơn 70 là xác nhận bổ sung cho các vị trí mở đầu nhiều, RSI thấp hơn 30 là xác nhận bổ sung cho các vị trí mở đầu trống.

  5. Khi RSI vượt quá 50, vị trí trống. Khi RSI vượt quá 50, vị trí trống.

  6. Chiến lược này cũng giới thiệu chỉ số MACD, MACD Gold Fork là xác nhận bổ sung cho các vị trí mở đầu nhiều, MACD Dead Fork là xác nhận bổ sung cho các vị trí mở đầu trống.

  7. Khi MACD là cổ phiếu chết, cổ phiếu bằng phẳng. Khi MACD là cổ phiếu vàng, cổ phiếu bằng phẳng.

  8. Tóm lại, chiến lược này yêu cầu ba chỉ số cùng lúc đáp ứng các điều kiện như dải dao động, RSI và MACD. Điều kiện đồng bằng cũng xem xét ba chỉ số, do đó làm giảm khả năng tín hiệu sai.

Phân tích lợi thế

Sử dụng tổng hợp nhiều chỉ số lọc tín hiệu, có thể tránh được giao dịch sai. Sự biến động mang lại tín hiệu phá vỡ giá, RSI lọc quá mua quá bán, MACD lọc thay đổi xu hướng thị trường, ba người cùng xác nhận tín hiệu, có thể làm tăng đáng kể khả năng kiếm lợi nhuận.

Chiến lược này cũng đặt ra một logic mở và đóng vị trí khác nhau, kiểm soát chặt chẽ rủi ro giữ vị trí. Đường trung tâm, RSI, trục 50 và MACD được giới thiệu như là điều kiện đóng vị trí bằng phẳng, có thể dừng lỗ nhanh và giảm tổn thất đơn lẻ.

So với chiến lược chỉ số duy nhất, chiến lược này tích hợp các lợi thế của nhiều chỉ số, có thể tăng đáng kể tỷ lệ lợi nhuận và tỷ lệ thắng, giảm rút lui tối đa. Bộ lọc kết hợp nhiều chỉ số có thể làm giảm khả năng giao dịch sai, và cơ chế dừng lỗ nghiêm ngặt có thể kiểm soát ảnh hưởng của mỗi giao dịch thua lỗ.

Nhìn chung, chiến lược này rất phù hợp để giao dịch xu hướng đường dài và trung bình, vì nó có thể nắm bắt xu hướng chính của thị trường và sử dụng chi tiết chỉ số để tránh bị mắc kẹt. Cơ chế kiểm soát rủi ro đa chỉ số cũng cho phép nó sử dụng đòn bẩy cao một cách an toàn.

Phân tích rủi ro

Chiến lược này có một số rủi ro:

  1. Tỷ lệ tín hiệu giả của chỉ số. Mặc dù tổng hợp nhiều chỉ số có thể làm giảm tín hiệu sai, nhưng không thể loại bỏ hoàn toàn. Cần tối ưu hóa tham số chỉ số để giảm tỷ lệ tín hiệu giả.

  2. Không thể có lợi nhuận trong tình trạng thị trường đơn phương. Khi xu hướng dao động, dừng lỗ có thể được kích hoạt và không thể tiếp tục có lợi nhuận.

  3. Một số chỉ số bị trễ, có thể bỏ lỡ thời gian mở vị trí tốt nhất. Bạn có thể thử nghiệm các chỉ số tiên tiến hơn, bắt đầu chuyển đổi sớm.

  4. Lỗ hổng nhảy lớn làm cho dừng lỗ vô hiệu. Bạn có thể thiết lập dừng lỗ đường dẫn hoặc tăng dần để kiểm soát tổn thất.

  5. Parameters quá cố định, cần điều chỉnh theo thị trường khác nhau. Có thể giới thiệu tham số tối ưu hóa tự động học máy.

  6. Dữ liệu thử nghiệm không đầy đủ, có thể có sự phù hợp quá mức. Sự ổn định của chiến lược cần được thử nghiệm trong một khoảng thời gian dài hơn và trong nhiều thị trường.

Hướng tối ưu hóa

Chiến lược này có thể được tối ưu hóa hơn nữa ở những khía cạnh sau:

  1. Tối ưu hóa các tham số chỉ số, tìm ra các chu kỳ băng tần phù hợp hơn, chu kỳ RSI và MACD tham số kết hợp, giảm tín hiệu giả. Bạn có thể tìm các tham số tối ưu bằng cách sử dụng các phương pháp như bước tiến, đi qua.

  2. Tăng cơ chế dừng tự điều chỉnh, thay vì dừng trung tâm cố định. Các yếu tố như ATR, xu hướng và các yếu tố khác có thể được kết hợp để điều chỉnh động vị trí dừng.

  3. Giới thiệu công nghệ học máy để thực hiện tối ưu hóa thích ứng của tham số. Bạn có thể sử dụng học tập tăng cường để tối ưu hóa tham số trong các điều kiện thị trường khác nhau.

  4. Tăng quy tắc đánh giá xu hướng, phân biệt sử dụng các chiến lược khác nhau ở các giai đoạn khác nhau, nâng cao khả năng thích ứng với động thái chiến lược.

  5. Kết hợp với phân tích văn bản, dữ liệu xã hội và các yếu tố khác sẽ làm tăng khả năng dự đoán đa yếu tố, sử dụng các chỉ số tiên tiến hơn để đánh giá trước các điểm thay đổi.

  6. Tối ưu hóa lợi nhuận, điều chỉnh quy mô vị trí tùy theo số tiền, để thu nhập có thể tăng trưởng theo chỉ số.

  7. Tối ưu hóa danh mục đầu tư, tìm kiếm các chiến lược bổ sung, sử dụng tính không liên quan để giảm biến động lợi nhuận danh mục đầu tư.

Tóm tắt

Chiến lược này sử dụng nhiều chỉ số kỹ thuật để đánh giá nhập cảnh và xuất cảnh, đồng thời thiết lập các quy tắc dừng lỗ nghiêm ngặt. So với chỉ số đơn lẻ, kết hợp nhiều chỉ số có thể làm giảm đáng kể tín hiệu sai và tăng tỷ lệ lợi nhuận. Quy tắc dừng lỗ cũng có thể kiểm soát tác động của mỗi lần mất. Chiến lược phù hợp với tình trạng xu hướng, có thể thu được lợi nhuận ổn định cao hơn.

Mã nguồn chiến lược
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is 
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation

strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true, currency=currency.NONE, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_value = 0.05)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)

basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))


//Strategy code starts here

long_entry = ta.crossover(src, upper1)
short_entry = ta.crossunder(src, lower1)

strategy.entry("Long", strategy.long, when=long_entry)
strategy.entry("Short", strategy.short, when=short_entry)

if long_entry or close < basis
    strategy.close("Long", "Long") 

if short_entry or close > basis
    strategy.close("Short", "Short") 


//Calculate RSI
rsiLength = input(14)
rsiValue = ta.rsi(src, rsiLength)

// Define RSI conditions for entering and exiting trades
rsiLong = rsiValue > 70
rsiShort = rsiValue < 30


//Enter long position when RSI crosses above 50 and Bollinger Bands long entry condition is met
strategy.entry("Long", strategy.long, when=long_entry and rsiLong)

//Exit long position when RSI crosses below 50 or Bollinger Bands exit condition is met
strategy.close("Long Exit", when=rsiShort or close < basis)

//Enter short position when RSI crosses below 50 and Bollinger Bands short entry condition is met
strategy.entry("Short", strategy.short, when=short_entry and rsiShort)

//Exit short position when RSI crosses above 50 or Bollinger Bands exit condition is met
strategy.close("Short Exit", when=rsiLong or close > basis)



//Calculate MACD
fastLength = input(12)
slowLength = input(26)
macdLength = input(9)
macdValue = ta.macd(src, fastLength, slowLength, macdLength)

// Define MACD conditions for entering and exiting trades
macdLong = ta.crossover(src, macdLength)
macdShort = ta.crossunder(src, macdLength)

//Enter long position when MACD crosses above signal line and RSI and Bollinger Bands long entry condition is met
strategy.entry("Long", strategy.long, when=long_entry and rsiLong and macdLong)

//Exit long position when MACD crosses below signal line or RSI crosses below 50 or Bollinger Bands exit condition is met
strategy.close("Long Exit", when=macdShort or rsiShort or close < basis)

//Enter short position when MACD crosses below signal line and RSI crosses below 50 and Bollinger Bands short entry condition is met
strategy.entry("Short", strategy.short, when=short_entry and rsiShort and macdShort)

//Exit short position when MACD crosses above signal line or RSI crosses above 50 or Bollinger Bands exit condition is met
strategy.close("Short Exit", when=macdLong or rsiLong or close > basis)