
A estratégia de reversão de Fibonacci cruzada por EMA é uma estratégia de negociação complexa que combina vários indicadores técnicos. A estratégia usa principalmente a média móvel do índice (EMA), o indicador de força relativa (RSI) e o nível de retração de Fibonacci para identificar oportunidades de reversão e continuação de tendências potenciais.
Os princípios centrais da estratégia incluem:
EMAs de cruzamento e rebote: Utilizando o EMA de 50 períodos como uma linha de referência fundamental, quando o preço quebra o EMA50 ou rebote do EMA50, é visto como um sinal de tendência potencial.
Suporte e resistência dos níveis de Fibonacci: os níveis de Fibonacci são calculados com base nos pontos mais altos e mais baixos de 20 ciclos, com especial atenção para a região entre 50% e 61,8% como um possível ponto de reversão.
RSI Overbought Overbought: usa o indicador RSI para identificar o estado de overbought do mercado, especialmente em áreas de oversold onde o RSI está abaixo de 30.
Breakout: monitora se o preço ultrapassou a alta ou baixa anterior, como sinal de confirmação de que a tendência continuou ou se reverteu.
Gerenciamento de risco: configuração de stop loss com porcentagem fixa para controlar o risco de cada transação.
Análise multidimensional: combinação de vários indicadores técnicos para aumentar a confiabilidade e a precisão do sinal.
Adaptabilidade: é capaz de encontrar oportunidades de negociação em diferentes cenários de mercado, levando em consideração as tendências, resistências e dinâmicas de suporte.
Controle de risco: o uso de stop-loss de proporção fixa para gerenciar o risco de cada transação.
Execução automática: A estratégia pode ser automatizada através da plataforma TradingView, reduzindo a intervenção humana e o impacto emocional.
Gerenciamento de fundos: negociação com uma proporção fixa do valor líquido da conta, ajustando automaticamente o tamanho da posição conforme a variação do tamanho da conta.
Risco de Falso Breakout: No mercado de Forex, pode haver frequentes breakouts falsos, resultando em perdas contínuas.
Risco de deslizamento: em mercados altamente voláteis, os preços reais de transação podem ser muito diferentes dos esperados.
Transações excessivas: várias condições de entrada podem levar a transações frequentes, aumentando os custos de transação.
Sensibilidade de parâmetros: a performance da estratégia pode ser sensível a variações de parâmetros, como o ciclo EMA, a configuração do RSI.
Dependência do cenário de mercado: a estratégia pode não funcionar bem em mercados onde a tendência não é visível.
Ajuste de parâmetros dinâmicos: pode ser considerado o ajuste do ciclo EMA e do limiar RSI de acordo com a dinâmica da volatilidade do mercado.
Adição de indicadores de tráfego: a combinação de análise de tráfego pode aumentar a confiabilidade do sinal de ruptura.
Filtros de tempo: adicione filtros de tempo de negociação, evitando períodos de maior volatilidade, como abertura e fechamento do mercado.
Avaliação da força da tendência: introdução de indicadores de força da tendência, como o ADX, e adoção de estratégias mais positivas em tendências fortes.
Análise de multi-quadros de tempo: em combinação com a análise de quadros de tempo mais longos, aumenta a precisão da direção do negócio.
A estratégia de reversão de Fibonacci cruzada da EMA é um sistema de negociação abrangente e complexo para identificar potenciais oportunidades de negociação através da integração de vários indicadores técnicos. Sua vantagem reside na análise do mercado em vários ângulos, aumentando a confiabilidade do sinal. No entanto, a estratégia também enfrenta riscos como brechas falsas e sobre-negociação.
/*backtest
start: 2024-08-26 00:00:00
end: 2024-09-24 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Counter Trend Trading Strategy", overlay=true)
// Indicateurs
ema50 = ta.ema(close, 50)
rsi = ta.rsi(close, 14)
// Fonction pour calculer les niveaux de Fibonacci
fibonacci_levels(high_price, low_price) =>
fib_0 = low_price
fib_0_382 = low_price + (high_price - low_price) * 0.382
fib_0_5 = low_price + (high_price - low_price) * 0.5
fib_0_618 = low_price + (high_price - low_price) * 0.618
fib_1 = high_price
[fib_0, fib_0_382, fib_0_5, fib_0_618, fib_1]
// Calculer les niveaux de Fibonacci pour la période
var float highest_high = na
var float lowest_low = na
lookback_period = 20
if ta.change(time(timeframe.period))
highest_high := ta.highest(high, lookback_period)
lowest_low := ta.lowest(low, lookback_period)
[fib_0, fib_0_382, fib_0_5, fib_0_618, fib_1] = fibonacci_levels(highest_high, lowest_low)
// Détection de figure de continuation avec cassure et retest
continuation_pattern_breakout = (close > ema50) and ta.crossover(close, ema50)
// Détection de rejet de la MM50
rejection_ema50 = (high > ema50 and close < ema50)
// Détection de rejet de niveau Fibonacci
fibonacci_rejection = (close <= fib_0_618 and close >= fib_0_5)
// Détection de divergence RSI
rsi_divergence = (rsi < 30 and close == ta.lowest(close, 14))
// Détection de cassure d'ancien plus bas (LL) ou plus haut (HH)
lower_low_breakout = (close < ta.lowest(low, lookback_period))
higher_high_breakout = (close > ta.highest(high, lookback_period))
// Conditions d'entrée
long_condition = (continuation_pattern_breakout or rejection_ema50 or fibonacci_rejection or rsi_divergence or higher_high_breakout) and close > ema50
short_condition = (continuation_pattern_breakout or rejection_ema50 or fibonacci_rejection or rsi_divergence or lower_low_breakout) and close < ema50
// Exécution des ordres
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Conditions de sortie
take_profit_long = close * 1.02 // Exemple de prise de profit à 2%
stop_loss_long = close * 0.98 // Exemple de stop loss à 2%
take_profit_short = close * 0.98 // Exemple de prise de profit à 2%
stop_loss_short = close * 1.02 // Exemple de stop loss à 2%
// Sortie pour les positions longues
strategy.exit("Take Profit/Stop Loss Long", from_entry="Long", limit=take_profit_long, stop=stop_loss_long)
// Sortie pour les positions courtes
strategy.exit("Take Profit/Stop Loss Short", from_entry="Short", limit=take_profit_short, stop=stop_loss_short)