
Эта стратегия позволяет отслеживать тенденции, рассчитывая динамические равновесия DEMA и TEMA и создавая позиции для увеличения или уменьшения при их возникновении. В то же время, стратегия устанавливает определенное количество позиций для хранения, чтобы избежать ненужных стоп-убытков.
Эта стратегия основана на пересечении двух динамических равновесных линий DEMA и TEMA для определения направления тренда.
DEMA представляет собой двузначную скользящую среднюю, которая объединяет в себе весомо-сглаженные характеристики EMA и оптимизирует существующие проблемы задержки в EMA.
DEMA = 2*EMA(CLOSE,N) - EMA(EMA(CLOSE,N),N)
Здесь N - это Demalength.
TEMA представляет собой трехзначную скользящую среднюю, которая уменьшает задержку средней за счет трехзначного сглаживания. Формула ее расчета:
EMA1 = EMA(CLOSE,Temalength)
EMA2 = EMA(EMA1,Temalength)
EMA3 = EMA(EMA2,Temalength)
TEMA = 3*EMA1 - 3*EMA2 + EMA3
Когда TEMA пересекает DEMA, рассматривается как золотой форк, сделайте больше; когда TEMA пересекает DEMA, рассматривается как мертвый форк, сделайте пустоту.
Кроме того, в стратегии также установлены delayBars, чтобы гарантировать эффективность сигнала и предотвратить появление ложного сигнала. Он требует непрерывного цикла для запуска после запуска GoldFork или DeadFork.
Наконец, в стратегию добавлена логика двойной проверки. Перед открытием позиции следует определить, нужно ли погасить текущую обратную позицию, что позволяет избежать риска двустороннего арбитража.
DEMA и TEMA - динамические равнолинии, более чувствительные по сравнению с традиционными EMA и SMA, способные быстрее улавливать изменения в тренде, что повышает точность оценки движения рынка.
Параметры delayBars настроены таким образом, что необходимо подождать, пока сигнал продлится некоторое время, прежде чем открывать позиции, чтобы отфильтровать ложные сигналы и избежать попадания в ловушку.
Стратегия, прежде чем открыть позицию, будет в первую очередь определять, нужно ли погасить обратную позицию, чтобы избежать риска одновременного владения двунаправленной позицией и максимально уменьшить убытки от арбитража.
Эта стратегия основывается на общепринятом техническом показателе равномерного скрещивания для определения тенденций и сигналов, не зависит от конкретных сортов и применяется для большинства сортов с явным трендом.
Когда рынок погружен в огромные колебательные зоны, средняя линия может часто пересекаться, что может привести к появлению ложных сигналов, что приводит к зацеплению. В этом случае настройка задержки цикла также может не полностью отфильтровывать сигналы.
Решение состоит в том, чтобы определить стратегию приостановки после шокирующего состояния или соответствующим образом скорректировать средний параметр и длительный период.
Эта стратегия следит только за ценовыми тенденциями и не может предсказать краткосрочные ловушки или возврат, вызванный крупными внезапными событиями. В этом случае стратегия может понести большие потери.
Решение заключается в сочетании с другими показателями для оценки рискового фона или в соответствующем сокращении размеров позиций.
Помимо DEMA и TEMA, можно также тестировать комбинации SMA, EMA и других улучшенных средних линий, чтобы найти средние показатели, которые лучше соответствуют рынку.
Получение более точных торговых сигналов путем параметрической оптимизации для поиска оптимальных параметров средней длины линии и периода задержки сигнала.
В зависимости от особенностей разновидности, найдите комбинацию параметров средней линии и задержки цикла, подходящих для их диапазона колебаний и тенденций.
Например, индикаторы Bollinger Bands определяют волатильность и положение цен, чтобы избежать попадания в шок-ловушку; в сочетании с энергетическими показателями оценки надежности тренда.
Эта стратегия отслеживает большие тенденции через пересечение динамической средней DEMA и TEMA, и относится к простому типу стратегий отслеживания тенденций. Преимуществами являются высокая стабильность, надежность и универсальность, пригодные для использования в качестве базовой стратегии; но также есть определенные недостатки, связанные с задержкой и слабой способностью к обратной идентификации.
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jacobdickson255
strategy("Crypto Bull Run Tracker", overlay=true, pyramiding=0)
//Dema Scripting
Demalength = input.int(230, minval=1)
src = close
e1 = ta.ema(src, Demalength)
e2 = ta.ema(e1, Demalength)
dema = 2 * e1 - e2
plot(dema, "DEMA", color=#43A047)
//Tema Scripting
Temalength = input.int(210, minval=1)
ema1 = ta.ema(close, Temalength)
ema2 = ta.ema(ema1, Temalength)
ema3 = ta.ema(ema2, Temalength)
tema = 3 * (ema1 - ema2) + ema3
plot(tema, "TEMA", color=#2962FF)
delayBars = input(5, title="Bar Delay")
var int lastTradeBar = na
longCondition = ta.crossover(tema, dema)
longExit = ta.crossunder(tema, dema)
shortCondition = ta.crossunder(tema, dema)
shortExit = ta.crossover(tema, dema)
// Exit conditions should be checked before entry conditions
// Close short position if a long condition is present
if ((shortExit and strategy.position_size < 0)) // If conditions for exiting the short are met, and there is a balance in the short direction, exit the short
strategy.close("Short")
// Close long position if a short condition is present
if ((longExit and strategy.position_size > 0))
strategy.close("Long")
// Now check for entry conditions
if (longCondition)
strategy.entry("Long", strategy.long)
lastTradeBar := bar_index
if (shortCondition)
strategy.entry("Short", strategy.short)
lastTradeBar := bar_index