A estratégia de configuração de reversão extrema é uma estratégia que utiliza reversões extremas da linha K. Ele julgará com base no tamanho da entidade da última linha K e no valor médio, e gerará sinais de negociação quando o tamanho da entidade for maior que o valor médio e ocorrer uma reversão.
Esta estratégia julga principalmente o tamanho da entidade da linha K atual e o tamanho global da linha K.
Registram-se a dimensão da entidade (diferença entre aberta e fechada) da última linha K e a dimensão global da linha K (diferença entre a mais elevada e a mais baixa).
Em seguida, utilize a média móvel do intervalo real (RMA) para calcular o tamanho médio da entidade e o tamanho da linha K das últimas 20 linhas K.
Quando a última linha K sobe e o tamanho da entidade é maior que o tamanho médio da entidade, e o tamanho global da linha K também é maior que 2 vezes o tamanho médio da linha K, é gerado um sinal longo.
Em contrapartida, quando a última linha K cai e o tamanho da entidade também preenche as condições acima, é gerado um sinal curto.
Ou seja, os sinais de negociação são gerados quando as linhas K extremas se invertem, julgando com valores médios.
As principais vantagens desta estratégia são:
Esta estratégia tem também alguns riscos:
Para reduzir os riscos, os parâmetros podem ser ajustados de forma adequada, ou a perda de parada pode ser adicionada às perdas de controlo.
Esta estratégia pode ser otimizada nos seguintes aspectos:
A estratégia de configuração de reversão extrema gera sinais de negociação quando ocorrem reversões, julgando situações extremas da última linha K. Ela tem a vantagem de usar recursos excepcionais de linha K extrema, mas também tem alguns riscos. Um melhor desempenho da estratégia pode ser obtido através da otimização de parâmetros e medidas de controle de risco.
/*backtest start: 2024-02-13 00:00:00 end: 2024-02-20 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Extreme Reversal Setup", overlay=true) bodySize = input(defval=0.75) barsBack = input(title="Lookback Period", type=input.integer, defval=20, minval=0) bodyMultiplier = input(title="Bar ATR Multiplier", type=input.float, defval=2.0, minval=0) myBodySize = abs(close - open) averageBody = rma(myBodySize, barsBack) myCandleSize = abs(high - low) averageCandle = rma(myCandleSize, barsBack) signal_long = open[1]-close[1] >= bodySize*(high[1]-low[1]) and high[1]-low[1] > averageCandle*bodyMultiplier and open[1]-close[1] > averageBody and close > open signal_short = close[1]-open[1] >= bodySize*(high[1]-low[1]) and high[1]-low[1] > averageCandle*bodyMultiplier and close[1]-open[1] > averageBody and open > close plotshape(signal_long, "LONG", shape.triangleup, location.belowbar, size=size.normal) plotshape(signal_short, "SHORT", shape.triangledown, location.belowbar, size=size.normal) strategy.entry("LONG", strategy.long, when=signal_long) strategy.entry("SHORT", strategy.short, when=signal_short)