Стратегия торговли кодом с учетом дневного отклонения средней цены


Дата создания: 2023-12-15 15:44:18 Последнее изменение: 2023-12-15 15:44:18
Копировать: 0 Количество просмотров: 611
1
Подписаться
1621
Подписчики

Стратегия торговли кодом с учетом дневного отклонения средней цены

Обзор

Эта стратегия основана на графическом индикаторе Ichimoku Kinko Hyo для создания торговых сигналов. Ichimoku Kinko Hyo, буквально переведенный как таблица сбалансированности на первый взгляд, объединяет преимущества движущихся средних и диапазонных индикаторов, позволяя одновременно идентифицировать направление тренда и поддерживать сопротивление, рассматривается как комплексный индикатор.

Эта стратегия использует компонентную линию Ichimoku Kinko Hyo для определения направления и силы тренда. Она создает торговый сигнал, когда цена прорывается вверх и вниз по диаграмме облаков. В то же время, стратегия использует возможность входа в биткойн, уникальную для Ichimoku.

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

В этой стратегии используются пять компонентов, описанных в книге Ichimoku Kinko Hyo:

  1. Тенкан-линия (перевернутая линия): 9-дневный средний показатель максимума и минимума
  2. Линия Kijun ((базовая линия): 26-дневная средняя цены на самые высокие и самые низкие цены
  3. Senkou Span A ((предыдущий первый): среднее между линиями Tenkan и Kijun
  4. Senkou Span B ((второй ряд): средняя за 52 дня наивысшая и наименьшая цены
  5. Чикоу-линия ((позднейшая линия): 26-дневная средняя задержка закрытия

Кроме того, на карте Ичимоку изображены облака, состоящие из Сенку-Спан А и Сенку-Спан Б, которые в основном представляют собой текущие трендовые зоны.

Торговые сигналы для этой стратегии исходят из следующих ситуаций:

  1. Цены вышли из-под облака: сделайте больше сигналов
  2. Цены сверху идут вниз по карте облаков: сигналы об отрыве
  3. Цена входит в облачную карту из-под облачной карты: много возможностей для входа в облачную карту по краю
  4. Цена входит в облачную карту сверху: свободный проход по краю к краю

Кроме того, в стратегии также рассматривается время остановки и убытков на линии Tenkan и линии Kijun.

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

Самым большим преимуществом этой стратегии является ее способность использовать индикатор Ichimoku Kinko Hyo для определения направления тренда и поддержки сопротивления.

  1. Используйте облачные карты, чтобы определить направление основных тенденций и избежать обратных операций.
  2. Используйте компонентную линию, чтобы определить поддерживающие сопротивления и найти возможности для прорыва.
  3. Увеличение доступа к бонусам и расширение возможностей для получения прибыли.

Кроме того, в стратегию включены модули “Золотой форк” и “Смертный форк”, которые позволяют блокировать часть прибыли и контролировать риски.

Риски и решения

Основной риск этой стратегии заключается в потенциальном взлете, вызванном алгоритмом компонентной линии Ичимоку. Это создает риск ложного прорыва.

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

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

Есть несколько вариантов оптимизации этой стратегии:

  1. Оптимизация параметров компонентной линии Ичимоку, корректировка средней цикличности, адаптация к большему количеству сортов и циклов.

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

  3. В сочетании с фильтрацией других показателей, таких как MACD, RSI и т. д., для определения тенденций и перепродажи.

  4. Оптимизация логики остановки убытков, например, методы перемещения убытков, масштабирования и др.

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

В целом, эта стратегия использует облачный график и составную линию Ichimoku Kinko Hyo для определения направления тенденции и возможности торговли. Преимущество стратегии заключается в четкости определения тенденции и точности времени входа.

Исходный код стратегии
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Ichimoku Cloud", shorttitle="Ichimoku", overlay=true)

previous_close = close[1]

conversionPeriods = input.int(20, minval=1, title="Conversion Line Periods"),
basePeriods = input.int(60, minval=1, title="Base Line Periods")
laggingSpan2Periods = input.int(120, minval=1, title="Lagging Span 2 Periods"),
displacement = input.int(30, minval=1, title="Displacement")

long_entry = input.bool(true, title="Long Entry")
short_entry = input.bool(true, title="Short Entry")
e2e_entry = input.bool(true, title="E2E Entry")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))

tenkan = donchian(conversionPeriods)
kijun = donchian(basePeriods)
spanA = math.avg(tenkan, kijun)
spanB = donchian(laggingSpan2Periods)

plot(tenkan, color=#0496ff, title="Conversion Line")
plot(kijun, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")

p1 = plot(spanA, offset = displacement, color=#459915, title="Lead 1")
p2 = plot(spanB, offset = displacement, color=#991515, title="Lead 2")
fill(p1, p2, color = spanA > spanB ? #459915 : #991515)

ss_high = math.max(spanA[displacement - 1], spanB[displacement - 1])
ss_low = math.min(spanA[displacement - 1], spanB[displacement - 1])

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
kumo_twist_bull = ta.mom(close, displacement) > 0
kumo_twist_bear = ta.mom(close, displacement) < 0

price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

price_enters_kumo_top = previous_close > ss_high[1] and close < ss_high
price_enters_kumo_bottom = previous_close < ss_low[1] and close > ss_low

bullish = tk_cross_bull and kumo_twist_bull and price_above_kumo
bearish = tk_cross_bear and kumo_twist_bear and price_below_kumo

bullishe2e = price_enters_kumo_bottom // and tk_cross_bull
bearishe2e = price_enters_kumo_top // and tk_cross_bear

price_touches_kumo_top = ta.cross(close, ss_high)
price_touches_kumo_bottom = ta.cross(close, ss_low)

strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.close("Long", when=tk_cross_bear)
strategy.close("Long", when=price_enters_kumo_top)

strategy.entry("Long e2e", strategy.long, when=bullishe2e and e2e_entry)
strategy.close("Long e2e", when=price_touches_kumo_top)
strategy.close("Long e2e", when=price_below_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)

strategy.entry("Short", strategy.short, when=bearish and short_entry)
strategy.close("Short", when=tk_cross_bull)
strategy.close("Short", when=price_enters_kumo_bottom)

strategy.entry("Short e2e", strategy.short, when=bearishe2e and e2e_entry)
strategy.close("Short e2e", when=price_touches_kumo_bottom)
strategy.close("Short e2e", when=price_above_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)