A estratégia de reversão de padrão de mecha identifica pontos de reversão em que o preço muda de uma tendência de alta para uma tendência de baixa ou vice-versa, detectando padrões de velas.
A lógica central desta estratégia é detectar a relação entre a mecha da vela e o corpo para identificar padrões de reversão potenciais.
Quando há uma vela de baixa, se a mecha inferior for muito mais longa do que a mecha superior e o corpo, isso indica uma forte pressão de compra e o preço pode reverter para cima.
Por outro lado, quando há uma vela de alta, se a mecha superior for muito mais longa do que a mecha inferior e o corpo, isso indica uma forte pressão de venda e o preço pode reverter para baixo.
Além disso, uma mecha longa com corpo minúsculo também poderia produzir sinais de reversão.
A detecção é filtrada comparando com a faixa média da vela para evitar sinais falsos durante os mercados laterais.
Considere incorporar indicadores de tendência para evitar negociações contra tendência. Combinando com outros indicadores técnicos pode ajudar a confirmar sinais. Os parâmetros podem ser otimizados através de backtesting.
A estratégia de reversão de padrão de mecha identifica efetivamente padrões de reversão e capta pontos de virada usando reconhecimento de padrão simples. No entanto, confiar apenas em padrões de vela única pode ser enganoso. Combinando com outros indicadores técnicos e adicionando viés de tendência ajuda a evitar negociações de contra-tendência e melhora a estabilidade da estratégia. A otimização de parâmetros e stop loss / take profit também ajudam a melhorar ainda mais a estratégia.
/*backtest start: 2023-10-08 00:00:00 end: 2023-10-15 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © adiwajshing //@version=4 strategy("Wick Reversal Signal", overlay=true) wickMultiplier = input(3.25) bodyPercentage = input(0.35) barsBack = input(50) bodyMultiplier = input(1.1) myCandleSize = high-low averageCandleSize = rma(myCandleSize, barsBack) longSignal = close > open and open-low >= (close-open)*wickMultiplier and high-close <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier longSignal := longSignal or (close < open and close-low >= (open-close)*wickMultiplier and high-close <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier) longSignal := longSignal or (abs(close-open) < 0.01 and close != high and high-low >= (high-close)*wickMultiplier and high-close <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier) shortSignal = close < open and high-open >= (open-close)*wickMultiplier and close-low <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier shortSignal := shortSignal or (close > open and high-close >= (close-open)*wickMultiplier and close-low <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier) shortSignal := shortSignal or (abs(close-open) < 0.01 and close != low and high-low >= (close-low)*wickMultiplier and close-low <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier) plotshape(longSignal, style=shape.triangleup, size=size.normal) plotshape(shortSignal, style=shape.triangledown, size=size.normal) strategy.entry("LONG", strategy.long, when=longSignal) strategy.entry("SHORT", strategy.short, when=shortSignal)