Chiến lược giao dịch định lượng trung bình động ba điểm song phương

Tác giả:ChaoZhang, Ngày: 2024-01-31 16:11:41
Tags:

img

Tổng quan

Chiến lược này dựa trên chỉ số trung bình động ba điểm song phương. Bằng cách tính toán giá trị trung bình của giá cao nhất, giá thấp nhất và giá đóng cửa của N giai đoạn gần đây nhất, nó nhận ra chức năng đánh giá xu hướng giá và tạo ra tín hiệu giao dịch. Chiến lược này phù hợp với giao dịch trung và ngắn hạn, và có thể lọc hiệu quả tiếng ồn thị trường và nắm bắt xu hướng giá.

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

Chỉ số cốt lõi của chiến lược này là đường trung bình di chuyển ba điểm song phương (XHL2, XHLC3). XHL2 tính giá trung bình của giá cao nhất và giá thấp nhất của các giai đoạn N gần đây nhất. XHLC3 tính giá trung bình của giá cao nhất, giá thấp nhất và giá đóng cửa của các giai đoạn N gần đây nhất. Hai chỉ số này có thể làm mịn dữ liệu giá hiệu quả và lọc tác động của biến động ngắn hạn.

Chiến lược đánh giá xu hướng giá bằng cách tính toán sự khác biệt nMF giữa XHL2, XHLC3 và giá đóng cửa. Khi nMF lớn hơn một yếu tố, nó được đánh giá là giá đang có xu hướng tăng; khi nMF nhỏ hơn một yếu tố âm, nó được đánh giá là giá đang có xu hướng giảm. Kết hợp với khối lượng giao dịch, chỉ số nRES được tính toán. nRES lớn hơn 0 chỉ ra tín hiệu mua, và nhỏ hơn 0 chỉ ra tín hiệu bán.

Phân tích lợi thế

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

  1. Sử dụng chỉ số trung bình động ba điểm song phương có thể lọc hiệu quả tiếng ồn thị trường và đánh giá xu hướng giá trung và dài hạn;

  2. Kết hợp các thay đổi trong khối lượng giao dịch có thể xác định chính xác hơn hướng dòng chảy vốn và phát hành tín hiệu giao dịch;

  3. Chiến lược có ít tham số, các phương pháp đơn giản và dễ hiểu và dễ thực hiện;

  4. Thiết lập hướng nắm giữ linh hoạt, phù hợp với các loại nhà đầu tư khác nhau.

Phân tích rủi ro

Những rủi ro chính của chiến lược này là:

  1. Cài đặt tham số không chính xác có thể gây ra tín hiệu giao dịch sai;

  2. Trong một thị trường có xu hướng mạnh trong thời gian dài, chiến lược có thể tạo ra quá nhiều tín hiệu giao dịch sai;

  3. Trong một thị trường biến động, các thiết lập dừng lỗ quá nhỏ có thể làm tăng rủi ro mất mát.

Giải pháp:

  1. Tối ưu hóa các thông số và xác định các thông số tốt nhất dựa trên backtesting;

  2. Đánh giá độ tin cậy của tín hiệu kết hợp với xu hướng và hỗ trợ / kháng cự;

  3. Nới lỏng phạm vi dừng lỗ một cách thích hợp để kiểm soát lỗ đơn.

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

Các hướng tối ưu hóa của chiến lược này:

  1. Tối ưu hóa các thông số trung bình động và các thông số khối lượng giao dịch để cải thiện độ nhạy của chỉ số;

  2. Thêm các chỉ số đánh giá xu hướng để cải thiện độ chính xác của tín hiệu giao dịch;

  3. Thêm các chiến lược dừng lỗ để giảm rủi ro mất mát;

  4. Kết hợp các phương pháp học máy để đạt được tối ưu hóa tham số tự động.

Tóm lại

Chiến lược này được thiết kế dựa trên chỉ số trung bình động ba điểm song phương để xác định hướng xu hướng trung hạn và dài hạn của giá. Nó sử dụng thay đổi khối lượng giao dịch để xác nhận dòng vốn vào và đi, và cuối cùng tạo ra tín hiệu giao dịch mua và bán. Chiến lược có nhiều chỗ để tối ưu hóa và có thể được cải thiện trong nhiều chiều để thích nghi với môi trường thị trường phức tạp hơn.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/06/2018
// The FVE is a pure volume indicator. Unlike most of the other indicators 
// (except OBV), price change doesn?t come into the equation for the FVE (price 
// is not multiplied by volume), but is only used to determine whether money is 
// flowing in or out of the stock. This is contrary to the current trend in the 
// design of modern money flow indicators. The author decided against a price-volume 
// indicator for the following reasons:
// - A pure volume indicator has more power to contradict.
// - The number of buyers or sellers (which is assessed by volume) will be the same, 
//     regardless of the price fluctuation.
// - Price-volume indicators tend to spike excessively at breakouts or breakdowns.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Finite Volume Elements (FVE) Backtest", shorttitle="FVE")
Period = input(22, minval=1)
Factor = input(0.3, maxval=1)
reverse = input(false, title="Trade reverse")
xhl2 = hl2
xhlc3 = hlc3
xClose = close
xVolume = volume
xSMAV = sma(xVolume, Period)
nMF = xClose - xhl2 + xhlc3 - xhlc3[1]
nVlm = iff(nMF > Factor * xClose / 100,  xVolume, 
         iff(nMF < -Factor * xClose / 100, -xVolume, 0))
nRes = nz(nRes[1],0) + ((nVlm / xSMAV) / Period) * 100
pos = iff(nRes > nRes[1] and nRes > nRes[2], 1,
         iff(nRes < nRes[1] and nRes < nRes[2], -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, color=red, title="FVE")

Thêm nữa