Chiến lược xu hướng giá khối lượng tăng tốc động lượng mở rộng


Ngày tạo: 2024-01-18 16:32:28 sửa đổi lần cuối: 2024-01-18 16:32:28
sao chép: 2 Số nhấp chuột: 556
1
tập trung vào
1617
Người theo dõi

Chiến lược xu hướng giá khối lượng tăng tốc động lượng mở rộng

Tổng quan

Chiến lược tăng tốc động lực mở rộng xu hướng giá (Extended Price Volume Trend, EPVT) là một chiến lược kết hợp các chỉ số kỹ thuật. Nó kết hợp các chỉ số tăng động lực với các chỉ số phụ trợ khác để xác định điểm đảo ngược xu hướng tiềm năng và thời gian chuyển động.

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

Chỉ số cốt lõi của chiến lược này là xu hướng giá mở rộng (EPVT). Cách tính toán của nó là: khối lượng giao dịch tích lũy * giá tăng giảm. Sau đó tính các giá trị tối đa và tối thiểu của EPVT trong một khoảng thời gian nhất định, để có được vùng chuẩn. Đường cong chỉ số EPVT là đường cong chênh lệch của EPVT với vùng chuẩn.

Khi đường cong chỉ số EPVT đi lên trên trục 0 thì có dấu hiệu tăng áp lực mua và có dấu hiệu làm nhiều. Ngược lại, khi EPVT đi xuống trục 0 thì có dấu hiệu làm trống.

Để cải thiện chất lượng tín hiệu, chiến lược cũng hỗ trợ sử dụng trung bình di chuyển đơn giản để xác nhận độ tin cậy của sự thay đổi xu hướng.

Phân tích lợi thế

Chiến lược này kết hợp các chỉ số ba chiều của xu hướng, động lực và khối lượng giao dịch, có thể đánh giá toàn diện hơn về sự sẵn sàng mua và bán của thị trường. Sử dụng chỉ số xu hướng giá mở rộng, có tác dụng xác định tốt về tình trạng quá tải đột ngột trong thời gian ngắn, có thể nắm bắt được điểm biến đổi của thị trường.

Cài đặt ba vị trí ngưng ngưng và có thể chọn tỷ lệ ngưng khác nhau tùy theo sở thích rủi ro của mình.

Phân tích rủi ro

Chiến lược này phụ thuộc nhiều hơn vào các đặc điểm hình dạng của đường cong chỉ số, và sẽ phát ra tín hiệu sai khi chuyển động không điển hình. Ngoài ra, các tình huống như đảo ngược ba thanh cũng có thể dẫn đến việc mở vị trí đảo ngược không cần thiết.

Các tham số có thể được điều chỉnh thích hợp, hoặc thêm các chỉ số khác để tối ưu hóa. Chiến lược dừng lỗ cũng có thể làm giảm tổn thất đơn lẻ.

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

  1. Tối ưu hóa tham số. Ví dụ như điều chỉnh tham số chu kỳ EPVT, tìm kiếm sự kết hợp tham số tốt nhất.

  2. Thêm điều kiện lọc xu hướng. Ví dụ, dựa trên tín hiệu EPVT, đánh giá hướng của kênh giá hoặc đường trung bình.

  3. Tối ưu hóa chiến lược dừng lỗ. Ví dụ: thiết lập dừng giá trị cố định hoặc dừng ATR.

Tóm tắt

Động lực tăng tốc mở rộng chiến lược xu hướng giá, khai thác sự thay đổi trong xu hướng mua và bán thị trường thông qua chỉ số EPVT, bằng cách đó nắm bắt các điểm thay đổi xu hướng tiềm năng. Thiết lập ba vòng dừng với tỷ lệ khác nhau, có thể đáp ứng các sở thích rủi ro khác nhau của nhà đầu tư. Chiến lược này đáng để thử nghiệm và tối ưu hóa hơn nữa, có thể trở thành một công cụ hiệu quả để xác định chuyển động ngắn hạn của thị trường.

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

//@version=5
strategy(title="Extended Price Volume Trend", overlay=true )//@version=5
var cumVol = 0.
cumVol += nz(volume)
if barstate.islast and cumVol == 0
    runtime.error("No volume is provided by the data vendor.")
src = close
lenght = input(200,"Trend Lenght")   
vt = ta.cum(ta.change(src)/src[1]*volume)
upx = ta.highest(vt,lenght)
downx = ta.lowest(vt,lenght)
basex = (upx +downx)/2
VTX = vt - basex
VTY = ta.valuewhen(ta.cross(VTX,0),close,0)
plot(VTY, color=color.black, title="Extended-PVT")

/////////////////////// STRATEGY ////////////////
/////////////////////// TAKE PROFIT SECTION ////////////////
longConditionx = ta.crossover(close,VTY)
ShortConditionx = ta.crossunder(close,VTY)
tp1 = input.int(10, minval=1,title = "TP-1")
tp2 = input.int(20, minval=1,title = "TP-2")
tp3 = input.int(30, minval=1,title = "TP-3")

ematp = ta.ema(close,2)
TPTAKA1S = VTY*(1-tp1/100)
plot(TPTAKA1S, "SELL-TP1", color=color.red,linewidth = 1)
TPTAKA2S = VTY*(1-tp2/100)
plot(TPTAKA2S, "SELL-TP2", color=color.red,linewidth = 1)
TPTAKA3S = VTY*(1-tp3/100)
plot(TPTAKA3S, "SELL-TP3", color=color.red,linewidth = 1)

TPTAKA1B = VTY*(1+tp1/100)
plot(TPTAKA1B, "BUY-TP1", color=color.red,linewidth = 1)
TPTAKA2B = VTY*(1+tp2/100)
plot(TPTAKA2B, "BUY-TP2", color=color.red,linewidth = 1)
TPTAKA3B = VTY*(1+tp3/100)
plot(TPTAKA3B, "BUY-TP3", color=color.red,linewidth = 1)

BUYTP = ta.crossunder(close,VTY) or ta.crossunder(ematp,TPTAKA1B) or ta.crossunder(ematp,TPTAKA2B) or ta.crossunder(ematp,TPTAKA3B) 
SELLTP = ta.crossover(close,VTY) or ta.crossover(ematp,TPTAKA1S) or ta.crossover(ematp,TPTAKA2S) or ta.crossover(ematp,TPTAKA3S)
/////////////////////// STRATEGY ////////////////
// Check for Long Entry
longCondition = longConditionx==true
if longCondition
    strategy.entry('Long', strategy.long, comment = "ENTER-LONG")

buyclose = ShortConditionx==true or BUYTP==true 
// Exit condition 
strategy.close('Long', when=buyclose or BUYTP==true, comment = "EXIT-LONG")

// Check for Short Entry
ShortCondition = ShortConditionx==true
if ShortCondition
    strategy.entry('Short', strategy.short, comment = "ENTER-SHORT")

sellclose = longConditionx==true or SELLTP ==true
// Exit condition 
strategy.close('Short', when=sellclose or SELLTP==true, comment = "EXIT-SHORT")
///// END OF STRATEGY ///////////