
Strategi ini adalah sistem perdagangan pengesanan dinamik berdasarkan amplitudo turun naik harga dan persimpangan garis rata. Strategi ini mencetuskan isyarat dengan memantau turun naik yang luar biasa dengan kadar turun naik harga lebih daripada 1.91% (kejadian hitam), dan menggabungkan persimpangan EMA144 dan EMA169 untuk mengesahkan arah trend dan masa keluar. Strategi ini sangat sesuai untuk perdagangan jangka pendek 1-3 minit, yang dapat menangkap peluang turun naik yang kuat di pasaran dengan cepat.
Strategi ini mempunyai dua bahagian utama:
Strategi dilakukan lebih banyak apabila mendeteksi pergerakan ke atas yang lebih besar daripada 1.91% dan melakukan penutupan apabila mendeteksi pergerakan ke bawah. Apabila garis pembalikan berlaku, strategi akan secara automatik meratakan kedudukan untuk mengawal risiko.
Strategi ini mewujudkan tindak balas dan trend yang cepat terhadap turun naik pasaran yang luar biasa dengan menggabungkan pemantauan kadar turun naik dan persilangan rata-rata. Strategi ini direka dengan munasabah dan mempunyai mekanisme kawalan risiko yang baik, tetapi masih memerlukan pengurus untuk mengoptimumkan parameter dan menguruskan risiko mengikut keadaan pasaran sebenar.
/*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='平多')