Hệ thống giao dịch theo xu hướng động lượng trung bình động kép nâng cao

SMA MA EMD
Ngày tạo: 2024-11-27 16:54:54 sửa đổi lần cuối: 2024-11-27 16:54:54
sao chép: 0 Số nhấp chuột: 381
1
tập trung vào
1617
Người theo dõi

Hệ thống giao dịch theo xu hướng động lượng trung bình động kép nâng cao

Chiến lược này là một chiến lược theo dõi xu hướng động cơ dựa trên hệ thống hai đường trung bình, kết hợp các tín hiệu chéo giữa đường trung bình nhanh và đường trung bình chậm, đồng thời giới thiệu đường trung bình lọc để tối ưu hóa thời gian vào thị trường, để đạt được hiệu quả giao dịch vững chắc thông qua quản lý tài chính và kiểm soát rủi ro.

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

Chiến lược sử dụng đường trung bình di chuyển đơn giản (SMA) 11 chu kỳ và 31 chu kỳ làm hệ thống tín hiệu chính, đồng thời sử dụng đường trung bình 5 chu kỳ làm bộ lọc. Hệ thống tạo ra nhiều tín hiệu khi đường nhanh (SMA11) vượt qua đường chậm (SMA31) và giá nằm trên đường trung bình được lọc.

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

  1. Hệ thống tín hiệu đơn giản, rõ ràng, dễ hiểu và dễ thực hiện
  2. Xác nhận đa đường trung bình có thể lọc các tín hiệu giả hiệu quả
  3. Giao dịch với số tiền cố định, có thể kiểm soát rủi ro
  4. Có khả năng theo dõi xu hướng tốt
  5. Logic nhập cảnh và xuất cảnh rõ ràng, không dễ gây ra sự do dự trong quyết định
  6. Có thể thích ứng với các môi trường thị trường khác nhau

Rủi ro chiến lược

  1. Thị trường chấn động có thể dẫn đến giao dịch thường xuyên
  2. Hệ thống đường trung bình có sự chậm trễ nhất định
  3. Giao dịch số tiền cố định có thể không tận dụng đầy đủ hiệu quả tiền
  4. Không tính đến sự biến động của thị trường
  5. Thiếu cơ chế ngăn chặn thiệt hại, có thể có nguy cơ rút tiền lớn hơn

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

  1. Tiến hành chu kỳ trung bình tự điều chỉnh theo biến động của thị trường
  2. Tăng bộ lọc biến động, điều chỉnh vị trí trong môi trường biến động cao
  3. Thiết kế hệ thống quản lý tài chính năng động, cải thiện hiệu quả sử dụng tài chính
  4. Tham gia vào các cơ chế dừng lỗ và ngăn chặn để kiểm soát rủi ro giao dịch đơn lẻ
  5. Cân nhắc giới thiệu chỉ số cường độ xu hướng, tối ưu hóa thời gian nhập cảnh
  6. Tăng bộ lọc thời gian giao dịch, tránh giao dịch trong thời gian bất lợi

Tóm tắt

Chiến lược này xây dựng một hệ thống theo dõi xu hướng tương đối ổn định thông qua hệ thống đa đường trung bình. Mặc dù có một số hạn chế vốn có, nhưng bằng cách tối ưu hóa và cải tiến hợp lý, bạn có thể nâng cao hơn nữa sự ổn định và khả năng lợi nhuận của chiến lược.

Mã nguồn chiến lược
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5

strategy('Nifty 30m SMA Crossover Long', overlay=true)

start = timestamp(2020, 1, 1, 0, 0)
end = timestamp(2024, 12, 31, 0, 0)

SlowSma = ta.sma(close, 31)
FastSma = ta.sma(close, 11)
FilterSma = ta.sma(close, 5)

plot(SlowSma, title='Sma 31', color=color.new(color.green, 0))
plot(FastSma, title='Sma 11', color=color.new(color.red, 0))
plot(FilterSma, title='Filter Sma 5', color=color.new(color.black, 0))

// strategy 
LongEntry = FastSma > SlowSma and close > FilterSma
LongExit = FastSma < SlowSma

MyQty = 10000000 / close

// // Plot signals to chart
// plotshape(not LongExit and strategy.position_size > 0 and bIndicator, title='Hold', location=location.abovebar, color=color.new(color.blue, 0), style=shape.square, text='Hold', textcolor=color.new(color.blue, 0))
// plotshape(LongExit and bIndicator and strategy.position_size > 0, title='Exit', location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, text='Sell', textcolor=color.new(color.red, 0))
// plotshape(LongEntry and strategy.position_size == 0 and bIndicator, '', shape.arrowup, location.abovebar, color.new(color.green, 0), text='Buy', textcolor=color.new(color.green, 0))
// plotshape(not LongEntry and strategy.position_size == 0 and bIndicator, '', shape.circle, location.belowbar, color.new(color.yellow, 0), text='Wait', textcolor=color.new(color.black, 0))


if time >= start and time < end
    strategy.entry('Enter Long', strategy.long, qty=1, when=LongEntry)
    strategy.close('Enter Long', when=LongExit)