最高最低中心回看策略是一种趋势跟踪策略。它的主要思想是计算过去一定周期内的最高价和最低价的中间价作为基准价,然后根据这个基准价再结合波动率计算出建仓区和平仓区。当价格进入建仓区时,做多;当价格进入平仓区时,平仓。
该策略主要通过以下几个步骤实现:
通过这种方法,可以在价格进入趋势状态时及时跟踪趋势;同时也可以通过波动率来控制风险。
这种策略具有以下几个优势:
该策略也存在一些风险:
为了控制这些风险,可以从以下几个方面进行优化:
该策略还具有进一步优化的空间:
通过这些优化,可以期望进一步提高策略的稳定性和盈利能力。
最高最低中心回看策略是一个简单实用的趋势跟踪策略。它可以及时捕捉价格变化,跟踪趋势,而又能够通过波动率控制风险。该策略容易实现,适合量化交易初学者学习和实践。通过参数优化和规则优化,可以进一步提升策略的效果。总的来说,这是一种值得推荐的量化策略。
/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Highest/Lowest Center Lookback Strategy", overlay=true)
lookback_length = input(200, type=input.integer, minval=1, title="Lookback Length")
smoother_length = input(5, type=input.integer, minval=1, title="Smoother Length")
atr_length = input(10, type=input.integer, minval=1, title="ATR Length")
atr_multiplier = input(1.5, type=input.float, minval=0.5, title="ATR Multiplier")
vola = atr(atr_length) * atr_multiplier
price = sma(close, 3)
l = ema(lowest(low, lookback_length), smoother_length)
h = ema(highest(high, lookback_length), smoother_length)
center = (h + l) * 0.5
upper = center + vola
lower = center - vola
trend = price > upper ? true : (price < lower ? false : na)
bull_cross = crossover(price, upper)
bear_cross = crossunder(price, lower)
strategy.entry("Buy", strategy.long, when=bull_cross)
strategy.close("Buy", when=bear_cross)
plot(h, title="High", color=color.red, transp=75, linewidth=2)
plot(l, title="Low", color=color.green, transp=75, linewidth=2)
pc = plot(center, title="Center", color=color.black, transp=25, linewidth=2)
pu = plot(upper, title="Upper", color=color.green, transp=75, linewidth=2)
pl = plot(lower, title="Lower", color=color.red, transp=75, linewidth=2)
fill(pu, pc, color=color.green, transp=85)
fill(pl, pc, color=color.red, transp=85)
bgcolor(trend == true ? color.green : (trend == false ? color.red : color.gray), transp=85)