Chiến lược mua tái nhập động


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

Chiến lược mua tái nhập động

Tổng quan

Chiến lược này là một hệ thống giao dịch chỉ mua, tạo ra tín hiệu mua dựa trên đường trung bình di chuyển và chỉ số trung bình hàng hóa chu kỳ ((CCI) hoặc chỉ số định hướng trung bình chu kỳ ((ADX)). Một tín hiệu mua được tạo ra khi đường trung bình di chuyển nhanh xuyên qua đường trung bình di chuyển chậm và CCI chu kỳ và / hoặc ADX chu kỳ đáp ứng các điều kiện cụ thể.

Chiến lược này cũng cho phép nhập lại động, có nghĩa là một vị trí đa đầu mới có thể được mở nếu giá vượt qua ba đường trung bình di chuyển một lần nữa. Tuy nhiên, chiến lược này sẽ xóa vị trí đa đầu nếu giá đóng cửa giảm xuống dưới đường trung bình di chuyển thứ ba.

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

Các kịch bản xác định các điều kiện để tạo ra tín hiệu mua. Nó kiểm tra hai điều kiện để xác định một tín hiệu mua có hiệu lực:

  • Đi qua trung bình di chuyển chậm trên trung bình di chuyển nhanh
  • Người dùng có thể chọn sử dụng bộ lọc: CCI chu kỳ hoặc ADX chu kỳ

Một người đàn ông đã bị thương và bị thương nặng.Nếu không có vị trí đa đầu chưa thanh toán và giá cao hơn ba đường trung bình di chuyển, hãy mở một vị trí đa đầu mới.

Điều kiện rút lui:Chiến lược này sẽ xóa các vị trí nhiều đầu nếu giá đóng cửa giảm xuống dưới đường trung bình di chuyển thứ ba.

Phân tích lợi thế

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

  1. Sử dụng nhiều kỹ thuật để lọc tín hiệu, có thể giảm tín hiệu sai
  2. Cơ chế tái nhập học động có thể nắm bắt được xu hướng tối đa
  3. Làm nhiều hơn, tránh rủi ro thất bại

Phân tích rủi ro

Chiến lược này cũng có những rủi ro sau:

  1. Có một số rủi ro không khí.
  2. Có thể giữ nhiều vị thế quá lâu, cần thiết phải thiết lập lỗ hổng
  3. Thiết lập tham số không đúng có thể dẫn đến giao dịch quá thường xuyên

Giải pháp tương ứng:

  1. Chế độ lọc sóng sử dụng các tham số và chỉ số kỹ thuật tốt hơn
  2. Thiết lập mức dừng hợp lý
  3. Điều chỉnh tham số để đảm bảo tham số ổn định

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

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

  1. Thử nghiệm nhiều công cụ công nghệ hơn để tìm cơ hội mua hàng tốt hơn
  2. Tối ưu hóa các tham số để tìm các tham số kết hợp tốt nhất
  3. Tăng cơ chế ngăn chặn tổn thất, kiểm soát tổn thất đơn lẻ
  4. Tăng quản lý số vị trí, tăng hoặc giảm vị trí tùy theo tình hình thị trường

Tóm tắt

Chiến lược mua lại động này tích hợp nhiều chỉ số kỹ thuật để xác định thời điểm mua và sử dụng thiết kế mua lại động, có thể theo dõi xu hướng trong thời gian thực; đồng thời chỉ cần làm nhiều hơn để tránh rủi ro bổ sung của việc tháo lỗ. Bằng cách tối ưu hóa tham số, thiết lập dừng lỗ và quản lý vị trí, chiến lược này có thể được sử dụng trong giao dịch thực tế, kiểm soát rủi ro và thu được lợi nhuận vượt quá.

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

//@version=5
strategy("Buy Only Strategy with Dynamic Re-Entry and Exit", overlay=true)

// Input Parameters
fast_length = input(20, title="Fast Moving Average Length")
slow_length = input(30, title="Slow Moving Average Length")
third_ma_length = input(100, title="Third Moving Average Length")
cci_period = input(14, title="CCI Period for Weekly CCI")
use_cci = input(true, title="Use CCI for Entry")
use_adx = input(true, title="Use ADX for Entry")
adx_length = input(14, title="ADX Length")
adx_threshold = input(25, title="ADX Threshold")

// Calculate Moving Averages
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)
third_ma = ta.sma(close, third_ma_length)

// Weekly Commodity Channel Index (CCI) with user-defined period
weekly_cci = request.security(syminfo.tickerid, "W", ta.cci(close,  cci_period))

// Weekly Average Directional Index (ADX)
dirmov = hlc3
plus = ta.change(dirmov) > 0 ? ta.change(dirmov) : 0
minus = ta.change(dirmov) < 0 ? -ta.change(dirmov) : 0
trur = ta.rma(ta.tr, adx_length)
plusDI = ta.rma(plus, adx_length) / trur * 100
minusDI = ta.rma(minus, adx_length) / trur * 100
sum = plusDI + minusDI
DX = sum == 0 ? 0 : math.abs(plusDI - minusDI) / sum * 100
ADX = ta.rma(DX, adx_length)

// Entry Conditions (Buy Only and Weekly CCI > 100 and/or Weekly ADX > 25)
cci_condition = use_cci ? (weekly_cci > 100) : false
adx_condition = use_adx ? (ADX > adx_threshold) : false
long_condition = ta.crossover(fast_ma, slow_ma) and (cci_condition or adx_condition)

// Exit Condition and Dynamic Re-Entry
exit_condition = close < third_ma
re_entry_condition = close > fast_ma and close > slow_ma and close > third_ma and weekly_cci > 100

// Entry and Exit Signals
strategy.entry("Long", strategy.long, when=long_condition)
strategy.close("Long", when=exit_condition)

// Dynamic Re-Entry and Exit
if strategy.position_size == 0 and re_entry_condition
    strategy.entry("Long", strategy.long)

if strategy.position_size > 0 and close < third_ma
    strategy.close("Long")

// Plot Weekly CCI and ADX for reference
plot(weekly_cci, title="Weekly CCI", color=color.orange)
plot(ADX, title="Weekly ADX", color=color.blue)