Chiến lược xu hướng dài dựa trên ATR, EOM và VORTEX

Tác giả:ChaoZhang, Ngày: 2024-02-18 16:01:07
Tags:

img

Tổng quan

Chiến lược này là một chiến lược xu hướng dài hạn cho thị trường chứng khoán và tiền điện tử. Nó kết hợp ba chỉ số - ATR (Mức True True), EOM (Ease of Movement) và VORTEX để xác định hướng xu hướng.

Chiến lược logic

  • ATR đo biến động thị trường. Ở đây chúng tôi tính toán ATR 10 giai đoạn và làm mịn nó với EMA 5 giai đoạn. Nếu ATR hiện tại cao hơn EMA của ATR, nó cho thấy biến động cao và thị trường tăng. Nếu không, đó là thị trường gấu.

  • EOM thuộc về các chỉ số giá khối lượng. Ở đây chúng tôi tính toán EOM 10 giai đoạn. Nếu EOM là dương tính, nó cho thấy tăng khối lượng giao dịch và thị trường tăng. Nếu không, đó là thị trường gấu.

  • VORTEX đại diện cho chỉ số xoáy để đánh giá hướng xu hướng dài hạn. Chúng tôi tính tổng biến động giá tuyệt đối trong 10 giai đoạn qua để có được VMP và VMM. Sau đó sử dụng tổng ATR làm tên để bình thường hóa và có được VIP và VIM. Trung bình chúng, nếu lớn hơn 1 cho thấy thị trường tăng và nhỏ hơn 1 cho thấy thị trường gấu.

Tóm lại, chiến lược này kết hợp ATR/EMAATR cho biến động ngắn hạn, EOM cho các tính năng giá khối lượng và VORTEX cho xu hướng dài hạn để xác định hướng cuối cùng chỉ dài.

Phân tích lợi thế

  • Chiến lược này tổng hợp ba loại chỉ số chính, bao gồm biến động, giá khối lượng và xu hướng để xác định hướng xu hướng với các phán đoán toàn diện và tín hiệu mạnh mẽ.

  • Cả ATR và VORTEX đều có tính năng làm mịn để lọc tiếng ồn từ các thị trường có phạm vi và tránh các tín hiệu dài sai.

  • Chỉ có dài mà không ngắn có thể tối đa hóa việc tránh rủi ro từ rút ngắn hạn.

  • Là một chiến lược theo xu hướng, nó tập trung vào việc nắm bắt các cơ hội định hướng trung bình đến dài hạn và lợi ích từ xu hướng chính.

Phân tích rủi ro

  • Dữ liệu backtest không đủ với hiệu suất giao dịch thực tế phải được xác minh và các thông số phải được tối ưu hóa và kiểm tra thêm.

  • Không thể tìm kiếm các cơ hội lợi nhuận từ các sự đảo ngược hoặc thị trường giới hạn phạm vi, hạn chế tiềm năng lợi nhuận.

  • Chiến lược xu hướng thuần túy không thể kiểm soát hiệu quả rủi ro vị trí với một số rủi ro khóa vốn nhất định.

  • Không thể mua ngắn để bảo hiểm với không gian lỗ lớn hơn.

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

  • Độ ổn định thử nghiệm của các khoảng thời gian khác nhau cho ATR và VORTEX.

  • Cố gắng giới thiệu các phương pháp dừng lỗ, ví dụ như dừng lỗ di chuyển, dừng lỗ thời gian để kiểm soát lỗ đơn.

  • Đặt kích thước vị trí dựa trên các giá trị ATR để giảm rủi ro trong môi trường biến động cao.

  • Bao gồm các yếu tố đảo ngược trung bình để xác nhận thời gian nhập cảnh và tránh khóa vốn không cần thiết.

Kết luận

Chiến lược theo xu hướng dài hạn này được đưa ra dựa trên xác nhận từ ATR, EOM và VORTEX trên ba loại, và chỉ đi dài mà không ngắn để hưởng lợi từ xu hướng chính. Nó có lợi thế của các phán đoán toàn diện và các tín hiệu rõ ràng, nhưng những nhược điểm của việc xác thực dữ liệu không đủ, khả năng kiểm soát rủi ro yếu. Những cải tiến trong tương lai có thể được thực hiện trong các lĩnh vực như giới thiệu dừng lỗ, tối ưu hóa cài đặt tham số và kích thước vị trí.


/*backtest
start: 2023-02-11 00:00:00
end: 2024-02-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21

//@version=4
strategy("atr+eom+vortex strat", overlay=true )

//atr and ema
atr_lenght=input(10)
atrvalue = atr(atr_lenght)


//plot(atrvalue)
ema_atr_length=input(5)
ema_atr = ema(atrvalue,ema_atr_length)

//plot(ema_atr,color=color.white)

//EOM and ema
lengthEOM = input(10, minval=1)
div = 10//input(10000, title="Divisor", minval=1)
eom = sma(div * change(hl2) * (high - low) / volume, lengthEOM)
// + - 0 long/short

//VORTEX
period_ = input(10, title="Length", minval=2)
VMP = sum( abs( high - low[1]), period_ )
VMM = sum( abs( low - high[1]), period_ )
STR = sum( atr(1), period_ )
VIP = VMP / STR
VIM = VMM / STR
avg_vortex=(VIP+VIM)/2
//plot(avg_vortex)

long= atrvalue > ema_atr and eom > 0 and avg_vortex>1 
short=atrvalue < ema_atr and eom < 0 and avg_vortex<1 

strategy.entry("long",1,when=long)
//strategy.entry("short",0,when=short)

strategy.close("long",when=short)

Thêm nữa