Hệ thống hồi quy khoảng cách dải Bollinger vàng


Ngày tạo: 2024-02-01 11:46:13 sửa đổi lần cuối: 2024-02-01 11:46:13
sao chép: 0 Số nhấp chuột: 680
1
tập trung vào
1617
Người theo dõi

Hệ thống hồi quy khoảng cách dải Bollinger vàng

Tổng quan

Đây là một hệ thống giao dịch đường ngắn nhảy vọt ngoại hối dựa trên Binance. Nó áp dụng cho các cặp tiền tệ chính, yêu cầu phí giao dịch thấp hơn 1 điểm chênh lệch và chu kỳ thời gian giữa 1-15 phút.

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

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

RSI được sử dụng để tránh phá vỡ giả. RSI chỉ được coi là có hiệu lực khi RSI đảo ngược (chạy xuống từ vùng mua hoặc đi lên từ vùng bán). ADX được sử dụng để lọc các thị trường không có xu hướng rõ ràng và chỉ tham gia khi ADX thấp hơn 32

Các quy tắc nhập cảnh cụ thể là: nhập cảnh nhiều lần yêu cầu giá vượt qua vùng trên, RSI tăng từ vùng bán tháo và vượt qua 30 đường, trong khi ADX thấp hơn 32; nhập cảnh đơn lẻ yêu cầu giá vượt qua vùng dưới, RSI giảm từ vùng mua tháo và vượt qua 70 đường, trong khi ADX thấp hơn 32.

Các quy tắc xuất cảnh có dừng dừng và quay trở lại đường trung tâm. Cụ thể là: thiết lập điểm dừng dừng cố định; thanh toán khi giá quay trở lại đường trung tâm của Brin.

Phân tích lợi thế

Hệ thống này có một số ưu điểm:

  1. Các nhà đầu tư có thể sử dụng Brin Band để nắm bắt giá cả và có tiềm năng lợi nhuận lớn.

  2. Kết hợp với chỉ số RSI để tránh phá vỡ giả và tăng khả năng 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 vô nghĩa.

  4. Quay trở lại trung tâm có thể khóa phần lớn lợi nhuận, tránh lợi nhuận quay trở lại.

  5. Các nhà đầu tư cũng có thể sử dụng các giao dịch có mức độ đòn bẩy cao để tăng lợi nhuận một cách nhanh chóng.

Phân tích rủi ro

Hệ thống này cũng có một số rủi ro:

  1. Nếu bạn không thể nắm bắt được đợt tăng giá, bạn sẽ không thể kiếm được lợi nhuận.

  2. Rủi ro phù hợp của dữ liệu phản hồi.

  3. Nếu xu hướng kéo dài quá ngắn, thị trường sẽ bị thua lỗ nếu xảy ra biến động.

  4. Lợi nhuận cao làm tăng rủi ro.

  5. Bạn có thể bỏ lỡ một số cơ hội giao dịch.

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

Hệ thống này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Tối ưu hóa tham số, cải thiện hiệu quả chỉ số. Ví dụ: sửa đổi chu kỳ băng Boolean, tham số RSI, v.v.

  2. Thêm hoặc cải thiện các điều kiện lọc để tăng tỷ lệ giao dịch có lợi. Ví dụ: kết hợp nhiều chỉ số hoặc yếu tố cơ bản hơn.

  3. Tối ưu hóa chiến lược dừng lỗ để tối đa hóa lợi nhuận đơn lẻ. Ví dụ: theo dõi dừng lỗ, dừng lỗ theo ATR, v.v.

  4. Tự động xác định mức độ đòn bẩy thích hợp. Tối đa hóa lợi nhuận mong đợi.

  5. Sử dụng công nghệ học máy để tự động tìm các tham số tối ưu.

Tóm tắt

Hệ thống hồi phục nhảy vọt của vàng Brin là một hệ thống phá vỡ đường ngắn điển hình. Nó nắm bắt cơ hội lợi nhuận do giá nhảy vọt. Nó được lọc bằng nhiều chỉ số cùng một lúc và thể hiện khả năng lợi nhuận tốt trong đánh giá lại.

Mã nguồn chiến lược
/*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))