
EMA-cross-Fibonacci reversal - это комплексная торговая стратегия, которая сочетает в себе несколько технических индикаторов. Стратегия использует в основном движущиеся средние индексы (EMA), относительно сильные индикаторы (RSI) и уровни фибоначевых отступлений для выявления потенциальных возможностей для изменения тенденции и продолжения.
Основные принципы этой стратегии включают в себя следующие аспекты:
EMA-пересечения и отскоки: использование 50-циклической EMA в качестве ключевой линии отсчета, когда цена превышает EMA50 или отскакивает от EMA50, рассматривается как потенциальный сигнал тренда.
Поддержка и сопротивление на уровне Фибоначчи: рассчитывается с использованием максимумов и минимумов на 20 циклов, с особым вниманием к области от 50% до 61,8% в качестве возможных поворотных точек.
RSI Overbought/Overbought: использует RSI для определения состояния рынка, особенно в районах с RSI ниже 30 для поиска потенциальных возможностей.
Прорывная торговля: отслеживание того, прорвала ли цена предыдущие высокие или низкие точки, как подтверждающий сигнал о продолжении или обратном тренде.
Управление рисками: используется фиксированная стоп-стоп-лосс настройка, чтобы контролировать риск каждой сделки.
Многомерный анализ: в сочетании с несколькими техническими показателями повышает надежность и точность сигналов.
Эластичность: способность найти торговые возможности в различных рыночных условиях, принимая во внимание тенденции, сопротивление и динамику поддержки.
Управление рисками: используйте фиксированный процент стоп-стоп, чтобы эффективно управлять риском для каждой сделки.
Автоматическое исполнение: стратегия может быть автоматизирована с помощью платформы TradingView, уменьшая человеческое вмешательство и эмоциональное воздействие.
Управление капиталом: торговля осуществляется с использованием фиксированной пропорции чистой стоимости счета, автоматически корректируя размер позиции по мере изменения размера счета.
Риск ложного прорыва: в криптовалютных рынках может возникать частое ложное прорыв, что приводит к последовательным потерям.
Риск скольжения: в условиях высокой волатильности рынка реальная цена сделки может значительно отклониться от ожиданий.
Чрезмерная торговля: несколько условий входа могут привести к частым сделкам, увеличивая стоимость сделки.
Чувствительность параметров: показатели стратегии могут быть чувствительны к изменениям параметров, таких как циклы EMA, настройки RSI.
Зависимость от рыночных условий: в рынках, где тенденция не очевидна, стратегия может работать плохо.
Динамическая корректировка параметров: можно рассмотреть возможность корректировки циклов EMA и значений RSI в зависимости от динамики волатильности рынка.
Добавление показателя трафика: в сочетании с анализом трафика можно повысить надежность прорывного сигнала.
Временные фильтры: добавление фильтров на время торговли, чтобы избежать больших колебаний, таких как открытие и закрытие рынка.
Оценка силы тренда: внедрение индикаторов силы тренда, таких как ADX, и использование более активных стратегий в сильных тенденциях.
Анализ нескольких временных рамок: в сочетании с более длительными временными рамками, повышается точность направления торгов.
Стратегия EMA с перекрестным фибоначчи является целостной и сложной торговой системой, которая идентифицирует потенциальные торговые возможности путем интеграции нескольких технических показателей. Ее преимущество заключается в том, что она анализирует рынок с нескольких сторон, что повышает надежность сигналов. Однако стратегия также подвержена рискам, таким как ложные прорывы и чрезмерная торговля.
/*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)