A estratégia é conhecida como a estratégia de negociação de curto prazo baseada no canal EMA e no MACD. Ele combina o canal EMA e o indicador MACD para identificar tendências e dar sinais de negociação.
A estratégia usa o EMA do dia 5 e o EMA do dia 21 para formar o canal EMA. Quando o EMA do dia 5 atravessa o EMA do dia 21, o mercado é considerado como entrando em uma posição mais alta, quando o EMA do dia 5 atravessa o EMA do dia 21, o mercado é considerado como entrando em uma posição mais baixa. O gráfico vertical do indicador MACD pode ser usado para filtrar os sinais falsos.
A estratégia, combinada com a identificação de tendências e a filtragem de indicadores, é eficaz para identificar a direção do mercado de curto prazo. Utilizando o canal EMA para determinar a direção da tendência principal, e filtrando os sinais falsos com o indicador MACD, pode aumentar significativamente a probabilidade de lucro. O mecanismo de captura de prejuízos fixo também garante o risco-retorno dos ganhos.
A estratégia é aplicada principalmente a negociações de curto prazo e não funciona muito bem em tendências de longo prazo e em mercados turbulentos. No mercado de longo prazo, os sinais de cruzamento dos canais EMA são frequentes, mas na maioria são falsos, quando o MACD pode ter um certo efeito de filtragem, mas o efeito é limitado. Além disso, o mecanismo de bloqueio de stop loss fixo dificulta a captação dos ganhos incrementais da tendência de longo prazo.
A estratégia pode ser otimizada em vários aspectos: 1. Otimizar os parâmetros da EMA para encontrar combinações de parâmetros que maximizem o rendimento mais adequado a uma variedade específica de negociações; Otimizar os parâmetros do MACD para melhorar o efeito de filtragem; 3. Ampliar a faixa de stop-loss quando a volatilidade do mercado aumenta, em combinação com os indicadores de volatilidade; 4. Incorporar um mecanismo de rastreamento de stop-loss para aproximar o stop-loss do preço e reduzir a probabilidade de um stop-loss desnecessário ser desencadeado, garantindo lucros.
A estratégia é de alta rentabilidade em geral, especialmente para negociações de curto prazo, e é uma boa opção em estratégias de negociação quantitativa que buscam negociações de alta frequência. No entanto, os traders devem ter cuidado para ajustar os parâmetros de acordo com o mercado, maximizando os ganhos da estratégia, ao mesmo tempo em que controlam o risco de negociação.
/*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"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © moondevonyt //@version=5 strategy("Scalping with EMA channel and MACD", overlay=true) // Exponential moving average inputs ema21 = ta.ema(close, 21) ema5 = ta.ema(close, 5) // MACD inputs fastLength = 18 slowLength = 34 signalSmoothing = 12 [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing) macdHistogram = macdLine - signalLine // Buy and sell conditions buyCondition = ta.crossover(ema5, ema21) and macdHistogram > 0 sellCondition = ta.crossunder(ema5, ema21) and macdHistogram < 0 // Re-entry conditions reEntryBuyCondition = close > ema21 reEntrySellCondition = close < ema21 // Set stop loss and take profit stopLoss = 8 takeProfit = 15 // Execute Strategy if buyCondition strategy.entry("Buy", strategy.long) strategy.exit("Take Profit/Stop Loss", "Buy", stop=close - stopLoss, limit=close + takeProfit) if reEntryBuyCondition strategy.entry("Re-Enter Buy", strategy.long) strategy.exit("Take Profit/Stop Loss", "Re-Enter Buy", stop=close - stopLoss, limit=close + takeProfit) if sellCondition strategy.entry("Sell", strategy.short) strategy.exit("Take Profit/Stop Loss", "Sell", stop=close + stopLoss, limit=close - takeProfit) if reEntrySellCondition strategy.entry("Re-Enter Sell", strategy.short) strategy.exit("Take Profit/Stop Loss", "Re-Enter Sell", stop=close + stopLoss, limit=close - takeProfit) // Plotting EMAs and MACD plot(ema21, color=color.blue, title="21 EMA") plot(ema5, color=color.orange, title="5 EMA") plot(macdHistogram, color=color.red, title="MACD Histogram") // Plot buy and sell signals plotshape(series=buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")