Esta estratégia usa uma média móvel de dois índices para determinar a direção de um mercado de ativos. Faça mais quando o preço sobe e ultrapassa a média, e faça menos quando o preço desce e ultrapassa a média. Esta estratégia combina o julgamento de tendências e a sobrevenda com a sobrevenda para bloquear o lucro.
A estratégia baseia-se em um indicador de média móvel de dois índices. O parâmetro de comprimento no indicador é definido como um período de média de 20 dias. O parâmetro de preço é definido como o preço de fechamento. xPrice é definido como o preço de fechamento.
A estratégia determina a direção da quebra da média, combinando o máximo e o mínimo em tempo real para determinar a eficácia da quebra e evitar a falsa quebra. O sinal de negociação é emitido apenas quando o preço realmente quebra a média.
O uso de médias móveis binárias permite determinar a direção da tendência com mais precisão.
A combinação de preços mais altos e mais baixos para determinar a eficácia de uma ruptura evita a ocorrência de falsas rupturas causadas por uma onda de preços.
Pode-se facilmente fazer mais direção de vazio através de ajustes de parâmetros reversos, adaptando-se a diferentes condições de mercado.
O filtro de ruído do mercado é efetivo apenas quando a média é ultrapassada.
As médias móveis binárias são por vezes insensíveis e podem perder oportunidades de negociação de curto prazo.
Os sistemas de média móvel são propensos a produzir falsos sinais frequentes em mercados de liquidação.
A estratégia é adequada para um mercado de tendências, e não para a correção de mercados de turbulência.
O risco de expansão dos prejuízos não foi levado em conta.
Não se define o tamanho da posição, o que pode levar a um mau controlo do risco.
Pode ser combinado com outros indicadores para avaliar a tendência do mercado, evitando transações frequentes no mercado de liquidação.
Pode ser adicionado um stop loss dinâmico para controlar o risco de perda individual.
Os parâmetros das médias móveis podem ser ajustados de acordo com a volatilidade do mercado, otimizando a sensibilidade do indicador.
Pode-se definir o tamanho da posição, controlando o risco e ampliando os lucros.
Pode-se fazer otimização de parâmetros por meio do método Walk Forward Analysis.
Esta estratégia usa um indicador de média móvel de dois índices para determinar a direção da tendência dos preços e, em combinação com o preço mais alto e o preço mais baixo, evita falsas rupturas. Há espaço para melhorias na otimização do mecanismo de parada de perdas, controle do tamanho da posição, etc. No entanto, a estratégia é simples e prática em geral, pode ser adaptada a diferentes condições de mercado por meio de ajustes de parâmetros.
/*backtest
start: 2023-09-07 00:00:00
end: 2023-10-07 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 27/12/2016
// Strategy
// This indicator plots 2/20 exponential moving average. For the Mov
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Strategy 2/20 Exponential Moving Average", overlay = true)
Length = input(20, minval=1)
reverse = input(false, title="Trade reverse")
xPrice = close
xXA = ema(xPrice, Length)
nHH = max(high, high[1])
nLL = min(low, low[1])
nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH)
pos = iff(close > xXA and close > nXS , 1,
iff(close < xXA and close < nXS, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nXS, color=blue, title="XAverage")