A estratégia de negociação de oscilação de média móvel dupla gera sinais de negociação combinando a média móvel exponencial 2/20 e o indicador de oscilação da zona de preços adaptativa para lucrar em mercados oscilantes.
A estratégia de negociação de oscilação de média móvel dupla consiste em duas partes:
2/20 Média Móvel Exponencial. Este indicador gera um sinal de compra quando o preço atravessa a linha de 20 dias e não atravessa a linha de 2 dias na subida; ele gera um sinal de venda quando o preço atravessa a linha de 2 dias e não excede a linha de 20 dias na queda.
Indicador de oscilação de zona de preços adaptativa. Este indicador constrói faixas de preços com base na faixa de volatilidade dos preços e julga pontos de virada do mercado pelos preços que atravessam faixas de preços superiores e inferiores para gerar sinais de compra e venda.
A estratégia de negociação de oscilação de média móvel dupla gera sinais de negociação reais apenas quando a média móvel exponencial 2/20 e o indicador de oscilação da zona de preços adaptativa emitem sinais ao mesmo tempo para implementar a negociação de estratégia. Isso pode efetivamente filtrar alguns sinais inválidos e melhorar a qualidade do sinal.
A estratégia de negociação de oscilação de média móvel dupla combina as vantagens dos indicadores de média móvel e os indicadores de volatilidade, com as seguintes características:
Signais de negociação fiáveis: a verificação de dois indicadores melhora a qualidade do sinal e filtra de forma eficaz os sinais inválidos.
A utilização combinada de indicadores de média móvel e de faixa de preços pode determinar com precisão os pontos de virada nos mercados oscilantes.
Frequência de operação moderada: em comparação com a estratégia da média móvel exponencial dupla, pode reduzir a ocorrência de transações inválidas.
As regras do sinal são claras e os parâmetros são simples de definir, o que é fácil de programar para obter negociação automática.
A estratégia de negociação de oscilação de média móvel dupla apresenta também os seguintes riscos:
A combinação de indicadores duplos para filtrar sinais pode perder oportunidades de reversões rápidas de preços.
A estratégia baseia-se principalmente em mercados oscilantes, e os sinais de negociação e as margens de lucro diminuirão à medida que a volatilidade enfraquecer.
Impacto significativo da otimização de parâmetros: as definições dos parâmetros dos indicadores podem ter um impacto maior nos resultados das negociações e precisam ser sistematicamente otimizadas para parâmetros ideais.
Em resposta aos riscos acima referidos, podem ser adotados métodos como o ajustamento dinâmico dos parâmetros para se adaptarem às alterações ambientais do mercado, ao mesmo tempo em que se estabelecem estratégias de stop loss para controlar o risco de queda.
A estratégia de negociação de oscilação de média móvel dupla pode ser otimizada nos seguintes aspectos:
Teste mais combinações de médias móveis e faixas de preços. Teste sistematicamente médias móveis e faixas de preços de diferentes comprimentos para encontrar a combinação ideal de parâmetros.
A combinação de sinais anormais de volume de negociação para filtrar sinais de preços de médias móveis pode melhorar ainda mais a qualidade do sinal.
Quando a volatilidade do mercado enfraquecer, apertar adequadamente os pontos de stop loss para reduzir a perda única.
Combine modelos de aprendizagem profunda. Use o LSTM e outros modelos de aprendizagem profunda para verificar sinais de negociação para tornar as estratégias mais inteligentes.
A estratégia de negociação de oscilação de média móvel dupla gera sinais de negociação de oscilação de alta qualidade, combinando a média móvel exponencial 2/20 e o indicador de oscilação da zona de preços adaptativa, que pode se adaptar a mercados voláteis como índice de ações, forex, commodities com grandes flutuações e realizar arbitragem de negociação frequente dentro da faixa de oscilação. A estratégia tem vantagens como alta qualidade de sinal e fácil automação. Ao mesmo tempo, riscos como a identificação tardia de pontos de virada e ajuste dinâmico de parâmetros também precisam ser controlados, e ainda há muito espaço para otimização nesta base.
/*backtest start: 2023-11-03 00:00:00 end: 2023-12-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 02/03/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 // The adaptive price zone (APZ) is a volatility-based technical indicator that helps investors // identify possible market turning points, which can be especially useful in a sideways-moving // market. It was created by technical analyst Lee Leibfarth in the article “Identify the // Turning Point: Trading With An Adaptive Price Zone,” which appeared in the September 2006 issue // of the journal Technical Analysis of Stocks and Commodities. // This indicator attempts to signal significant price movements by using a set of bands based on // short-term, double-smoothed exponential moving averages that lag only slightly behind price changes. // It can help short-term investors and day traders profit in volatile markets by signaling price // reversal points, which can indicate potentially lucrative times to buy or sell. The APZ can be // implemented as part of an automated trading system and can be applied to the charts of all tradeable assets. // // 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 APZ(nPeriods,nBandPct) => pos = 0.0 xHL = high - low nP = math.ceil(math.sqrt(nPeriods)) xVal1 = ta.ema(ta.ema(close,nP), nP) xVal2 = ta.ema(ta.ema(xHL,nP), nP) UpBand = nBandPct * xVal2 + xVal1 DnBand = xVal1 - nBandPct * xVal2 pos := low < DnBand ? 1 : high > UpBand ? -1 : pos[1] pos strategy(title='Combo 2/20 EMA & Adaptive Price Zone', shorttitle='Combo', overlay=true) var I1 = '●═════ 2/20 EMA ═════●' Length = input.int(14, minval=1, group=I1) var I2 = '●═════ Adaptive Price Zone ═════●' nPeriods = input(20) nBandPct = input(2) 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) prePosAPZ = APZ(nPeriods,nBandPct) iff_1 = posEMA20 == -1 and prePosAPZ == -1 and StartTrade ? -1 : 0 pos = posEMA20 == 1 and prePosAPZ == 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)