Modelo de monitoramento de média móvel dupla


Data de criação: 2023-10-17 16:33:29 última modificação: 2023-10-17 16:33:29
cópia: 0 Cliques: 653
1
focar em
1617
Seguidores

Modelo de monitoramento de média móvel dupla

Visão geral

A estratégia usa uma combinação de indicadores de média móvel de dois índices (EMA) e ponto de interseção de média móvel (MACD) para descobrir a sobrevalorização de ações de valor a curto prazo e fazer curto prazo para obter lucro durante a queda do preço das ações. A estratégia aproveita as características da reação rápida da EMA às mudanças de preço, combinando a vantagem de monitorar a tendência de vento móvel do MACD para capturar oportunidades de lucro a curto prazo nos pontos de conversão dos touros e dos ursos.

Princípio da estratégia

  1. Calcular o EMA de 8 dias e o EMA de 26 dias, quando o EMA de 8 dias usa o EMA de 26 dias, é considerado um sinal de compra.

  2. O MACD é composto por um EMA de 12 dias, um EMA de 26 dias e um EMA de 9 dias de diferença entre o DEA e o MACD, e é considerado um sinal de compra quando o MACD atravessa o DEA.

  3. Condições de compra: EMA de 8 dias> EMA de 26 dias e DEA no MACD, fazendo mais quando satisfeito.

  4. Condições de saída: estabeleça um stop loss de flutuação de 3% do preço de entrada, um stop loss de rastreamento de 1% do preço de entrada e feche a posição quando qualquer condição for cumprida.

A estratégia utiliza simultaneamente as características de EMA de resposta rápida ao preço e MACD para determinar a direção da dinâmica, para determinar a direção da operação nos pontos críticos de um bullish e um bearish. O EMA rápido reflete a correção do valor do EMA mais lento no curto prazo, o MACD reflete a previsão de mudanças na intensidade da negociação na direção da linha de equilíbrio, e o duplo indicador aumenta a precisão de determinar o momento da negociação.

Análise de vantagens

  1. A combinação da EMA e da MACD aumenta a precisão de determinação de pontos de compra e venda. A EMA capta a tendência de mudança de preço, a MACD julga a direção da mudança de dinâmica, ambas combinadas com a identificação do extremum de curto prazo, evitando que as falsas rupturas tragam prejuízos.

  2. Seguir o risco de controle de stop loss, parar a partida a tempo. Configurar um stop loss de 1% após a entrada, para evitar a expansão dos prejuízos.

  3. A estratégia é a de fazer um retrospecto de todo o mercado de ações em 2022 para simular o ambiente de negociação real.

  4. Ajuste de parâmetros flexíveis. A proporção de stop loss e a proporção de posição podem ser personalizadas para combinar com as preferências de risco individuais.

Análise de Riscos

  1. As transações são frequentes e precisam ser acompanhadas de perto. Usar um ciclo de 5 minutos, sair e entrar com frequência, o que requer tempo suficiente para acompanhar as transações.

  2. O tracking stop loss pode ser muito intenso. O tracking stop loss é muito pequeno e pode ser prematuro.

  3. Os mercados não são eficazes quando estão em uma tendência de choque. EMA e MACD são mais adequados para mercados de tendência mais evidentes.

  4. Os custos de transação devem ser considerados. Cada transação corresponde a uma taxa de processamento e a frequência das transações pode aumentar os custos.

Direção de otimização

  1. Ajustar os parâmetros do ciclo EMA para otimizar o tempo de compra e venda. Pode testar o encurtar dos ciclos EMA, ampliar as diferenças entre EMAs e encontrar a melhor combinação de parâmetros.

  2. Optimizar a taxa de parada e reduzir o risco de parada prematura. Relaxar adequadamente a amplitude de parada de rastreamento e evitar o rastreamento de parada muito radical.

  3. Teste diferentes períodos de posse e escolha o melhor período de posse. Avalie a rentabilidade da estratégia em diferentes períodos de posse e identifique o melhor período de posse.

  4. Avaliação de adicionar outros indicadores técnicos para filtrar os sinais. Pode testar a adição de indicadores de volatilidade, etc., para melhorar a eficácia das decisões de negociação.

Resumir

Esta estratégia de negociação de indicadores de EMA e MACD é projetada para capturar oportunidades de retorno de curto prazo do preço de ações e obter lucros com curto prazo. Ela aproveita ao máximo a resposta rápida da EMA e as mudanças no discernimento da MACD para aumentar a precisão do momento de negociação sob a dupla verificação. O espaço para otimização da estratégia está no ajuste de parâmetros, controle de deslizamento e tempo de posse.

Código-fonte da estratégia
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
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/
// © Coinrule

//@version=5
// strategy('Fast EMA above Slow EMA with MACD (by Coinrule)',
//          overlay=true,
//          initial_capital=1000,
//          process_orders_on_close=true,
//          default_qty_type=strategy.percent_of_equity,
//          default_qty_value=30,
//          commission_type=strategy.commission.percent,
//          commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0

// EMAs 
fastEMA = ta.ema(close, 8)
slowEMA = ta.ema(close, 26)
plot(fastEMA, color = color.blue)
plot(slowEMA, color = color.green)
//buyCondition1 = ta.crossover(fastEMA, slowEMA)
buyCondition1 = fastEMA > slowEMA


// DMI and MACD inputs and calculations
[macd, macd_signal, macd_histogram] = ta.macd(close, 12, 26, 9)
buyCondition2 = ta.crossover(macd, macd_signal)


// Configure trail stop level with input options
longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01
shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=1) * 0.01

// Determine trail stop loss prices
longStopPrice = 0.0
shortStopPrice = 0.0

longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - longTrailPerc)
    math.max(stopValue, longStopPrice[1])
else
    0

shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + shortTrailPerc)
    math.min(stopValue, shortStopPrice[1])
else
    999999
    

if (buyCondition1 and buyCondition2 and notInTrade and timePeriod)
    strategy.entry(id="Long", direction = strategy.long)

strategy.exit(id="Exit", stop = longStopPrice, limit = shortStopPrice)


//if (sellCondition1 and sellCondition2 and notInTrade and timePeriod)
//strategy.close(id="Close", when = sellCondition1 or sellCondition2)