A estratégia de Balanço de Oscilação é uma estratégia simples que usa médias móveis ponderadas e períodos de retrospectiva básica para prever o movimento do preço no próximo tick.
A estratégia calcula primeiro a posição fechada em relação à posição aberta:BoP = (close - open) / (high - low)
Em seguida, calcula as EMAs dos períodos 3, 6, 9, 12 e 18.
Desenhar EMAs em cores diferentes mostra que linhas de período mais curtas mudam de direção primeiro, enquanto linhas de período mais longas fornecem suporte e resistência.
A média aritmética dessas EMAs é necessária para obter uma linha abrangente. Olhando para a mudança dessa linha nos dois últimos períodos, ele prevê a tendência no próximo período. Se a linha abrangente subir, vá longo. Se cair, vá curto.
A partir de uma análise de preços, a EMA pode estimar uma tendência geral futura com base em dados históricos.
As vantagens desta estratégia incluem:
O princípio é simples e fácil de entender e aplicar.
Ele agrega o histórico complexo de preços em uma linha abrangente simples para julgar os pontos de entrada e saída por direção.
A combinação de EMAs de vários períodos fornece referências mais abrangentes.
O preenchimento entre as EMAs forma um efeito visual intuitivo para ver uma clara oscilação de preços.
Não há necessidade de definir stop loss ou take profit, evitando negócios desnecessários.
Os riscos desta estratégia incluem:
A previsão baseia-se apenas em dados passados, não garante ocorrência futura.
As mudanças repentinas de preços resultantes de eventos podem tornar imprecisas as previsões.
Múltiplas EMAs podem gerar sinais confusos.
Pode ocorrer uma elevada frequência de negociação e é necessário controlar os intervalos para reduzir a negociação desnecessária.
Os sinais de estratégia estão atrasados, possivelmente causando entrada tardia e stop loss prematuro.
A estratégia pode ser otimizada nos seguintes aspectos:
Otimizar os pesos da EMA para sinais mais claros, por exemplo, aumentar os pesos das EMA de médio e longo prazo.
Adicionar confirmação do indicador de tendência para evitar negociações contra tendência, como usar o ADX para determinar a força da tendência.
Adicionar filtros nos principais níveis de suporte e resistência para reduzir os falsos sinais.
Otimizar as regras de entrada para evitar posições de abertura desnecessárias.
Otimizar métodos de stop loss como curva stop loss ou ATR stop loss.
Adicionar indicadores de sentimento para evitar perseguir altos e baixos, por exemplo, relação longo / curto e fluxo de fundos.
Controle o intervalo para diminuir a frequência de negociação ou otimize o número de negociações para evitar excesso de negociação.
A estratégia de Balanço de Oscilação julga pontos de entrada e saída de forma simples e intuitiva, calculando oscilação de preços e visualizando EMAs de vários períodos. Embora existam riscos como atraso de previsão e sinais errados, ela pode ser otimizada adicionando filtros, métodos de stop loss, etc. Ela fornece referências úteis ao negociar tendências. Esta estratégia é adequada para traders de curto prazo e analistas de padrões visuais.
/*backtest start: 2022-10-13 00:00:00 end: 2023-10-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Balance of Power", format=format.price, precision=2) BoP = (close - open) / (high - low) p1 = plot(ema(BoP,18),color=color.purple) p2 = plot(ema(BoP,12),color=color.blue) p3 = plot(ema(BoP,9),color=color.green) p4 = plot(ema(BoP,6),color=color.yellow) p5 = plot(ema(BoP,3),color=color.orange) p6 = plot(BoP, color=color.red) sumEMA = (avg(BoP,ema(BoP,3),ema(BoP,6),ema(BoP,9),ema(BoP,12),ema(BoP,18))) plot(sumEMA,color=color.gray) fill(p1,p2,color.purple) fill(p2,p3,color.blue) fill(p3,p4,color.green) fill(p4,p5,color.yellow) fill(p5,p6,color.orange) projected = sumEMA + (sumEMA - sumEMA[2]) p7 = plot(projected, linewidth=2, color=color.white) fill(p6,p7,color.red) //strategy.exit("exitx","Exit",when=cross(projected,0)) strategy.entry("Long",true,1,when=crossover(projected,0)) strategy.entry("Short",false,0,when=crossunder(projected,0))