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ể.
Logic cốt lõi bao gồm hai thành phần chính:
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.
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='平多')