
A estratégia de extração de tendências de ondas de correlação é uma estratégia de acompanhamento de tendências de ações baseada em um filtro de correlação. A estratégia usa uma média móvel ponderada por índices e ondas de correlação para processar a sequência de preços, extrair o componente de tendência do preço e usar certos parâmetros como sinal de posição de paz.
A estratégia primeiro constrói uma média móvel ponderada por índices duplos, controlando a duração e o deslizamento da média móvel por meio do ajuste dos parâmetros Length e Delta. Em seguida, usa um conjunto de transformações matemáticas para extrair o componente de tendência da sequência de preços e armazená-lo na variável xBandpassFilter.
Quando o xMean atravessa o nível definido pelo parâmetro Trigger, faz o overhead, e faz o overhead no momento em que ele atravessa. A sensibilidade da construção de armazém e do armazém pode ser controlada ajustando o nível do Trigger.
Pode-se melhorar o atraso com a redução apropriada dos parâmetros de comprimento e ajustar a sensibilidade da estratégia de controle de nível de gatilho.
A estratégia é, em geral, mais estável e tem melhor desempenho em mercados de forte tendência. Pode ser otimizada de várias maneiras para manter um lucro estável em mais ambientes de mercado. A estratégia merece mais pesquisa e aplicação.
/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version = 2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/12/2016
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// 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="Extracting The Trend Strategy Backtest")
Length = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=blue, linestyle=line)
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
pos = iff(xMean > Trigger, 1,
iff(xMean < Trigger, -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(xMean, color=red, title="ExTrend")