
A estratégia usa a média móvel binária (DEMA) para calcular a volatilidade dos preços e suavizar a volatilidade para descobrir a tendência de oscilação dos preços, fazendo mais quando oscilação sobe e fechando quando oscilação desce.
Calcule a média móvel binária do preço (DEMA) com a fórmula: DEMA = 2*EMA(price, N) - EMA(EMA(price, N), N)
Calcule a taxa de flutuação do preço em relação ao DEMA: taxa de flutuação = (price - DEMA) / price * 100%
Tratamento DEMA de suavização da taxa de flutuação novamente para obter um sinal de tendência da taxa de flutuação
Quando a taxa de flutuação após o reajuste atravessa um nível, faça mais; quando a taxa de flutuação após o reajuste atravessa um nível abaixo, faça um vazio
Pode ser configurado para negociar apenas durante um determinado período de tempo
O uso de médias móveis binárias permite capturar tendências de mudanças de preços mais rapidamente
A taxa de flutuação pode refletir o sentimento de vazio no mercado, com a subida da taxa de flutuação representando uma vantagem de muitos, e a queda da taxa de flutuação representando uma vantagem de vazio
A segunda suavização da taxa de flutuação filtra o ruído de curto prazo para capturar as principais tendências
Pode ser configurado para negociar apenas em períodos de tempo específicos, evitando perdas desnecessárias
O risco pode ser controlado com estratégias de parada e saída.
Em situações extremas, a DEMA pode ficar para trás e perder o melhor ponto de entrada.
Os indicadores de volatilidade podem apresentar falsas rupturas e devem ser verificados em combinação com outros indicadores
Deveria definir um ponto de parada para evitar a expansão dos prejuízos
O que acontece é que, fora do horário de negociação, você perde uma oportunidade de negociação.
A escolha do período de negociação precisa ser testada com base em dados históricos, e períodos de tempo inadequados podem reduzir a receita
Optimizar o parâmetro DEMA para um menor valor de N
Para julgar em conjunto com outros indicadores como RSI, MACD etc.
Determinação de pontos de parada com base em dados históricos e perdas máximas aceitáveis
Optimizar o período de negociação
Os melhores períodos de negociação são testados em diferentes variedades
Teste diferentes combinações de parâmetros de DEMA para encontrar o parâmetro mais adequado para a suavização
Tente outros tipos de médias móveis, como EMA, SMA, etc.
Multiplicar o alinhamento do indicador de flutuabilidade para encontrar o parâmetro de alinhamento ideal
Adição de outros indicadores auxiliares para a realização de verificação multifatorial
Otimizar automaticamente os parâmetros de entrada e saída usando métodos como a aprendizagem de máquina
Combinação ideal de parâmetros para testes em diferentes variedades
Aumentar as estratégias de stop loss e de saída e controlar rigorosamente os riscos
A estratégia de calcular a taxa de DEMA oscilação dos preços e suavizar novamente, pode rapidamente detectar a tendência de mudança de mercado excessivo sentimento, fazer mais quando a taxa de oscilação subir, fechar mão quando a taxa de oscilação cair, para realizar a negociação de tendência de crescimento. Mas a estratégia pode ter DEMA atraso, falso breakout, etc. problemas.
/*backtest
start: 2022-10-17 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version= 2
strategy("DEMA of DPD Strategy ",shorttitle="DPD% DEMA " ,overlay=false)
buyper =input(-2)
sellper=input(2)
demalen = input(50,title="Dema Length")
e1= ema(close,demalen)
e2=ema(e1,demalen)
demaprice = 2 * e1 - e2
price=close
demadifper = ((price-demaprice)/price)*100
OverDemaPer = input(1, title="Band for OverBought")
UnderDemaPer= input(-1,title="Band for OverSold")
band1 = hline(OverDemaPer)
band0 = hline(UnderDemaPer)
zeroline=0
fill(band1, band0, color=green, transp=90)
demalen2 = input(21,title="DEMA to Calculate dema of DPD")
demaofdpd =ema(demadifper,demalen2)
demaofdpd2 =ema(demaofdpd,demalen2)
resultstrategy = 2*demaofdpd - demaofdpd2
plot(resultstrategy,color=blue)
yearfrom = input(2018)
yearuntil =input(2019)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
if ( crossover(resultstrategy,buyper) )
strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
else
strategy.cancel(id="BUY")
if ( crossunder(resultstrategy,sellper) )
strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL")
else
strategy.cancel(id="SELL")