Chiến lược giao dịch đảo ngược số lượng nhanh có hai hướng

Tác giả:ChaoZhang, Ngày: 2023-12-19 15:59:36
Tags:

img

Tổng quan

Đây là một chiến lược giao dịch đảo ngược hai theo dõi dựa trên kênh giá, dải Bollinger và chỉ số RSI nhanh. Nó kết hợp chỉ số kênh để xác định xu hướng, dải Bollinger để nhận ra mức hỗ trợ và kháng cự và RSI nhanh để phát hiện tín hiệu mua quá nhiều và bán quá nhiều, để đạt được giao dịch đảo ngược hiệu quả.

Chiến lược logic

Chiến lược chủ yếu dựa trên các chỉ số sau đây để đưa ra quyết định giao dịch:

  1. Kênh giá: Tính toán giá cao nhất và thấp nhất trong một khoảng thời gian nhất định và vẽ đường trung tâm của kênh.

  2. Bollinger Bands: Đường trung tâm là đường trung tâm của kênh giá. Dải trên và dưới được tính dựa trên độ lệch chuẩn của độ lệch của giá từ đường trung tâm.

  3. Chỉ số RSI nhanh (thời gian = 2): Xác định tình huống mua quá mức và bán quá mức cho giá. Đi dài khi chỉ số RSI giảm xuống dưới 5, đi ngắn khi chỉ số RSI tăng trên 95.

  4. CryptoBottom Indicator: Xác định giá đã vượt qua mức hỗ trợ. Kết hợp với RSI nhanh để tạo ra tín hiệu dài có khả năng cao.

Theo thời điểm giá vượt qua các kênh và băng tần Bollinger để thực hiện giao dịch, và đi dài hoặc ngắn dựa trên dấu hiệu mua quá nhiều và bán quá nhiều của RSI, logic giao dịch cốt lõi của chiến lược này được hình thành.

Ưu điểm của Chiến lược

Chiến lược này có những lợi thế sau:

  1. Hệ thống hai đường dẫn làm tăng độ chính xác tín hiệu. kênh giá đánh giá các xu hướng chính và dải Bollinger xác định mức hỗ trợ và kháng cự chính xác. Sự kết hợp cải thiện chất lượng tín hiệu.

  2. Chỉ số RSI nhanh bắt được cơ hội đảo ngược bằng cách phát hiện quá mua và quá bán.

  3. CryptoBottom giúp tăng tốc độ xác nhận tín hiệu dài. Bước qua mức hỗ trợ cho phép đánh giá nhanh về đặc điểm đáy và tránh mất tín hiệu dài.

  4. Các thiết lập tham số hợp lý và dễ tối ưu hóa.

Rủi ro của chiến lược

Ngoài ra còn có một số rủi ro cho chiến lược này:

  1. Cài đặt tham số không chính xác cho các băng tần Bollinger có thể bỏ lỡ các chuyển động giá quan trọng hoặc tạo ra các tín hiệu sai.

  2. Các mô hình tương tác giữa hai đường ray có thể phức tạp, đòi hỏi một số sự tinh vi kỹ thuật để đánh giá chính xác.

  3. Nguy cơ đảo ngược thất bại vẫn tồn tại vì khả năng giá được kéo trở lại không thể loại bỏ.

  4. Khó khăn trong tối ưu hóa tham số. Các tham số tối ưu có thể trở nên không hiệu quả nếu điều kiện thị trường thay đổi.

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

Chiến lược có thể được cải thiện trong các khía cạnh sau:

  1. Tối ưu hóa các thông số của các băng tần Bollinger để làm cho các băng tần trên và dưới gần với giá, cải thiện độ chính xác của tín hiệu giao dịch.

  2. Thêm các cơ chế dừng lỗ để cắt giảm lỗ khi chúng đạt đến tỷ lệ phần trăm ngưỡng nhất định.

  3. Tích hợp nhiều chỉ số hơn để xác định xu hướng, mức hỗ trợ và kháng cự để giảm tín hiệu sai.

  4. giới thiệu thuật toán học máy để tự động điều chỉnh các thông số để chúng có thể thích nghi với môi trường thị trường thay đổi.

Kết luận

Chiến lược này tích hợp kênh giá, dải Bollinger và chỉ số RSI nhanh để xây dựng một hệ thống giao dịch đảo ngược hai theo dõi. Trong khi đánh giá các xu hướng chính, nó cũng nhanh chóng nắm bắt các cơ hội hỗ trợ, kháng cự và mua quá mức / bán quá mức. Cài đặt tham số đơn giản và trực tiếp, dễ hiểu và tối ưu hóa. Nó có thể xác định hiệu quả cơ hội đảo ngược và phù hợp với giao dịch thuật toán.


/*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)

Thêm nữa