Estratégia de negociação de média móvel dupla com base em preços sintéticos sem tendência


Data de criação: 2023-09-19 17:13:28 última modificação: 2023-09-19 17:13:28
cópia: 1 Cliques: 584
1
focar em
1617
Seguidores

Visão geral

A estratégia é baseada em uma estratégia de negociação de dupla linha de equilíbrio de preços sintéticos detendidos (DSP). O DSP é uma função sincronizada com o ciclo de dominação do preço real, obtida por meio do cálculo de 14 de ciclo de EMA menos 12 de ciclo de EMA.

Princípio da estratégia

  1. Calcule o preço com a média de 1 / 2 ciclo de HL x HL2 .

  2. Calcule o 14 de ciclo EMA ((xEMA1) e o 12 de ciclo EMA ((xEMA2)) de xHL2 com base no parâmetro Length.

  3. Calcule xEMA1 menos xEMA2 para obter o preço de síntese de tendência DSP.

  4. Configure os parâmetros de ascensão e descensão para que o DSP faça mais quando ele entra na faixa e deixe vazio quando ele entra na faixa.

  5. Pode-se fazer mais vazio através da mudança de parâmetro reverso.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. O DSP pode capturar o ciclo dominante do preço, evitando ser enganado pelo ciclo secundário.

  2. A dupla EMA foi concebida para monitorizar eficazmente as variações do ciclo de dominância.

  3. O sistema de comboios é simples e fácil de usar, evitando transações excessivas.

  4. Pode ser facilmente alternado em várias direções para se adaptar a diferentes ambientes de mercado.

  5. Não precisa de complexas optimizações de parâmetros, é simples e prático.

Análise de Riscos

Os principais riscos desta estratégia são:

  1. O ciclo DSP está configurado incorretamente e pode ter perdido o ciclo dominante.

  2. A largura de trajetória deve ser otimizada, pois pode haver transações muito frequentes.

  3. O projeto de ciclo fixo, com pouca adaptabilidade a mudanças drásticas no mercado.

  4. A base de negociação de DSPs, por si só, é vulnerável a erros de cruzamento repetidos em mercados de baixa volatilidade.

  5. Não foi levado em consideração o stop loss e existe um risco de perdas significativas.

Direção de otimização

A estratégia pode ser otimizada de acordo com:

  1. Parâmetros de otimização para encontrar a melhor combinação de parâmetros de ciclo.

  2. Aumentar a configuração dinâmica de subida e descida baseada na taxa de flutuação.

  3. Filtração combinada com tendências e oscilações para reduzir os sinais falsos.

  4. Aumentar o stop loss móvel ou o stop loss de rastreamento para controlar o risco.

  5. Para fazer ajustes de parâmetros multivariados e avaliar a universalidade.

  6. Adicionar algoritmos de aprendizagem de máquina para otimizar a auto-adaptação do ciclo DSP.

Resumir

A estratégia global é uma estratégia de negociação binária muito simples e prática. Ela é baseada em uma análise de ciclo razoável, com o DSP efetivamente rastreando o ciclo de dominação. Melhorias na otimização de parâmetros, mecanismo de parada de perdas, condições de filtragem, etc., podem ser uma estratégia de negociação quantitativa mais confiável.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/03/2017
// Detrended Synthetic Price is a function that is in phase with the 
// dominant cycle of real price data. This DSP is computed by subtracting 
// a half-cycle exponential moving average (EMA) from the quarter cycle 
// exponential moving average.
// See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70. 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="D_DSP (Detrended Synthetic Price)", shorttitle="D_DSP")
Length = input(14, minval=1)
SellBand = input(25)
BuyBand = input(-25)
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
hline(SellBand, color=red, linestyle=line)
hline(BuyBand, color=green, linestyle=line)
xHL2 = hl2
xEMA1 = ema(xHL2, Length)
xEMA2 = ema(xHL2, 2 * Length)
xEMA1_EMA2 = xEMA1 - xEMA2
pos = iff(xEMA1_EMA2 > SellBand, 1,
	     iff(xEMA1_EMA2 < BuyBand, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xEMA1_EMA2, color=blue, title="D_DSP")