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

Black Swan Volatility và Moving Average Crossover Momentum Tracking Chiến lược

Tác giả:ChaoZhang, Ngày: 2024-12-13 11:52:51
Tags:EMASMAATR

img

Tổng quan

Chiến lược này là một hệ thống giao dịch theo dõi động lực dựa trên biến động giá và chéo trung bình động. Nó kích hoạt tín hiệu bằng cách theo dõi biến động giá vượt quá 1,91% (hành động Swan Đen) và kết hợp EMA144 và EMA169 chéo để xác nhận hướng xu hướng và thời gian thoát. Chiến lược đặc biệt phù hợp với giao dịch ngắn hạn trên khung thời gian 1-3 phút, có khả năng nhanh chóng nắm bắt các cơ hội biến động thị trường đáng kể.

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

Logic cốt lõi bao gồm hai thành phần chính:

  1. Theo dõi biến động: Tính toán sự khác biệt tuyệt đối giữa giá đóng và giá mở so với giá đóng, kích hoạt tín hiệu giao dịch khi tỷ lệ này vượt quá 1,91%.
  2. Xác nhận xu hướng: Sử dụng đường chéo EMA144 và EMA169 để xác nhận hướng xu hướng, đi dài trên các đường chéo tăng và ngắn trên các đường chéo giảm.

Chiến lược này đi vào các vị trí dài khi phát hiện biến động tăng trên 1,91% và các vị trí ngắn cho biến động giảm.

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

  1. Phản ứng nhanh: Chiến lược nhanh chóng nắm bắt các biến động thị trường mạnh mẽ, lý tưởng cho giao dịch ngắn hạn.
  2. Kiểm soát rủi ro: Sử dụng đường chéo trung bình động làm tín hiệu thoát để quản lý rủi ro vị trí hiệu quả.
  3. Độ linh hoạt cao: Cho phép tùy chỉnh thời gian thử nghiệm và điều chỉnh tham số để tối ưu hóa cho các điều kiện thị trường khác nhau.
  4. Quản lý vị trí toàn diện: Sử dụng tỷ lệ phần trăm vốn chủ sở hữu tài khoản để kích thước vị trí và hỗ trợ lên đến 3 lần quy mô kim tự tháp.

Rủi ro chiến lược

  1. Rủi ro phá vỡ sai: Có thể tạo ra các tín hiệu sai trong các thị trường biến động cao dẫn đến giao dịch không cần thiết.
  2. Rủi ro trượt: Các hoạt động ngắn hạn có thể phải đối mặt với tổn thất trượt đáng kể.
  3. Rủi ro đảo ngược xu hướng: Khả năng đảo ngược xu hướng nhanh chóng sau sự biến động cực kỳ.
  4. Độ nhạy của các tham số: Hiệu suất chiến lược phụ thuộc rất nhiều vào cài đặt tham số, đòi hỏi phải điều chỉnh thường xuyên trong điều kiện thị trường khác nhau.

Hướng dẫn tối ưu hóa

  1. Tích hợp lọc biến động: Khuyến nghị thêm chỉ số ATR để lọc tiếng ồn thị trường và cải thiện chất lượng tín hiệu.
  2. Tối ưu hóa thời gian nhập: Xem xét thêm xác nhận khối lượng để tăng độ chính xác nhập.
  3. Điều chỉnh tham số động: đề xuất phát triển một hệ thống tham số thích nghi để tự động điều chỉnh ngưỡng kích hoạt dựa trên điều kiện thị trường.
  4. Cơ chế dừng lỗ được cải thiện: Khuyến nghị thêm chức năng dừng lỗ sau để bảo vệ lợi nhuận tích lũy tốt hơn.

Tóm lại

Chiến lược này đạt được phản ứng nhanh chóng với các bất thường trên thị trường và xu hướng theo sau bằng cách kết hợp theo dõi biến động với chéo trung bình động. Trong khi thiết kế chiến lược là hợp lý với các cơ chế kiểm soát rủi ro tốt, các nhà giao dịch cần tối ưu hóa các tham số và quản lý rủi ro theo điều kiện thị trường thực tế.


/*backtest
start: 2024-12-05 00:00:00
end: 2024-12-12 00:00:00
period: 45m
basePeriod: 45m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5

//黑天鹅警报器,作者():道格拉斯机器人
//适合1分钟-3分钟的k线,发生波动超过百分之二时,自动报警
strategy('黑天鹅警报', overlay=true, initial_capital=10000, currency='USD', default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, pyramiding=3)
//-------------------------------------------
//-------------------------------------------
timecondition = timeframe.period == '480' or timeframe.period == '240' or timeframe.period == 'D' or timeframe.period == '720'
// Make input options that configure backtest date range
startDate = input.int(title='Start Date', defval=1, minval=1, maxval=31)
startMonth = input.int(title='Start Month', defval=11, minval=1, maxval=12)
startYear = input.int(title='Start Year', defval=2018, minval=1800, maxval=2100)
endDate = input.int(title='End Date', defval=1, minval=1, maxval=31)
endMonth = input.int(title='End Month', defval=11, minval=1, maxval=12)
endYear = input.int(title='End Year', defval=2031, minval=1800, maxval=2100)
// Look if the close time of the current bar
// falls inside the date range
inDateRange = time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0) and time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0)



// Inputs
a = input(1, title='Key Vaule. \'This changes the sensitivity\'')
c = input(10, title='ATR Period')
h = input(false, title='Signals from Heikin Ashi Candles')


ma60 = ta.sma(close, 60)
ema144 = ta.ema(close, 144)

ema169 = ta.ema(close, 169)
ma20 = ta.sma(close, 20)


plot(ema144, color=color.new(color.yellow, 0), title='144')
plot(ema169, color=color.new(color.orange, 0), title='169')


heitiane = close - open
heitiane := math.abs(heitiane)
heitiane /= close

if inDateRange and heitiane > 0.0191 and close < open  //  and close>f3
    strategy.entry('botsell20', strategy.short, comment='黑天鹅追空' + str.tostring(heitiane))

if ta.crossover(ema144, ema169)
    strategy.close('botsell20', comment='平空')
if inDateRange and heitiane > 0.0191 and close > open  //  and close>f3
    strategy.entry('botbuy20', strategy.long, comment='白天鹅追多' + str.tostring(heitiane))

if ta.crossunder(ema144, ema169)
    strategy.close('botbuy20', comment='平多')




Có liên quan

Thêm nữa