Chiến lược đột phá chỉ báo chênh lệch trung bình động lượng


Ngày tạo: 2024-01-17 14:08:46 sửa đổi lần cuối: 2024-01-17 14:08:46
sao chép: 0 Số nhấp chuột: 630
1
tập trung vào
1617
Người theo dõi

Chiến lược đột phá chỉ báo chênh lệch trung bình động lượng

Tổng quan

Chiến lược này được thiết kế dựa trên các chỉ số kỹ thuật được William Blau mô tả trong cuốn sách của ông xuất bản năm 1995 về động lực, hướng và lệch từ động lực. Chỉ số này tập trung vào động lực giá, hướng giá và giá lệch từ ba yếu tố quan trọng, phân tích sâu về mối quan hệ giữa giá và động lực.

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

Chiến lược này sử dụng chỉ số chênh lệch động cơ để xác định xu hướng và điểm phá vỡ của giá. Đầu tiên, tính toán đường trung bình EMA của giá, sau đó tính toán độ lệch của giá từ đường EMA đó.

  1. Đường EMA trung bình tính giá xEMA
  2. Tính lệch giá với xEMA xEMA_S
  3. XEMA_S được làm mịn EMA, tham số là s, có xEMA_U
  4. XEMA_U được làm mịn EMA, tham số là u, và kết quả là xSignal
  5. So sánh xEMA_U với xSignal:
    1. xEMA_U > xSignal là tín hiệu đa đầu
    2. xEMA_U < xSignal
  6. tạo tín hiệu giao dịch possig

Giao dịch mua và bán dựa trên tín hiệu POSSIG.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Sử dụng bộ lọc EMA kép, có thể lọc hiệu quả phá vỡ giả, tăng độ tin cậy của tín hiệu
  2. Dựa trên EMA, nó nhạy cảm hơn với biến động giá trong ngắn hạn và có thể nắm bắt được các điểm thay đổi xu hướng.
  3. Sử dụng thiết kế tham số, có thể điều chỉnh các tham số theo nhu cầu để phù hợp với các chu kỳ và giống khác nhau
  4. Bao gồm các tín hiệu giao dịch hai chiều dài và ngắn, có thể tận dụng sự biến động hai chiều của giá

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro tiềm ẩn:

  1. EMA rất nhạy cảm với lựa chọn tham số, thiết lập không đúng có thể bỏ lỡ hoặc tạo ra tín hiệu sai
  2. Các tín hiệu đa đầu và vô đầu có thể xuất hiện cùng một lúc, cần thiết phải đặt các điều kiện lọc để tránh bù đắp lẫn nhau
  3. Tín hiệu của sóng EMA đôi có thể bị thổi phồng quá mức, dẫn đến sự thiếu sót.
  4. Không tính đến xu hướng chu kỳ lớn, có nguy cơ giao dịch ngược

Những rủi ro này có thể được giảm bớt bằng cách tối ưu hóa các tham số, thiết lập các điều kiện lọc, đưa ra các phán đoán xu hướng.

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

Chiến lược này được tối ưu hóa như sau:

  1. Tối ưu hóa các tham số r, s, u để phù hợp hơn với các tính năng khác nhau của chu kỳ và giống
  2. Thêm mô-đun đánh giá xu hướng, tránh hoạt động ngược
  3. Thêm các điều kiện lọc, chẳng hạn như phá vỡ kênh, để tránh tín hiệu vô hiệu
  4. Kết hợp các yếu tố và mô hình khác để tăng hiệu quả chiến lược

Tóm tắt

Chiến lược này dựa trên chỉ số chênh lệch động giữa giá và động lượng, để nắm bắt thời điểm giá đảo ngược. Nó được thiết kế theo tham số và có thể tối ưu hóa, có thể thích ứng với các chu kỳ và giống khác nhau. Nhưng cũng có một số tín hiệu sai và rủi ro giao dịch ngược.

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

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/12/2016
// This is one of the techniques described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). If you like to learn more, we advise you to
// read this book. His book focuses on three key aspects of trading: momentum, 
// direction and divergence. Blau, who was an electrical engineer before becoming 
// a trader, thoroughly examines the relationship between price and momentum in 
// step-by-step examples. From this grounding, he then looks at the deficiencies 
// in other oscillators and introduces some innovative techniques, including a 
// fresh twist on Stochastics. On directional issues, he analyzes the intricacies 
// of ADX and offers a unique approach to help define trending and non-trending periods.
//
// 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(title="Ergotic MDI (Mean Deviation Indicator) Bactest")
r = input(32, minval=1)
s = input(5, minval=1)
u = input(5, minval=1)
SmthLen = input(3, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
xEMA = ema(close, r)
xEMA_S = close - xEMA
xEMA_U = ema(ema(xEMA_S, s), u)
xSignal = ema(xEMA_U, u)
pos = iff(xEMA_U > xSignal, 1,
	   iff(xEMA_U < xSignal, -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(xEMA_U, color=green, title="Ergotic MDI")
plot(xSignal, color=red, title="SigLin")