
A estratégia de configuração de extremo invertido é uma estratégia que usa o extremo K para inverter a linha. Ela é julgada com base no tamanho da entidade e na média da linha K mais recente, gerando um sinal de negociação quando a entidade é maior que a média e ocorre uma inversão.
A estratégia julga principalmente o tamanho da entidade da linha K atual e o tamanho da linha K global.
Ele registra o tamanho da última linha K (a diferença entre o preço de abertura e o preço de fechamento) e o tamanho da linha K como um todo (a diferença entre o preço mais alto e o preço mais baixo).
Em seguida, use o método da média real-rango-média (RMA) para calcular o tamanho médio da entidade e o tamanho da linha K dos últimos 20 K.
Quando a última linha K está ligada e o tamanho da entidade é maior do que o tamanho da entidade média, e o tamanho da linha K em geral também é maior do que o tamanho da linha K média, gera-se um sinal de multiplicidade.
Em vez disso, quando a linha K mais recente cai e o tamanho da entidade também atende às condições acima, um sinal de falta é gerado.
Isto é, quando a linha K extrema é invertida, o julgamento de valor médio é usado para gerar um sinal de negociação.
As principais vantagens desta estratégia são:
A estratégia também apresenta alguns riscos:
Para reduzir o risco, pode-se ajustar os parâmetros de forma apropriada, ou adicionar o stop loss para controlar os prejuízos.
A estratégia pode ser melhorada em vários aspectos:
A estratégia de configuração de extremo invertido produz um sinal de negociação quando ocorre uma reversão, julgando os extremos da linha K mais recente. Ela tem a vantagem de aproveitar as características da linha K extrema anormal, mas também existe um certo 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)