Esta estratégia é conhecida como estratégia de negociação quantitativa baseada em um oscilador de desaceleração de preço. A estratégia é uma estratégia típica de indicadores técnicos, construindo um indicador de oscilador de desaceleração de preço e emitindo sinais de negociação com base nele.
O indicador DPO é semelhante a uma média móvel, que elimina tendências de preços com períodos mais longos, tornando as flutuações periódicas mais evidentes. Concretamente, o indicador DPO é uma comparação de preços com suas médias móveis simples de N dias. Quando o preço está acima da média móvel, o DPO é positivo; quando o preço está abaixo da média móvel, o DPO é negativo.
Esta estratégia define o parâmetro N como 14, para construir um indicador de DPO de 14 dias. Quando o indicador de DPO é positivo, é emitido um sinal de multiplo; Quando o indicador de DPO é negativo, é emitido um sinal de vazio.
Para reduzir o risco, considere otimizar os seguintes aspectos:
Esta estratégia é baseada em um indicador de oscilador de tendência de preço. O indicador é comparado com uma média móvel, excluindo a tendência de longo período no preço, tornando a característica de ciclo de preços mais evidente. Isso ajuda a descobrir algumas oportunidades de negociação que não são facilmente detectadas.
/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-20 08:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 31/03/2017
// 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.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Detrended Price Oscillator", shorttitle="DPO")
Length = input(14, minval=1)
Series = input(title="Price", defval="close")
reverse = input(false, title="Trade reverse")
hline(0, color=green, linestyle=line)
xPrice = close
xsma = sma(xPrice, Length)
nRes = xPrice - xsma
pos = iff(nRes > 0, 1,
iff(nRes < 0, -1, nz(pos[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)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=red, title="Detrended Price Oscillator")