
A estratégia combina um indicador de ponto central e um indicador de banda de oscilação real média para implementar um sistema de acompanhamento de tendências em mais de um período de tempo. Pode capturar tendências de períodos intermediários e, ao mesmo tempo, usar o ponto central para determinar a resistência de suporte de longo prazo e obter melhores entradas e saídas.
A estratégia baseia-se em dois indicadores:
Indicador de ponto central: Determine o ponto central superior e o ponto central inferior, calculando o valor médio do preço máximo, mínimo e de fechamento de um determinado período. O ponto central pode ser usado como uma região de resistência de suporte fundamental.
Faixa de ondas reais médias: calcula a amplitude real média de um determinado período e move o canal para cima e para baixo no eixo médio. O canal pode ser usado como uma linha de parada dinâmica ao longo do eixo superior e inferior.
A lógica de negociação da estratégia é a seguinte:
Quando o preço quebra o canal da banda de flutuação real média, tome a direção de fazer mais ou fazer menos que seja consistente com a direção da quebra. Quando o preço retorna dentro do canal, leve a posição. Ao mesmo tempo, quando o preço quebra o eixo superior, tome a postura de fazer mais; quando o preço quebra o eixo inferior, tome a postura de fazer menos.
A estratégia também introduziu o conceito de linha central do ponto central. Quando o parâmetro quebra a linha central, é possível optar por colher metade dos lucros e controlar o risco.
A estratégia tem as seguintes vantagens:
Design de quadros de tempo múltiplos, Determinações de médio e longo prazo, Tendências, Determinações de curto prazo.
A linha central do eixo pode ser usada como uma opção de controle de risco, obtendo metade dos lucros e garantindo lucro.
O canal de banda de oscilação média real fornece uma posição de parada clara.
Com menos parâmetros de estratégia, é mais fácil de otimizar para encontrar a melhor combinação de parâmetros.
O risco de uma falsa invasão foi evitado ao máximo.
A estratégia também apresenta alguns riscos:
O risco de perda é maior quando o mercado está em alta.
Quando a situação é perturbada, o eixo central pode ser pressionado e pode ser frequentemente danificado.
A escolha inadequada dos parâmetros pode levar a transações frequentes ou pouco frequentes.
A recente ruptura de preços no eixo central pode ter sido falsa.
A estratégia pode ser otimizada em várias direções:
Combinação de mais indicadores de filtragem de sinal de entrada, para evitar falsas rupturas. Por exemplo, combinação de indicadores de potência, indicadores de faixa de Brin e outros.
Otimizar os parâmetros de ciclo dos pontos centrais e da média das faixas de onda reais para encontrar a melhor combinação de parâmetros.
Estabeleça uma zona de segurança perto da linha central do eixo central para evitar que a linha central seja acionada com frequência.
Adicione filtros de tendências apropriados para garantir que as grandes tendências operem na mesma direção.
A estratégia é, em geral, uma estratégia de acompanhamento de tendências muito prática. Ela resolve a dificuldade de parar o prejuízo que a maioria dos sistemas de tendências possuem, e permite a negociação de tendências com risco controlado, uma estratégia altamente recomendada.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LonesomeTheBlue
//@version=4
strategy("Pivot Point SuperTrend [Backtest]", overlay = true)
prd = input(defval = 2, title="Pivot Point Period", minval = 1, maxval = 50)
Factor=input(defval = 3, title = "ATR Factor", minval = 1, step = 0.1)
Pd=input(defval = 10, title = "ATR Period", minval=1)
usecenter = input(defval = false, title="Use Center Line to Close Entry for 50%")
showpivot = input(defval = false, title="Show Pivot Points")
showcl = input(defval = false, title="Show PP Center Line")
float ph = na
float pl = na
ph := pivothigh(prd, prd)
pl := pivotlow(prd, prd)
plotshape(ph and showpivot, text="H", style=shape.labeldown, color=na, textcolor=color.red, location=location.abovebar, transp=0, offset = -prd)
plotshape(pl and showpivot, text="L", style=shape.labeldown, color=na, textcolor=color.lime, location=location.belowbar, transp=0, offset = -prd)
float center = na
center := center[1]
float lastpp = ph ? ph : pl ? pl : na
if lastpp
if na(center)
center := lastpp
else
center := (center * 2 + lastpp) / 3
Up = center - (Factor * atr(Pd))
Dn = center + (Factor * atr(Pd))
float TUp = na
float TDown = na
Trend = 0
TUp := close[1] > TUp[1] ? max(Up, TUp[1]) : Up
TDown := close[1] < TDown[1] ? min(Dn, TDown[1]) : Dn
Trend := close > TDown[1] ? 1: close < TUp[1]? -1: nz(Trend[1], 1)
Trailingsl = Trend == 1 ? TUp : TDown
linecolor = Trend == 1 and nz(Trend[1]) == 1 ? color.lime : Trend == -1 and nz(Trend[1]) == -1 ? color.red : na
plot(Trailingsl, color = linecolor , linewidth = 2, title = "PP SuperTrend")
plot(showcl ? center : na, color = showcl ? center < hl2 ? color.blue : color.red : na, transp = 0)
bsignal = Trend == 1 and Trend[1] == -1
ssignal = Trend == -1 and Trend[1] == 1
if bsignal
strategy.entry("Buy", true, 2, comment = "Buy")
if ssignal
strategy.entry("Sell", false, 2, comment = "Sell")
if strategy.position_size == 2 and center > hl2 and usecenter
strategy.close("Buy", qty_percent = 50, comment = "close buy entry for 50%")
if strategy.position_size == -2 and center < hl2 and usecenter
strategy.close("Sell", qty_percent = 50, comment = "close sell entry for 50%")
if change(Trend)
strategy.close_all()