
A estratégia de indicadores duplos (Dual Indicator Strategy) é uma estratégia de negociação quantitativa que combina uma média móvel simples (SMA) e uma média móvel convergente e dispersa (MACD). A estratégia usa vários indicadores técnicos para confirmar sinais de negociação, com o objetivo de aumentar a precisão das decisões de negociação.
A estratégia de duplo indicador baseia-se principalmente em dois indicadores técnicos: SMA e MACD. A estratégia usa SMA de 7, 15 e 60 linhas K, e MACD com configuração de parâmetros padrão 12/26/9.
Quando 7 SMAs são superiores a 15 e 60 SMAs, e 15 SMAs também são superiores a 60 SMAs, é considerado um sinal de otimização dado pelo indicador SMA, com probabilidade de 0,5
Ao mesmo tempo, quando o indicador MACD atravessa a linha MACD, também é considerado um sinal de pesquisa do indicador MACD, com probabilidade de 0,5 ◦.
Quando a probabilidade de um sinal positivo de ambos os indicadores é igual a 1, a compra é feita e a posição aberta.
Em contrapartida, quando 7 SMAs são inferiores a 15 e 60 SMAs, e 15 SMAs também são inferiores a 60 SMAs, é considerado um sinal de baixa dado pelo indicador SMA, com probabilidade de 0,5 .
Ao mesmo tempo, quando o MACD do indicador MACD passa pela linha de sinal abaixo, também é considerado um sinal de queda do indicador MACD, com probabilidade de 0,5 .
Quando a probabilidade de sinais de baixa de ambos os indicadores somados é igual a 1, a posição é vendida e aberta.
Além disso, a estratégia usa dois pontos de parada diferentes: quando o preço sobe ou desce 9%, a posição é liquidada em 50%; quando o preço sobe ou desce 21%, todas as posições restantes são liquidadas.
Se surgir um sinal oposto à direção da posição atual, a posição anterior será liquidada e a posição será aberta de acordo com o novo sinal.
A maior vantagem da estratégia de duplo indicador é que você pode usar os dois indicadores simultaneamente. O SMA pode monitorar eficazmente as mudanças na tendência dos preços, filtrando o ruído do mercado; enquanto o MACD pode detectar o tempo de reversão de tendência em curto prazo.
Além disso, o uso de múltiplos grupos de SMA com diferentes configurações de parâmetros ajuda a identificar tendências de médio e longo prazo; enquanto a estratégia de stop-loss pode bloquear parte dos lucros e controlar o risco.
A estratégia de duplo indicador também tem alguns riscos potenciais a serem observados. Devido à dependência apenas de indicadores técnicos, pode haver situações em que os indicadores emitem sinais errados. Além disso, a configuração inadequada do pára-choques também pode levar a uma saída prematura, perdendo a queda do prédio.
Pode-se otimizar a estratégia, ajustando os parâmetros do ciclo SMA ou adicionando outros indicadores de flutuação, para garantir que os sinais de negociação sejam mais confiáveis. Ao mesmo tempo, o nível de parada também precisa ser ajustado dinamicamente com base na volatilidade do mercado, para garantir que a tendência possa ser continuamente capturada.
A estratégia de duplo indicador também tem espaço para otimização:
O teste adiciona outros indicadores técnicos, como o RSI, a faixa de Brin, etc., formando um filtro de múltiplos indicadores;
Experimentar com algoritmos de aprendizagem de máquina para criar modelos de decisão de sinais de transação com múltiplas variáveis;
Adaptação de estratégias para diferentes variedades e períodos;
Aumentar as estratégias de prevenção de perdas e controlar rigorosamente as perdas individuais;
Otimizar estratégias de parada de tendência para manter o lucro em uma tendência.
O feedback e a otimização dos sistemas permitem melhorar continuamente a estabilidade e a rentabilidade das estratégias.
A estratégia de duplo indicador combina os benefícios dos dois indicadores SMA e MACD para controlar eficazmente o risco de negociação, ao mesmo tempo em que aumenta a precisão do sinal. A estratégia tem um bom espaço de otimização e escalabilidade e é uma estratégia de negociação quantitativa confiável e adaptável.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA & MACD Dual Direction Strategy", shorttitle="SMDDS", overlay=true, initial_capital=1000)
// SMA settings
sma7_length = input.int(7, title="7 Candle SMA Length")
sma15_length = input.int(15, title="15 Candle SMA Length")
sma60_length = input.int(60, title="60 Candle SMA Length")
// MACD settings
fast_length = input.int(12, title="Fast Length")
slow_length = input.int(26, title="Slow Length")
signal_length = input.int(9, title="Signal Length")
// Leverage
leverage = 10
// Calculate the SMAs
sma7 = ta.sma(close, sma7_length)
sma15 = ta.sma(close, sma15_length)
sma60 = ta.sma(close, sma60_length)
// Calculate the MACD line and Signal line
[macdLine, signalLine, _] = ta.macd(close, fast_length, slow_length, signal_length)
// SMA-based Probabilities
smaBullishProb = (sma7 > sma15 and sma7 > sma60 and sma15 > sma60) ? 0.5 : 0.0
smaBearishProb = (sma7 < sma15 and sma7 < sma60 and sma15 < sma60) ? 0.5 : 0.0
// MACD-based Probabilities
macdBullishProb = ta.crossover(macdLine, signalLine) ? 0.5 : 0.0
macdBearishProb = ta.crossunder(macdLine, signalLine) ? 0.5 : 0.0
// Combined Probabilities
combinedBullishProb = smaBullishProb + macdBullishProb
combinedBearishProb = smaBearishProb + macdBearishProb
// Trade logic using `if` conditions
if combinedBullishProb == 1.0
strategy.close("Short")
strategy.entry("Long", strategy.long, qty=leverage)
if combinedBearishProb == 1.0
strategy.close("Long")
strategy.entry("Short", strategy.short, qty=leverage)
// Exit conditions based on profit points
longTargetProfit1 = close * 1.09
longTargetProfit2 = close * 1.21
shortTargetProfit1 = close * 0.91
shortTargetProfit2 = close * 0.79
strategy.exit("Long TP1", from_entry="Long", limit=longTargetProfit1, qty_percent=0.5)
strategy.exit("Long TP2", from_entry="Long", limit=longTargetProfit2)
strategy.exit("Short TP1", from_entry="Short", limit=shortTargetProfit1, qty_percent=0.5)
strategy.exit("Short TP2", from_entry="Short", limit=shortTargetProfit2)
// Visualization (optional)
plot(sma7, color=color.green, title="7 Candle SMA")
plot(sma15, color=color.blue, title="15 Candle SMA")
plot(sma60, color=color.red, title="60 Candle SMA")
hline(0, "Zero Line", color=color.gray)
plot(macdLine - signalLine, color=color.blue, title="MACD Histogram")