Chiến lược này là một chiến lược giao dịch đảo ngược hai đường dựa trên các chỉ số giá, Brin và RSI nhanh. Nó kết hợp các chỉ số kênh để xác định xu hướng, Brin để xác định kháng cự hỗ trợ, và RSI nhanh để đánh giá tín hiệu vượt quá mua bán, để thực hiện giao dịch đảo ngược hiệu quả.
Chiến lược này được sử dụng để đưa ra quyết định giao dịch dựa trên các chỉ số sau:
Cổng giá: tính toán giá cao nhất và giá thấp nhất trong một chu kỳ nhất định và vẽ trục trung tâm của kênh. Khi giá vượt qua kênh, nó sẽ tạo ra tín hiệu giao dịch.
Brin Belt: Trục trung tâm là trục trung tâm của kênh giá, xây dựng đường lên xuống bằng cách tính toán chênh lệch tiêu chuẩn của giá với trục trung tâm. Khi giá tương tác với đường trên và dưới của Brin Belt, tín hiệu giao dịch được tạo ra.
RSI nhanh ((chu kỳ 2): Xác định tình trạng giá quá mua quá bán, RSI thấp hơn 5 giờ mua nhiều, cao hơn 95 giờ mua ít.
Chỉ số CryptoBottom: Xác định liệu giá có giảm xuống mức hỗ trợ hay không, kết hợp với RSI nhanh có xác suất cao hơn.
Theo giá phá vỡ kênh, thời gian Brin và RSI mua quá bán thời gian mua quá nhiều, đó là logic giao dịch cốt lõi của chiến lược này.
Chiến lược này có một số lợi thế:
Hệ thống hai đường ray, tăng độ chính xác tín hiệu. Đường giá đánh giá xu hướng lớn, Brin nhận diện chính xác mức kháng cự hỗ trợ, cả hai kết hợp với chất lượng tín hiệu nâng cao.
Chỉ số RSI nhanh chóng đánh giá quá mua quá bán, nắm bắt thời gian đảo ngược. Các tham số RSI là 2, có thể nhanh chóng đánh giá nút đảo ngược.
CryptoBottom tăng tốc độ xác định tín hiệu đa đầu.
Thiết lập tham số chính sách hợp lý, dễ dàng tối ưu hóa. Các tham số kết hợp đơn giản và rõ ràng, phù hợp với tối ưu hóa tham số.
Chiến lược này cũng có một số rủi ro:
Các tham số của vùng Brin được thiết lập không đúng, có thể bỏ lỡ các trường hợp lớn hơn hoặc tạo ra tín hiệu giả.
Các mô hình tương tác hai đường ray rất phức tạp, cần phải có một số kiến thức kỹ thuật để có được sự phán đoán đúng.
Tuy nhiên, các nhà đầu tư vẫn đang có nguy cơ thất bại và không thể hoàn toàn tránh được khả năng thị trường sẽ quay trở lại.
Các tham số tối ưu hóa khó khăn, tham số tối ưu có thể không hiệu quả do môi trường thị trường thay đổi.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Tối ưu hóa các tham số của dải Brin, làm cho đường ray lên xuống gần với giá, tăng độ chính xác tín hiệu.
Tăng chiến lược dừng lỗ, dừng lỗ khi thua lỗ đạt một tỷ lệ nhất định, kiểm soát rủi ro hiệu quả.
Kết hợp nhiều chỉ số hơn, đánh giá xu hướng, hỗ trợ mức kháng cự, giảm tín hiệu giả.
Thêm các thuật toán học máy, tự động tối ưu hóa các tham số để đáp ứng các thay đổi trong môi trường thị trường.
Chiến lược này tích hợp các kênh giá, các đai Brin và các chỉ số RSI nhanh để xây dựng một hệ thống giao dịch đảo ngược hai đường. Trong khi đánh giá xu hướng lớn, nhanh chóng nắm bắt các cơ hội bán tháo hỗ trợ kháng cự và mua quá mức. Thiết lập tham số đơn giản, trực tiếp, dễ hiểu và tối ưu. Có thể xác định hiệu quả các cơ hội đảo ngược phù hợp với giao dịch định lượng.
/*backtest
start: 2022-12-18 00:00:00
end: 2023-11-30 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Noro's Bands Strategy v1.3", shorttitle = "NoroBands str 1.3", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Use ColorBar")
usecb = input(true, "Use CryptoBottom")
usersi = input(true, "Use RSI")
needbb = input(false, defval = false, title = "Show Bands")
needbg = input(false, defval = false, title = "Show Background")
src = close
//Fast RSI
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
//CryptoBottom
mac = sma(close, 10)
lencb = abs(close - mac)
sma = sma(lencb, 100)
max = max(open, close)
min = min(open, close)
//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
//dist
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
//Trend
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]
//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")
//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)
//Signals
up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0
dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0
up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom
//dn2 = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0 //CryptoBottom
up3 = fastrsi < 5 ? 1 : 0
//dn3 = fastrsi > 99 ? 1 : 0
longCondition = up == 1 or (up2 == 1 and usecb == true) or (up3 == 1 and usersi == true)
if (longCondition)
strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
shortCondition = dn == 1
if (shortCondition)
strategy.entry("Short", strategy.short, needshort == false ? 0 : na)