
Двойная тренажерная стратегия - это количественная торговая стратегия, основанная на технологических формах. Эта стратегия определяет формирование двойных нижних тренажеров и двойных верхних тренажеров и посылает сигналы покупки и продажи, когда цена пробивается через эти тренажерные системы.
Ключевая идея стратегии основана на теории разделения. Когда появляются кратковременные переломные точки типа M или W, это указывает на то, что текущая тенденция может быть обращена вспять. В частности, когда 5 последовательных K-линий образуют определенную комбинацию с более высокой высотой или более низкой низкостью, образуются нижние или верхние разделения. Например, если в K-линейном графике максимальные цены в первых 2 линиях K выше, чем максимальные цены в последующих 3 линиях K, то образуется верхний раздел.
Когда цена падает ниже нижнего отрезка или пробивается через верхний отрезк, это указывает на большую вероятность обратного, поэтому стратегия создает сигналы покупки и продажи соответственно.
Основным преимуществом этой стратегии является возможность идентифицировать потенциальные трендовые переломы, что очень полезно для торговых стратегий, отслеживающих типы трендов. Кроме того, идентификация двойных делений делает торговые сигналы более надежными по сравнению со стратегиями, которые полагаются только на одну K-линейную форму.
Основной риск этой стратегии заключается в том, что идентификация деформации не гарантирует стопроцентное изменение цены. Иногда цены могут быть только краткосрочными корректировками, и не происходит сдвиг в тренде. В этом случае, если стратегия дает ошибочный сигнал, это приведет к ненужным потерям.
Эта стратегия может быть оптимизирована следующими способами:
Добавить фильтрующие условия, такие как показатели объема торгов, чтобы избежать ложных обратных сигналов.
Настройка параметров, чтобы идентифицировать двойные деформации более крупных временных периодов, чтобы запечатлеть обертывание тенденции.
В сочетании с мобильной стратегией Stop Loss, чтобы уменьшить убытки в убыточном пакете.
Двойная раздвоенная стратегия для определения потенциальных ценовых поворотов путем идентификации конкретных K-линейных форм является распространенной технической стратегией, основанной на технических показателях. Она может эффективно отслеживать краткосрочные и среднесрочные тенденции рынка и имеет высокую прибыльность. Это надежная и практичная торговая стратегия.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun
strategy("Fractal Breakout Strategy", overlay=true)
FUp = high[4] < high[2] and high[3] < high[2] and high[1] < high[2] and high < high[2] or
high[5] < high[2] and high[4] < high[2] and high[3] <= high[2] and
high[1] < high[2] and high < high[2] or
high[6] < high[2] and high[5] < high[2] and high[4] <= high[2] and
high[3] <= high[2] and high[1] < high[2] and high < high[2] or
high[7] < high[2] and high[6] < high[2] and high[5] <= high[2] and
high[4] <= high[2] and high[3] <= high[2] and high[1] < high[2] and
high < high[2] or
high[8] < high[2] and high[7] < high[2] and high[6] <= high[2] and
high[5] <= high[2] and high[4] <= high[2] and high[3] <= high[2] and
high[1] < high[2] and high < high[2]
FractalUp = valuewhen(FUp, high[2], 1)
plot(FractalUp, color=#0000FF,title="FractalUp")
FDown = low[4] > low[2] and low[3] > low[2] and low[1] > low[2] and low > low[2] or
low[5] > low[2] and low[4] > low[2] and low[3] >= low[2] and low[1] > low[2] and
low > low[2] or
low[6] > low[2] and low[5] > low[2] and low[4] >= low[2] and low[3] >= low[2] and
low[1] > low[2] and low > low[2] or
low[7] > low[2] and low[6] > low[2] and low[5] >= low[2] and low[4] >= low[2] and
low[3] >= low[2] and low[1] > low[2] and low > low[2] or
low[8] > low[2] and low[7] > low[2] and low[6] >= low[2] and low[5] >= low[2] and
low[4] >= low[2] and low[3] >= low[2] and low[1] > low[2] and low > low[2]
FractalDown = valuewhen(FDown, low[2], 1)
plot(FractalDown, color=#FF0000,title="FractalDown")
if crossover(close, FractalUp)
strategy.entry("Long", strategy.long, comment="Long")
if crossunder(close, FractalDown)
strategy.entry("Short", strategy.short, comment="Short")