Chiến lược kênh nắm bắt động lực

Tác giả:ChaoZhang, Ngày: 2023-12-20 15:46:40
Tags:

img

Tổng quan

Chiến lược kênh nắm bắt đà là một biến thể của chiến lược giao dịch kênh Donchian. Nó bao gồm một dải cao nhất, dải thấp nhất và một đường cơ sở trung bình các dải cao nhất và thấp nhất. Chiến lược này hoạt động rất tốt trên các công cụ xu hướng trên các khung thời gian hàng tuần và hàng ngày. Đây là việc thực hiện được sử dụng trong ứng dụng QuantCT.

Bạn có thể đặt chế độ hoạt động vào Long/Short hoặc Long-only.

Bạn cũng có thể đặt một stop-loss cố định hoặc bỏ qua nó để chiến lược hoạt động chỉ dựa trên tín hiệu vào và ra.

Chiến lược logic

Định hướng xu hướng và sự đảo ngược tiềm năng được đánh giá bằng cách giá vượt qua các dải trên và dưới của kênh.

Chiến lược này là một biến thể trên kênh Donchian. Nó bao gồm một băng tần cao nhất, một băng tần thấp nhất và một đường cơ sở trung bình các băng tần cao nhất và thấp nhất.

  1. Tính toán cao nhất cao nhất và thấp nhất thấp trong một khoảng thời gian nhất định như các dải trên và dưới của kênh
  2. Tính toán trung bình của các dải trên và dưới như đường cơ bản
  3. Đi dài khi giá phá vỡ trên dải trên
  4. Đóng vị trí dài khi giá phá vỡ dưới đường cơ sở
  5. Đi ngắn khi giá phá vỡ dưới dải dưới (nếu cho phép bán ngắn)
  6. Đóng vị trí ngắn khi giá phục hồi đường cơ sở

Ưu điểm của chiến lược này là nó có thể nắm bắt hiệu quả đà tăng của xu hướng giá. Bằng cách chờ giá phá vỡ các dải trên / dưới để xác định sự khởi đầu thực sự của xu hướng, các tổn thất không cần thiết từ giả mạo có thể được tránh.

Phân tích lợi thế

  1. Nhận được động lực xu hướng giá cho tăng trưởng lợi nhuận
  2. Tránh mất mát không cần thiết từ bị mắc kẹt bởi các vụ thoát hiểm giả
  3. Điều chỉnh tham số linh hoạt làm cho nó phù hợp với các sản phẩm khác nhau
  4. Có thể chọn chỉ bán dài hoặc giao dịch hoàn toàn để phù hợp với nhu cầu khác nhau
  5. Cơ chế dừng lỗ tích hợp kiểm soát hiệu quả mỗi lỗ giao dịch

Phân tích rủi ro

  1. Trong khi nắm bắt xu hướng, thất bại breakouts cũng khuếch đại tổn thất
  2. Đặt stop-loss quá rộng có thể dẫn đến tăng lỗ trên mỗi giao dịch
  3. Cài đặt tham số không chính xác có thể dẫn đến giao dịch quá mức và tăng chi phí giao dịch
  4. Sự phán đoán tín hiệu đột phá có một chút chậm trễ, có thể bỏ lỡ các điểm vào tốt nhất

Giải pháp:

  1. Chọn tỷ lệ dừng lỗ một cách cẩn thận để kiểm soát mất mát nhưng cho xu hướng đủ không gian
  2. Tăng giá trị thời gian tham số để giảm tần suất giao dịch
  3. Kết hợp các chỉ số khác để đánh giá độ tin cậy tín hiệu, chọn thời gian nhập tốt hơn

Hướng dẫn tối ưu hóa

  1. Bao gồm các chỉ số khác để xác định thời gian nhập cảnh
  2. Điều chỉnh động vị trí dừng lỗ
  3. Tối ưu hóa các thiết lập tham số dựa trên các đặc điểm của thiết bị
  4. Kết hợp máy học để đánh giá tỷ lệ thành công thoát
  5. Thêm vị trí kích thước logic

Kết luận

Chiến lược Momentum Capture Channel cung cấp cơ hội lợi nhuận đáng kể bằng cách nắm bắt xu hướng giá. Đồng thời, nó cũng có một số rủi ro cần được kiểm soát bằng cách điều chỉnh các tham số đúng cách. Bằng cách tối ưu hóa liên tục lựa chọn thời gian nhập cảnh và logic dừng lỗ, chiến lược này có thể trở thành một hệ thống theo xu hướng tuyệt vời. Quy tắc giao dịch đơn giản và đánh giá tín hiệu rõ ràng làm cho nó dễ hiểu và thực hiện, rất phù hợp với các nhà giao dịch mới bắt đầu.


/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
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/
// © QuantCT

//@version=4
strategy("Donchian Channel Strategy Idea",
         shorttitle="Donchian", 
         overlay=true,
         pyramiding=0,     
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         initial_capital=1000,           
         commission_type=strategy.commission.percent, 
         commission_value=0.075)

// ____ Inputs

high_period = input(title="High Period", defval=10) 
low_period = input(title="Low Period", defval=10)
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)

// ____ Logic

highest_high = highest(high, high_period)
lowest_low = lowest(low, low_period)
base_line = (highest_high + lowest_low) / 2
    
enter_long = (close > highest_high[1])
exit_long = (close < base_line)
enter_short = (close < lowest_low[1])
exit_short = (close > base_line)

strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long) 
if (not long_only)
    strategy.entry("Short", strategy.short, when=enter_short)
    strategy.close("Short", when=exit_short) 
   
// ____ SL

sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
    strategy.exit(id="SL", from_entry="Long", stop=sl_long)
    strategy.exit(id="SL", from_entry="Short", stop=sl_short)
    
// ____ Plots

colors = 
 strategy.position_size > 0 ? #27D600 :
 strategy.position_size < 0 ? #E30202 :
 color.orange

highest_high_plot = plot(highest_high, color=colors)
lowest_low_plot = plot(lowest_low, color=colors)
plot(base_line, color=color.silver)
fill(highest_high_plot, lowest_low_plot, color=colors, transp=90)








Thêm nữa