Chiến lược theo dõi xu hướng giao cắt trung bình động mục tiêu nhiều

EMA SL TP
Ngày tạo: 2025-02-08 15:22:15 sửa đổi lần cuối: 2025-02-08 15:22:15
sao chép: 6 Số nhấp chuột: 391
1
tập trung vào
1617
Người theo dõi

Chiến lược theo dõi xu hướng giao cắt trung bình động mục tiêu nhiều

Tổng quan

Chiến lược này là một hệ thống theo dõi xu hướng dựa trên các tín hiệu chéo đường trung bình (EMA). Nó sử dụng 34 chu kỳ EMA làm chỉ số xu hướng chính, kết hợp với cơ chế kiểm soát lợi nhuận và rủi ro, để thực hiện giao dịch hoàn toàn tự động.

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

Chiến lược này hoạt động dựa trên các nguyên tắc cốt lõi sau:

  1. Sử dụng 34 chu kỳ EMA như một chỉ số định hướng
  2. Khi giá vượt qua EMA lên, hãy đặt nhiều hơn ở vị trí giá EMA
  3. Sử dụng mục tiêu lợi nhuận ba lần ((5%, 10%, 15%) để thực hiện ngăn chặn lô hàng
  4. Thiết lập Stop Loss 7% để kiểm soát rủi ro
  5. Giữ 10% vị thế như là một vị thế dài hạn để nắm bắt xu hướng lớn
  6. Tránh giao dịch quá mức với khoảng cách giao dịch tối thiểu 8 giờ
  7. Hỗ trợ cả hai cách: khối lượng giao dịch cố định và kích thước vị trí động

Lợi thế chiến lược

  1. Thiết kế đa mục tiêu lợi nhuận, hoạt động tốt trong các môi trường thị trường khác nhau
  2. Tận hưởng lợi ích của xu hướng lớn bằng cách giữ một số vị trí như một vị trí dài hạn
  3. Hỗ trợ giao dịch đòn bẩy, có thể điều chỉnh tùy theo sở thích rủi ro
  4. Có cơ chế để ngăn chặn giao dịch quá mức
  5. Quản lý vị trí linh hoạt, có thể chọn vị trí cố định hoặc động
  6. Hoàn toàn tự động, không cần sự can thiệp của con người
  7. Các tham số có thể điều chỉnh để phù hợp với phong cách giao dịch khác nhau

Rủi ro chiến lược

  1. EMA là một chỉ số chậm trễ có thể gây ra sự chậm trễ trong thời gian nhập cảnh
  2. Nhiều lệnh dừng có thể xảy ra trong thị trường chấn động
  3. Sử dụng đòn bẩy có thể làm tăng tổn thất
  4. Lãi suất dừng cố định có thể không đủ linh hoạt trong thị trường biến động cao
  5. Mục tiêu lợi nhuận đa dạng có thể dẫn đến việc rút ra khỏi xu hướng tăng trưởng quá sớm Biện pháp đối phó:
  • Khuyến nghị sử dụng trong thị trường có xu hướng rõ ràng
  • Tỷ lệ lỗ hổng điều chỉnh theo biến động thị trường
  • Cẩn thận sử dụng đòn bẩy
  • Thường xuyên đo lại các tham số tối ưu hóa

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

  1. Tăng bộ lọc cường độ xu hướng, nâng cao chất lượng nhập cảnh
  2. Tham gia các cơ chế dừng động, như ATR Stop
  3. Thêm chỉ số xác nhận giao dịch
  4. Phát triển cơ chế mục tiêu lợi nhuận thích ứng
  5. Thêm mô-đun đánh giá thị trường
  6. Cơ chế điều chỉnh động để tối ưu hóa khoảng thời gian giao dịch Những tối ưu hóa này có thể cải thiện sự ổn định và lợi nhuận của chiến lược, giảm tác động của tín hiệu giả.

Tóm tắt

Đây là một chiến lược theo dõi xu hướng được thiết kế hợp lý, logic và rõ ràng. Bằng cách nắm bắt xu hướng, sử dụng mục tiêu lợi nhuận nhiều lần để quản lý rủi ro và giữ một số vị trí để nắm bắt xu hướng lớn. Chiến lược có khả năng điều chỉnh mạnh mẽ, phù hợp với các thương nhân có sở thích rủi ro khác nhau. Mặc dù có một số rủi ro vốn có, nhưng có thể đạt được lợi nhuận ổn định bằng cách đặt tham số và quản lý rủi ro hợp lý.

Mã nguồn chiến lược
/*backtest
start: 2024-02-08 00:00:00
end: 2025-02-06 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA25 Long Strategy", overlay=true)

// Inputs
initial_capital = input.float(50000, title="Initial Capital ($)")
leverage = input.int(1, title="Leverage")
mode = input.string("Fixed Volume", title="Position Sizing Mode", options=["Fixed Volume", "Current Balance"])
ema_length = input.int(34, title="EMA Length")
stop_loss_percent = input.float(7, title="Stop Loss (%)", step=0.1) / 100
take_profit_1_percent = input.float(5, title="Take Profit 1 (%)", step=0.1) / 100
take_profit_2_percent = input.float(10, title="Take Profit 2 (%)", step=0.1) / 100
take_profit_3_percent = input.float(15, title="Take Profit 3 (%)", step=0.1) / 100
position_size_percent = input.float(100, title="Position Size (%)", step=1) / 100
long_term_hold_percent = input.float(10, title="Long Term Hold (%)", step=1) / 100
trade_delay = input.int(8, title="Trade Delay (hours)", minval=1) * 60  // Convert hours to minutes

// Calculate EMA
ema = ta.ema(close, ema_length)
// Plot EMA
plot(ema, title="EMA25", color=color.blue)

// Determine if a new trade can be placed
var float last_trade_time = na
can_trade = na(last_trade_time) or (time - last_trade_time) > trade_delay * 60 * 1000

// Determine position size based on selected mode
var float position_size = na
if (mode == "Fixed Volume")
    position_size := initial_capital * leverage * position_size_percent / close
else
    position_size := strategy.equity * leverage * position_size_percent / close

// Entry Condition
var float entry_price = na
price_crossed_ema_up = ta.crossover(close, ema)
price_crossed_ema_down = ta.crossunder(close, ema)

if ((price_crossed_ema_up or price_crossed_ema_down) and can_trade)
    entry_price := ema
    strategy.entry("Long", strategy.long, qty=position_size, limit=entry_price)
    last_trade_time := time
    label.new(bar_index, entry_price, text="Entry", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)

// Stop Loss
strategy.exit("Stop Loss", from_entry="Long", stop=entry_price * (1 - stop_loss_percent))

// Take Profits
take_profit_1_price = entry_price * (1 + take_profit_1_percent)
take_profit_2_price = entry_price * (1 + take_profit_2_percent)
take_profit_3_price = entry_price * (1 + take_profit_3_percent)

strategy.exit("Take Profit 1", from_entry="Long", limit=take_profit_1_price, qty=position_size / 3)
strategy.exit("Take Profit 2", from_entry="Long", limit=take_profit_2_price, qty=position_size / 3)
strategy.exit("Take Profit 3", from_entry="Long", limit=take_profit_3_price, qty=position_size / 3)

// Long Term Hold (10% of position)
hold_qty = position_size * long_term_hold_percent
if (strategy.position_size > hold_qty)
    strategy.close("Long Term Hold")