
A estratégia de sincronização de tendências dinâmicas é uma estratégia de negociação que combina o índice de dinâmica relativa (RMI) e um indicador de tendência presente personalizado. A estratégia usa uma abordagem de vários níveis, combinando análise de dinâmica com julgamento de tendências, proporcionando aos comerciantes uma estrutura de negociação mais flexível e sensível.
O RMI é uma variante do RSI (Relative Strength Index), que mede a magnitude da dinâmica das subidas e descidas de preços em relação à variação de preços no período anterior. A fórmula para o cálculo é:
RMI = 100 - 100/ (-1 + média de alta / média de baixa)
O indicador RMI varia entre 0 e 100, quanto maior o valor, mais forte é a tendência de alta, e quanto menor o valor, mais forte é a tendência de queda.
O indicador de tendência atual combina a amplitude de flutuação real (ATR) e a média móvel para determinar a direção da tendência e os pontos de suporte ou resistência dinâmicos. Sua fórmula de cálculo é:
Trilha de cima: média móvel + (ATR × F)
Baixa faixa: média móvel - (ATR × F)
A média móvel é a média do preço de fechamento do período M anterior
ATR é a média real da amplitude de flutuação do ciclo M passado
F é o múltiplo de ajuste de sensibilidade
Quando o preço quebra a trajectória ascendente ou descendente da tendência presente, indica uma mudança de tendência e um possível ponto de entrada ou saída.
Condições de entrada:
Condições de saída ((com perda dinâmica):
A fórmula para o cálculo do stop loss dinâmico é:
A vantagem desta estratégia é que a combinação do discernimento dinâmico do RMI com a tendência e o stop dinâmico do presentTrend permite controlar o risco de forma eficaz, ao mesmo tempo em que acompanha a tendência.
A estratégia tem as seguintes vantagens:
A estratégia também traz alguns riscos:
Os riscos acima mencionados podem ser reduzidos com a liberalização apropriada das condições de entrada, otimizando a combinação de parâmetros, combinado com o julgamento de tendências.
A estratégia pode ser otimizada em várias direções:
A estratégia de sincronização de tendências dinâmicas é uma estratégia de negociação em vários níveis, que leva em consideração os indicadores de tendência e os indicadores de tendência, com excelentes características de precisão de julgamento e controle de risco. A estratégia pode ser ajustada de forma flexível de acordo com as preferências pessoais e, depois de otimizada em profundidade, pode aproveitar ao máximo as vantagens de captura de tendências, uma estratégia de negociação recomendada.
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PresentTrading
//@version=5
strategy("PresentTrend RMI Synergy - Strategy [presentTrading]", shorttitle="PresentTrend RMI Synergy - Strategy [presentTrading]", overlay=false)
// Inputs
tradeDirection = input.string("Both", title="Trade Direction", options=["Long", "Short", "Both"])
lengthRMI = input.int(21, title="RMI Length")
lengthSuperTrend = input.int(5, title="presentTrend Length")
multiplierSuperTrend = input.float(4.0, title="presentTrend Multiplier")
// RMI Calculation
up = ta.rma(math.max(ta.change(close), 0), lengthRMI)
down = ta.rma(-math.min(ta.change(close), 0), lengthRMI)
rmi = 100 - (100 / (1 + up / down))
// PresentTrend Dynamic Threshold Calculation (Simplified Example)
presentTrend = ta.sma(close, lengthRMI) * multiplierSuperTrend // Simplified for demonstration
// SuperTrend for Dynamic Trailing Stop
atr = ta.atr(lengthSuperTrend)
upperBand = ta.sma(close, lengthSuperTrend) + multiplierSuperTrend * atr
lowerBand = ta.sma(close, lengthSuperTrend) - multiplierSuperTrend * atr
trendDirection = close > ta.sma(close, lengthSuperTrend) ? 1 : -1
// Entry Logic
longEntry = rmi > 60 and trendDirection == 1
shortEntry = rmi < 40 and trendDirection == -1
// Exit Logic with Dynamic Trailing Stop
longExitPrice = trendDirection == 1 ? lowerBand : na
shortExitPrice = trendDirection == -1 ? upperBand : na
// Strategy Execution
if (tradeDirection == "Long" or tradeDirection == "Both") and longEntry
strategy.entry("Long Entry", strategy.long)
strategy.exit("Exit Long", stop=longExitPrice)
if (tradeDirection == "Short" or tradeDirection == "Both") and shortEntry
strategy.entry("Short Entry", strategy.short)
strategy.exit("Exit Short", stop=shortExitPrice)
// Visualization
plot(rmi, title="RMI", color=color.orange)
hline(50, "Baseline", color=color.white)
hline(30, "Baseline", color=color.blue)
hline(70, "Baseline", color=color.blue)