Invista na Golden Trend Seguindo a Estratégia


Data de criação: 2023-10-31 15:09:22 última modificação: 2023-10-31 15:09:22
cópia: 0 Cliques: 425
1
focar em
1238
Seguidores

Invista na Golden Trend Seguindo a Estratégia

Visão geral

A estratégia utiliza um modelo de linha de equilíbrio para determinar a direção da tendência do mercado e, periodicamente, estabelece uma posição adicional quando há uma tendência de baixa, para acompanhar a tendência de alta do mercado de golden cross.

Princípio da estratégia

A estratégia baseia-se principalmente nos seguintes princípios técnicos:

  1. Use a linha média da EMA para determinar a direção da tendência do mercado. Quando a linha rápida da EMA atravessa a linha lenta da EMA, julgue a tendência pessimista e prepare-se para entrar em várias direções.

  2. Quando o indicador MACD passa de negativo para positivo, indica que o preço de compra começa a enfraquecer, fazendo entrada em várias direções.

  3. Limite a entrada apenas uma vez por mês, para evitar a perseguição. O número de entradas por entrada pode ser fixado.

  4. Pode-se definir uma data de início e uma data de término, limitando o período de retracção. Quando a retracção termina, a estratégia elimina todas as posições.

Concretamente, a estratégia primeiro calcula a linha de EMA rápida e a linha de EMA lenta e detecta a relação entre os dois para determinar a tendência do mercado. Ao mesmo tempo, calcula o indicador MACD para determinar o ponto de entrada específico.

Vantagens estratégicas

É uma estratégia de seguimento de tendências mais simples e direta, com as seguintes vantagens:

  1. Usar a linha média EMA para determinar a direção da grande tendência é simples e prático. A linha média EMA tem um certo efeito de suavização sobre as mudanças de preço e pode filtrar efetivamente o ruído do mercado de turbulência.

  2. Os indicadores MACD podem determinar com maior precisão o momento em que a estrutura de compra e venda se torna mais fraca, o que reduz o risco de entrada.

  3. Limitar-se a fazer apenas uma operação de rastreamento por mês pode ajudar a evitar a corrida no mercado de touros.

  4. Permite a customização do montante de entrada mensal e a flexibilidade de ajustar as posições de acordo com a sua estratégia.

  5. Pode-se fazer testes de retrospectiva para avaliar a eficácia da estratégia através das datas de início e fim.

  6. Quando a retrospectiva termina, o posicionamento será eliminado, evitando o constrangimento de manter posições quando o simulador sai do mercado.

Riscos e soluções

A estratégia também apresenta alguns riscos potenciais, incluindo:

  1. Os métodos que dependem de uma linha de equilíbrio para determinar a tendência podem perder oportunidades em ajustes de curto prazo ou não ser suficientemente ágeis para reagir quando a tendência se inverte. Pode-se reduzir adequadamente o período de equilíbrio ou adicionar outros indicadores de julgamento para otimização.

  2. Fazendo apenas uma operação de rastreamento por mês, você pode perder um bom ponto de entrada. Você pode considerar a flexibilização da frequência de entrada ou voltar a entrar quando atingir uma nova alta.

  3. Existe um certo risco de retroavaliação. Deve-se aumentar o espaço de ajuste de parâmetros e fazer testes de robustez entre mercados e períodos de tempo.

  4. Existe o risco de perdas e sobrecompras. O montante de entrada mensal deve ser controlado adequadamente, evitando posições excessivas.

Direção de otimização

A estratégia de captação de investimentos pode ser ampliada e aperfeiçoada em vários aspectos:

  1. Aumentar a lógica de parada de perda EXIT, para ativar a parada de perda quando o mercado está em uma posição de cabeça de urso.

  2. Quando o MACD Smile Code foi criado, uma compra foi adicionada para obter uma exposição mais completa à tendência.

  3. A introdução de uma análise multicanal do crescimento do mês em comparação com o crescimento do mês anterior, para avaliar se a tendência continua forte.

  4. Aumentar a lógica de controle de posição. O montante mensal de entrada pode ser controlado em proporção, em vez de um valor fixo.

  5. Avaliar o impacto de diferentes combinações de equilíbrio e parâmetros MACD sobre a eficácia da estratégia.

  6. Adição de um trailing stop que acompanha o stop loss. Começa a trail em uma certa amplitude quando o preço atinge uma nova alta, para que os lucros continuem a funcionar.

Resumir

A estratégia como um todo é uma estratégia de seguimento de tendências simples, com uma ideia central clara e fácil de implementar, adequada para testar a eficácia do acompanhamento de tendências lineares e a combinação de investimentos. Pode ser aprendida como uma das estratégias de entrada para negociação quantitativa.

Código-fonte da estratégia
/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-30 00:00:00
period: 1d
basePeriod: 1h
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/
// © runescapeyttanic

//@version=4
// strategy("Buy and Hold entry finder Strategy",pyramiding=10000, overlay=true,initial_capital=0,default_qty_type=strategy.cash,default_qty_value=1000,currency = currency.EUR,commission_type=strategy.commission.cash_per_order,commission_value=0)

//INPUTS##################################################################################################################

maxEmaDistance = input(title="Maximum EMA Distance", type=input.float, step=0.01, defval=50000)
emalength = input(title="EMA Length", type=input.integer,defval=200)

// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2020, minval=1800, maxval=2100)

endDate = input(title="End Date", type=input.integer,
     defval=12, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
     defval=02, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
     defval=2021, minval=1800, maxval=2100)

endDate1=endDate-1
//starttag
//startmonat
//MACD########################################################################################################################

fast_length=12
slow_length=26
src=close
col_macd=#0094ff
fast_ma = ema(src, fast_length)
slow_ma = ema(src, slow_length)
macd = fast_ma - slow_ma

//EMA Distance CALC########################################################################################################

ma1 =ema(close,emalength)
distFromMean = close - ma1

inDateRange = true

longCondition = (distFromMean<=maxEmaDistance and distFromMean>=distFromMean[1] and macd<=0 and inDateRange)
longnow=false

if(longCondition and strategy.position_size == 0)
    strategy.entry("My Long Entry Id", strategy.long)
    longnow:=true

if(longCondition and strategy.position_size > 0)
    longnow:=true
    

if(longCondition and strategy.position_size > 0 and month>valuewhen(longnow, month ,1) or longCondition and strategy.position_size > 0 and year>valuewhen(longnow, year ,1) and inDateRange)
    strategy.entry("My Long Entry Id", strategy.long)

plotchar(minute, "Minuten", "", location = location.top)

plotchar(hour, "Stunden", "", location = location.top)    

plotchar(dayofmonth, "Tage", "", location = location.top)

plotchar(month, "Monat", "", location = location.top)

plotchar(year, "Jahr", "", location = location.top)

plotchar(strategy.position_size, "Positionen", "", location = location.top)

plotchar(longCondition, "Long Condition", "", location = location.top)

if true
    strategy.close_all()

//#########################################################################################################################

plotArrow = if (distFromMean<=maxEmaDistance and distFromMean>=distFromMean[1] and macd<=0)
    1
else
    0
    
plotarrow(series=plotArrow)