
A estratégia de retorno do centro máximo e mínimo é uma estratégia de acompanhamento de tendências. Sua principal idéia é calcular o preço médio do preço máximo e mínimo do período anterior como preço de referência e, com base nesse preço de referência, combinar a volatilidade para calcular a zona de construção e a zona de construção.
A estratégia é executada através das seguintes etapas:
Através deste método, pode-se acompanhar a tendência em tempo real quando o preço entra em um estado de tendência; ao mesmo tempo, pode-se controlar o risco através da taxa de flutuação.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
Para controlar esses riscos, pode-se fazer otimizar as seguintes coisas:
A estratégia também tem espaço para uma maior otimização:
Com essas otimizações, pode-se esperar que a estabilidade e a rentabilidade da estratégia sejam ainda melhoradas.
A estratégia de reverter o centro máximo e mínimo é uma estratégia de acompanhamento de tendências simples e prática. Captura as mudanças de preço em tempo real, acompanha a tendência e, ao mesmo tempo, controla o risco através da volatilidade. A estratégia é fácil de implementar e é adequada para os iniciantes em aprender e praticar o comércio de quantidade.
/*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)