Chiến lược chỉ báo động lượng ADX, RSI


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

Chiến lược chỉ báo động lượng ADX, RSI

Tổng quan

Chiến lược này sử dụng các chỉ số động lực như ADX, RSI và Bollinger Bands để đánh giá xu hướng thị trường và chiến lược giao dịch tự động mua bán, mua thấp và mua cao, và rút ra lợi nhuận bằng cách đánh giá tình trạng mua bán quá mức.

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

  1. Chỉ số ADX đánh giá xu hướng. Khi ADX lớn hơn 32, thị trường được coi là đang có xu hướng.
  2. Chỉ số RSI đánh giá quá mua quá bán. Khi chỉ số RSI vượt mức 30, thị trường được coi là quá bán; Khi chỉ số RSI vượt mức 70, thị trường được coi là quá mua.
  3. Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt Bắt

Theo các chỉ số trên để đánh giá tình trạng thị trường, hãy xây dựng chiến lược giao dịch như sau:

Điều kiện mua hàng:

  1. ADX> 32, tình trạng xu hướng
  2. RSI tăng lên 30 và bán tháo.
  3. Giá đóng cửa dưới đường giảm của Bollinger Bands, kết thúc đà giảm

Điều kiện bán hàng:

  1. ADX> 32, tình trạng xu hướng
  2. RSI ở mức 70 và mua quá mức
  3. Giá đóng cửa cao hơn giá Bollinger Bands và kết thúc giao dịch.

Phân tích lợi thế

Chiến lược này sử dụng tổng hợp nhiều chỉ số để đánh giá tình trạng thị trường, tránh khả năng đánh giá sai lầm của chỉ số đơn lẻ. Đồng thời, thông qua xu hướng, đánh giá tình trạng bán tháo, có thể khóa hiệu quả các điểm biến đổi thị trường, để đạt được giá thấp và giá cao.

Chiến lược này có thể nắm bắt các cơ hội ngắn hạn một cách kịp thời hơn so với chỉ số xu hướng đơn lẻ. Chiến lược này có thể nắm bắt được hướng xu hướng tốt hơn so với chỉ số biến động đơn lẻ. Vì vậy, chiến lược này vẫn giữ được lợi thế của việc theo dõi xu hướng và có tính linh hoạt trong hoạt động ngược, là một chiến lược định lượng có hiệu quả cao.

Phân tích rủi ro

Chiến lược này có những rủi ro chính như sau:

  1. Rủi ro cho các chỉ số phát ra tín hiệu sai. Các chỉ số có thể không có hiệu lực khi thị trường bất ngờ xảy ra sự kiện lớn.
  2. Giới hạn lỗ hổng đặt quá quyết liệt. Nếu lỗ hổng quá nhỏ, có thể bị dừng bởi biến động thị trường ngắn hạn.
  3. Rủi ro phù hợp với dữ liệu tham số. Nếu tham số chỉ số chỉ được phù hợp dựa trên dữ liệu lịch sử, thì độ ổn định của tham số sẽ kém hơn và có thể không thích nghi với sự thay đổi của thị trường.

Các biện pháp quản lý rủi ro:

  1. Người ta đã can thiệp vào thị trường bất thường bằng cách tạm dừng chiến lược bằng tay, tránh các tín hiệu sai dẫn đến tổn thất.
  2. Thiết lập khoảng cách dừng hợp lý, đồng thời kết hợp các chỉ số như đường trung bình để xác định giá dừng để tránh bị đặt.
  3. Thêm mô-đun Parameter Tuning, sử dụng phương pháp Walk Forward Analysis để tối ưu hóa các tham số động, đảm bảo tính ổn định của các tham số.

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

Chính sách này có thể được tối ưu hóa trong các lĩnh vực sau:

  1. Tối ưu hóa tham số chỉ số. Có thể giới thiệu thuật toán tối ưu hóa thông minh để tối ưu hóa độc lập cho các tham số khác nhau.

  2. Tăng kỹ thuật tính năng. giới thiệu nhiều chỉ số kỹ thuật giá cả, thiết lập các mô hình hỗ trợ máy vector để đào tạo, nâng cao độ chính xác tín hiệu.

  3. Tham gia chiến lược đột phá. Dựa trên các đặc điểm của tình huống của các giống khác nhau, áp dụng các quy tắc phán đoán dựa trên đường dẫn, kháng cự hỗ trợ, nắm bắt điểm đột phá, tăng cường sự ổn định của chiến lược.

  4. Tối ưu hóa cơ chế dừng lỗ. Tiến hành theo dõi dừng lỗ, di chuyển dừng lỗ, để thực hiện điều chỉnh động lực dừng lỗ, tối đa hóa lợi nhuận và kiểm soát rủi ro hiệu quả.

Tóm tắt

Chiến lược này là một chiến lược giao dịch định lượng ngắn hạn, sử dụng nhiều chỉ số kỹ thuật như ADX, RSI, và Brin để đánh giá tình trạng thị trường. Chiến lược có thể giải thích logic rõ ràng, có thể làm giảm đáng kể khả năng đánh giá sai lầm của chỉ số kỹ thuật đơn lẻ. Đồng thời, chiến lược cũng cần cảnh báo các chỉ số phát ra tín hiệu sai, thiết lập các rủi ro như dừng quá cấp tiến và sai lệch tham số lỗ, cần bắt đầu từ quản lý rủi ro và tối ưu hóa mô hình để nâng cao sự ổn định và hiệu quả của chiến lược.

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

//@version=4
strategy("DAX Shooter 5M Strategy", overlay=true)

//Creo ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
th = input(title="threshold", type=input.integer, defval=20)
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)
    adx


[plus, minus] = dirmov(dilen)
sig = adx(dilen, adxlen)

//Creo RSI

src = close
len = input(7, minval=1, title="Periodo RSI")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
bandainf = input(30, title="Livello Ipervenduto")
bandasup = input(70, title="Livello Ipercomprato")


//Creo Bande di Bollinger

source = close
length = input(50, minval=1, title="Periodo BB")
mult = input(2.0, minval=0.001, maxval=50, title="Dev BB")

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

plot(basis, color=color.white)
p1 = plot(upper, color=color.aqua)
p2 = plot(lower, color=color.aqua)
fill(p1, p2)

//Stabilisco regole di ingresso

if crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower
    strategy.entry("COMPRA", strategy.long, limit=upper, oca_name="DaxShooter", comment="COMPRA")
else
    //strategy.exit("exit", "COMPRA", loss = 90) 
    strategy.cancel(id="COMPRA")

if crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper
    strategy.entry("VENDI", strategy.short, limit=lower, oca_name="DaxShooter",comment="VENDI")
else
    //strategy.exit("exit", "VENDI", loss = 90)
    strategy.cancel(id="VENDI")

//Imposto gli alert
buy= crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower
sell= crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper
alertcondition(buy, title='Segnale Acquisto', message='Compra DAX')
alertcondition(sell, title='Segnale Vendita', message='Vendi DAX')

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)