A estratégia de reversão de forma detecta a forma da linha K, identifica os pontos de inflexão de preços de alta para baixa ou de baixa para alta, e executa operações de compra ou venda nas proximidades dos pontos de inflexão. A estratégia usa principalmente a relação proporcional entre a linha de sombra e a entidade para determinar o sinal de reversão de preço.
A lógica central da estratégia é detectar a relação proporcional entre a parte da linha de sombra da linha K e a parte da linha real para determinar se há uma forma de inversão de preço.
Quando ocorre uma linha de queda K, se a linha de queda do K é mais longo, a linha de cima e a entidade mais curta, isso significa que a linha de K tem uma forte entrada de compra, o que pode ser revertido para a alta. Concretamente, é a detecção de que o preço de fechamento é maior do que o preço de abertura, e o comprimento da linha de queda é maior do que o comprimento da linha de cima e da entidade, gerando um sinal de múltiplas cabeças.
Por outro lado, quando uma linha K ascendente aparece, se a linha K ascendente for mais longa e a linha descendente e a entidade for mais curta, isso indica que a linha K tem uma forte saída de força de venda, que pode ser revertida para a queda. Concretamente, é a detecção de um preço de fechamento abaixo do preço de abertura, e o comprimento da linha ascendente é maior do que o comprimento da linha descendente e da entidade, gerando um sinal de cabeça vazia.
Além disso, um sinal de inversão pode ser gerado se a diferença entre o preço de abertura e o preço de fechamento for pequena, mas a linha de sombra for mais longa.
Quando se detecta um sinal de inversão, também se faz uma filtragem em combinação com o intervalo médio da linha K. O sinal é produzido somente quando o intervalo da linha K é maior do que a média.
Pode-se considerar a combinação de indicadores de tendência, evitando a operação de contracorrente. Também pode ser combinado com outros indicadores técnicos, para confirmar o sinal de reversão. A configuração de parâmetros pode ser obtida através da otimização de feedback para obter um melhor conjunto de parâmetros.
A estratégia de reversão de forma através de um método de identificação de forma relativamente simples, eficaz para identificar a forma de reversão de preço, capturar o ponto de viragem. Mas apenas com base em uma única forma de linha K é fácil de fazer um erro de julgamento, que precisa ser usado em combinação com outros indicadores técnicos, ao mesmo tempo em que o julgamento de tendência, pode evitar a operação de contra-corrente, o que aumenta a estabilidade da estratégia. Além disso, a otimização de parâmetros e a configuração de stop loss / stop loss também são direções para aperfeiçoar 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)