Estratégia de tendência multi-timeframe


Data de criação: 2023-10-23 16:56:52 última modificação: 2023-10-23 16:56:52
cópia: 0 Cliques: 672
1
focar em
1617
Seguidores

Estratégia de tendência multi-timeframe

Visão geral

A estratégia é uma estratégia de negociação que utiliza múltiplos períodos de tempo, principalmente usando o longo período de tempo para determinar a direção da tendência, o médio período de tempo para determinar a direção do movimento, o curto período de tempo para procurar pontos de entrada específicos. No geral, a principal idéia da estratégia é usar simultaneamente a tendência, a dinâmica e os pontos de entrada específicos de três períodos de tempo diferentes para tomar decisões.

Princípios

A estratégia é executada através das seguintes partes:

  1. Definir diferentes prazos de tempo

    • Quadro de tempo longo ((linha de data): usado para determinar a direção da tendência geral
    • Quadrante de tempo médio (~ 4 horas): usado para determinar a direção do movimento
    • Quadros de tempo curtos (customizados): usados para encontrar pontos de entrada específicos
  2. Julgar tendências de longo prazo

    • Usando a linha média SMA para determinar a direção da tendência de longo prazo
    • Se o close for superior ao SMA, é definido como uma tendência multi-cabeça
    • Se o close for abaixo do SMA, é definido como uma tendência aéreas
  3. Avaliar a dinâmica a médio prazo

    • Linhas K e D usando o indicador de Stoch
    • Quando a linha K está acima da linha D, é definida como a força ascendente
    • Quando a linha K está abaixo da linha D, é definida como a força descendente
  4. Procurando um ponto de entrada

    • Multi-cabeça de entrada: longo prazo multi-cabeça, médio prazo Sttoch impulso para cima, curto prazo linha de ouro médio
    • Entrada de cabeça-vazia: cabeça-vazia de longo prazo, movimento para baixo de Stoch de médio prazo, garfo de morte de linha média de curto prazo
  5. Ponto de saída

    • Saída múltipla: Stoch K médio abaixo da linha D
    • Saída em branco: atravessa a linha D na linha Stoch K intermédia

Em suma, a estratégia aproveita a informação de vários quadros temporais para julgar tendências e momentos em diferentes dimensões, de forma a filtrar efetivamente as falsas rupturas e selecionar pontos de entrada de alta probabilidade no contexto das tendências.

Vantagens

A estratégia tem as seguintes vantagens:

  1. O design de quadros de tempo múltiplos é científico e minucioso, permitindo um julgamento mais preciso dos movimentos do mercado, evitando efetivamente ser enganado pelo ruído de curto prazo do mercado.

  2. Ao mesmo tempo em que considera tendências, dinâmica e tempo de entrada, as condições são mais abrangentes e rigorosas, permitindo filtrar uma grande quantidade de falsos sinais.

  3. O indicador de Stoch é muito preciso para avaliar a dinâmica a médio prazo, permitindo-nos saber quando é que o mercado vai realmente reverter.

  4. A entrada foi feita com condições mais rigorosas, evitando a maior parte das falhas de salto e retrocesso.

  5. A definição de um ponto de saída de stop loss permite um controle eficaz do risco em cada transação.

  6. Aplica-se a diversos contextos de mercado e não é limitado a situações específicas.

  7. A gestão de fundos pode ser otimizada, por exemplo, através da definição de uma taxa de perda fixa, de um ajustamento dinâmico da posição, etc.

Riscos

A estratégia também apresenta alguns riscos que devem ser lembrados:

  1. Em situações de tremores, pode haver várias paradas.

  2. Quando a grande tendência muda, o julgamento da tendência fica atrasado e pode ser mal interpretado.

  3. A estimativa de mudança de tendência a médio prazo baseada apenas no indicador KDJ também pode ser uma oportunidade perdida.

  4. As condições de admissão são muito rigorosas e podem fazer com que você perca parte do evento.

  5. O espaço de lucro é relativamente limitado, e é difícil entender o que está acontecendo.

A resposta ao risco pode ser otimizada em:

  1. Ajustar os parâmetros adequadamente para reduzir a taxa de erro.

  2. Aumentar os indicadores de julgamento de tendências e estabelecer um julgamento de portfólio.

  3. Combinação de mais indicadores para avaliar a dinâmica intermédia, como o MACD, etc.

  4. Otimizar o mecanismo de parada de perdas em vez de rastrear a parada de perdas.

  5. Quando uma grande tendência muda, ajuste o ponto de parada e a posição a tempo.

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. Optimização de parâmetros, como o ajuste do parâmetro de ciclo MA, o parâmetro de Stoch, etc., para tornar o sinal mais preciso.

  2. Adicionar mais indicadores de julgamento. Indicadores de julgamento auxiliares como MACD, Bollinger Band e outros podem ser introduzidos.

  3. Optimizar as condições de entrada. Pode-se considerar a flexibilização das condições de entrada, aumentando a frequência de negociação de forma adequada.

  4. Optimizar o Stop Loss pode ser feito através do Stop Tracking ou através de um Stop Loss baseado no ATR.

  5. Aumentar o gerenciamento de posições. Ajustar posições de forma proativa quando a tendência muda.

  6. Otimizar a aprendizagem de máquina. Usar métodos de aprendizagem de máquina para otimizar automaticamente os parâmetros e as regras de estratégia.

  7. Considerando os fatores fundamentais. Em conjugação com os dados econômicos importantes, os sinais de transação de confirmação adicionais.

  8. Testar o efeito de combinação de diferentes variedades. A estratégia de avaliação do efeito de diferentes variedades, como divisas, metais preciosos.

Resumir

A estratégia de tendências de multi-quadro temporal, em geral, tem como ideia central o uso de informações de três dimensões temporais longas, médias e curtas para tomar decisões. A vantagem da estratégia é que as condições são rigorosas e o risco é controlável, mas os parâmetros e as regras precisam ser otimizados para mercados específicos. No futuro, a estratégia pode ser aperfeiçoada ainda mais com a introdução de mais indicadores, otimizando as formas de parada de perdas e adicionando métodos como a aprendizagem de máquina.

Código-fonte da estratégia
/*backtest
start: 2023-10-15 00:00:00
end: 2023-10-22 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("TUX MTF", overlay=true)

// MULTIPLE TIME FRAME STRATEGY
// LONG TERM --- TREND
// MED TERM --- MOMENTUM
// SHORT TERM --- ENTRY

// ENTRY POSITION TIMEFRAME
entry_position = input(title="Entry timeframe (minutes)",  defval=5, minval=1, maxval=1440)
med_term = entry_position * 4
long_term = med_term * 4

// GLOBAL VARIABLES
ma_trend = input(title="Moving Average Period (Trend)",  defval=50, minval=5, maxval=200)

// RSI
length = input(title="Stoch Length",  defval=18, minval=5, maxval=200)
OverBought = input(title="Stoch OB",  defval=80, minval=60, maxval=100)
OverSold = input(title="Stoch OS",  defval=20, minval=5, maxval=40)
smoothK = input(title="Stoch SmoothK",  defval=14, minval=1, maxval=40)
smoothD = input(title="Stoch SmoothD",  defval=14, minval=1, maxval=40)
maSm = input(title="Moving Avg SM",  defval=7, minval=5, maxval=50)
maMed = input(title="Moving Avg MD",  defval=21, minval=13, maxval=200)

// LONG TERM TREND
long_term_trend = request.security(syminfo.ticker, tostring(long_term), sma(close,ma_trend)) > request.security(syminfo.ticker, tostring(long_term), close)
plot(request.security(syminfo.ticker, tostring(long_term), sma(close,ma_trend)), title="Long Term MA", linewidth=2)
// FALSE = BEAR
// TRUE = BULL

// MED TERM MOMENTUM

k = request.security(syminfo.ticker, tostring(med_term), sma(stoch(close, high, low, length), smoothK))
d = request.security(syminfo.ticker, tostring(med_term), sma(k, smoothD))

os = k >= OverBought or d >= OverBought
ob = k <= OverSold or d <= OverSold


// SHORT TERM MA X OVER
bull_entry = long_term_trend == false and os == false and ob == false and k > d and request.security(syminfo.ticker, tostring(entry_position), crossover(sma(close, maSm), sma(close, maMed)))
bear_entry = long_term_trend == true and os == false and ob == false and k < d and request.security(syminfo.ticker, tostring(entry_position), crossunder(sma(close, maSm), sma(close, maMed)))



bull_exit = crossunder(k,d)
bear_exit = crossover(k,d)



if (bull_entry)
    strategy.entry("Long", strategy.long)
    

if (bear_entry)
    strategy.entry("Short", strategy.short)
  
strategy.close("Long", when = bull_exit == true)
strategy.close("Short", when = bear_exit == true)