Esta estratégia utiliza duas médias móveis com parâmetros diferentes, uma média móvel mais rápida e uma média móvel mais lenta. Quando a média móvel mais rápida cruza acima da média móvel mais lenta, um sinal de compra é gerado. Quando a média móvel mais rápida cruza abaixo da média móvel mais lenta, um sinal de venda é gerado. Além disso, um sinal de venda é gerado se a média móvel mais lenta cruza acima da média móvel mais rápida.
A lógica central desta estratégia é baseada na teoria da cruz de ouro das médias móveis. A chamada cruz de ouro refere-se à média móvel rápida cruzando acima da média móvel lenta, que é considerada como um sinal de reversão do mercado e geralmente indica movimento ascendente no preço. A cruz da morte, por outro lado, refere-se à média móvel rápida cruzando abaixo da média móvel lenta, indicando movimento de preço descendente.
Especificamente, esta estratégia define duas médias móveis - uma média móvel rápida com comprimento de 10 dias e uma média móvel lenta com comprimento de 30 dias. No final de cada barra de velas, os valores dessas duas médias móveis são calculados. Se a média móvel rápida cruzar acima da média móvel lenta, um sinal de compra é gerado.
Para reduzir as perdas em tempo útil, se a média móvel lenta cruzar acima da média móvel rápida, também é gerado um sinal de venda para fechar todas as posições diretamente.
Esta estratégia tem as seguintes vantagens:
Utiliza a teoria da cruz de ouro das médias móveis, que é uma estratégia de negociação de indicadores técnicos simples e eficaz.
A média móvel rápida tem um parâmetro de 10 dias, que pode responder rapidamente às mudanças de preços. A média móvel lenta tem um parâmetro de 30 dias, que pode filtrar o ruído do mercado de forma eficaz.
A estratégia incorpora um mecanismo de stop loss que reduz rapidamente as perdas quando surgem padrões desfavoráveis, controlando efetivamente os riscos.
A lógica da estratégia é simples de entender e implementar, adequada para execução automatizada na negociação quantitativa.
Os parâmetros do indicador podem ser ajustados de forma flexível para negociar diferentes produtos.
Embora a estratégia tenha vantagens óbvias, há também certos riscos a tomar em consideração:
Se ocorrer uma tendência prolongada no mercado, pode gerar sinais falsos frequentes.
As próprias médias móveis têm uma natureza de atraso, o que pode causar algum atraso na geração de sinal.
As estratégias de indicadores únicos são facilmente equivocadas e devem ser combinadas com outros factores para determinar a entrada final.
O posicionamento inadequado do stop loss pode conduzir a perdas desnecessárias.
A estratégia pode ser melhorada:
Mais combinações de parâmetros podem ser testadas para encontrar os comprimentos ideais para médias móveis rápidas e lentas.
A confirmação de outros indicadores, como volume, bandas de Bollinger, etc., pode ser adicionada para melhorar a precisão do sinal.
As médias móveis adaptativas podem ser utilizadas para otimizar os parâmetros de forma dinâmica com base em condições de mercado variáveis.
O controlo do deslizamento pode ser implementado para evitar perdas desnecessárias de deslizamento em períodos de elevada volatilidade.
A estratégia dinâmica de stop loss pode ser adicionada com base no ATR para definir paradas.
Esta estratégia utiliza a simples teoria da média móvel dupla cruz de ouro para fornecer uma estratégia de negociação de indicadores técnicos simples e práticos para negociação quantitativa.
No geral, as estratégias de média móvel têm uma vantagem de probabilidade e, com um controle de risco rigoroso, podem ser lucrativas a longo prazo.
/*backtest start: 2023-12-08 00:00:00 end: 2024-01-07 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Crude Oil Moving Average Crossover", overlay=true) // Define inputs fastLength = input(10, "Fast Length") slowLength = input(30, "Slow Length") // Calculate moving averages fastMA = ta.sma(close, fastLength) slowMA = ta.sma(close, slowLength) // Plot moving averages plot(fastMA, color=color.blue, title="Fast MA") plot(slowMA, color=color.red, title="Slow MA") // Entry conditions longCondition = ta.crossover(fastMA, slowMA) shortCondition = ta.crossunder(fastMA, slowMA) // Exit conditions exitCondition = ta.crossover(slowMA, fastMA) // Execute strategy if longCondition strategy.entry("Buy", strategy.long) if shortCondition strategy.entry("Sell", strategy.short) if exitCondition strategy.close_all() // Plot buy and sell signals plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)