
A estratégia de retração de média móvel é uma estratégia de negociação quantitativa que acompanha a interseção de médias móveis de preços de ações e determina se há uma oportunidade de retração, se houver, em caso de golden fork. A estratégia usa a retração de Fibonacci para definir os pontos de entrada e parada de perda para capturar a retração de preços de curto prazo.
A estratégia baseia-se principalmente em duas médias móveis: a EMA de 14 dias e a SMA de 56 dias. Quando a EMA de 14 dias atravessa a SMA de 56 dias a partir da parte inferior, gera um sinal de compra. Depois disso, o código retrocede até o dia 20 para encontrar um ponto baixo como suporte e, em combinação com o preço próximo do ponto de passagem, traça uma retracção de Fibonacci, com 1.272x retracção como entrada e 0.618x retracção como saída.
A estratégia é dividida em várias etapas:
A estratégia é baseada em um conjunto de estratégias de negociação de ações, que são as principais estratégias de negociação de ações e como elas funcionam.
A estratégia de retração da média móvel tem as seguintes vantagens:
Em geral, esta estratégia é muito adequada para a negociação de reversão de linha curta, e pode ser usada para capturar arbitragem de oportunidades quando há uma certa correção no mercado. A implementação da estratégia também é mais simples e direta.
Apesar de ter suas próprias vantagens, a estratégia de retração da média móvel também apresenta alguns riscos:
Para os riscos acima, podemos definir um tempo de parada mais curto, controlar rigorosamente os perdas individuais; ao mesmo tempo, otimizar a faixa de intervalos da linha de retorno, definir um lucro alvo razoável, evitando assim parte do risco.
A estratégia de retração da média móvel ainda tem muito espaço para otimização, principalmente a partir dos seguintes aspectos:
Testar diferentes configurações de parâmetros, como a duração do ciclo da média móvel, o número de dias de retorno, o múltiplo de retracção, etc., para encontrar o parâmetro ideal;
Aumento do mecanismo de suspensão, que pode ser utilizado para a suspensão múltipla ou móvel, para um melhor controlo do risco;
Em combinação com outros indicadores FILTER, para evitar negociações em condições de mercado inadequadas;
Optimizar a gestão de fundos, estabelecer um tamanho de posição e um limite de risco razoáveis.
A estratégia pode ser melhorada através de testes e otimização de parâmetros, resultando em um desempenho comercial mais estável.
A estratégia de retorno da média móvel é uma estratégia de negociação de linha curta muito prática. Captura oportunidades de reversão de preços em curto prazo, fazendo negociações com pontos de entrada e de parada pré-definidos. A estratégia é clara e simples, fácil de entender e implementar.
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("MAC Pullback", overlay=true)
// Setting up timeperiod for testing
startPeriodYear = input(2014, "Backtest Start Year")
startPeriodMonth = input(1, "Backtest Start Month")
startPeriodDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(startPeriodYear, startPeriodMonth, startPeriodDay, 0, 0)
stopPeriodYear = input(2035, "Backtest Stop Year")
stopPeriodMonth = input(12, "Backtest Stop Month")
stopPeriodDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(stopPeriodYear, stopPeriodMonth, stopPeriodDay, 0, 0)
// Moving Averages
ema14 = ema(close, 14)
ema28 = ema(close, 28)
sma56 = sma(close, 56)
// Plot
plot(ema14, title="ema14", linewidth=2, color=green)
plot(ema28, title="ema28", linewidth=2, color=red)
plot(sma56, title="sma56", linewidth=3, color=blue)
// Strategy
goLong = cross(ema14, sma56) and ema14 > ema28
goShort = cross(ema14, sma56) and ema14 < ema28
// Locate Swing Lows
leftBars = input(20)
rightBars=input(20)
swinglow = pivotlow(close, leftBars, rightBars)
plot(swinglow, style=cross, linewidth=8, color=#00FF00, offset=-rightBars)
if goLong == true and time >= testPeriodStart and time <= testPeriodStop
// We try to make sure that we're catching the first Pullback after the crossover
if ema14[12] < sma56[12]
pivotpoint = lowest(40)[0] //lowest value of the month as our swing low
// We calculate a Fib 1.272 extension (from the previous swing low to
// the crossover long entry's open) and use this as our entry target to short the Pullback
extensiontarget = ((close[1] - pivotpoint) * 1.27) + pivotpoint
shorttarget = ((close[1] - pivotpoint) * 0.618) + pivotpoint
strategy.order("Pullback", strategy.short, 5.0, limit=extensiontarget)
// I would like to use a trailing stop but for know we just hope to get
// filled if the pullback reaches all the way down to the 0.618.
// We also place a tight stop loss since we trying to short an uptrend
strategy.exit("Pullback Exit", "Pullback", limit=shorttarget, loss=400)