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

Tác giả:ChaoZhang, Ngày: 2024-01-17 14:08:46
Tags:

img

Tổng quan

Chiến lược này dựa trên chỉ số kỹ thuật Momentum Mean Deviation Index được mô tả trong cuốn sách Momentum, Direction and Divergence của William Blau được xuất bản năm 1995.

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

Chiến lược này sử dụng chỉ số chênh lệch trung bình động lực để xác định xu hướng giá và điểm đột phá. Đầu tiên nó tính toán đường EMA của giá, sau đó tính toán độ lệch của giá từ đường EMA này. Sự lệch này sau đó được EMA làm mịn gấp đôi để có được đường cong chỉ số chênh lệch trung bình động lực cuối cùng. Các tín hiệu giao dịch được tạo ra khi đường cong này băng qua trên hoặc dưới đường tín hiệu của chính nó. Cụ thể, quy trình tính toán như sau:

  1. Tính toán đường EMA của giá xEMA
  2. Tính toán độ lệch của giá từ xEMA, xEMA_S
  3. Lượt xEMA_S với EMA, tham số s, nhận được xEMA_U
  4. Lượt xEMA_U một lần nữa với EMA, tham số u, nhận được đường tín hiệu xSignal
  5. So sánh mối quan hệ kích thước giữa xEMA_U và xSignal:
    1. xEMA_U > xSignal là tín hiệu dài
    2. xEMA_U < xSignal là tín hiệu ngắn
  6. Tạo tín hiệu giao dịch

Nhập vị trí dài hoặc ngắn theo tín hiệu possig.

Phân tích lợi thế

Những lợi thế của chiến lược này bao gồm:

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

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 khá nhạy cảm với lựa chọn tham số.
  2. Các tín hiệu dài và ngắn có thể xuất hiện đồng thời.
  3. Bộ lọc EMA đôi có thể lọc quá nhiều tín hiệu hợp lệ, dẫn đến việc bỏ lỡ giao dịch
  4. Nó không xem xét các mối quan hệ xu hướng chu kỳ lớn và có rủi ro giao dịch ngược lại

Những rủi ro này có thể được giảm bằng cách tối ưu hóa các tham số, thiết lập các tiêu chí lọc, giới thiệu các mô-đun đánh giá xu hướng, v.v.

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

Các hướng tối ưu hóa cho chiến lược này bao gồm:

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

Tóm lại

Chiến lược này dựa trên chỉ số chênh lệch trung bình động lực, thu thập các điểm đảo ngược giá dựa trên mối quan hệ động lực giá. Thiết kế được điều chỉnh và tối ưu hóa của nó có thể thích nghi với các chu kỳ và giống khác nhau. Nhưng nó cũng có một số tín hiệu sai và rủi ro giao dịch trái ngược. Tăng cường thêm các tham số và mô hình và kết hợp phán đoán xu hướng vv có thể cải thiện hiệu suất của nó.


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

Thêm nữa