Chiến lược kiểm tra ngược dao động tinh vi của Williams (AC)


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

Chiến lược kiểm tra ngược dao động tinh vi của Williams (AC)

Tổng quan

Chiến lược này dựa trên bộ dao động tinh tế trong chỉ số William, được thiết kế bởi chuyên gia giao dịch nổi tiếng Bill Williams (Awesome Oscillator, viết tắt là AO), tạo ra một chỉ số dao động của xu hướng chẩn đoán và động lực thị trường bằng cách tính toán chênh lệch giữa đường giá trung bình trong các chu kỳ khác nhau và thiết kế các tín hiệu giao dịch tương ứng để hướng dẫn mua và bán.

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

Chỉ số cốt lõi của chiến lược là vibrator tinh vi ((AO), với công thức tính toán là: AO = SMA (giá trung bình, ngày 5) - SMA (giá trung bình, ngày 34) Trong đó, giá trung bình được định nghĩa là ((giá cao nhất + giá thấp nhất) / 2 ⋅ Công thức này lấy thông tin động lực giá từ SMA trung bình của hai chu kỳ khác nhau ⋅ Bằng cách tính toán chênh lệch giữa SMA đường nhanh ((5 ngày) và SMA đường chậm ((34 ngày), tín hiệu mua khi đường nhanh cao hơn đường chậm và tín hiệu bán khi đường nhanh thấp hơn đường chậm ⋅

Trong chiến lược này, để lọc tín hiệu sai lệch, AO được thực hiện giao dịch SMA 5 ngày. Và thiết lập một chế độ đảo ngược, có thể thực hiện các hướng giao dịch khác nhau bằng cách đảo ngược tín hiệu dài / ngắn. Khi giá trị AO cao hơn trước, được coi là cơ hội mua, được đánh dấu bằng cột màu xanh; Khi giá trị AO không cao hơn trước, được coi là cơ hội bán, được đánh dấu bằng cột màu đỏ.

Lợi thế chiến lược

  1. Sử dụng giá trung bình thay vì giá đóng cửa, có thể làm giảm tác động của phá vỡ giả đối với SMA, tăng sự ổn định
  2. SMA kết hợp nhanh chóng, nhạy cảm với sự thay đổi của thị trường
  3. SMA lọc kép, loại bỏ tiếng ồn tần số cao, cải thiện chất lượng tín hiệu
  4. Có thể điều chỉnh các tham số linh hoạt để thích ứng với các môi trường thị trường khác nhau
  5. Cột trực quan hiển thị điểm mua và bán, dễ dàng đánh giá hoạt động

Rủi ro và giải pháp

  1. Cần thận trọng đánh giá tần suất biến động của thị trường, điều chỉnh các tham số để tránh quá phù hợp
  2. Có thể xảy ra nhiều sai lầm trong thị trường chấn động. Có thể mở rộng phạm vi dừng lỗ thích hợp, hoặc giảm quy mô vị trí
  3. Dữ liệu phản hồi không đáng tin cậy, thiết bị thực có thể khác với mô phỏng.

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

  1. Tăng bộ lọc như chỉ số giao dịch, cải thiện chất lượng tín hiệu
  2. Tham gia chiến lược dừng lỗ, kiểm soát các hoạt động mất mát riêng lẻ
  3. Tối ưu hóa quản lý vị trí, tăng giảm vị trí theo biến động thị trường
  4. Kết hợp với các chỉ số khác để xác định xu hướng và ngăn chặn sự đảo ngược của thị trường

Tóm tắt

Chiến lược này sử dụng máy rung tinh tế được thiết kế theo cấu trúc SMA giá trung bình nhanh chậm để chẩn đoán sự thay đổi động lực thị trường, tín hiệu mua và bán trực quan. Tuy nhiên, có thể bị ảnh hưởng bởi các đợt dao động và đảo ngược, cần điều chỉnh các tham số và chiến lược dừng lỗ thích hợp để cải thiện sự ổn định. Với giả định kiểm soát rủi ro, chiến lược này đơn giản và thực tế, đáng để tối ưu hóa hơn nữa.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/12/2016
//    This indicator plots the oscillator as a histogram where blue denotes 
//    periods suited for buying and red . for selling. If the current value 
//    of AO (Awesome Oscillator) is above previous, the period is considered 
//    suited for buying and the period is marked blue. If the AO value is not 
//    above previous, the period is considered suited for selling and the 
//    indicator marks it as red.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy("Bill Williams. Awesome Oscillator (AC)")
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
reverse = input(false, title="Trade reverse")
xSMA1_hl2 = sma(hl2, nLengthFast)
xSMA2_hl2 = sma(hl2, nLengthSlow)
xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
xSMA_hl2 = sma(xSMA1_SMA2, nLengthFast)
nRes =  xSMA1_SMA2 - xSMA_hl2
cClr = nRes > nRes[1] ? blue : red
pos = iff(nRes > nRes[1], 1,
	   iff(nRes < nRes[1], -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, style=histogram, linewidth=1, color=cClr)