
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 độ dao động của giá và sự giao thoa của đường trung bình. Chiến lược chủ yếu kích hoạt tín hiệu bằng cách giám sát sự biến động bất thường của tỷ lệ biến động giá vượt quá 1,91% (sự kiện Black Swan), đồng thời kết hợp với giao thoa của EMA144 và EMA169 để xác nhận hướng xu hướng và thời gian thoát.
Chiến lược này bao gồm hai phần chính:
Chiến lược được thực hiện khi phát hiện biến động lên cao lớn hơn 1,91% và được thực hiện khi phát hiện biến động xuống thấp. Khi đường trung bình bị đảo ngược, chiến lược sẽ tự động thanh toán để kiểm soát rủi ro.
Chiến lược này thực hiện phản ứng nhanh chóng và theo dõi xu hướng đối với biến động bất thường của thị trường bằng cách kết hợp giám sát tỷ lệ biến động và giao thoa. Chiến lược được thiết kế hợp lý, có cơ chế kiểm soát rủi ro tốt, nhưng vẫn yêu cầu các nhà giao dịch tối ưu hóa tham số và quản lý rủi ro theo tình hình 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='平多')