Chiến lược giao cắt đường trung bình động có trọng số đàn hồi


Ngày tạo: 2023-09-18 22:07:14 sửa đổi lần cuối: 2023-09-18 22:08:05
sao chép: 3 Số nhấp chuột: 732
1
tập trung vào
1617
Người theo dõi

Tổng quan

Chiến lược này sử dụng trung bình di chuyển cân bằng linh hoạt của hai chu kỳ khác nhau (EVWMA) để hoạt động chéo để tạo ra tín hiệu mua và bán. Một tín hiệu mua được tạo ra khi đi qua một đường chu kỳ dài trên đường chu kỳ ngắn; Một tín hiệu bán được tạo ra khi đi qua một đường chu kỳ dài dưới đường chu kỳ ngắn.

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

Chiến lược này đánh giá sự thay đổi của xu hướng bằng cách tính các đường EVWMA của các chu kỳ khác nhau và cho phép chúng hoạt động chéo.

Cụ thể, nó đã tính toán hai đường EVWMA:

  1. Dòng thời gian ngắn m1, thời gian dài 1, mặc định là 5

  2. Dòng chu kỳ dài m2, chu kỳ length2, mặc định là 40

Sau đó, nó sử dụng các hàm crossover và crossunder để đánh giá sự giao nhau của m1 và m2:

  • Nếu m1 trên m2, sẽ tạo ra một tín hiệu mua, thực hiện hoạt động long

  • Nếu m1 đi qua m2, sẽ tạo ra một tín hiệu bán và thực hiện hoạt động ngắn

Cần lưu ý rằng EVWMA khác với trung bình di chuyển thông thường, nó đặt trọng lượng cao hơn cho dữ liệu gần đây nhất để phản ứng nhanh hơn với sự thay đổi giá. Công thức tính toán như sau:

data = (nz(data[1]) * (nb_floating_shares - volume)/nb_floating_shares) + (volume_price/nb_floating_shares)

trong đónz(data[1]) cho thấy giá trị EVWMA của chu kỳ trước, nb_floating_shares cho thấy tổng giao dịch trong chu kỳ, volume cho thấy giao dịch của chu kỳ hiện tại, volume_price cho thấy giao dịch của chu kỳ hiện tại. Như vậy, hiệu quả của việc đặt trọng lượng cao hơn cho dữ liệu gần đây được thực hiện.

Phân tích lợi thế

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

  1. Sử dụng EVWMA để phản ứng nhanh hơn với sự thay đổi giá và tăng cơ hội kiếm lợi nhuận

  2. Sử dụng giao thoa hai dòng EVWMA để phát hiện các điểm thay đổi xu hướng, nhập cảnh kịp thời

  3. Hoạt động đơn giản, dễ thực hiện

  4. Có thể tùy chỉnh độ dài chu kỳ để phù hợp với các môi trường thị trường khác nhau

  5. Không cần thiết phải tối ưu hóa tham số phức tạp, dễ dàng ổ cứng

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

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

  1. Bi-line crossover không thể lọc tiếng ồn thị trường và có thể tạo ra một lượng lớn tín hiệu vô hiệu

    • Giải pháp: Lưu trữ các tín hiệu của bạn với các chỉ số khác như khối lượng giao dịch.
  2. Không thể xác định được điểm đảo chiều, có nguy cơ bỏ lỡ

    • Giải pháp: Điều chỉnh các tham số chu kỳ thích hợp, hoặc thêm các chỉ số khác để xác định xu hướng đảo ngược
  3. Cơ chế ngăn chặn không ngừng, không kiểm soát rủi ro hiệu quả

    • Giải pháp: Đặt tỷ lệ dừng lỗ hợp lý dựa trên dữ liệu lịch sử hoặc biến động
  4. Các tham số không được tối ưu hóa, thiết lập vòng tròn không chính xác sẽ làm giảm hiệu quả

    • Giải pháp: Lựa chọn độ dài chu kỳ phù hợp bằng cách tra lại các tham số tối ưu hóa

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

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Tăng chiến lược ngăn chặn, kiểm soát rủi ro

  2. Tối ưu hóa độ dài chu kỳ của đường, chọn tham số tốt nhất

  3. Thêm tín hiệu lọc số lượng giao dịch, giảm giao dịch không có hiệu lực

  4. Kết hợp các chỉ số khác để đánh giá xu hướng đảo ngược, giảm cơ hội bị bỏ lỡ

  5. Các tham số tối ưu hóa động, độ dài chu kỳ của đường điều chỉnh theo thay đổi thị trường

  6. Phân biệt thị trường nhiều đầu và thị trường trống, sử dụng các tham số khác nhau

  7. Tham gia vào thuật toán học máy để sử dụng đào tạo dữ liệu lớn để xác định thời gian mua và bán

Tóm tắt

Overall, this elastic weighted moving average cross strategy can effectively detect trend changes and generate trading signals by calculating and letting double EVWMA line cross operations. Chiến lược này đơn giản và dễ thực hiện, nhưng có một số rủi ro và hướng tối ưu hóa. Bằng cách tối ưu hóa cơ chế dừng lỗ, lựa chọn tham số và kết hợp với các chỉ số khác, chiến lược này có thể được tăng cường để phù hợp hơn với giao dịch thực tế.

Mã nguồn chiến lược
/*backtest
start: 2023-08-18 00:00:00
end: 2023-08-26 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy("Elastic Volume Weighted Moving Average Cross Strategy", shorttitle="EVWMA Cross", overlay=true)
length1=input(5, title="EVWMA Short")
length2=input(40, title="EVWMA Long")

nbfs1=sum(volume, length1)
nbfs2=sum(volume, length2)

medianSrc=close

calc_evwma(price, length, nb_floating_shares) => 
    data = (nz(data[1]) * (nb_floating_shares - volume)/nb_floating_shares) + (volume*price/nb_floating_shares)
    data
    

m1=calc_evwma(medianSrc, length1, nbfs1)
m2=calc_evwma(medianSrc, length2, nbfs2)

if (crossover(m1, m2))
    strategy.entry("MA2CrossLE", strategy.long, comment="MA2CrossLE")

if (crossunder(m1, m2))
    strategy.entry("MA2CrossSE", strategy.short, comment="MA2CrossSE")

p1=plot(m1,color=orange,linewidth=2, title="evwma")
p2=plot(m2,color=orange,linewidth=2, title="evwma")