
Esta estratégia combina equilíbrio perfeito e um indicador mágico de tendência para capturar a tendência do mercado. Ela usa três médias móveis (EMA45, SMA90 e SMA180) e um indicador mágico de tendência baseado em cálculos CCI e ATR. O núcleo da estratégia é identificar situações de equilíbrio perfeito e, ao mesmo tempo, combinar a mudança de cor do indicador mágico de tendência para confirmar a reversão da tendência, gerando assim um sinal de negociação.
A estratégia baseia-se nos seguintes elementos-chave:
Linha média perfeita: Usando três linhas médias de EMA45, SMA90 e SMA180, quando elas são organizadas em uma ordem específica (multicapa: EMA45 > SMA90 > SMA180; cabeceira vazia: EMA45 < SMA90 < SMA180), é considerado um forte sinal de estabelecimento de tendência.
Indicador de magia de tendência: é um indicador personalizado baseado no CCI (Índice de canais de mercadorias) e no ATR (Amplitude de onda real). Indica uma potencial reversão de tendência através de mudanças de cor.
Condições de entrada: O sinal de negociação só é gerado quando a linha média é perfeitamente alinhada e a mudança de cor do indicador mágico de tendência é simultaneamente satisfeita. Isso garante que a negociação seja feita apenas quando uma forte tendência é formada.
Gerenciamento de riscos: a estratégia usa um objetivo de stop loss e profit baseado no risco-retorno. O stop loss é definido como o nível SMA90 no momento da entrada, e o profit é definido como 1,5 vezes o risco.
Seguimento de tendências: Combinando vários indicadores, a estratégia é capaz de capturar de forma eficaz as tendências de médio e longo prazo, reduzindo os falsos sinais.
Controle de risco: mecanismos de gerenciamento de risco embutidos, incluindo stop-loss fixos e objetivos de lucro baseados na taxa de retorno de risco, ajudam a controlar o risco de cada transação.
Flexibilidade: A estratégia permite que o usuário ajuste os parâmetros, como o ciclo CCI, a multiplicação do ATR e o ciclo da média móvel, para adaptar-se a diferentes condições de mercado e preferências pessoais.
Visualização: A estratégia traça indicadores mágicos de tendências e médias móveis em gráficos, facilitando a análise intuitiva das tendências do mercado.
Atraso: devido à utilização de médias móveis e outros indicadores de atraso, a estratégia pode perder algumas oportunidades no início da tendência.
Mercado em choque: Em mercados de travessia ou de choque, as estratégias podem gerar falsos sinais frequentes, resultando em excesso de negociação.
Parar fixo: o uso de um SMA90 fixo como paragem pode ser muito relaxado em alguns casos, aumentando o potencial de perda.
Sensibilidade de parâmetros: a performance da estratégia pode ser sensível à configuração de parâmetros e precisa ser cuidadosamente otimizada e testada.
Stop loss dinâmico: Considere a implementação de stop loss de rastreamento, ajustando o nível de stop loss conforme o preço se move para melhor proteger os lucros.
Filtros de estado de mercado: introdução de filtros de intensidade de volatilidade ou tendência para ajustar o comportamento da estratégia em diferentes condições de mercado.
Análise de quadros de tempo: integração de análises de quadros de tempo múltiplos para aumentar a confiabilidade do sinal e reduzir os falsos.
Indicadores quantitativos: adicionar análise de volume de transação ou outros indicadores quantitativos para aumentar a confirmação de tendências e a identificação de reversão.
Otimização de aprendizado de máquina: ajuste dinâmico de parâmetros de algoritmos de aprendizado de máquina para se adaptar a condições de mercado em constante mudança.
Esta estratégia de negociação automática, que combina o equilíbrio de linhas perfeitas e indicadores mágicos de tendências, mostra um método de rastreamento de tendências com potencial. Através do uso integrado de vários indicadores tecnológicos, a estratégia visa capturar fortes tendências de mercado, enquanto controla o risco por meio de mecanismos de gerenciamento de risco embutidos. Apesar de algumas limitações inerentes, como atraso e sensibilidade a parâmetros, a estratégia tem potencial de se tornar uma ferramenta de negociação eficaz, com otimização contínua e ajuste adaptativo.
/*backtest
start: 2024-08-26 00:00:00
end: 2024-09-24 08:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PakunFX
//@version=5
strategy("Trend Magic with EMA, SMA, and Auto-Trading", shorttitle="TM_Trading", overlay=true, format=format.price, precision=2)
// Inputs
period = input.int(21, "CCI period")
coeff = input.float(1.0, "ATR Multiplier")
AP = input.int(7, "ATR Period")
riskRewardRatio = input.float(1.5, "Risk/Reward Ratio") // Risk/Reward Ratio for take profit
// Calculations
ATR = ta.sma(ta.tr, AP)
src = input(close)
upT = low - ATR * coeff
downT = high + ATR * coeff
var MagicTrend = 0.0
MagicTrend := ta.cci(src, period) >= 0 ? (upT < nz(MagicTrend[1]) ? nz(MagicTrend[1]) : upT) : (downT > nz(MagicTrend[1]) ? nz(MagicTrend[1]) : downT)
// Define colors for Trend Magic
color1 = ta.cci(src, period) >= 0 ? color.rgb(0, 34, 252) : color.rgb(252, 4, 0)
isBlue = ta.cci(src, period) >= 0
isRed = ta.cci(src, period) < 0
// Convert bool to float (1 for true, 0 for false)
isBlueFloat = isBlue ? 1 : 0
isRedFloat = isRed ? 1 : 0
// Moving Averages
ema45 = ta.ema(close, 45)
sma90 = ta.sma(close, 90)
sma180 = ta.sma(close, 180)
// Plot Trend Magic
plot(MagicTrend, color=color1, linewidth=3)
// Alerts
alertcondition(ta.cross(close, MagicTrend), title="Cross Alert", message="Price - MagicTrend Crossing!")
alertcondition(ta.crossover(low, MagicTrend), title="CrossOver Alarm", message="BUY SIGNAL!")
alertcondition(ta.crossunder(high, MagicTrend), title="CrossUnder Alarm", message="SELL SIGNAL!")
// Perfect Order conditions
bullishPerfectOrder = ema45 > sma90 and sma90 > sma180 // Bullish Perfect Order
bearishPerfectOrder = ema45 < sma90 and sma90 < sma180 // Bearish Perfect Order
// Trend Magic color change detection
trendMagicTurnedBlue = ta.crossover(isBlueFloat, isRedFloat) // Red to Blue crossover (For long entry)
trendMagicTurnedRed = ta.crossunder(isBlueFloat, isRedFloat) // Blue to Red crossover (For short entry)
// Variables to store SMA90 at the entry
var float longSma90 = na
var float shortSma90 = na
// Trading logic based on Perfect Order and color change
longCondition = bullishPerfectOrder and trendMagicTurnedBlue // Buy when Perfect Order is bullish and Trend Magic turns red to blue
shortCondition = bearishPerfectOrder and trendMagicTurnedRed // Sell when Perfect Order is bearish and Trend Magic turns blue to red
// Strategy Entry
if (longCondition)
strategy.entry("Buy", strategy.long)
longSma90 := sma90 // Store SMA90 at entry for long position
if (shortCondition)
strategy.entry("Sell", strategy.short)
shortSma90 := sma90 // Store SMA90 at entry for short position
// Stop-Loss and Take-Profit calculations
// For Long Positions: stop at SMA90 (fixed at entry), take profit at 1.5x risk
if (longCondition and not na(longSma90))
longStopLoss = longSma90 // Use SMA90 at the time of entry
longRisk = close - longSma90 // Calculate risk
longTakeProfit = close + longRisk * riskRewardRatio // Calculate take profit
strategy.exit("Take Profit/Stop Loss", "Buy", stop=longStopLoss, limit=longTakeProfit)
// For Short Positions: stop at SMA90 (fixed at entry), take profit at 1.5x risk
if (shortCondition and not na(shortSma90))
shortStopLoss = shortSma90 // Use SMA90 at the time of entry
shortRisk = shortSma90 - close // Calculate risk
shortTakeProfit = close - shortRisk * riskRewardRatio // Calculate take profit
strategy.exit("Take Profit/Stop Loss", "Sell", stop=shortStopLoss, limit=shortTakeProfit)
// Plot Moving Averages
plot(ema45, color=color.green, title="EMA 45")
plot(sma90, color=color.blue, title="SMA 90")
plot(sma180, color=color.red, title="SMA 180")