
Esta estratégia é baseada em um sinal de compra e venda baseado em um cruzamento de médias móveis convencionais, mas com algumas modificações para produzir um sinal de negociação mais preciso. A estratégia combina uma combinação de médias móveis rápidas e médias móveis lentas para determinar a tendência e pertence à estratégia de acompanhamento de tendências.
Quando a média móvel rápida quebra a média móvel lenta da direção inferior, é considerado um sinal de compra; Quando a média móvel rápida cai da direção superior para abaixo da média móvel lenta, é considerado um sinal de venda. Ou seja, o Gold Fork faz mais, o Dead Fork faz menos.
A chave para esta estratégia é a escolha de uma linha média rápida e lenta. Esta estratégia usa uma média móvel exponencial de 50 e 100 de comprimento como linha rápida e lenta. O efeito da estratégia pode ser otimizado ajustando os parâmetros da linha média.
A estratégia, combinada com a dupla linha de equilíbrio para determinar a direção da tendência, pode filtrar efetivamente o ruído do mercado e identificar a tendência. Comparada à estratégia de linha de equilíbrio única, a estratégia pode aumentar a probabilidade de lucro. Além disso, a configuração de stop loss também pode limitar a perda de negociações individuais.
A estratégia usa princípios cruzados para determinar os pontos de inflexão da tendência e capturar oportunidades de tendência em tempo hábil. Em comparação com estratégias que incluem lógica condicional complexa, a estratégia é fácil de entender e de implementar.
A estratégia pode ter três riscos: risco de parâmetros de linha média inadequados, risco de tempo de posse inadequado e risco de posição de parada inadequada.
A escolha inadequada dos parâmetros da linha média pode gerar sinais falsos. Se a linha média for muito curta ou muito longa, o mercado será julgado erroneamente e deve ser adequadamente ajustado para corresponder às características específicas da variedade.
Por um período de tempo muito longo ou muito curto, não é possível maximizar o lucro ou controlar o risco. É necessário testar diferentes saídas para determinar o melhor período de detenção.
Se a posição do stop loss não for adequada, o stop loss será demasiado relaxado ou demasiado apertado. Deverá ser determinado o ponto de stop loss adequado de acordo com a taxa de flutuação da variedade.
A estratégia pode ser melhorada em vários aspectos:
Teste mais combinações de parâmetros médios para encontrar o melhor parâmetro
Determinação de uma posição de parada dinâmica com base nas mais recentes flutuações de preço de N dias ou ATR
Combinação de mais indicadores para determinar o tempo de entrada, como MACD, KD, etc.
Adição de regras de filtragem de tendências para evitar a liquidação do mercado
Pode-se considerar aplicar a estratégia a mais variedades, ou melhorá-la para uma estratégia entre variedades
A estratégia de otimização de cruzamento de média móvel integra os benefícios de determinar a direção da tendência em média lenta e rápida, definir um stop loss para controlar o risco e é uma estratégia de acompanhamento de tendência fácil de implementar. A estratégia pode aumentar ainda mais a estabilidade e a eficiência por meio de otimização de parâmetros, otimização de stop loss e filtragem de sinais.
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-03 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ashishchauhan
strategy(title="MA CO Strategy Test", overlay=true, pyramiding=0, initial_capital=100000)
fastEMALen = input(title="Fast EMA Length", type=input.integer, defval=50)
slowEMALen = input(title="Slow EMA Length", type=input.integer, defval=100)
fastEMA = ema(close, fastEMALen)
slowEMA = ema(close, slowEMALen)
enterLong = crossover(fastEMA, slowEMA)
enterShort = crossunder(fastEMA, slowEMA)
longStop = 0.0
longStop := enterShort ? close : longStop[1]
shortStop = 0.0
shortStop := enterLong ? close : shortStop[1]
plot(series=fastEMA, color=color.orange, title="Fast EMA")
plot(series=slowEMA, color=color.teal, linewidth=3, title="Slow EMA")
if enterLong
strategy.entry(id="GoLong", long=true)
if enterShort
strategy.entry(id="GoShort", long=false)
if strategy.position_size > 0
strategy.exit(id="ExLong", from_entry="GoLong", stop=longStop)
if strategy.position_size < 0
strategy.exit(id="ExShort", from_entry="GoShort", stop=shortStop)
strategy.close_all()