Chiến lược giao dịch định lượng - mở đầu theo dõi xu hướng định lượng


Ngày tạo: 2024-01-12 14:46:04 sửa đổi lần cuối: 2024-01-12 14:46:04
sao chép: 0 Số nhấp chuột: 659
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch định lượng - mở đầu theo dõi xu hướng định lượng

Tổng quan

Chiến lược này thực hiện các hoạt động mở vị trí tự động bằng cách theo dõi xu hướng thay đổi giá cả và kết hợp với sự thay đổi khối lượng giao dịch. Chiến lược sử dụng hệ thống đồng tuyến để xác định xu hướng thay đổi giá cả, sau đó kết hợp với sự thay đổi đồng chiều của khối lượng giao dịch như tín hiệu xác nhận mở vị trí.

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

Chiến lược giao dịch định lượng - logic cốt lõi của việc theo dõi xu hướng định lượng mở sàn dựa trên mối quan hệ phù hợp giữa xu hướng thay đổi giá và thay đổi khối lượng giao dịch. Cụ thể, chiến lược sử dụng giá đóng cửa trừ đi chênh lệch giá mở cửa làm số lượng thay đổi giá, và nhân với khối lượng giao dịch trong ngày để có được đường cong giá và số lượng.

Phân tích lợi thế

Chiến lược này kết hợp xu hướng thay đổi giá cả và biến đổi khối lượng giao dịch, có thể lọc một số xu hướng giả không phù hợp với giá trị, giảm rủi ro mở vị trí và tăng độ chính xác mở vị trí. Hiệu quả theo dõi định lượng tốt hơn so với chỉ số kỹ thuật giá trị thuần túy. Chiến lược này cũng sử dụng hệ thống đường thẳng để thiết lập chuẩn động, có thể tự động thích ứng với sự thay đổi của môi trường thị trường, linh hoạt hơn.

Phân tích rủi ro

Chiến lược này chủ yếu phụ thuộc vào sự hợp lý của xu hướng định lượng về quan hệ giá và số lượng, nếu giá và số lượng không phù hợp, sẽ dẫn đến nguy cơ sai lầm. Ngoài ra, việc đặt các tham số đường trung bình không đúng cũng sẽ ảnh hưởng đến hiệu quả của chiến lược. Cần thử nghiệm tối ưu hóa cho các giống và môi trường thị trường khác nhau.

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

Có thể xem xét thêm các chiến lược tối ưu hóa bộ lọc, chẳng hạn như chỉ số biến động để xác định chất lượng xu hướng, giới thiệu chỉ số cảm xúc để đánh giá tình trạng tâm lý của thị trường. Ngoài ra, bạn cũng có thể thử nghiệm sự thay đổi hiệu quả của chiến lược dưới các hệ thống thống nhất định khác nhau để tìm kiếm các tham số tốt nhất. Thêm các quy tắc đánh giá đào tạo mô hình học máy cũng là hướng tối ưu hóa tiếp theo.

Tóm tắt

Chiến lược giao dịch định lượng này dựa trên việc theo dõi mối quan hệ giữa giá và khối lượng giao dịch để tự động mở vị trí, có thể lọc hiệu quả các tín hiệu không hiệu quả bằng cách tính toán định lượng xu hướng giá và nhiệt độ giao dịch, tăng tỷ lệ thành công của việc mở vị trí.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © avsr90

//@version=5
strategy(title="Lp-Op vol",shorttitle="LPV", max_bars_back = 5000,overlay=false,format=format.volume )

//Resolutions

Resn=input.timeframe(defval="",title="resolution")
Resn1=input.timeframe(defval="D",title="resolution")

//Intraday Open and Last Price and Last price- Open Price calculations.

Last_Price=math.round_to_mintick(close)
Open_Price = request.security(syminfo.tickerid ,Resn1,close[1],barmerge.gaps_off, barmerge.lookahead_on) 
Op_Cl=math.round_to_mintick(Last_Price-Open_Price)


//length from Intra Day Open Price 
 
Nifnum= ta.change(Open_Price)
Length_Intraday=int(math.max(1, nz(ta.barssince(Nifnum)) + 1))

//Input for Length for Volume 

Length_Vol=input(defval=20, title="L for Vol")

// Last Price- Open price Volume, Average Intraday Last price-Open Price Volume 
//and  Volume Bars  calculations.

Op_Cl_Vol=(Op_Cl*volume)
Avg_Vol_Opcl=ta.sma(Op_Cl_Vol,Length_Intraday)
Vol_Bars=ta.sma(volume,Length_Vol)

//Plots 
plot(Op_Cl_Vol,color=Op_Cl_Vol>0 ? color.green:color.red,title="OPCLV")
plot(Avg_Vol_Opcl, title="Avg Vol", color=color.fuchsia)
plot(Vol_Bars, title="Vol Bars", color=color.yellow)

//Strategy parameters 

startst=timestamp(2015,10,1)

strategy.entry("lo",strategy.long,when= ta.crossover(Op_Cl_Vol,Avg_Vol_Opcl) and ta.crossover(volume,Vol_Bars))
strategy.entry("sh",strategy.short,when=ta.crossunder(Op_Cl_Vol,Avg_Vol_Opcl)and ta.crossunder(volume,Vol_Bars ))