
Dual Moving Average Crossover Quantitative Trading Strategy (estratégia de negociação quantitativa com média móvel dupla)
A estratégia baseia-se em sinais de cruzamento de duas médias móveis ((MA) de diferentes períodos para tomar decisões de negociação. Quando o MA curto atravessa o MA longo, gera um sinal de compra; Quando o MA curto atravessa o MA longo, gera um sinal de venda. A estratégia tenta capturar a tendência de médio e longo prazo dos preços, obtendo lucros através do rastreamento de tendências.
A estratégia usa duas médias móveis de diferentes períodos como indicadores técnicos principais. Uma é a média móvel de curto prazo, usada para refletir a tendência de curto prazo dos preços; a outra é a média móvel de longo prazo, usada para refletir a tendência de médio e longo prazo dos preços.
Especificamente, quando a curta MA atravessa a longa MA, indica que o preço pode entrar em uma tendência ascendente, na qual a estratégia produz um sinal de compra. Por outro lado, quando a curta MA atravessa a longa MA, indica que o preço pode entrar em uma tendência descendente, na qual a estratégia produz um sinal de venda.
A implementação da estratégia em código utiliza principalmente os seguintes passos:
inputA função define os parâmetros de ciclo de MA de curto e MA de longo prazo, para facilitar a personalização do usuário.ta.smaA função calcula MA ≠ curto prazo.strategy.entryFunção de negociação baseada em um sinal de compra e venda.plotshapeA função marca os sinais de compra e venda no gráfico.plotA função traça uma curva MA curta no gráfico.Através de uma combinação orgânica desses passos, a estratégia pode ajustar dinamicamente as posições de acordo com as mudanças de cruzamento das médias móveis, tentando obter lucros contínuos das tendências do mercado.
Para combater esses riscos, as seguintes medidas podem melhorar a estratégia:
O objetivo dessas direções de otimização é melhorar a adaptabilidade, a robustez e a capacidade de lucro das estratégias, melhorando a resposta às mudanças e desafios do mercado. Com a otimização e melhoria contínua, as estratégias podem ter um melhor efeito na aplicação real.
A estratégia de negociação quantitativa de cruzamento de duas médias móveis é uma estratégia de acompanhamento de tendências simples, fácil de entender e adaptável. Ela julga a tendência dos preços através da mudança cruzada de duas médias móveis de diferentes períodos, tentando capturar oportunidades de médio e longo prazo no mercado. A vantagem da estratégia reside na simplicidade do princípio, na facilidade de implementação e otimização e se aplica a vários mercados financeiros.
Para melhorar a estratégia, pode começar a partir de otimização de parâmetros, filtragem de sinais, gerenciamento de posições, combinação de vários indicadores, entre outros aspectos, para melhorar a adaptabilidade e a solidez da estratégia. A revisão e o ajuste periódicos da estratégia também são necessários para se adaptar às mudanças dinâmicas do mercado.
Em geral, a estratégia de cruzamento de duas médias móveis fornece uma estrutura básica de negociação quantitativa, mas, na aplicação prática, ela também precisa ser otimizada e melhorada de acordo com as características específicas do mercado e as necessidades de investimento para obter melhores resultados. Para os comerciantes de quantidade, o estudo e a otimização da estratégia podem ajudar a entender as leis do mercado e acumular experiência prática valiosa.
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA Crossover Strategy", overlay=true)
// SMA parametrelerini ayarla
sma_short_length = input.int(15, "Kısa SMA Uzunluğu")
sma_long_length = input.int(200, "Uzun SMA Uzunluğu")
// Hareketli ortalama hesaplamalarını yap
sma_short = ta.sma(close, sma_short_length)
// Fiyatın SMA'yı yukarı veya aşağı kestiğini kontrol et
price_above_sma = close > sma_short
price_below_sma = close < sma_short
// Alım-Satım noktalarını belirle
longCondition = (close[1] < sma_short[1] and close > sma_short) and price_above_sma
shortCondition = (close[1] > sma_short[1] and close < sma_short) and price_below_sma
// Al-Sat stratejisi
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Fiyatın kısa SMA'yı yukarı kesme noktalarını göster
plotshape(series=longCondition, title="Long", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
// Fiyatın kısa SMA'yı aşağı kesme noktalarını göster
plotshape(series=shortCondition, title="Short", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// Hareketli ortalamaları grafiğe çiz
plot(sma_short, color=color.blue, title="Kısa SMA")