Estratégia de inversão de pivô reforçada de SuperTrend

Autora:ChaoZhang, Data: 2023-10-25 11:15:40
Tags:

img

Resumo

A SuperTrend Enhanced Pivot Reversal é uma abordagem de negociação única que combina a precisão dos pontos de reversão do pivô e o poder de seguir a tendência do indicador SuperTrend.

Ao contrário das estratégias tradicionais de reversão de pivô, esta abordagem utiliza o indicador SuperTrend como um filtro. Isso significa que só leva negócios que se alinham com a tendência geral, conforme determinado pelo indicador SuperTrend. Isso pode ajudar a reduzir sinais falsos e melhorar a lucratividade geral da estratégia.

A Estratégia de Reversão de Pivot Aprimorada é particularmente adequada para o mercado de criptomoedas devido à alta volatilidade. Isso permite mudanças rápidas de preço em curtos períodos, tornando possível lucrar rapidamente.

Estratégia lógica

A estratégia funciona identificando pontos de reversão de pivô, que são pontos no gráfico de preços em que o preço provavelmente se inverterá. Estes pontos são identificados usando uma combinação das funções ta.pivothigh e ta.pivotlow para localizar os pontos de preço mais altos e mais baixos em um determinado período.

Uma vez que um ponto de reversão do pivô é identificado, a estratégia verifica a direção do indicador SuperTrend. Se a SuperTrend for positiva (indicando uma tendência de alta), a estratégia só fará negociações longas. Se a SuperTrend for negativa (indicando uma tendência de queda), só fará negociações curtas.

A estratégia também incorpora um nível de stop loss, definido como uma percentagem do preço de entrada, para limitar as perdas potenciais se o preço se mover contra a negociação.

A direcção da negociação pode ser definida em Long, Short ou Both, permitindo ao comerciante realizar apenas negociações longas, curtas ou longas e curtas, dependendo da sua visão do mercado e do seu apetite pelo risco.

Vantagens

A principal vantagem desta estratégia é a combinação da precisão das estratégias de inversão de pivô com a capacidade de filtragem de tendências do indicador SuperTrend.

A abordagem de reversão de pivô identifica os principais níveis de suporte e resistência e captura breakouts rápidos.

Outra vantagem é a adaptabilidade da estratégia. Os parâmetros podem ser ajustados para atender a diferentes condições de mercado. Por exemplo, o período ATR pode ser ajustado para variação de volatilidade, stop loss ajustado para controlar o risco e direção comercial limitada a longo ou curto apenas.

A adição do filtro SuperTrend também melhora o desempenho nos mercados de tendência.

Riscos

O principal risco é que os pontos de reversão do pivô possam ter falhas, onde o preço reverte rapidamente depois de quebrar níveis-chave.

Outro risco é o fracasso da reversão da tendência. Às vezes, os preços continuam a tendência depois de quebrar os pontos pivô, em vez de reverter.

O uso de SuperTrend como filtro tem prós e contras. Sinais incorretos de SuperTrend podem levar a reversões válidas perdidas. Os parâmetros podem precisar de ajuste para diferentes condições de mercado.

Em geral, os níveis de stop loss adequados, o dimensionamento da posição e o ajuste dinâmico dos parâmetros podem controlar efetivamente os riscos.

Oportunidades de melhoria

A estratégia pode ser melhorada:

  1. Adicionando análise de vários prazos para evitar problemas.

  2. Incorporar indicadores de volume para confirmar as rupturas.

  3. Otimizar mecanismos de stop loss como trailing stops e aumento de post-profit stops.

  4. Adicionar aprendizagem de máquina para capacidade adaptativa, como ajuste automático de parâmetros e paradas dinâmicas.

  5. Implementação de negociações intertemporais com prazos separados de entrada e de parada/alvo.

  6. Teste de indicadores de filtros alternativos para melhorar potencialmente o desempenho em relação ao SuperTrend.

  7. Optimização da carteira através da combinação com estratégias de baixa correlação para melhorar a estabilidade.

Estas melhorias podem melhorar significativamente o desempenho, tornando a estratégia mais robusta em diversos ambientes de mercado e produzindo retornos superiores.

Conclusão

A SuperTrend Enhanced Pivot Reversal Strategy é uma abordagem altamente eficaz. Combina a precisão dos pontos de pivô e o forte seguimento da tendência da SuperTrend para filtrar o ruído e aumentar a probabilidade de sucesso. Os parâmetros adaptáveis se adaptam a várias condições de mercado. Os riscos existem, mas podem ser controlados através de dimensionamento e paradas de posição apropriadas. Outras otimizações podem melhorar a estabilidade e os retornos.


/*backtest
start: 2022-10-18 00:00:00
end: 2023-10-24 00:00:00
period: 1d
basePeriod: 1h
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/
// © PresentTrading

//@version=5
strategy("SuperTrend Enhanced Pivot Reversal - Strategy [PresentTrading]", overlay=true, precision=3, default_qty_type=strategy.cash, 
 commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1, 
  currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital= 10000)

// Pivot Reversal parameters
leftBars = input(6)
rightBars = input(3)
swh = ta.pivothigh(leftBars, rightBars)
swl = ta.pivotlow(leftBars, rightBars)

// SuperTrend parameters
atrPeriod = input(5, "ATR Length")
factor = input.float(2.618, "Factor", step = 0.01)

[superTrend, direction] = ta.supertrend(factor, atrPeriod)

// Plot the SuperTrend
plot(superTrend, title="SuperTrend", color=color.blue)


// Trade Direction parameter
tradeDirection = input.string(title="Trade Direction", defval="Both", options=["Long", "Short", "Both"])

// Stop Loss Level (in %)
stopLossLevel = input(20, title="Stop Loss Level (%)")

// Convert the stop loss level to a price difference
stopLossPrice = stopLossLevel / 100


// Long entry
swh_cond = not na(swh)
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])
if (le and direction > 0 and (tradeDirection == "Long" or tradeDirection == "Both"))
    strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)
    strategy.exit("Exit Long", "PivRevLE", stop = hprice * (1 - stopLossPrice))

// Short entry
swl_cond = not na(swl)
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])
if (se and direction < 0 and (tradeDirection == "Short" or tradeDirection == "Both"))
    strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)
    strategy.exit("Exit Short", "PivRevSE", stop = lprice * (1 + stopLossPrice))


// Closing positions when the tradeDirection is one-sided or when SuperTrend direction changes
if ((tradeDirection == "Long" and se and direction < 0) or (tradeDirection == "Long" and direction < 0))
    strategy.close("PivRevLE")
if ((tradeDirection == "Short" and le and direction > 0) or (tradeDirection == "Short" and direction > 0))
    strategy.close("PivRevSE")

// Plot pivot highs and lows
plotshape(swh_cond, title="Pivot Highs", location=location.belowbar, color=color.green, style=shape.triangleup)
plotshape(swl_cond, title="Pivot Lows", location=location.abovebar, color=color.red, style=shape.triangledown)

// Closing positions when the tradeDirection is one-sided
if (tradeDirection == "Long" and se and direction < 0)
    strategy.close("PivRevLE")
if (tradeDirection == "Short" and le and direction > 0)
    strategy.close("PivRevSE")



Mais.