Estratégia de Cruz Dourada e Cruz da Morte
Visão Geral
Esta estratégia utiliza o princípio do cruzamento dourado e da cruz da morte das médias móveis simples para realizar posições longas e curtas em ações. Quando a linha rápida cruza para cima a linha lenta, é feita uma posição longa; quando a linha rápida cruza para baixo a linha lenta, é feita uma posição curta.
Princípio da Estratégia
A estratégia primeiro define o período de início e fim do backtest, depois configura os parâmetros de cálculo para as duas médias móveis, incluindo o tipo de média móvel e o comprimento do período.
Os valores das duas médias móveis são calculados pela função getMAType(). A fastMA é a média móvel de curto período, e a slowMA é a média móvel de longo período.
A lógica central da estratégia é:
- Quando a
fastMAcruza para cima aslowMA, é gerado um sinal de compra (long); - Quando a
fastMAcruza para baixo aslowMA, é gerado um sinal de venda (short).
Finalmente, durante o período de backtest, ao encontrar um sinal de compra, adota-se uma estratégia de posição longa; ao encontrar um sinal de venda, adota-se uma estratégia de posição curta.
Análise de Vantagens
- A lógica da estratégia é clara e simples, fácil de entender e implementar.
- Utiliza o princípio amplamente aplicado de cruzamento de médias móveis, adequado para a maioria das ações.
- Permite personalizar o tipo e os parâmetros da média móvel, com alta adaptabilidade.
- Adota uma estrutura de estratégia modular, com funções bem definidas para cada parte, facilitando otimizações futuras.
Análise de Riscos
- O cruzamento de médias móveis tem certo atraso, podendo perder algumas oportunidades de negociação.
- Não consegue filtrar eficazmente mercados laterais, podendo resultar em armadilhas.
- A otimização de parâmetros não é suficientemente abrangente ou sistemática, necessitando de experiência manual auxiliar.
- Não consegue controlar eficazmente o risco e a perda de cada negociação individual.
Em relação aos riscos, as seguintes melhorias podem ser consideradas:
- Adicionar outros indicadores técnicos como filtro para identificar tendências.
- Adicionar estratégias de stop loss para controlar perdas individuais.
- Introduzir indicadores de volume para evitar negociações em mercados laterais.
- Estabelecer um mecanismo de otimização de parâmetros para encontrar automaticamente a melhor combinação de parâmetros.
Direções de Otimização
Esta estratégia pode ser otimizada nos seguintes aspectos:
- Adicionar estratégias de stop loss, como definir um stop loss fixo ou trailing stop, para controlar perdas.
- Adicionar estratégias de gerenciamento de posição, como posição fixa ou dinâmica, para controlar riscos de negociação.
- Adicionar filtros, combinando outros indicadores técnicos para identificar tendências e aumentar a taxa de acerto.
- Otimizar as configurações de parâmetros, utilizando métodos como busca em grade ou regressão linear para encontrar os parâmetros ideais.
- Expandir as estratégias de compra e venda, como reversão por quebra de suporte/resistência, construção de posições em lotes, etc., enriquecendo as táticas de negociação.
- Adicionar indicadores de volume para evitar ser pego em mercados laterais.
- Diversificar os instrumentos negociados, expandindo para futuros de índices, forex, criptomoedas e outros ativos.
Resumo
Esta estratégia utiliza o princípio do cruzamento de médias móveis para selecionar posições longas e curtas em ações. A lógica da estratégia é simples e clara, amplamente utilizada, com alta adaptabilidade e certo valor prático. No entanto, a estratégia também apresenta desvantagens como certo atraso e incapacidade de filtrar eficazmente mercados laterais. Futuramente, pode ser otimizada em aspectos como aperfeiçoamento do stop loss, otimização de parâmetros e adição de filtros, tornando a estratégia mais vantajosa.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//strategy("Golden X BF Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)
/////////////// Time Frame ///////////////- 1
