Количественная торговая стратегия, основанная на равновесии Ишимоку и неявном конфликте


Дата создания: 2024-02-20 17:12:35 Последнее изменение: 2024-02-20 17:12:35
Копировать: 0 Количество просмотров: 606
1
Подписаться
1617
Подписчики

Количественная торговая стратегия, основанная на равновесии Ишимоку и неявном конфликте

Обзор

Эта стратегия объединяет индикатор прямого равновесия и индикатор скрытого конфликта, чтобы реализовать относительно простую количественную торговую стратегию. Создание сигнала покупки, когда прямое равновесие выше линии скрытого конфликта и цена закрытия выше прямого равновесия; создание сигнала продажи, когда прямое равновесие ниже линии скрытого конфликта и цена закрытия ниже прямого равновесия. Эта стратегия применима для короткой торговли высоко волатильными активами, такими как криптовалюты.

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

Перспективный равновесный индикатор включает в себя три кривые: предыдущая кривая, эталонная кривая и задержка. Предыдущая кривая представляет собой среднюю цену за последний определенный период, эталонная кривая представляет собой среднюю цену за более длительный период, а задержка обычно представляет собой среднее значение предыдущей кривой и эталонной кривой.

Скрытый конфликтный индикатор состоит из двух кривых, предыдущей линии A и предыдущей линии B. Они представляют собой средние значения величины колебаний цен в течение различных длинных периодов. Когда предыдущая линия A выше предыдущей линии B, это означает, что в краткосрочной перспективе колебания увеличиваются, и ценовые колебания достаточно.

Эта стратегия использует линию равновесия, чтобы определить направление тенденции, использует линию, предшествующую скрытому конфликту, чтобы определить динамику цены, в сочетании с ценой закрытия, чтобы сформировать точный торговый сигнал. Покупайте, когда наблюдается тенденция к росту и увеличение колебаний, продавайте, когда наблюдается тенденция к снижению и сокращение колебаний, чтобы получить прибыль.

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

Это довольно простая стратегия количественного трейдинга, которая имеет следующие преимущества:

  1. Используя комбинацию индикаторов, в комплексе с ценовыми тенденциями и динамикой, торговые сигналы являются более надежными.
  2. Вход в систему возможен только в определенных точках прорыва, что позволяет избежать большого количества недействительных сделок.
  3. Выгоднее использовать короткую линию для высоко волатильных активов.
  4. Стратегическая логика проста, легко понять и изменить.
  5. Можно легко расширить показатели, чтобы создать многофакторную модель.

Анализ рисков

В этой стратегии есть некоторые риски, в том числе:

  1. Mistrade риски. Для контроля одиночных убытков необходимо установить стоп-лосс.
  2. Риск поворота цены. После того, как индикатор выдаст сигнал, цена может измениться, что приведет к убыткам.
  3. Риск оптимизации параметров. Различные параметры оказывают большое влияние на результаты, требуется многокомбинированное тестирование, чтобы найти оптимальные параметры.
  4. Риск переоптимизации. Хорошая работа в исторических данных, но неудача в реальных сделках. Необходимо контролировать количество комбинаций параметров, чтобы избежать переоптимизации.

Оптимизация стратегии

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Тестируйте больше комбинаций показателей, чтобы найти лучшие параметры. Часто можно попробовать KDJ, BOLL, MACD и т. Д.
  2. Присоединение к механизму остановки убытков. Установка перемещаемого или кратного остановки убытков.
  3. Оптимизация условий отбора для входа. Можно рассмотреть возможность включения показателей объема торговли или волатильности и т. д.
  4. Оптимизируйте правила удержания позиций. Можно попробовать сократить время остановки или увеличить запас.
  5. Добавление компонентов машинного обучения. Использование нейронных сетей для поиска лучших комбинаций параметров.

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

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

Исходный код стратегии
/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Ichimoku Cloud + ema 50 Strategy", overlay=true)

len = input.int(50, minval=1, title="Length")
src = input(close, title="Source")
out = ta.ema(src, len)

conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(1, minval=1, title="Lagging Span")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
     title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
     title="Leading Span B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

plot(out, title="EMA", color=color.white)

// Condition for Buy Signal
buy_signal = close > out and leadLine1 > leadLine2

// Condition for Sell Signal
sell_signal = close < out and leadLine2 > leadLine1

// Strategy entry and exit conditions
if (buy_signal)
    strategy.entry("Buy", strategy.long)
if (sell_signal)
    strategy.entry("Sell", strategy.short)

// Exit long position if candle closes below EMA 50
if (strategy.opentrades > 0)
    if (close < out)
        strategy.close("Buy")

// Exit short position if candle closes above EMA 50
if (strategy.opentrades < 0)
    if (close > out)
        strategy.close("Sell")