O recurso está a ser carregado... Carregamento...

MACD Golden Cross Breakout com tendência média móvel de 200 dias Seguindo estratégia

Autora:ChaoZhang, Data: 2023-12-13 16:13:33
Tags:

img

Resumo

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.

Estratégia lógica

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 é:

  1. 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.

  2. Calcular a média móvel exponencial (EMA) de 200 dias.

  3. 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.

  4. 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.

  5. 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.

  6. É obrigatório que se aplanem antes do fechamento diário às 15:15.

  7. 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.

Vantagens da estratégia

A estratégia apresenta as seguintes vantagens:

  1. 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.

  2. 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.

  3. O objetivo é 1% do preço de entrada, atendendo à maximização de lucro das estratégias de tendência.

  4. O descanso diário obrigatório ajuda a evitar o risco de grandes flutuações de preços durante a noite.

  5. A lógica da estratégia é simples e clara, fácil de entender e de replicar, adequada para os iniciantes aprenderem.

Riscos da Estratégia

A estratégia apresenta também alguns riscos:

  1. 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.

  2. 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.

  3. 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.

Orientações de otimização

A estratégia pode também ser otimizada nos seguintes aspectos:

  1. 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.

  2. 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.

  3. Otimizar as combinações de parâmetros MACD e a eficácia dos testes em diferentes mercados.

  4. Teste outras médias móveis, como linhas de 100 dias e 150 dias, para ver qual se encaixa melhor com as tendências.

  5. 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.

Conclusão

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)


Mais.