
A estratégia é uma estratégia de negociação baseada em médias móveis. Ela usa a média móvel de 45 dias como principal indicador técnico, fazendo operações de compra e venda com base nos sinais de quebra da média móvel.
Quando o preço sobe e quebra a média móvel de 45 dias, gera um sinal de compra; quando a posição é mantida por 8 dias, gera um sinal de venda. Depois disso, se o preço sobe novamente e quebra a média móvel de 45 dias, gera novamente um sinal de compra.
Os princípios da estratégia são:
A lógica de negociação central da estratégia.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
Resposta:
A estratégia pode ser melhorada em vários aspectos:
Otimizar os parâmetros de média móvel para encontrar a melhor combinação de parâmetros. Pode testar diferentes parâmetros de número de dias, como 15 dias, 30 dias e 60 dias.
Otimizar o tempo de detenção, encontrar o melhor número de dias de detenção. Pode testar diferentes períodos de detenção de 5 dias, 10 dias, 15 dias, etc.
Aumentar o stop móvel para acompanhar a tendência e controlar o risco. Por exemplo, o stop de trialing ou o stop ATR.
Filtração de outros indicadores, como MACD, KDJ, etc., para reduzir os sinais falsos.
Optimizar as condições de reentrada para evitar transações excessivamente frequentes, como aumento do período de arrefecimento.
Testar a eficácia em diferentes mercados e diferentes variedades. Os parâmetros precisam ser otimizados para diferentes mercados.
A estratégia de cruzamento de média móvel é uma estratégia de acompanhamento de tendência simples e prática. Utiliza a função de acompanhamento de tendência da média móvel para gerar sinais de negociação em combinação com a ruptura do preço. A vantagem é a facilidade de realização, com o risco de erros de trade-off.
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Moving Average Crossover Strategy", overlay=true)
// Calculate the 45-day moving average
ma_length = 45
ma = ta.sma(close, ma_length)
// Track position entry and entry bar
var bool in_long_position = na
var int entry_bar = na
var int exit_bar = na
// Entry condition: Close price crosses above the 45-day moving average to enter the position
if (not in_long_position and ta.crossover(close, ma) and not na(ma[1]) and close > ma and close[1] < ma[1])
in_long_position := true
entry_bar := bar_index
// Exit condition: Close the position after holding for 8 trading days
if (in_long_position and bar_index - entry_bar >= 8)
in_long_position := false
exit_bar := bar_index
// Re-entry condition: Wait for price to cross over the 45-day moving average again
if (not in_long_position and ta.crossover(close, ma) and not na(ma[1]) and close > ma and close[1] > ma[1] and (na(exit_bar) or bar_index - exit_bar >= 8))
in_long_position := true
entry_bar := bar_index
// Execute long entry and exit
if (in_long_position)
strategy.entry("Long", strategy.long)
if (not in_long_position)
strategy.close("Long")