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


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

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

Tổng quan

Chiến lược kênh thu động là một biến thể dựa trên kênh Donchian. Nó bao gồm các vùng giá cao nhất, vùng giá thấp nhất và đường cơ sở làm trung bình giữa vùng giá cao nhất và vùng giá thấp nhất. Chiến lược này rất hữu ích trong khung thời gian đường tròn và đường nắng của các giống có xu hướng. Đây là thực hiện được sử dụng trong ứng dụng QuantCT.

Bạn có thể thiết lập chế độ điều hành là nhiều không hoặc chỉ nhiều đầu.

Bạn cũng có thể thiết lập dừng cố định hoặc bỏ qua nó để chiến lược này chỉ hoạt động dựa trên tín hiệu vào và ra khỏi thị trường.

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

Lập luận cốt lõi của chiến lược này dựa trên chỉ số kênh Donchian. Cổng Donchian bao gồm giá cao nhất, giá thấp nhất và giá đóng cửa trung bình trong 20 ngày.

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

  1. Tính toán giá cao nhất và giá thấp nhất trong một chu kỳ nhất định như là một kênh lên và xuống đường ray
  2. Tính trung bình trên và dưới đường ray làm cơ sở
  3. Làm nhiều hơn khi giá tăng lên
  4. Đặt lệnh khi giá xuống dưới đường cơ sở
  5. Khi giá giảm xuống đường, hãy tháo lỗ (nếu được phép)
  6. Khi giá trở lại mức cơ sở, các nhà đầu tư có thể sẽ không có bất kỳ khoản đầu tư nào.

Lợi thế của chiến lược này là có thể nắm bắt được động lực của xu hướng giá một cách hiệu quả. Bằng cách chờ đợi giá phá vỡ đường mòn để đánh giá xu hướng thực sự bắt đầu, bạn có thể tránh thiệt hại không cần thiết do bị nói chuyện.

Phân tích lợi thế

  1. Dùng động lực của xu hướng giá để tăng lợi nhuận
  2. Giảm thiệt hại không cần thiết
  3. Có thể điều chỉnh các tham số linh hoạt cho các giống khác nhau
  4. Có thể chọn chỉ làm nhiều hoặc toàn bộ kho để đáp ứng nhu cầu khác nhau
  5. Hệ thống khống chế tích hợp có thể kiểm soát hiệu quả tổn thất đơn lẻ

Phân tích rủi ro

  1. Trong khi nắm bắt xu hướng, nó cũng làm tăng tổn thất của những người thất bại.
  2. Cài đặt dừng lỗ quá lỏng lẻo, tổn thất đơn lẻ có thể mở rộng
  3. Thiết lập tham số không đúng có thể dẫn đến giao dịch thường xuyên và tăng chi phí giao dịch
  4. Các tín hiệu đột phá cho thấy có sự chậm trễ và có thể đã bỏ lỡ các điểm xuất phát tốt nhất.

Giải pháp:

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

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

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

Tóm tắt

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

Mã nguồn chiến lược
/*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)