Chiến lược phần tử khối lượng hữu hạn dựa trên tính biến động thích ứng


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

Chiến lược phần tử khối lượng hữu hạn dựa trên tính biến động thích ứng

Tổng quan

Chiến lược này sử dụng phương pháp yếu tố khối lượng hạn chế, kết hợp với đo lường biến động tự thích ứng, để phán đoán nhiều chỗ về thay đổi giá, thuộc loại chiến lược theo dõi xu hướng. Chiến lược áp dụng cho các chu kỳ thời gian, có thể tự động điều chỉnh tham số để thích ứng với mức độ biến động khác nhau.

Nguyên tắc

Chiến lược này tính toán giá trung bình cao thấp nhất của đường K gần nhất, giá trung bình đóng cửa và giá trung bình cao thấp nhất của đường K trước đó. Sau đó tính toán tỷ lệ lợi nhuận đối số của đường K hiện tại và đường K trước đó Intra và Inter. Đồng thời tính toán biến động Vintra và Vinter của Intra và Inter.

Tính toán hệ số cắt giảm thích ứng CutOff dựa trên mức độ biến động và tham số điều chỉnh. Khi giá thay đổi vượt quá CutOff, cho tín hiệu trống rỗng. Cụ thể, tính toán MF của giá đóng cửa K hiện tại với giá trung bình cao thấp, tín hiệu đầu nhiều khi MF lớn hơn CutOff và tín hiệu đầu rỗng khi MF nhỏ hơn CutOff.

Cuối cùng, tính theo tín hiệu dòng tiền, tín hiệu outputs pos, và vẽ đường cong yếu tố khối lượng giới hạn FVE.

Ưu điểm

  1. Các tham số tự điều chỉnh, áp dụng cho các chu kỳ khác nhau và mức độ biến động, không cần điều chỉnh bằng tay.
  2. Các nhà phân tích đã tìm ra một số cách để xác định xu hướng của giá cả.
  3. Đường cong của các yếu tố khối lượng giới hạn phản ánh rõ ràng sự tương phản lực đa không.
  4. Theo đó, các hoạt động của các ngân hàng trong lĩnh vực này có thể được thực hiện một cách hợp lý hơn.

Rủi ro

  1. Khi thị trường biến động mạnh, có thể có nhiều tín hiệu sai hơn. Các tham số N có thể được điều chỉnh thích hợp.
  2. Không thể xử lý giá tăng vọt. Bạn có thể cân nhắc bổ sung các chỉ số khác để kết hợp.
  3. Các tín hiệu phân tích kỹ thuật và lý thuyết về dòng tiền có thể bị lệch. Nhiều tín hiệu có thể được xem xét.

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

  1. Có thể kiểm tra ảnh hưởng của các tham số N khác nhau đối với kết quả. Thông thường, N có giá trị lớn hơn, có thể lọc ra tiếng ồn quá mức.
  2. Bạn có thể thử nghiệm các giá trị khác nhau của Cintra và Cinter để tìm ra sự kết hợp tham số tốt nhất. Bạn cũng có thể xem xét điều chỉnh động cả hai tham số này.
  3. Có thể cân nhắc kết hợp với các chỉ số khác như MACD để tăng sự ổn định của chiến lược.
  4. Có thể thiết lập các cơ chế ngăn chặn để kiểm soát tổn thất đơn lẻ.

Tóm tắt

Chiến lược này là một chiến lược theo dõi xu hướng có hiệu quả tốt hơn khi kết hợp đúng cách với các chiến lược khác. Điều quan trọng là tìm ra các tham số tốt nhất và thiết lập các biện pháp kiểm soát gió tốt. Nếu sau này có thể tiếp tục tối ưu hóa, nó sẽ trở thành một chiến lược theo dõi xu hướng rất mạnh mẽ.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/08/2017
// This is another version of FVE indicator that we have posted earlier 
// in this forum.
// This version has an important enhancement to the previous one that`s 
// especially useful with intraday minute charts.
// Due to the volatility had not been taken into account to avoid the extra 
// complication in the formula, the previous formula has some drawbacks:
// The main drawback is that the constant cutoff coefficient will overestimate 
// price changes in minute charts and underestimate corresponding changes in 
// weekly or monthly charts.
// And now the indicator uses adaptive cutoff coefficient which will adjust to 
// all time frames automatically.
//
// 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="Volatility Finite Volume Elements", shorttitle="FVI")
Samples = input(22, minval=1)
Perma = input(40, minval=1)
Cintra = input(0.1, step=0.1)
Cinter = input(0.1, step=0.1)
reverse = input(false, title="Trade reverse")
xhl2 = hl2
xhlc3 = hlc3
xClose = close
xIntra = log(high) - log(low)
xInter = log(xhlc3) - log(xhlc3[1])
xStDevIntra = stdev(sma(xIntra, Samples) , Samples)
xStDevInter = stdev(sma(xInter, Samples) , Samples)
xVolume = volume
TP = xhlc3
TP1 = xhlc3[1]
Intra = xIntra
Vintra = xStDevIntra
Inter = xInter
Vinter = xStDevInter
CutOff = Cintra * Vintra + Cinter * Vinter
MF = xClose - xhl2 + TP - TP1
FveFactor = iff(MF > CutOff * xClose, 1, 
             iff(MF < -1 * CutOff * xClose, -1,  0))
xVolumePlusMinus = xVolume * FveFactor
Fvesum = sum(xVolumePlusMinus, Samples)
VolSum = sum(xVolume, Samples)
xFVE = (Fvesum / VolSum) * 100
xEMAFVE = ema(xFVE, Perma)
pos = iff(xFVE > xEMAFVE, 1,
	   iff(xFVE < xEMAFVE, -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(xFVE, color=green, title="FVI")
plot(xEMAFVE, color=blue, title="FVI EMA")