Hệ thống đảo ngược khoảng cách băng Bollinger vàng

Tác giả:ChaoZhang, Ngày: 2024-02-01 11:46:13
Tags:

img

Tổng quan

Đây là một hệ thống giao dịch lỗ hổng ngoại hối dựa trên Bollinger Bands. Nó phù hợp với các cặp tiền tệ lớn, với khoản hoa hồng thấp nhất có thể (dưới 1 pip) và khung thời gian từ 1-15 phút.

Chiến lược logic

Hệ thống sử dụng các chỉ số Bollinger Bands, RSI và ADX để xác định các cơ hội giao dịch.

Bollinger Bands được sử dụng để xác định sự đột phá của giá. Đi dài khi giá phá vỡ trên dải trên, đi ngắn khi giá phá vỡ dưới dải dưới. RSI được sử dụng để tránh sự đột phá sai. Breakouts chỉ được coi là hợp lệ khi RSI đảo ngược (rơi từ vùng mua quá mức hoặc tăng từ vùng bán quá mức). ADX được sử dụng để lọc các thị trường không có xu hướng rõ ràng, chỉ giao dịch khi ADX dưới 32.

Các quy tắc nhập cảnh cụ thể là: Nhập cảnh dài đòi hỏi giá phải vượt qua dải trên, RSI tăng từ vùng bán quá mức và vượt qua đường 30, ADX dưới 32 cùng một lúc. Nhập cảnh ngắn đòi hỏi giá phải vượt qua dải dưới, RSI giảm từ vùng mua quá mức và vượt qua đường 70, ADX dưới 32 cùng một lúc.

Các quy tắc thoát bao gồm lấy lợi nhuận / dừng lỗ và đảo ngược đường giữa. cụ thể là: Đặt điểm lấy lợi nhuận / dừng lỗ cố định. Đóng vị trí khi giá trở lại đường giữa Bollinger.

Phân tích lợi thế

Hệ thống có những lợi thế sau:

  1. Sử dụng Bollinger Bands để nắm bắt các cơ hội giao dịch lỗ hổng, có tiềm năng lợi nhuận lớn.

  2. Kết hợp chỉ số RSI để tránh đột phá sai và cải thiện xác suất lợi nhuận.

  3. Sử dụng chỉ số ADX để lọc các thị trường không có xu hướng rõ ràng, tránh giao dịch không cần thiết.

  4. Đóng cửa trên đường quay trở lại trung gian khóa trong hầu hết lợi nhuận và tránh thu hồi lợi nhuận.

  5. Thích hợp cho giao dịch đòn bẩy cao, lợi nhuận có thể được khuếch đại nhanh chóng.

Phân tích rủi ro

Ngoài ra còn có một số rủi ro:

  1. Không có lợi nhuận nếu không có lỗ hổng.

  2. Rủi ro quá phù hợp với thử nghiệm sau.

  3. Thời gian xu hướng không đủ, đòn roi có thể gây ra tổn thất.

  4. Đòn bẩy cao làm tăng rủi ro.

  5. Các hạn chế thời gian giao dịch có thể gây ra việc bỏ lỡ giao dịch.

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

Hệ thống có thể được cải thiện từ các khía cạnh sau:

  1. Tối ưu hóa các tham số để cải thiện hiệu quả của chỉ số, ví dụ: Thời kỳ Bollinger, cài đặt RSI v.v.

  2. Thêm hoặc cải thiện các bộ lọc để tăng tỷ lệ phần trăm giao dịch chiến thắng, ví dụ như kết hợp nhiều chỉ số hoặc cơ bản hơn.

  3. Tối ưu hóa chiến lược lấy lợi nhuận để tối đa hóa lợi nhuận trên mỗi giao dịch, ví dụ: dừng lỗ, dừng lỗ dựa trên ATR vv.

  4. Tự động xác định mức đòn bẩy phù hợp để tối đa hóa lợi nhuận dự kiến.

  5. Sử dụng kỹ thuật học máy để tìm các thông số tối ưu tự động thay vì lặp lại thủ công.

Kết luận

Hệ thống đảo ngược lỗ hổng Golden Bollinger Band là một hệ thống đột phá ngắn hạn điển hình. Nó nhằm mục đích nắm bắt lợi nhuận từ khoảng cách giá. Nhiều bộ lọc được sử dụng để cải thiện chất lượng tín hiệu. Nó cho thấy lợi nhuận tốt trong các thử nghiệm ngược. Nhưng hiệu suất trực tiếp vẫn chưa được xác nhận, với kết quả ảnh hưởng đến thanh khoản và trượt. Nhìn chung đây là một chiến lược giao dịch ngắn hạn hứa hẹn, đáng để thử nghiệm và tối ưu hóa trực tiếp.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
strategy("Bollinger Bands, RSI and ADX Trading System", overlay=true)


timeinrange(res, sess) => time(res, sess) != 0


timer = color.red


//bgcolor(timeinrange(timeframe.period, "0300-0600") or timeinrange(timeframe.period, "0900-1300") or timeinrange(timeframe.period, "2030-2300") ? timer : na, transp=70)


//RSI
length = input( 20 )
overSold = input( 35 )
overBought = input( 65 )
price = close
vrsi = rsi(price, length)
co = crossover(vrsi, overSold)
cu = crossunder(vrsi, overBought)
//if (not na(vrsi))


//BB
lengthB = input(60, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, lengthB)
dev = mult * stdev(src, lengthB)
upper = basis + dev
lower = basis - dev


//adx
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
	minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(plusDM, len) / truerange)
	minus = fixnan(100 * rma(minusDM, len) / truerange)
	[plus, minus]
adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)

longEntry = close < upper and crossover(vrsi,overSold) and sig < 32 //and (timeinrange(timeframe.period, "0301-0600") or timeinrange(timeframe.period, "0901-1300") or timeinrange(timeframe.period, "2031-2300"))

shortEntry = close > upper and crossunder(vrsi,overBought) and sig < 32 //and (timeinrange(timeframe.period, "0301-0600") or timeinrange(timeframe.period, "0901-1300") or timeinrange(timeframe.period, "2031-2300"))


tp=input(90, step=10)
sl=input(90, step=10)

strategy.entry("long",1,when=longEntry)
strategy.exit("X_long", "long", profit=tp,  loss=sl )
strategy.close("long",when=crossunder(close,basis))

strategy.entry('short',0,when=shortEntry)
strategy.exit("x_short", "short",profit=tp, loss=sl)
strategy.close("short",when=crossover(close,basis))







Thêm nữa