Estratégia de rompimento fechado de média móvel de índice


Data de criação: 2023-12-07 15:50:13 última modificação: 2023-12-07 15:50:13
cópia: 0 Cliques: 696
1
focar em
1619
Seguidores

Estratégia de rompimento fechado de média móvel de índice

Visão geral

Esta estratégia determina a direção de um indicador movendo-se em direção a uma linha média, determinando a direção de uma posição vazia. Quando surge uma forma em que a linha do sol engole a linha do sol e o volume de transação aumenta, execute uma operação maior. Quando a direção da linha do indicador movendo-se em direção a uma rotação ou surge uma forma em que a linha do sol engole a linha do sol, execute uma operação de posição plana.

Princípio da estratégia

  1. Usando dois parâmetros diferentes, o índice move a média para determinar a direção da tendência do mercado. A linha de EMA de curto prazo é considerada um mercado de múltiplos títulos sobre a linha de EMA de longo prazo, ao contrário do mercado de títulos vazios.

  2. Quando o mercado está em um estado de múltiplas cabeças, se surgir uma forma de linha K antes de ser engolida pela linha K, e o volume de transação for 1,2 vezes maior do que a linha K anterior, um sinal de comércio será gerado. Esta forma mostra a força de múltiplas cabeças forte, que pode ser seguida em comércio.

  3. Quando a tendência do mercado ocorre uma reversão, ou seja, a EMA de curto prazo abaixo da EMA de longo prazo, a força de vários lados diminui e deve ser neutralizada. Ou quando ocorre uma forma de cintilha que engole a linha do sol, a força de cabeça vazia aumenta e deve ser neutralizada.

Análise de vantagens

  1. Usando a dupla EMA para avaliar a estrutura do mercado, é possível avaliar com mais precisão o estado do mercado de ativos.

  2. A forma de engolir mostra que a força unilateral entra em campo de forma súbita, podendo capturar uma situação maior. Em combinação com o volume de transações, o filtro é ampliado, evitando o atraso da falsa ruptura.

  3. Há um mecanismo de parada de perda. Como não há um ponto de parada definido, o uso de reversão da estrutura do mercado para parar a perda pode reduzir a perda de ponto de deslizamento causada pela perda desnecessária.

Análise de Riscos

  1. A dupla EMA também pode julgar a estrutura do mercado de forma errada, resultando em perda de mercado ou desordem. Os parâmetros do ciclo EMA podem ser ajustados adequadamente.

  2. A forma de engolir pode ser facilmente confundida com o comportamento de choque. Pode-se adicionar mais condições de filtro para evitar transações erradas.

  3. Sem a configuração do ponto de parada pode levar a maiores perdas. Pode-se experimentar métodos como a parada do break even.

Direção de otimização

  1. Pode-se combinar mais indicadores para julgar o vazio, como MACD, maré de energia, etc.

  2. Pode ser adicionado um limite de perda de certa magnitude, se necessário.

  3. Os parâmetros do ciclo EMA podem ser otimizados de acordo com as características da variedade negociada.

Resumir

A estratégia é clara e fácil de entender, usa a estrutura de julgamento da linha de equilíbrio móvel do índice e captura as rupturas. A vantagem é que a lógica de julgamento é simples e os sinais de negociação são claros.

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

// @version=5
// # ========================================================================= #
// #                   |   STRATEGY  |
// # ========================================================================= #
strategy(
  title                           = "fpemehd Strategy001",
  shorttitle                      = "f_001",
  overlay                         =  true,
  default_qty_type                =  strategy.percent_of_equity, 
  default_qty_value               =  100, 
  initial_capital                 =  10000000, 
  currency                        =  currency.USD, 
  slippage                        =  0, 
  commission_type                 =  strategy.commission.cash_per_order, 
  commission_value                =  0.01, 
  process_orders_on_close         =  true)
// # ========================================================================= #
// #                   |   STRATEGY  |
// # ========================================================================= #


// Inputs
I_start_date = input (defval = timestamp("20 Jan 1990 00:00 +0900"))
I_finish_date = input(defval = timestamp("20 Dec 2030 00:00 +0900"))

I_short_ema = input.int(defval = 15 , title = "Short EMA", minval = 1 , maxval = 300 , step = 1)
I_long_ema = input.int(defval = 30 , title = "Long EMA", minval = 1 , maxval = 300 , step = 1)

I_body = input.float(defval = 1 , title = "Size of Body", minval = 1 , maxval = 5 , step = 0.1)

time_cond = true

// Calculate Engulfing Candles
C_uptrend = false
C_downtrend = false
C_ema_short = ta.ema(source = close, length = I_short_ema) 
C_ema_long = ta.ema(source = close, length = I_long_ema) 
C_uptrend := close > C_ema_short and C_ema_short > C_ema_long
C_downtrend := close < C_ema_short and C_ema_short < C_ema_long

C_pre_body = math.abs(open[1]-close[1])
C_pre_body_ratio = (math.abs(open[1]-close[1])) / (math.abs(high[1]-low[1])) * 100

C_now_body = math.abs(open-close)
C_now_body_ratio = (math.abs(open-close)) / (math.abs(high-low)) * 100

C_bullish_engulfing = (open[1] > close[1] and open <= close) and (low < low[1] and high > high[1])
C_bearish_engulfing = (open[1] < close[1] and open >= close) and (low < low[1] and high > high[1])
C_avoid_doge = (C_pre_body_ratio > I_body and C_now_body_ratio > I_body) ? true : false
C_volume_filter = volume > volume[1] * 1.2

// Signals
long_signal = C_uptrend and C_bullish_engulfing and C_avoid_doge and C_volume_filter
close_signal = C_downtrend or C_bearish_engulfing 


if long_signal and time_cond
    strategy.entry(id = "Long", direction = strategy.long)

if close_signal and time_cond
    strategy.close(id = "Long")