Chiến lược theo dõi kênh Momentum


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

Chiến lược theo dõi kênh Momentum

Tổng quan

Chiến lược này dựa trên chỉ số động lực kênh thiết kế tín hiệu giao dịch, tạo ra tín hiệu mua và bán dựa trên giá phá vỡ kênh lên xuống đường. Chiến lược chỉ giao dịch nhiều đầu, nếu có tín hiệu bán, thì vị trí trống đến vị trí trống.

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

Chiến lược này sử dụng SMA trung bình và ATR thực để xây dựng kênh động lực. Các kênh trên và dưới của kênh là:

Đường đua trên = SMA + ATR * hệ số Đường đua dưới = SMA - ATR * hệ số

Khi giá lên đường, nó tạo ra tín hiệu mua; khi giá xuống đường, nó tạo ra tín hiệu bán.

Vì chỉ làm nhiều đầu, nên nếu có tín hiệu bán, hãy hủy lệnh mở kho trước đó, và đặt hàng vào trạng thái trống.

Chính xác thì, chiến lược này có thể diễn ra như sau:

  1. Xây dựng kênh động lực bằng SMA và ATR
  2. Đặt giá mở kho và đặt hàng khi giá lên đường
  3. Khi giá giảm xuống đường, bạn có thể xóa lệnh trước đó để giữ vị trí trống.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Lập luận chiến lược đơn giản, rõ ràng và dễ hiểu
  2. Chỉ số kênh động lực trực quan, đánh giá chính xác xu hướng thị trường
  3. Chỉ giao dịch với nhiều người, tránh theo dõi rủi ro dừng lỗ
  4. Điều kiện đơn lẻ, thuận lợi cho các mục chính xác

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Thị trường có thể bị ảnh hưởng bởi sự biến động của thị trường.
  2. Không có cơ hội để làm nhiều hơn.
  3. Không có cơ chế rút lui, cần phải có người đưa ra quyết định rút lui.

Phản ứng:

  1. Tối ưu hóa thông số kênh, giảm tín hiệu lỗi
  2. Thêm mô-đun đầu trống, giao dịch hai chiều
  3. Thêm các cơ chế thoát như dừng di động, trailing stop

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

Chính sách này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Các tham số tối ưu hóa, điều chỉnh chu kỳ kênh, hệ số tỷ lệ dao động
  2. Thêm mô-đun đầu rỗng, tạo ra tín hiệu bán ra dựa trên giá
  3. Tham gia vào hệ thống dừng lỗ, kết hợp với dừng lỗ theo dõi ATR
  4. Xem xét thêm các điều kiện lọc để tránh các tín hiệu sai
  5. Kiểm tra hiệu quả của các hợp đồng khác nhau

Tóm tắt

Chiến lược này dựa trên chỉ số kênh động lực, đơn giản và hiệu quả để nắm bắt xu hướng thị trường. Logic của chiến lược rõ ràng và dễ hiểu, tạo ra tín hiệu giao dịch bằng cách phá vỡ kênh giá lên xuống. Mặc dù chỉ làm nhiều đầu và không có cơ chế thoát ra là không đủ, nhưng có thể được cải thiện bằng cách tối ưu hóa tham số, thêm mô-đun đầu trống, thêm cách dừng lỗ.

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

//@version=3
strategy("Keltner Channel Strategy", overlay=true)
source = close

useTrueRange = input(true)
length = input(20, minval=1)
mult = input(1.0)

ma = sma(source, length)
range = useTrueRange ? tr : high - low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult

crossUpper = crossover(source, upper)
crossLower = crossunder(source, lower)

bprice = 0.0
bprice := crossUpper ? high+syminfo.mintick : nz(bprice[1])

sprice = 0.0
sprice := crossLower ? low -syminfo.mintick : nz(sprice[1]) 

crossBcond = false
crossBcond := crossUpper ? true 
 : na(crossBcond[1]) ? false : crossBcond[1]

crossScond = false
crossScond := crossLower ? true 
 : na(crossScond[1]) ? false : crossScond[1]

cancelBcond = crossBcond and (source < ma or high >= bprice )
cancelScond = crossScond and (source > ma or low <= sprice )

if (cancelBcond)
    strategy.cancel("KltChLE")

if (crossUpper)
    strategy.entry("KltChLE", strategy.long, stop=bprice, comment="KltChLE")

if (cancelScond)
    strategy.cancel("KltChSE")

if (crossLower)
    strategy.entry("KltChSE", strategy.short, stop=sprice, comment="KltChSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)