
Esta estratégia permite uma geração de sinais de negociação mais precisa e confiável e um controle de risco mais rigoroso, através de várias otimizações do indicador MACD clássico. Os principais otimizações incluem: 1 introdução do indicador RSI para evitar o excesso de compra e venda; 2 adição de confirmação de volume de transação; 3 configuração de um stop loss; 4 otimização do conjunto de parâmetros.
O princípio básico ainda é que o indicador MACD faz mais com o garfo de linha rápido e lento, e o garfo de linha morto faz menos. As principais otimizações são:
A introdução do indicador RSI evita a criação de falsos sinais quando o mercado está sobrevalorizado ou subvalorizado. O RSI pode efetivamente refletir a pressão de compra e venda do mercado.
Adicionando a quantidade de transação, o sinal só é gerado se a quantidade de transação for aumentada, evitando que a ruptura seja ineficaz. A amplificação da quantidade de transação pode confirmar a força da tendência.
O mecanismo de parada de perda pode ser configurado para acompanhar dinamicamente as flutuações do mercado e controlar o risco dentro do alcance aceitável. A parada de perda pode controlar efetivamente as perdas individuais; a parada pode bloquear os lucros e evitar o retorno dos lucros.
Otimizar a combinação de parâmetros MACD, ajustar os parâmetros da linha rápida e lenta e da linha de sinal para obter uma combinação de parâmetros melhor e produzir um sinal de negociação mais preciso.
Esta estratégia de MACD com otimização múltipla tem as seguintes vantagens significativas:
A redução da produção de sinais falsos, a maior confiabilidade e precisão do sinal.
O rigoroso mecanismo de stop-loss controla o risco de negociação e maximiza o lucro.
Os parâmetros do MACD foram ajustados para melhor se adequar a diferentes variedades e períodos de tempo.
A combinação de múltiplos indicadores gera sinais, é sistemática e adapta-se a um ambiente de mercado mais amplo.
No geral, a eficiência financeira e a relação de risco-benefício são muito melhores.
A estratégia também apresenta alguns riscos que devem ser evitados:
Os parâmetros de otimização não são necessariamente 100% adequados para todas as variedades e períodos e precisam ser ajustados de acordo com a situação real.
A frequência de geração de sinais será reduzida, existindo um certo risco de falhas.
Em situações extremas de mercado, vários indicadores podem emitir sinais de conflito, que requerem um julgamento manual.
A parada automática pode ser prematura em casos de salto rápido, trazendo algum risco para os lucros.
A contra-medida consiste principalmente em um julgamento de vigilância manual, ajustando os parâmetros de acordo com as condições do mercado e controlando o tamanho da posição.
A estratégia pode continuar a ser melhorada em:
Testar combinações de mais indicadores, como banda de Brin, KD, etc., formando um grupo de indicadores para determinar.
Aplicar algoritmos de aprendizagem de máquina para otimizar automaticamente os parâmetros e torná-los mais inteligentes.
Adotar estratégias de gestão de fundos mais rigorosas, como a quota fixa, a fórmula Kelly, etc.
Desenvolver estratégias automáticas de paragem, ajustando o ponto de paragem de acordo com a tendência e oscilação.
Aplicação de algoritmos de ponta, como aprendizagem profunda, para previsões mais precisas.
Esta estratégia, através da otimização múltipla dos indicadores MACD originais, resolve as deficiências do MACD que são propensas a produzir falsos sinais e insuficiente controle de risco. A combinação de vários indicadores e o uso de bloqueadores de perda tornam os sinais mais precisos e confiáveis, e o controle de risco é mais rigoroso. Esta estratégia merece ser desenvolvida e aplicada, e é um exemplo de melhoria dos indicadores MACD.
/*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("优化版MACD交易策略 ", overlay=true)
// 输入参数
fastLength = input(16, "快速线周期")
slowLength = input(34, "慢速线周期")
signalSmoothing = input(10, "信号线平滑")
rsiPeriod = input(19, "RSI周期")
overboughtRsi = 70
oversoldRsi = 30
volumeAvgPeriod = input(13, "成交量平均周期")
stopLossPerc = input.float(10.5, "止损百分比", step=0.1)
takeProfitPerc = input.float(0.3, "止盈百分比", step=0.1)
// 计算指标
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
rsi = ta.rsi(close, rsiPeriod)
volumeAvg = ta.sma(volume, volumeAvgPeriod)
// 交易信号
longCondition = ta.crossover(macdLine, signalLine) and macdLine > 0 and rsi < overboughtRsi and volume > volumeAvg
shortCondition = ta.crossunder(macdLine, signalLine) and macdLine < 0 and rsi > oversoldRsi and volume > volumeAvg
// 止损和止盈
longStopLossPrice = close * (1 - stopLossPerc / 100)
longTakeProfitPrice = close * (1 + takeProfitPerc / 100)
shortStopLossPrice = close * (1 + stopLossPerc / 100)
shortTakeProfitPrice = close * (1 - takeProfitPerc / 100)
// 执行交易
if longCondition
strategy.entry("买入", strategy.long)
strategy.exit("买入止损止盈", "买入", stop=longStopLossPrice, limit=longTakeProfitPrice)
if shortCondition
strategy.entry("卖出", strategy.short)
strategy.exit("卖出止损止盈", "卖出", stop=shortStopLossPrice, limit=shortTakeProfitPrice)