
Эта стратегия, основанная на идеях мастера технического анализа Джона Элерса, использует ведущий Элерса индикатор для определения исторического цикла цены, чтобы дать сигнал о покупке и продаже. Стратегия в сочетании с отклонением от тренда синтезирует цену и ведущий Элерс индикатор, используя индикаторную линию, которая пересекает отклонение от тренда синтезирует цену для получения торгового сигнала.
Сначала стратегия рассчитывает детерендированную синтетическую цену (DSP), которая получает функцию, синхронизирующуюся с реальным циклом господства цены, путем уменьшения стоимости 3-ступенчатого фильтра Батворца и 2-ступенчатого фильтра Батворца.
Затем рассчитывается ведущий индикатор Элерса (ЭЛИ), который получается путем вычитания простого скользящего среднего от трендового синтеза цены и от трендового синтеза цены, который может заранее сигнализировать о циклических переломах.
Наконец, когда Элерс ведет линию индикатора через трендовую синтетическую цену, создаются сигналы покупки и продажи. Если на ELI проходит DSP, создается сигнал покупки; если под ELI проходит DSP, создается сигнал продажи.
Наибольшим преимуществом этой стратегии является то, что она использует переломные моменты, которые предсказывают движение цены с помощью ведущих показателей Элерса, и может открывать позиции до того, как цена начнет переворачиваться, чтобы получить более высокую прибыль.
Кроме того, эта стратегия в сочетании с отклонением цен от тренда для определения торговых сигналов, может отфильтровывать не связанную с ценами низкочастотную информацию, что позволяет стратегии более сосредоточиться на циклической закономерности цен и не быть помехой для краткосрочного рынка.
Основная опасность этой стратегии заключается в том, что Эльерс ведет индикатор к возможности ошибочного распознавания сигнала, что приводит к потере позиции заранее. Чувствительность индикатора может быть оптимизирована путем корректировки параметров индикатора.
Кроме того, трейдеры должны обратить внимание на то, что эта стратегия применяется только для сортов с очевидными циклическими закономерностями, а для сортов с более хаотичными ценовыми движениями эффект будет снижен. Рекомендуется изучить цикличность сортов, чтобы решить, следует ли использовать эту стратегию.
Подтверждение может быть осуществлено в сочетании с другими показателями или путем корректировки стратегии управления запасами для контроля риска. Например, установление линий стоп-лосса или сокращение размера отдельных сделок.
Эта стратегия использует показатели Элерса, чтобы определить цикличность цены и создать позицию до начала нового цикла цены. Это типичная стратегия для отслеживания тенденций. Эта стратегия хорошо работает для цикличности, но также имеет определенный риск ложного сигнала.
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 23/03/2017
// This Indicator plots a single
// Daily DSP (Detrended Synthetic Price) and a Daily ELI (Ehlers Leading
// Indicator) using intraday data.
// Detrended Synthetic Price is a function that is in phase with the dominant
// cycle of real price data. This one is computed by subtracting a 3 pole Butterworth
// filter from a 2 Pole Butterworth filter. Ehlers Leading Indicator gives an advanced
// indication of a cyclic turning point. It is computed by subtracting the simple
// moving average of the detrended synthetic price from the detrended synthetic price.
// Buy and Sell signals arise when the ELI indicator crosses over or under the detrended
// synthetic price.
// See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading
////////////////////////////////////////////////////////////
strategy(title="D_ELI (Ehlers Leading Indicator)", shorttitle="D_ELI (Ehlers Leading Indicator)")
Length = input(7, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=red, linestyle=line)
xHL2 = request.security(syminfo.tickerid, 'D', hl2)
xEMA1 = ema(xHL2, Length)
xEMA2 = ema(xHL2, 2 * Length)
xEMA1_EMA2 = xEMA1 - xEMA2
xResultEMA = ema(xEMA1_EMA2, Length)
nRes = xEMA1_EMA2 - xResultEMA
pos = iff(nRes > 0, 1,
iff(nRes < 0, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(request.security(syminfo.tickerid, "D", xEMA1_EMA2), color=blue, title="D_DSP")
plot(request.security(syminfo.tickerid, "D", nRes), color=green, title="D_ELI")