
Esta estratégia é baseada em um indicador de diferença de linha média, gerando um sinal de compra quando a linha rápida atravessa a linha lenta e gerando um sinal de venda quando a linha rápida atravessa a linha lenta. A estratégia é simples, clara e fácil de entender, adequada para a operação de linha curta.
A estratégia gera um sinal de negociação calculando o diferencial da linha média do EMA de dois parâmetros diferentes e calculando seu próprio EMA sobre esse diferencial. Especificamente, se selecionar um período de período, calcular o período / 2 vezes o período de EMA como linha rápida, calcular o período de EMA como linha lenta, a diferença entre os dois EMAs constitui o diferencial.
A estratégia é simples e direta, para julgar a tendência dos preços através de um indicador de diferença de dupla linha de equilíbrio, e é uma estratégia típica de acompanhamento de tendências. Quando os preços estão em um mercado de tendência, o efeito é evidente; Quando os preços oscilam, geram vários sinais errados.
A estratégia tem as seguintes vantagens:
A estratégia é simples, intuitiva, fácil de entender e apropriada para os iniciantes;
O indicador de diferença de linha média é sensível às mudanças de preço e pode capturar de forma eficaz as mudanças de tendência;
O sistema operacional é mais flexível, com menos parâmetros de estratégia, mais fácil de otimizar e com maior flexibilidade de ajuste no disco rígido.
Uma combinação de indicadores de longo e curto prazo configurável para diferentes cenários de mercado;
Pode-se configurar uma estratégia de stop loss para reduzir os prejuízos de acordo com as preferências de risco individuais.
A estratégia também apresenta os seguintes riscos:
A taxa de falsidade de relatos de eventos sísmicos é alta e requer apoio para avaliar tendências de grande escala.
A falta de um ponto de inflexão e a existência de um certo atraso na determinação do ponto de inflexão;
A necessidade de se concentrar na otimização dos parâmetros dos indicadores de diferença de média, para evitar que sejam demasiado sensíveis ou atrasados;
O número de transações é maior, o custo de transação pode ser mais alto, e é necessário controlar o tamanho da posição.
A solução é a seguinte:
A análise de tendências gerais em combinação com a média de longo período evita erros de mercado de turbulência;
Identificar pontos de venda e venda em combinação com outros indicadores de reversão, reduzindo o risco de atraso;
Testar combinações de parâmetros para encontrar o melhor;
Optimizar a estratégia de stop loss para reduzir as perdas individuais.
A estratégia pode ser otimizada em:
Testar diferentes combinações de parâmetros de equilíbrio para encontrar o parâmetro ideal;
Aumentar os indicadores de avaliação de tendências, distinguindo tendências e oscilações;
A combinação de indicadores de inversão para determinar pontos de venda e compra aumenta a precisão;
Otimizar estratégias de stop loss para reduzir perdas.
Testar diferentes parâmetros de ciclo pode aumentar a estabilidade da estratégia para a adaptabilidade de diferentes situações. Aumentar o julgamento de tendências pode reduzir a falsidade. Os indicadores de reversão podem melhorar a escolha do momento de compra e venda.
A estratégia de acompanhamento de tendências baseada no diferencial de linha média é clara e fácil de entender. A estratégia de acompanhamento de tendências baseada no diferencial de linha média é uma estratégia típica de acompanhamento de tendências. A estratégia em si é muito simples, fácil de implementar e adequada para manipulação de linhas curtas e médias.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title='Devick', overlay=true)
// Input parameters
period = input(title='Period', defval=21)
// Calculate moving averages
n2ma = 2 * ta.ema(close, math.round(period / 2))
nma = ta.ema(close, period)
diff = n2ma - nma
sqn = math.round(math.sqrt(period))
n2maPrev = 2 * ta.ema(close[1], math.round(period / 2))
nmaPrev = ta.ema(close[1], period)
diffPrev = n2maPrev - nmaPrev
sqnPrev = math.round(math.sqrt(period))
n1 = ta.ema(diff, sqn)
n2 = ta.ema(diffPrev, sqnPrev)
// Determine color based on condition
maColor = n1 > n2 ? color.green : color.red
// Plot moving average
ma = plot(n1, color=maColor, linewidth=2)
// Signals
buySignal = n1 > n2 and n1[1] <= n2[1]
sellSignal = n1 <= n2 and n1[1] > n2[1]
// Plot shapes for signals
plotshape(series=buySignal, title='Buy Signal', style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small)
plotshape(series=sellSignal, title='Sell Signal', style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small)
// Alerts
alertcondition(condition=buySignal, title='Buy Signal', message='Buy Signal Detected')
alertcondition(condition=sellSignal, title='Sell Signal', message='Sell Signal Detected')
// Trading hours
openHour = 16
closeHour = 17
// Open position at 4 pm
openCondition = hour == openHour and minute == 0
strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)
// Close all positions at 5 pm
closeCondition = hour == closeHour and minute == 0
strategy.close_all(when=closeCondition)