Estratégia de quebra de preço médio móvel duplo e combinação de equilíbrio de poder longo-curto


Data de criação: 2024-01-08 17:09:48 última modificação: 2024-01-08 17:09:48
cópia: 3 Cliques: 635
1
focar em
1617
Seguidores

Estratégia de quebra de preço médio móvel duplo e combinação de equilíbrio de poder longo-curto

Visão geral

Esta estratégia utiliza em primeiro lugar a média móvel do índice dos períodos 2 e 20 para construir um indicador de dupla equilíbrio, para julgar se o preço quebrou a equilíbrio, como o julgamento básico dentro do campo de entrada. Ao mesmo tempo, o indicador de julgamento auxiliar do indicador de balanço de força do indicador de balanço de força do indicador de balanço de força do indicador de balanço de força do indicador de balanço de força do indicador de balanço de força do indicador de balanço de força do indicador de balanço de força do indicador do indicador de balanço de força do indicador de balanço do indicador de balanço do indicador de balanço do indicador do indicador do indicador de balanço do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indicador do indic

Princípio da estratégia

  1. Indicador de linha média 220

    • Calcule a média móvel indexada dos períodos 2 e 20 (EMA)
    • Um sinal de negociação é emitido quando o preço de fechamento se move de um lado da linha média para o outro
    • A quebra da linha média de 20 é um sinal de tendência
    • A linha média de ruptura 2 é o sinal para determinar o ponto de entrada específico
  2. Indicadores de equilíbrio de forças multiespaciais

    • Calculando o valor da força de multiplo e o valor da força de vazio, respectivamente
    • Comparando o tamanho dos dois, a força aérea do país é relativamente fraca.
    • Direção de força como julgamento auxiliar de entrada
  3. Dois indicadores em conjunto

    • Indicadores de dupla linha de equilíbrio para determinar a direção das grandes tendências
    • Indicadores de equilíbrio de forças no espaço aéreo para julgamento regional local
    • Quando os dois julgam que o resultado é o mesmo, é emitido um sinal de transação.

Análise de vantagens

A maior vantagem dessa estratégia de combinação é a combinação de diferentes tipos de indicadores para obter um julgamento de negociação mais confiável. Existem, especificamente, as seguintes vantagens:

  1. O uso de duas linhas de equilíbrio para determinar a direção geral e evitar fraudes de flutuação local
  2. Com o uso de indicadores de equilíbrio de forças aéreas para o julgamento de áreas locais, com precisão de pontos de entrada específicos
  3. Os dois indicadores são mutuamente verificáveis, filtrando certas situações de erro e reduzindo o risco de transação.
  4. Configuração de parâmetros flexível e pode ser otimizada para diferentes variedades de mercado
  5. A estratégia é simples, clara e fácil de entender, para facilitar a otimização posterior

Análise de Riscos

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

  1. O atraso no sinal do indicador pode causar um ponto de parada muito profundo
  2. Indicadores de dupla equilíbrio são mais sensíveis à configuração de parâmetros
  3. Os indicadores de equilíbrio multi-espaço são um pouco mais imprecisos para avaliar a tendência de curto prazo
  4. Em circunstâncias especiais (frequentes falsos sinais de ruptura), os dois indicadores podem apresentar um erro de julgamento

Resposta:

  1. Reduzir adequadamente o período de detenção ou estabelecer um stop loss móvel apropriado
  2. Teste diferentes combinações de parâmetros para encontrar o melhor
  3. Confirmação de outros indicadores de referência auxiliares
  4. Parâmetros de otimização de acordo com as características da variedade

Direção de otimização

A estratégia pode ser aperfeiçoada a partir dos seguintes aspectos:

  1. Testar mais combinações de parâmetros de indicadores de mediana
  2. Aumentar a estratégia de stop loss e controlar o stop loss individual
  3. Combinação de indicadores de taxa de flutuação para aumentar a capacidade de adaptação dos parâmetros
  4. Adição de modelos de aprendizagem de máquina para otimização de parâmetros dinâmicos
  5. Tente um indicador de tendência diferente em vez de um indicador de equilíbrio
  6. Desenvolvimento de interfaces visuais para facilitar o teste de diferentes parâmetros pelo usuário

Resumir

Esta estratégia de julgar a grande tendência através de indicadores de dupla equilíbrio, e com o indicador de equilíbrio de força multi-espaço auxiliar julgar o momento de entrada. Os dois indicadores são mutuamente verificados, pode reduzir efetivamente a probabilidade de erro operacional. Os parâmetros da estratégia de escolha são flexíveis, pode ser ajustado para otimizar diferentes variedades.

Código-fonte da estratégia
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/05/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
//    This new indicator analyzes the balance between bullish and
//    bearish sentiment.
//    One can cay that it is an improved analogue of Elder Ray indicator.
//    To get more information please see "Bull And Bear Balance Indicator" 
//    by Vadim Gimelfarb. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos


BBB(SellLevel,BuyLevel) =>
    pos = 0.0
    value = close < open ? 
              close[1] > open ?  math.max(close - open, high - low) : high - low : 
                 close > open ? 
                  close[1] > open ? math.max(close[1] - low, high - close) : math.max(open - low, high - close) :
                   high - close > close - low ? 
                     close[1] > open ? math.max(close[1] - open, high - low) :high - low : 
                      high - close < close - low ? 
                         close > open ? math.max(close - low, high - close) : open - low : 
                           close > open ? math.max(close[1] - open , high - close) :
                             close[1] < open ? math.max(open - low, high - close) : high - low
    
    value2 =close < open ? 
              close[1] < open ?  math.max(high - close[1], close - low) : math.max(high - open, close - low) : 
               close > open ? 
                 close[1] > open ?  high - low : math.max(open - close[1], high - low) : 
                  high - close > close - low ? 
                   close[1] < open ? math.max(high - close[1], close - low) : high - open : 
                     high - close < close - low ? 
                      close[1] > open ?  high - low : math.max(open - close, high - low) : 
                       close[1] > open ? math.max(high - open, close - low) :
                         close[1] < open? math.max(open - close, high - low): high - low
    nBBB = value2 - value
    pos :=  nBBB < SellLevel ? -1 :
    	     nBBB >= BuyLevel ? 1 : nz(pos[1], 0) 
    pos

strategy(title='Combo 2/20 EMA & Bull And Bear Balance', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════  Bull And Bear Balance ═════●'
SellLevel = input.float(-15, step=0.01, group=I2)
BuyLevel = input.float(15, step=0.01, group=I2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosBBB = BBB(SellLevel,BuyLevel)
iff_1 = posEMA20 == -1 and prePosBBB == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosBBB == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
if possig == 1
    strategy.entry('Long', strategy.long)
if possig == -1
    strategy.entry('Short', strategy.short)
if possig == 0
    strategy.close_all()
barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)