
A estratégia de duplo equilíbrio é uma estratégia clássica de acompanhamento de tendências. A estratégia usa médias móveis de dois períodos diferentes para capturar a tendência do mercado, gerando um sinal de multiplicação quando a linha de equilíbrio rápido atravessa a linha de equilíbrio lento e um sinal de ruptura quando a linha de equilíbrio rápido atravessa a linha de equilíbrio lento. A ideia central da estratégia é que a linha de equilíbrio rápido é mais sensível às mudanças de preços e responde mais rapidamente às mudanças na tendência do mercado, enquanto a linha de equilíbrio lenta responde à tendência de longo prazo do mercado.
O código da estratégia usa duas médias móveis, uma média rápida (default 14 period) e uma média lenta (default 28 period). Os tipos de médias móveis podem ser escolhidos como média móvel simples (SMA), média móvel indexada (EMA), média móvel ponderada (WMA) e média móvel relativa (RMA).
A principal lógica da estratégia é a seguinte:
Através dessa lógica, a estratégia pode acompanhar as principais tendências do mercado, mantendo posições de cabeça em alta tendência, mantendo posições de cabeça vazia em baixa tendência ou posições de cabeça vazia em espera. O ciclo e o tipo de linha média podem ser ajustados e otimizados de acordo com diferentes mercados e variedades de negociação.
Para combater esses riscos, as seguintes medidas podem ser tomadas:
Essas otimizações podem aumentar a adaptabilidade e a estabilidade das estratégias, adaptando-as melhor a diferentes condições de mercado. No entanto, é importante ter em mente que a otimização excessiva pode levar a estratégias de sobreajuste que não funcionam bem no mercado real.
A estratégia de cruzamento de dupla linha de equilíbrio é uma estratégia clássica de acompanhamento de tendências, que gera sinais de negociação através do cruzamento de médias móveis em dois períodos diferentes. Sua lógica é simples, fácil de implementar e é aplicável a mercados em tendência.
/*backtest
start: 2024-02-09 00:00:00
end: 2024-03-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © z4011
//@version=5
strategy("#2idagos", overlay=true, margin_long=100, margin_short=100)
allowShorting = input.bool(true, "Allow Shorting")
fastMALength = input.int(14, "Fast MA Length")
slowMALength = input.int(28, "Slow MA Length")
fastMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
slowMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
float fastMA = switch fastMAType
"Simple" => ta.sma(close, fastMALength)
"Exponential" => ta.ema(close, fastMALength)
"Weighted" => ta.wma(close, fastMALength)
"Relative" => ta.rma(close, fastMALength)
plot(fastMA, color = color.aqua, linewidth = 2)
float slowMA = switch slowMAType
"Simple" => ta.sma(close, slowMALength)
"Exponential" => ta.ema(close, slowMALength)
"Weighted" => ta.wma(close, slowMALength)
"Relative" => ta.rma(close, slowMALength)
plot(slowMA, color = color.blue, linewidth = 2)
longCondition = ta.crossover(fastMA, slowMA)
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = ta.crossunder(fastMA, slowMA) and allowShorting
if (shortCondition)
strategy.entry("Short", strategy.short)
closeCondition = ta.crossunder(fastMA, slowMA) and not allowShorting
if (closeCondition)
strategy.close("Long", "Close")