Стратегия многопериодного импульса, подтвержденная техническими графиками

HS DT DB ST AT DT ATR ST TP SL
Дата создания: 2025-02-28 09:50:41 Последнее изменение: 2025-02-28 09:50:41
Копировать: 3 Количество просмотров: 323
2
Подписаться
319
Подписчики

Стратегия многопериодного импульса, подтвержденная техническими графиками Стратегия многопериодного импульса, подтвержденная техническими графиками

Обзор

Технический график подтверждения многоциклической динамики стратегии является торговой системой, основанной на различных классических диаграмм формы идентификации и в сочетании с подтверждением динамики. Эта стратегия в основном путем идентификации технических форм, распространенных на рынке, таких как головы и плеч, головы и плеч, двойной, двойной, треугольный (симметричный, восходящий, нисходящий), флаги, и т. д., и в случае формы прорыва подтверждение входных сигналов.

Стратегический принцип

Ключевой принцип стратегии заключается в том, чтобы идентифицировать различные графические формы с помощью ряда условных функций и подтвердить торговые сигналы при прорыве цены через критические уровни:

  1. Идентификация головы и плеч/подплечья: выявление характерной структуры голово-плечевой формы путем сравнения относительной относительности между последовательными высокими и низкими точками. Образуется голово-плечевая форма, когда высота 1 больше высоты 0, 2, 3, 4 и высота 0 меньше высоты 2 и 3.

  2. Двойная вершина/двойная основаДвойной вершины и двойной основы можно определить, проанализировав последовательность высоты/низкости. Двойной вершины - высота 1 должна быть больше окружающей высоты; двойной основы - низкость 1 должна быть меньше окружающей низкости.

  3. Треугольное распознавание

    • Симметричный треугольник: высота падает, а низка поднимается, образуя конвергентную форму
    • Возвышающийся треугольник: высокие точки остаются относительно стабильными, а низкие - поднимаются, образуя полярную форму
    • Снижающийся треугольник: снижение высоты и относительное устойчивое снижение низкости, формирующие нисходящую форму
  4. Форма флага/опознание треугольника: Выявление последовательных моделей изменений, анализируя высокие и низкие точки.

  5. Подтверждение торгового сигнала

    • Многоглавый сигнал: срабатывает при распознавании головы, плеча, двойного дна или восходящего треугольника, и когда цена закрытия прорывает предыдущую высокую точку линии K
    • Головной сигнал: срабатывает при распознавании двойного вершины, нисходящего треугольника или флагманской формы, и при закрытии цены, которая опускается ниже предыдущего K-линейного минимума
  6. Управление рисками

    • Расчет динамических остановок и остановочных уровней с использованием 14-циклического ATR
    • Стоп-лост установлен на 1,5 ATR
    • Стоп-стартер установлен на 3-кратный ATR, с соотношением риска и прибыли 1:2

Стратегические преимущества

  1. Систематизированная идентификация форм: Стратегия позволяет автоматически распознавать различные классические графические формы, определяя четкие условные функции, снижая отклонения в субъективных суждениях.

  2. Механизм подтверждения сигналаСтратегия не только идентифицирует графические формы, но и требует, чтобы цены преодолевали критические уровни в качестве подтверждения, что снижает риск ложных прорывов.

  3. Динамическое управление рисками: использование ATR-индикатора для установки динамических уровней стоп-лорда и стоп-стоп, чтобы риск-контроль был более адаптирован к изменениям волатильности рынка;

  4. Многоформатное покрытиеСтратегия включает в себя несколько классических графических форм, увеличивает возможности для торговли и адаптируется к различным рыночным условиям.

  5. Визуальное представление: Стратегия использует функцию plotshape для визуального отображения различных форм, идентифицированных на графике, чтобы помочь трейдерам понять и проверить логику стратегии.

  6. Прибыль от риска выгоднее, чем риск.Стратегия: установка 3-кратного ATR в качестве остановки, 1,5-кратного ATR в качестве остановки, соотношение возврата к риску 1: 2, в соответствии с принципами эффективного управления рисками.

Стратегический риск

  1. Ограниченная точность распознавания формВ настоящее время алгоритмы распознавания форм являются относительно упрощенными, что может привести к ошибочным или пропущенным выводам, особенно в условиях высокого уровня шума на рынке.

  2. Параметр ЧувствительностьНастройки цикла ATR и множители стоп-стоп оказывают существенное влияние на эффективность стратегии и требуют оптимизации в зависимости от различных рынков и временных рамок.

  3. Риск ложного проникновенияНесмотря на наличие механизмов подтверждения, на рынке по-прежнему существуют ложные прорывы, которые могут привести к ненужным потерям сделок.

  4. Повторное распознавание формы: Некоторые функции формоидентификации в текущем коде похожи по логике (например, голова-плечовая вершина и двойная вершина), что может привести к запускам нескольких сигналов в одних и тех же рыночных условиях, увеличивая частоту и стоимость торгов.

  5. Отсутствие фильтрации тенденцийПри этом, как отмечается в статье, “стратегия не учитывает направление общей рыночной тенденции, что может привести к обратному сигналу в сильных тенденциях, что приведет к противоположной торговле”.

Как избежать риска:

  • Добавление дополнительных условий фильтрации, таких как подтверждение объема сделки, фильтрация индикаторов тренда
  • Оптимизация алгоритмов распознавания форм, добавление дополнительных условий проверки
  • Внедрение более консервативного управления позициями
  • Рассматривайте возможность добавления временных фильтров, чтобы избежать торговли до или после важных новостей или событий.
  • Провести более широкий отклик, чтобы найти оптимальную комбинацию параметров

