Esta estratégia usa principalmente o indicador ADX para julgar a tendência e combina as médias móveis MA e EMA com diferentes configurações de parâmetros para construir uma estratégia de rastreamento de tendência apenas longa. Quando o ADX sobe, ele indica uma direção longa. Quando o preço atravessa o MA e EMA ascendentes, abra posições longas. Quando o ADX cai ou o preço cai abaixo do MA ou EMA, feche posições.
A estratégia usa principalmente o ADX para julgar a tendência e a força do mercado. O ADX calcula o grau e a direção das mudanças de preço para determinar a existência e a força da tendência. Quando o ADX sobe, significa que está atualmente em uma tendência ascendente. Quando o ADX cai, significa que a tendência está enfraquecendo.
A estratégia também usa duas médias móveis, MA e EMA, com configurações de parâmetros diferentes como julgamento auxiliar. Eles podem efetivamente filtrar a aleatoriedade dos preços e mostrar a principal direção de tendência dos preços. Quando os preços aumentam e quebram a MA e a EMA, é um sinal longo. Quando os preços caem e quebram, é um sinal de fechamento.
Combinando as características do ADX e médias móveis, a estratégia constrói sinais de negociação para julgar a direção da tendência: vá longo quando o ADX sobe e os preços atravessam a MA e EMA ascendentes e feche posições quando o ADX cai ou os preços atravessam a MA / EMA. Implementa uma estratégia de rastreamento de tendência apenas longa.
As principais vantagens desta estratégia são:
Há também alguns riscos:
Soluções:
A estratégia pode ser otimizada a partir dos seguintes aspectos:
Em geral, esta é uma estratégia de rastreamento de tendências de longo prazo que usa o ADX para julgar a força da tendência e duas médias móveis como filtros auxiliares. Ele controla efetivamente a ocorrência de negócios inválidos e alcança o efeito de rastreamento de tendências. É uma estratégia relativamente estável de longo prazo.
/*backtest start: 2023-01-22 00:00:00 end: 2024-01-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("ADX, MA, and EMA Long Strategy - ADX Trending Up", shorttitle="ADX_MA_EMA_Long_UpTrend", overlay=true) adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") maPeriod = input(50, title="MA Period") emaPeriod = input(50, title="EMA Period") dirmov(len) => up = change(high) down = -change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) truerange = rma(tr, len) plus = fixnan(100 * rma(plusDM, len) / truerange) minus = fixnan(100 * rma(minusDM, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) sig = adx(dilen, adxlen) maValue = sma(close, maPeriod) emaValue = ema(close, emaPeriod) longCondition = sig > sig[1] and close > maValue and close > emaValue if (longCondition) strategy.entry("Long", strategy.long) exitCondition = sig < sig[1] or close < maValue or close < emaValue if (exitCondition) strategy.close("Long") plot(maValue, color=color.blue, title="MA") plot(emaValue, color=color.orange, title="EMA") plot(sig, color=color.red, title="ADX")