A estratégia de busca de centro mais alto / mais baixo é uma estratégia de tendência. Sua ideia principal é calcular o preço médio dos preços mais altos e mais baixos em um determinado período no passado como o preço de referência, e depois calcular a zona de entrada e a zona de saída com base neste preço de referência combinado com a volatilidade. Quando o preço entra na zona de entrada, vá longo; quando o preço entra na zona de saída, feche a posição.
A estratégia é aplicada principalmente através das seguintes etapas:
Desta forma, pode acompanhar a tendência no tempo em que o preço entra em um estado de tendência; ao mesmo tempo, o risco pode ser controlado através da volatilidade.
Esta estratégia tem as seguintes vantagens:
A estratégia apresenta também alguns riscos:
Para controlar estes riscos, a otimização pode ser feita nos seguintes aspectos:
A estratégia também tem espaço para uma maior otimização:
Através destas otimizações, podem esperar-se melhorias na estabilidade da estratégia e na rendibilidade.
A estratégia de busca de centro mais alto / mais baixo é uma estratégia simples e prática de tendência. Ela pode capturar mudanças de preço no tempo, rastrear tendências, enquanto controla o risco através da volatilidade. A estratégia é fácil de implementar, adequada para iniciantes em negociação quantitativa aprenderem e praticarem. Ao otimizar parâmetros e regras, o desempenho da estratégia pode ser melhorado.
/*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)