Este é o sistema de ponto de equilíbrio de tendência original criado por Welles Wilder em 1978, com regras encontradas em seu livro New Concepts in Technical Trading Systems.
Os principais componentes e regras são:
Indicador de impulso: Calcula a variação de preços ao longo de N períodos para determinar a tendência.
Condição longa: aumento do ímpeto em relação ao período corrente e aos dois períodos anteriores.
Condição curta: queda do ímpeto em dois períodos, atual e anterior.
Stop loss: preço médio do dia anterior ± intervalo do dia anterior.
Tome lucro: 2 * preço médio do dia anterior - baixo (longo) ou alto (curto) do dia anterior.
Saídas com parada ou alvo após a entrada.
A estratégia utiliza diretamente o ímpeto para a identificação de tendências e uma abordagem estruturada stop/target para controlar o risco e formar um sistema robusto de tendência.
Em comparação com outras estratégias de tendência, as principais vantagens são:
Calculo de momento simples, fácil de implementar.
Combo de filtros de ruído multi-período.
A estrutura de parada/alvo é robusta.
Limites de perdas por transacção.
A retirada é controlada, a captação de lucro é clara.
Fácil de operar com flexibilidade.
Parâmetros ajustáveis para diferentes mercados.
Intuitiva e lógica simples.
Estabilidade geral e controlo de riscos.
No entanto, os riscos são:
O atraso de impulso pode deixar de virar.
O desempenho depende do ajuste dos parâmetros.
Sem filtro de volume, o risco de ficar preso.
As configurações de parada/alvo são rígidas, podem falhar na prática.
Período de backtest limitado, necessária verificação da robustez a longo prazo.
O tamanho fixo carece de ajuste dinâmico.
Espaço de otimização limitado, alfa incerto.
Precisa de monitorizar as relações recompensa/risco e a adequação da curva.
À luz da análise, as melhorias podem incluir:
A testar diferentes cálculos de momento.
Adicionando confirmação de volume.
Otimizando parâmetros de parada/alvo.
Introdução de aprendizagem de máquina para sinais dinâmicos.
Avaliação da robustez em todos os produtos e prazos.
Construção de modelos dinâmicos de dimensionamento de posição.
Estabelecimento do limite máximo tolerável de utilização.
Otimizar as estratégias de gestão de riscos.
Testes posteriores contínuos para evitar a sobreajuste.
Em resumo, este é um sistema relativamente simples e direto de tendência, mas as otimizações contínuas e testes de robustez são fundamentais para qualquer estratégia permanecer adaptável.
/*backtest start: 2023-09-15 00:00:00 end: 2023-09-22 00:00:00 period: 5m basePeriod: 1m 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/ // © 2020 X-Trader.net //@version=3 strategy("Trend Balance Point System by Welles Wilder", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 10000) MomPer = input(2, "Momentum Period") isLong = strategy.position_size > 0 isShort = strategy.position_size < 0 longTrigger = mom(close, MomPer)[1] > mom(close, MomPer)[2] and mom(close, MomPer)[1] > mom(close, MomPer)[3] shortTrigger = mom(close, MomPer)[1] < mom(close, MomPer)[2] and mom(close, MomPer)[1] < mom(close, MomPer)[3] longEntry = (not isLong) and longTrigger shortEntry = (not isShort) and shortTrigger longStop = valuewhen(longEntry, ((high[1]+low[1]+close[1])/3 - (high[1]-low[1])), 0) longTP = valuewhen(longEntry, (2*(high[1]+low[1]+close[1])/3 - low[1]), 0) shortStop = valuewhen(shortEntry, ((high[1]+low[1]+close[1])/3 + (high[1]-low[1])), 0) shortTP = valuewhen(shortEntry, (2*(high[1]+low[1]+close[1])/3 - high[1]), 0) strategy.entry(id = "Long", long = true, when = longEntry) strategy.exit("Exit Long", "Long", profit = longTP, loss = longStop, when = isLong) strategy.entry(id = "Short", long = false, when = shortEntry) strategy.exit("Exit Short", "Short", profit = shortTP, loss = shortStop, when = isShort)