
Chiến lược này sử dụng phương pháp theo dõi xu hướng, bằng cách tính toán sự thay đổi khối lượng giao dịch, để xác định xu hướng của thị trường, thiết lập vị trí tại giai đoạn bắt đầu của xu hướng và dừng vị trí khi xu hướng kết thúc.
Có thể xem xét thêm hệ thống đường trung bình, chỉ số tỷ lệ dao động để tối ưu hóa đầu vào và dừng lỗ; kết hợp với nhiều nguồn dữ liệu phân tích quan hệ giá trị, ngăn chặn tín hiệu sai lệch; thêm các chỉ số kỹ thuật thích hợp để nâng cao phản ứng với điều chỉnh ngắn hạn.
Để tối ưu hóa điều kiện nhập học, bạn có thể xem xét thêm các phán quyết như đường trung bình, điểm cực đoan, để xác định nhập học sau khi xu hướng bắt đầu.
Tối ưu hóa phương thức dừng lỗ, bạn có thể thiết lập dừng di chuyển, dừng mức độ, v.v., để dừng lỗ gần hơn giá, theo dõi xu hướng dừng.
Thêm vào đó là các phân khúc định hướng, như ADX, có thể tránh được các giao dịch sai lầm của thị trường ngang và biến động.
Thiết lập tham số tối ưu hóa, có thể tìm kiếm các tổ hợp tham số tối ưu bằng cách truy xuất dữ liệu dài hơn.
Chiến lược sẽ mở rộng đến nhiều giống hơn, tìm kiếm những giống có chất lượng tốt hơn và có khối lượng giao dịch tích cực hơn.
Xem xét thêm mô hình học máy, sử dụng nhiều dữ liệu hơn để đánh giá quan hệ giá trị và chất lượng tín hiệu.
Chiến lược này có ý tưởng tổng thể rõ ràng, các chỉ số cốt lõi dễ hiểu, xác định hướng xu hướng một cách đáng tin cậy. Ưu điểm của chiến lược là nhấn mạnh sự thay đổi khối lượng giao dịch, phù hợp để theo dõi xu hướng đường dài trung bình, nhưng cần phòng ngừa tín hiệu sai lệch.
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Strategy for Volume Flow Indicator with alerts and markers on the chart", overlay=true)
// This indicator has been copied form Lazy Bear's code
lengthVFI = 130
coefVFI = 0.2
vcoefVFI = 2.5
signalLength= 5
smoothVFI=true
ma(x,y) => smoothVFI ? sma(x,y) : x
typical=hlc3
inter = log( typical ) - log( typical[1] )
vinter = stdev(inter, 30 )
cutoff = coefVFI * vinter * close
vave = sma( volume, lengthVFI )[1]
vmax = vave * vcoefVFI
vc = iff(volume < vmax, volume, vmax)
mf = typical - typical[1]
vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) )
vfi = ma(sum( vcp , lengthVFI )/vave, 3)
vfima=ema( vfi, signalLength )
dVFI=vfi-vfima
bullishVFI = dVFI > 0 and dVFI[1] <=0
bearishVFI = dVFI < 0 and dVFI[1] >=0
longCondition = dVFI > 0 and dVFI[1] <=0
shortCondition = dVFI < 0 and dVFI[1] >=0
plotshape(bullishVFI, color=color.green, style=shape.labelup, textcolor=#000000, text="VFI", location=location.belowbar, transp=0)
plotshape(bearishVFI, color=color.red, style=shape.labeldown, textcolor=#ffffff, text="VFI", location=location.abovebar, transp=0)
alertcondition(bullishVFI, title='Bullish - Volume Flow Indicator', message='Bullish - Volume Flow Indicator')
alertcondition(bearishVFI, title='Bearish - Volume Flow Indicator', message='Bearish - Volume Flow Indicator')
if(year > 2018)
strategy.entry("Long", strategy.long, when=dVFI > 0 and dVFI[1] <=0)
if(shortCondition)
strategy.close(id="Long")