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

Chiến lược giao dịch lệnh giới hạn động đa chỉ số SMA-RSI-MACD

Tác giả:ChaoZhang, Ngày: 2024-12-11 15:15:49
Tags:SMARSIMACDEMA

img

Tổng quan

Chiến lược này là một hệ thống giao dịch chỉ số đa kỹ thuật chủ yếu sử dụng đường chéo EMA, điều kiện bán quá mức RSI và đường chéo vàng MACD để xác nhận giao dịch. Nó sử dụng các lệnh giới hạn năng động để vào và nhiều cơ chế thoát để quản lý rủi ro. Chiến lược sử dụng Đường trung bình chuyển động theo cấp số (EMA) 9 giai đoạn và 21 giai đoạn như các chỉ số xu hướng chính, kết hợp với Chỉ số sức mạnh tương đối (RSI) và Đường trung bình chuyển động (MACD) để lọc các tín hiệu giao dịch.

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

Logic giao dịch cốt lõi bao gồm các thành phần chính sau:

  1. Các tín hiệu nhập cảnh được kích hoạt khi EMA 9 giai đoạn vượt qua EMA 21 giai đoạn
  2. Giá nhập cảnh được thiết lập dưới dạng lệnh giới hạn dưới EMA 9 giai đoạn tại một sự thay đổi xác định
  3. Việc xác nhận giao dịch đòi hỏi RSI dưới ngưỡng và đường chéo vàng MACD
  4. Các tín hiệu ra ngoài bao gồm đường chéo chết MACD, điểm lợi nhuận/mất cố định và đóng cửa bắt buộc ở cuối thị trường
  5. Thời gian giao dịch bị hạn chế giữa 9:30 AM và 3:10 PM

Chiến lược sử dụng các lệnh giới hạn để nhập để đạt được giá nhập tốt hơn và kết hợp nhiều chỉ số kỹ thuật để cải thiện độ chính xác giao dịch.

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

  1. Cơ chế xác nhận nhiều tín hiệu cải thiện độ tin cậy giao dịch
  2. Các mục lệnh giới hạn cung cấp giá thực thi tốt hơn
  3. Điểm lợi nhuận/mất cố định giúp kiểm soát rủi ro dễ dàng hơn
  4. Việc buộc phải đóng cửa vào cuối thị trường loại bỏ rủi ro qua đêm
  5. Các hạn chế thời gian giao dịch tránh biến động mở cửa
  6. Các chỉ số EMA cung cấp phản ứng xu hướng nhanh hơn
  7. Sự kết hợp của RSI và MACD giúp lọc các tín hiệu sai

Rủi ro chiến lược

  1. Nhiều tín hiệu xác nhận có thể gây ra cơ hội bị bỏ lỡ
  2. Các lệnh giới hạn có thể không được thực hiện trong các biến động giá nhanh
  3. Các điểm dừng cố định có thể dẫn đến tổn thất lớn hơn trong thời gian biến động cao
  4. Các tín hiệu MACD có thể tụt lại sau hành động giá
  5. Chiến lược không tính đến những thay đổi về biến động thị trường
  6. Tối ưu hóa tham số có thể dẫn đến quá tải

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

  1. Thiết lập các điểm dừng lỗ và lấy lợi nhuận thích nghi dựa trên biến động thị trường
  2. Thêm các chỉ số âm lượng như các tín hiệu xác nhận bổ sung
  3. Xem xét thêm các bộ lọc sức mạnh xu hướng
  4. Tối ưu hóa tính toán chuyển đổi thứ tự giới hạn bằng ATR
  5. Bao gồm các chỉ số tâm lý thị trường để lọc các điều kiện không thuận lợi
  6. Thêm cơ chế định kích thước vị trí dựa trên cường độ tín hiệu

Tóm lại

Đây là một chiến lược giao dịch đa chỉ số có cấu trúc tốt xác định xu hướng bằng cách sử dụng đường trung bình động, lọc tín hiệu với RSI và MACD, và kiểm soát rủi ro thông qua các lệnh giới hạn và nhiều cơ chế dừng.


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

//@version=5
strategy("SMA 9 & 21 with RSI and MACD Buy Strategy", overlay=true)

// Inputs for Simple Moving Averages
sma_short = ta.ema(close, 9)
sma_long = ta.ema(close, 21)

// Plotting SMA
plot(sma_short, color=color.green, title="SMA 9")
plot(sma_long, color=color.red, title="SMA 21")

// RSI Calculation
rsi_length = input.int(14, title="RSI Length")
rsi_threshold = input.int(70, title="RSI Threshold")
rsi = ta.rsi(close, rsi_length)

// MACD Calculation
macd_fast = input.int(8, title="MACD Fast Length")
macd_slow = input.int(18, title="MACD Slow Length")
macd_signal = input.int(6, title="MACD Signal Length")
[macd_line, signal_line, _] = ta.macd(close, macd_fast, macd_slow, macd_signal)

// Inputs for Limit Order Offset
limit_offset = input.int(50, title="Limit Order Offset", minval=1)  // 50 points below 9 EMA

// User input for specific date
simulationStartDate = input(timestamp("2024-12-01 00:00"), title="Simulation Start Date", group = "Simulation Dates")
simulationEndDate = input(timestamp("2024-12-30 00:00"), title="Simulation End Date", group = "Simulation Dates")

// Declare limit_price as float
var float limit_price = na

// Calculate Limit Order Price
if (sma_short[1] < sma_long[1] and sma_short > sma_long)  // 9 EMA crosses above 21 EMA
    limit_price := sma_short - limit_offset

// Buy Signal Condition (only on the specified date)
buy_condition = not na(limit_price) and rsi < rsi_threshold and ta.crossover(macd_line, signal_line) 

// Sell Signal Condition (MACD crossover down)
sell_condition = ta.crossunder(macd_line, signal_line)

// Track Entry Price for Point-Based Exit
var float entry_price = na

if (buy_condition )
    strategy.order("Buy", strategy.long, comment="Limit Order at 9 EMA - Offset", limit=limit_price)
    label.new(bar_index, limit_price, "Limit Buy", style=label.style_label_up, color=color.green, textcolor=color.white)
    entry_price := limit_price  // Set entry price

// Exit Conditions
exit_by_macd = sell_condition
exit_by_points = not na(entry_price) and ((close >= entry_price + 12) or (close <= entry_price - 12))  // Adjust as per exit points

// Exit all positions at the end of the day
if hour == 15 and minute > 10 and strategy.position_size > 0
    strategy.close_all()  // Close all positions at the end of the day
    strategy.cancel_all()  

// Exit based on sell signal or point movement
if (exit_by_macd or exit_by_points  and strategy.position_size > 0 )
    strategy.close("Buy")
    label.new(bar_index, close, "Close", style=label.style_label_down, color=color.red, textcolor=color.white)

 

Có liên quan

Thêm nữa