Xu hướng dựa trên chỉ số AO theo chiến lược

Tác giả:ChaoZhang, Ngày: 2023-12-20 11:59:48
Tags:

img

Tổng quan

Chiến lược này sử dụng chỉ số Awesome Oscillator (AO) để xác định hướng xu hướng và trung bình động để xác nhận xu hướng. Nó thuộc về chiến lược theo xu hướng. Nó đi dài khi chỉ số AO vượt qua mức 0 và MA nhanh vượt qua mức MA chậm, và đi ngắn khi AO vượt qua dưới mức 0 và MA nhanh vượt qua mức MA chậm, tận dụng lợi thế của xu hướng hướng lợi nhuận.

Chiến lược logic

Chỉ số AO được tính dựa trên sự khác biệt giữa trung bình động đơn giản 5 giai đoạn và 34 giai đoạn của giá trung bình. Nó thuộc về thể loại các chỉ số Momentum. Khi AO dương tính, nó có nghĩa là MA ngắn hạn cao hơn MA dài hạn, nên được giải thích như một dấu hiệu tăng. Khi AO âm tính, nó có nghĩa là MA ngắn hạn thấp hơn MA dài hạn, nên được giải thích như một dấu hiệu giảm.

Do đó, chỉ số AO có thể xác định hiệu quả hướng của xu hướng. Khi AO vượt trên mức 0, nó báo hiệu rằng xu hướng thị trường đã trở nên tăng và chúng ta nên mua. Khi AO vượt dưới mức 0, nó báo hiệu rằng xu hướng thị trường đã trở nên giảm và chúng ta nên mua ngắn.

Ngoài ra, chiến lược này cũng kết hợp các đường trung bình động 20 giai đoạn và 200 giai đoạn. Độ nghiêng của hai MA này đại diện cho hướng của xu hướng trung bình đến dài hạn. Chỉ đánh giá theo chỉ số AO cho hướng xu hướng ngắn hạn là không đủ, xác nhận từ xu hướng trung dài hạn cũng cần thiết, do đó việc bổ sung các quy tắc chéo MA.

Khi MA nhanh vượt qua trên MA chậm, xu hướng trung hạn dài biến thành tăng, chúng tôi mua dài khi AO vượt qua trên 0 để đi theo xu hướng tăng. Khi MA nhanh vượt qua dưới MA chậm, xu hướng trung hạn dài biến thành giảm, chúng tôi mua ngắn khi AO vượt qua dưới 0 để đi theo xu hướng giảm.

Ưu điểm

  1. Xác định chính xác hướng xu hướng ngắn hạn bằng chỉ số AO
  2. Thêm các bộ lọc MA để xác nhận xu hướng trung hạn và dài hạn, tránh hiệu quả các sự đột phá sai
  3. Lợi nhuận nhanh, phù hợp với giao dịch ngắn hạn

Phân tích rủi ro

  1. Rủi ro không thể tham gia khi mua ngắn. Giá có thể tiếp tục tăng trong một thời gian sau khi AO vượt dưới 0 và tín hiệu MA bán trước khi giảm.
  2. Rủi ro thất bại khi mua mua. Giá có thể tiếp tục giảm trong một thời gian sau khi AO vượt trên 0 và tín hiệu MA mua trước khi tăng.
  3. Rủi ro của các tín hiệu AO bị biến dạng ở các cấp kỹ thuật lớn.

Hướng dẫn cải thiện

  1. Kiểm tra các kết hợp MA khác nhau để tìm các thiết lập tốt hơn, ví dụ: MA 10 và 50 giai đoạn
  2. Thêm các chỉ số khác như RSI để xác nhận tín hiệu
  3. Tối ưu hóa tỷ lệ dừng lỗ để có tỷ lệ rủi ro/lợi nhuận tốt hơn

Kết luận

Đây là một chiến lược theo xu hướng đơn giản. Sử dụng AO để xác định hướng xu hướng ngắn hạn được xác nhận bởi MAs trung dài hạn là hợp lý. Sự kết hợp của AO và MAs được sử dụng rộng rãi và tương đối trưởng thành. Chiến lược này cũng rất đáng tin cậy. Tăng cường thêm các tham số và các chỉ số khác có thể cải thiện hiệu suất chiến lược.


/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-14 20:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// https://www.youtube.com/watch?v=zr3AVwjCtDA

//@version=5
strategy(title="Bingx ESTRATEGIA de Trading en 1 minuto ", shorttitle="AO")
long = input.bool(true, "long")
short = input.bool(true, "short")
profit = (input.float(10, "profit") / 100) + 1
stop = (input.float(5, "stop") / 100) + 1
ao = ta.sma(hl2,5) - ta.sma(hl2,34)
diff = ao - ao[1]
plot(ao, color = diff <= 0 ? #F44336 : #009688, style=plot.style_columns)
changeToGreen = ta.crossover(diff, 0)
changeToRed = ta.crossunder(diff, 0)
alertcondition(changeToGreen, title = "AO color changed to green", message = "Awesome Oscillator's color has changed to green")
alertcondition(changeToRed, title = "AO color changed to red", message = "Awesome Oscillator's color has changed to red")

ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)
rsi = ta.rsi(close, 7)
plot(rsi)
plot(0, color=color.white)
var float pentry = 0.0
var float lentry = 0.0
var bool oab = false
// oab := ta.crossover(ao, 0) ? true : ta.crossover(0, ao) ? false : oab[1]

if long and close > open and ta.crossover(close, ema20) and ema20 > ema200 and ao > 0 and rsi > 50
    strategy.entry("long", strategy.long)
    pentry := close
strategy.exit("exit long", "long", limit=pentry * profit, stop=pentry / stop)

if short and close < open and ta.crossunder(close, ema20) and ema20 < ema200 and ao < 0 and rsi < 50
    strategy.entry("short", strategy.short)
    lentry := close
strategy.exit("exit short", "short", limit=lentry / profit, stop=lentry * stop)

Thêm nữa