Esta estratégia combina o indicador MACD para identificar tendências de curto prazo e a média móvel de 200 dias para determinar tendências de longo prazo.
A estratégia baseia-se principalmente no indicador MACD e na média móvel de 200 dias para julgamento, a lógica específica é:
Calcule a linha rápida, linha lenta e linha MACD do indicador MACD. O parâmetro da linha rápida é de 12 dias, o parâmetro da linha lenta é de 26 dias e o parâmetro da linha de sinal é de 9 dias.
Calcular a média móvel exponencial (EMA) de 200 dias.
Quando a linha rápida do MACD cruza a linha lenta (cruz de ouro), a linha MACD é negativa (operando em um nível baixo) e o preço de fechamento está acima da linha de 200 dias, vá longo.
Após a entrada na posição, definir o preço de stop loss em 0,5% do preço de entrada e o preço-alvo em 1% do preço de entrada.
Se o preço tocar o preço stop loss ou o preço alvo, saia da posição com um stop loss ou tire lucro.
É obrigatório que se aplanem antes do fechamento diário às 15:15.
Os horários de negociação são definidos entre as 9:00 e as 15:15 todos os dias.
Ao julgar a direção da tendência de curto prazo e o momento com o indicador MACD e determinar a direção da tendência de longo prazo com a média móvel de 200 dias, a tendência após a operação pode ser realizada.
A estratégia apresenta as seguintes vantagens:
A combinação de vários indicadores torna o julgamento do sinal mais preciso. O MACD julga tendências e impulso de curto prazo, enquanto o MA de 200 dias julga a direção da tendência principal.
O intervalo de stop loss reduzido pode suportar certos drawdowns. O stop loss é de apenas 0,5%, o que é propício ao acompanhamento das tendências de médio prazo.
O objetivo é 1% do preço de entrada, atendendo à maximização de lucro das estratégias de tendência.
O descanso diário obrigatório ajuda a evitar o risco de grandes flutuações de preços durante a noite.
A lógica da estratégia é simples e clara, fácil de entender e de replicar, adequada para os iniciantes aprenderem.
A estratégia apresenta também alguns riscos:
Risco de exaustão. Os preços podem reverter para baixo após um aumento acentuado, incapazes de parar a perda a tempo e causar grandes perdas. Um trailer stop loss pode ser usado para ajustar o preço de stop loss em tempo real.
Risco de falha na determinação da tendência. O MACD e a média móvel podem dar sinais errados, resultando em perdas em mercados não em tendência. Considere a combinação de indicadores de volume de negociação para filtragem, para garantir a entrada apenas durante os estágios de aceleração da tendência.
Os riscos de flutuação durante a noite continuam a existir, apesar do mecanismo de relaxamento diário, o que exige que os operadores suportem um certo grau de risco, controlando o dimensionamento geral das posições.
A estratégia pode também ser otimizada nos seguintes aspectos:
Combine indicadores de volume de negociação para determinar tendências reais, evite entrar erroneamente durante consolidações agitadas, por exemplo, defina regras de entrada para que o volume seja 10% superior ao período anterior.
Configure mecanismos dinâmicos de stop loss. Ajuste continuamente o preço de stop loss após a entrada com base no movimento do preço, para obter mais lucros.
Otimizar as combinações de parâmetros MACD e a eficácia dos testes em diferentes mercados.
Teste outras médias móveis, como linhas de 100 dias e 150 dias, para ver qual se encaixa melhor com as tendências.
Adicionar mecanismos de reentrada. saídas forçadas diárias podem perder tendências subsequentes, para que os sinais de reentrada podem permitir a posição de manutenção no dia seguinte.
Em resumo, esta estratégia integra o MACD e o MA de 200 dias para julgamento de sinais. Ele entra nas tendências condicionalmente quando os indicadores de curto prazo dão sinais sustentados, com mecanismos de stop loss e take profit. O relaxamento diário obrigatório também controla os riscos da noite para o dia. A lógica é simples para os iniciantes operarem e integrarem em outras estratégias. Mas também há riscos de falha de determinação de tendência e riscos de exaustão. Os próximos passos poderiam otimizar aspectos como métodos de stop loss, parâmetros, filtros de volume de negociação, etc. para melhorar o fator de lucro geral.
/*backtest start: 2023-11-12 00:00:00 end: 2023-12-12 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("MACD and 200 EMA Long Strategy", shorttitle="MACD200EMALong", overlay=true) // Input parameters fastLength = input(12, title="Fast Length") slowLength = input(26, title="Slow Length") signalLength = input(9, title="Signal Length") ema200Length = input(200, title="200 EMA Length") stopLossPercentage = input(0.5, title="Stop Loss Percentage") targetPercentage = input(1, title="Target Percentage") // Trading session startHour = input(09, title="Start Hour", minval=0, maxval=23) startMinute = input(00, title="Start Minute", minval=0, maxval=59) endHour = input(15, title="End Hour", minval=0, maxval=23) endMinute = input(15, title="End Minute", minval=0, maxval=59) // Calculate MACD [macdLine, signalLine, _] = macd(close, fastLength, slowLength, signalLength) // Calculate 200-period EMA ema200 = ema(close, ema200Length) // Conditions for entering a long position longCondition = crossover(macdLine, signalLine) and macdLine < 0 and close > ema200 and hour < 13 // Calculate stop loss and target levels only once at the entry var float stopLossLevel = na var float targetLevel = na if (longCondition) stopLossLevel := close * (1 + stopLossPercentage / 100) targetLevel := close * (1 + targetPercentage / 100) // Trading session condition intradayCondition = true // Strategy logic strategy.entry("Long", strategy.long, when=longCondition and intradayCondition) strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stopLossLevel, profit=targetLevel) // Force exit if the current close is below the stop loss level if (not na(stopLossLevel) and close < stopLossLevel) strategy.close("Long") // Exit the trade if the current close is greater than or equal to the target level if (not na(targetLevel) and close >= targetLevel) strategy.close("Long") // Manually force exit at 3:15 PM if (hour == 15 and minute == 15) strategy.close("Long") // Plotting the EMA, target, and stop loss on the chart plot(ema200, color=color.blue, title="200 EMA") plot(stopLossLevel, color=color.red, title="Stop Loss", linewidth=2) plot(targetLevel, color=color.green, title="Target", linewidth=2) // Plot entry arrow plotshape(series=longCondition and intradayCondition, title="Long Entry", color=color.green, style=shape.triangleup, location=location.belowbar)