Направление оптимизации стратегии

  1. Улучшение алгоритмов распознавания форм

    • Добавление дополнительных условий для проверки, таких как размер формы, время формирования, степень изменения цены и т. д.
    • Критерии идентификации сходных форм, таких как голова, плечи и двойные вершины
    • Добавление более сложных форм, таких как формы кружек, восходящих/внизходящих форм и т.д.
  2. Добавить подтверждение транзакции

    • Условия подтверждения увеличения объема сделки при формовом прорыве
    • Анализ моделей изменения объемов сделок в процессе формирования форм
  3. Фильтр трендов

    • Добавление трендовых индикаторов (например, движущихся средних, ADX и т. д.), торговля только в том случае, если направление тренда соответствует формальному сигналу
    • Рассматривать структуру рынка с более длительными временными циклами
  4. Оптимизация управления рисками

    • Тестирование различных множителей ATR
    • Реализация динамического управления позициями на основе волатильности
    • Рассмотреть стратегию блокирования партий, чтобы закрепить часть прибыли
  5. Добавление фильтра времени

    • Избегайте торговли в период низкой волатильности или перед важными новостями
    • С учетом сезонности рынка
  6. Анализ многовременных рамок

    • Подтверждение направления тенденции на более высоких временных рамках
    • Оптимизация точек входа в более короткие временные рамки

Эти оптимизационные направления значительно повысят устойчивость и эффективность стратегии, потому что:

  • Более точное распознавание форм уменьшает ошибочные сигналы
  • Подтверждение сдачи увеличивает надежность сигнала
  • Тренд-фильтр, чтобы избежать обратной торговли
  • Оптимизация управления рисками для повышения эффективности и защиты средств
  • Анализ многократных временных рамок дает более полный взгляд на рынок

Подвести итог

Техническая графическая стратегия подтверждения многоциклической динамики - это систематизированная, четкая в правилах торговая система, которая генерирует торговые сигналы, идентифицируя различные классические графические формы и комбинируя их с подтверждением прорыва. Стратегия использует показатели ATR для динамического управления риском и устанавливает разумную доходность риска. Хотя текущие версии алгоритмов идентификации форм относительно упрощены, они обеспечивают хорошую основу для дальнейшей оптимизации.

Исходный код стратегии
/*backtest
start: 2024-02-29 00:00:00
end: 2025-02-26 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Chart Pattern Strategy - Full Set", overlay=true)

// ATR settings for stop loss and take profit
atrLength = input.int(14, title="ATR Length")
atrValue = ta.atr(atrLength)
stopLoss = atrValue * 1.5  // Stop loss 1.5 ATR
takeProfit = atrValue * 3  // Take profit 3 ATR

// Head and Shoulders Detection
isHeadAndShoulders() =>
    high[1] > high[2] and high[1] > high[0] and high[1] > high[3] and high[1] > high[4] and high[0] < high[2] and high[0] < high[3]

// Double Top Detection
isDoubleTop() =>
    high[1] > high[2] and high[1] > high[0] and high[1] > high[3] and high[1] > high[4] and high[0] < high[2] and high[0] < high[3]

// Double Bottom Detection
isDoubleBottom() =>
    low[1] < low[2] and low[1] < low[0] and low[1] < low[3] and low[1] < low[4] and low[0] > low[2] and low[0] > low[3]

// Symmetrical Triangle Detection
isSymmetricalTriangle() =>
    high[2] > high[1] and low[2] < low[1] and high[3] < high[2] and low[3] > low[2]

// Ascending Triangle Detection (Bullish)
isAscendingTriangle() =>
    high[2] < high[1] and low[2] > low[1] and high[3] < high[2] and low[3] > low[2]

// Descending Triangle Detection (Bearish)
isDescendingTriangle() =>
    high[2] > high[1] and low[2] < low[1] and high[3] < high[2] and low[3] < low[2]

// Flags/Pennants Detection
isFlagPattern() =>
    high[1] < high[0] and low[1] > low[0] and high[2] < high[1] and low[2] < low[1]

// Entry Logic (Confirmation based on Breakouts)
longSignal = (isHeadAndShoulders() or isDoubleBottom() or isAscendingTriangle()) and close > high[1]
shortSignal = (isDoubleTop() or isDescendingTriangle() or isFlagPattern()) and close < low[1]

// Plotting Chart Patterns on the Chart
plotshape(isHeadAndShoulders(), title="Head and Shoulders", location=location.abovebar, color=color.red, style=shape.labelup, text="HS")
plotshape(isDoubleTop(), title="Double Top", location=location.abovebar, color=color.red, style=shape.labelup, text="DT")
plotshape(isDoubleBottom(), title="Double Bottom", location=location.belowbar, color=color.green, style=shape.labeldown, text="DB")
plotshape(isSymmetricalTriangle(), title="Symmetrical Triangle", location=location.top, color=color.blue, style=shape.triangledown, text="ST")
plotshape(isAscendingTriangle(), title="Ascending Triangle", location=location.belowbar, color=color.green, style=shape.labelup, text="AT")
plotshape(isDescendingTriangle(), title="Descending Triangle", location=location.abovebar, color=color.red, style=shape.labeldown, text="DT")
plotshape(isFlagPattern(), title="Flag Pattern", location=location.abovebar, color=color.orange, style=shape.triangledown, text="Flag")

// Executing Trades based on Patterns
if (longSignal)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", from_entry="Buy", stop=close - stopLoss, limit=close + takeProfit)

if (shortSignal)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", from_entry="Sell", stop=close + stopLoss, limit=close - takeProfit)