
Esta estratégia utiliza dois indicadores: a reversão da linha média móvel e o indicador de choque de preço para formar um sinal de negociação, permitindo uma estratégia de negociação de tendência para capturar a reversão após a reversão do ciclo.
A estratégia utiliza os seguintes dois indicadores técnicos para avaliar os sinais de negociação:
Esta seção permite determinar se um sinal de reversão ocorreu por meio da combinação de queda e queda do preço de fechamento nos últimos dois dias com o tamanho do valor da linha rápida K. Um sinal de compra ocorre quando o preço subiu continuamente nos últimos dois dias e a linha rápida K está abaixo da linha lenta K. Um sinal de venda ocorre quando o preço caiu continuamente nos últimos dois dias e a linha rápida K está acima da linha lenta K.
O Detrend Price Oscillator identifica o ciclo de preços através do traçado de uma média móvel horizontal e da relação entre o preço e a linha. Ele filtra tendências com períodos mais longos do que os calculados e, portanto, identifica oscilações de curto período ocultas nas médias móveis.
Esta estratégia combina os sinais de dois indicadores, ou seja, quando ocorre um sinal de reversão da linha de movimentação da média, ao mesmo tempo em que o indicador de descolamento de preço também dá um sinal de reversão confirmado, produzindo uma instrução de negociação. Isso pode filtrar alguns sinais de reversão ineficazes e, após a reversão, aproveitar a oportunidade de tendência de rebote.
A maior vantagem da estratégia é que a utilização racional dos dois tipos de indicadores, para a confirmação complementar, pode filtrar eficazmente os sinais de invalidez, aumentando a confiabilidade do sinal.
O indicador de reversão da linha de movimentação em si é propenso a produzir sinais errôneos, apenas para julgar, é fácil de perseguir altos e baixos. Ao introduzir um indicador de combinação de desvio de preço, pode-se evitar a reversão de operações em intervalos de oscilação não ideais.
A configuração de parâmetros do indicador de desvio de preço também determina que ele identifique apenas oscilações de períodos mais curtos, o que é muito compatível com o julgamento da inversão da linha média móvel, permitindo identificar o momento de reversão razoável.
A estratégia tem os seguintes riscos:
A inversão da linha média de deslocamento pode ocorrer facilmente entre oscilações de compensação. Se a resistência for insuficiente, é fácil voltar a tocar a linha de parada e não obter lucro.
Se os parâmetros do indicador de desvio de preço forem muito grandes, serão identificadas tendências de longo período médio; se forem muito pequenos, aumentarão o risco de erro de julgamento. É necessário um teste cuidadoso para diferentes variedades.
A intervenção de eventos de notícias de grande impacto pode perturbar o julgamento de tendências originais, causando a falha de sinais de reversão. Isso requer atenção às notícias básicas e evita a negociação cega quando ocorrem eventos de notícias.
A estratégia pode ser melhorada a partir dos seguintes pontos:
A operação de stop loss móvel ou stop loss temporário pode ser razoavelmente configurada para controlar a perda única.
A confirmação de aumento de volume de transação, por exemplo, é emitida apenas quando o volume de transação médio é ultrapassado, evitando que a brecha não seja efetiva por falta de capacidade de volume.
Otimização dinâmica dos parâmetros de acordo com a fase do mercado, flexibilização apropriada dos parâmetros quando a tendência é evidente e aperto dos parâmetros em caso de turbulência.
A avaliação e seleção de conjuntos de parâmetros usando métodos de aprendizagem de máquina, como florestas aleatórias, permite a otimização de inteligência dinâmica.
Esta estratégia combina bem as vantagens de ambos os indicadores, capturando a tendência de rebote no ponto de inflexão. Embora ainda existam problemas de cobertura e otimização de parâmetros, a ideia geral é clara, lógica e razoável, vale a pena testar e otimizar ainda mais para obter lucros estáveis.
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 30/12/2019
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Detrend Price Osc indicator is similar to a moving average,
// in that it filters out trends in prices to more easily identify
// cycles. The indicator is an attempt to define cycles in a trend
// by drawing a moving average as a horizontal straight line and
// placing prices along the line according to their relation to a
// moving average. It provides a means of identifying underlying
// cycles not apparent when the moving average is viewed within a
// price chart. Cycles of a longer duration than the Length (number
// of bars used to calculate the Detrend Price Osc) are effectively
// filtered or removed by the oscillator.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
DPO(Length) =>
pos = 0.0
xPrice = close
xsma = sma(xPrice, Length)
nRes = xPrice - xsma
pos := iff(nRes > 0, 1,
iff(nRes < 0, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Detrended Price Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDPO = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDPO = DPO(LengthDPO)
pos = iff(posReversal123 == 1 and posDPO == 1 , 1,
iff(posReversal123 == -1 and posDPO == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1 , 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )