Tài nguyên đang được tải lên... tải...

Hệ thống giao dịch thoát lỗ theo xu hướng với bộ lọc SMA

Tác giả:ChaoZhang, Ngày: 2024-11-29 15:07:43
Tags:GAPSMAMA

img

Tổng quan

Đây là một hệ thống giao dịch theo xu hướng dựa trên khoảng cách giá và lọc trung bình động. Chiến lược nắm bắt các cơ hội xu hướng bằng cách xác định các khoảng cách giá có ý nghĩa thống kê kết hợp với bộ lọc xu hướng SMA, thực hiện giao dịch khi xu hướng thị trường rõ ràng xuất hiện. Khái niệm cốt lõi là tận dụng các cơ hội tiếp tục xu hướng được tạo ra bởi sự mất cân bằng cung-nhu cầu biểu hiện dưới dạng khoảng cách giá.

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

Chiến lược hoạt động trên một số yếu tố chính:

  1. Xác định khoảng cách - Hệ thống xác định khoảng cách bằng cách tính toán tỷ lệ phần trăm khác nhau giữa giá mở và giá đóng trước đó, với ngưỡng khoảng cách tối thiểu để lọc các biến động nhỏ.
  2. Chọn hướng - Cung cấp nhiều chế độ giao dịch khoảng cách (khoảng cách dài, ngắn, giảm, v.v.), cho phép người dùng thích nghi với điều kiện thị trường.
  3. Bộ lọc xu hướng SMA - Sử dụng Mức trung bình di chuyển đơn giản để xác định xu hướng tổng thể, chỉ nhập vị trí khi giá phù hợp với hướng xu hướng.
  4. Quản lý vị trí - Sử dụng thời gian giữ trước để quản lý vị trí và kiểm soát rủi ro.

Ưu điểm chiến lược

  1. Các tín hiệu rõ ràng - Các tín hiệu khoảng cách có thể nhìn thấy rõ ràng và dễ dàng xác định và thực hiện.
  2. Rủi ro được kiểm soát - Các ngưỡng khoảng cách tối thiểu và thời gian giữ cố định quản lý rủi ro hiệu quả.
  3. Độ linh hoạt cao - Các hướng giao dịch khoảng cách khác nhau có thể được chọn dựa trên điều kiện thị trường.
  4. Xác nhận xu hướng - Bộ lọc SMA cung cấp xác nhận xu hướng bổ sung, cải thiện tỷ lệ thành công.
  5. Tự động hóa cao - Logic chiến lược rõ ràng tạo điều kiện cho việc thực hiện giao dịch tự động.

Rủi ro chiến lược

  1. Nguy cơ bứt phá sai - Những khoảng trống có thể nhanh chóng lấp đầy, dẫn đến các tín hiệu sai.
  2. Rủi ro trượt - Các giao dịch mở lỗ có thể phải đối mặt với trượt đáng kể.
  3. Rủi ro đảo ngược xu hướng - Thời gian giữ cố định có thể bỏ qua sự đảo ngược xu hướng.
  4. Sự phụ thuộc vào môi trường thị trường - Ít tín hiệu hiệu quả trong thị trường biến động thấp.

Hướng dẫn tối ưu hóa chiến lược

  1. Thời gian giữ động - Điều chỉnh thời gian giữ dựa trên biến động thị trường.
  2. Nhiều xác nhận - Bao gồm các chỉ số khối lượng và biến động để xác nhận tín hiệu.
  3. Stop Loss Optimization - Thêm các điểm dừng hoặc dừng dựa trên biến động.
  4. Đánh giá tín hiệu - Thiết kế kích thước vị trí theo tầng dựa trên kích thước khoảng cách.
  5. Chọn thị trường - Phát triển các cơ chế xác định điều kiện thị trường cho giao dịch chọn lọc.

Tóm lại

Chiến lược này kết hợp các khoảng cách giá và lọc xu hướng trung bình động để tạo ra một hệ thống giao dịch với logic rõ ràng và rủi ro được kiểm soát. Thông qua các thiết lập tham số thích hợp và tối ưu hóa liên tục, chiến lược có thể đạt được lợi nhuận ổn định trong các thị trường xu hướng. Các nhà giao dịch được khuyên nên tiến hành kiểm tra lịch sử kỹ lưỡng trước khi thực hiện trực tiếp và tối ưu hóa dựa trên các đặc điểm thị trường cụ thể.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Simplified Gap Strategy with SMA Filter", overlay=true)

// Input fields for user control
long_gap_threshold = input.float(0.1, title="Gap Threshold (%)", minval=0.01, step=0.01)  // Minimum percentage for gaps
hold_duration = input.int(10, title="Hold Duration (bars)", minval=1)  // Duration to hold the position
gap_trade_option = input.string("Long Up Gap", title="Select Trade Option", options=["Long Up Gap", "Short Down Gap", "Short Up Gap", "Long Down Gap"])  // Combined option
use_sma_filter = input.bool(false, title="Use SMA Filter")  // Checkbox to activate SMA filter
sma_length = input.int(200, title="SMA Length", minval=1)  // Length of the SMA

// RGB color definitions for background
color_up_gap = color.new(color.green, 50)    // Green background for up gaps
color_down_gap = color.new(color.red, 50)    // Red background for down gaps

// Gap size calculation in percentage terms
gap_size = (open - close[1]) / close[1] * 100  // Gap size in percentage

// Calculate gaps based on threshold input
up_gap = open > close[1] and gap_size >= long_gap_threshold  // Long gap condition
down_gap = open < close[1] and math.abs(gap_size) >= long_gap_threshold  // Short gap condition

// Calculate the SMA
sma_value = ta.sma(close, sma_length)

// Define the trading logic based on selected option and SMA filter
if (gap_trade_option == "Long Up Gap" and up_gap and (not use_sma_filter or close > sma_value))
    strategy.entry("Long", strategy.long)
if (gap_trade_option == "Short Down Gap" and down_gap and (not use_sma_filter or close < sma_value))
    strategy.entry("Short", strategy.short)
if (gap_trade_option == "Short Up Gap" and up_gap and (not use_sma_filter or close < sma_value))
    strategy.entry("Short", strategy.short)
if (gap_trade_option == "Long Down Gap" and down_gap and (not use_sma_filter or close > sma_value))
    strategy.entry("Long", strategy.long)

// Exit position after the hold duration
if (strategy.opentrades > 0)
    if (bar_index - strategy.opentrades.entry_bar_index(0) >= hold_duration)
        strategy.close("Long")
        strategy.close("Short")

// Background coloring to highlight gaps on the chart
bgcolor((gap_trade_option == "Long Up Gap" and up_gap) ? color_up_gap : na, title="Up Gap Background")
bgcolor((gap_trade_option == "Short Down Gap" and down_gap) ? color_down_gap : na, title="Down Gap Background")
bgcolor((gap_trade_option == "Short Up Gap" and up_gap) ? color_down_gap : na, title="Short Up Gap Background")
bgcolor((gap_trade_option == "Long Down Gap" and down_gap) ? color_up_gap : na, title="Long Down Gap Background")

// Plot the SMA for visualization
plot(use_sma_filter ? sma_value : na, color=color.white, title="SMA", linewidth=1)


Có liên quan

Thêm nữa