Эта стратегия реализует простую торговлю, основанную на индикаторе Ichimoku Cloud на ежедневных графиках. Она генерирует сигналы покупки и продажи путем расчета линии конверсии, базовой линии, ведущего спена 1, ведущего спена 2 и сравнения позиции цены закрытия относительно облака. Когда цена закрытия выше облака, это считается восходящим трендом и генерируется сигнал покупки. Когда цена закрытия ниже облака, это считается нисходящим трендом и генерируется сигнал продажи.
Стратегия в основном рассчитывает пять строк индикатора облака Ичимоку на основе следующих формул:
Линия преобразования: средняя за 9 периодов наивысшего максимума и наименьшего минимума
Базовая линия: средняя величина максимального максимума и минимального минимума за 26 периодов
Leading Span 1: среднее значение линии конверсии и базовой линии
Leading Span 2: среднее значение 52-летнего периода наивысшего максимума и наименьшего минимума
Отставание за периодом: цена закрытия отодвинута на 26 периодов
Когда цена закрытия выше облака, она считается тенденцией к росту и генерируется сигнал покупки. Когда цена закрытия ниже облака, она считается тенденцией к снижению и генерируется сигнал продажи.
В частности, стратегия реализует эту логику следующими шагами:
Вычислить линию преобразования, базовую линию, ведущую протяженность 1, и ведущую протяженность 2
Нарисуйте задержку цены закрытия за 26 периодов.
Проверьте, если цена закрытия выше облака (лидинг-спан 1 и 2), генерируйте сигнал покупки, если это верно
Проверьте, если цена закрытия ниже облака, генерировать сигнал продажи, если это верно
Вносить сделки по сигналам покупки/продажи на основе настроек стратегии
Основными преимуществами этой стратегии являются:
Использование облака ichimoku может эффективно идентифицировать тенденции и генерировать сигналы в направлении тренда, избегая ненужных сделок на рынках с диапазоном.
Параметры расчета оптимизированы для ежедневной торговли.
Использование обоих ведущих диапазонов 1 и 2 объединяет несколько сигналов, чтобы отфильтровать ложные сигналы.
Задержка задержки помогает уменьшить риск немедленного отступления после облачного прорыва.
Простая и понятная логика, легко понятная и реализуемая.
Никаких других показателей не нужно, полная система следующего тренду.
Некоторые риски следует учитывать:
Облако может выйти из строя при определенных рыночных условиях, генерируя неправильные сигналы.
Если параметры не адаптированы к изменяющейся динамике рынка, это ослабляет систему.
Фиксированная задержка задержки может упустить некоторые возможности.
Все еще не могу полностью избежать схваток.
Есть некоторая задержка, не в состоянии захватить быстрые обратные действия.
Не может отличить основные тенденции от более коротких коррекций, может привести к потерям.
Некоторые способы улучшения стратегии:
Оптимизировать параметры, такие как линия конверсии для различных рыночных условий.
Добавьте индикаторы фильтрации тренда для подтверждения силы и направления.
Используйте стоп-лосс и получение прибыли для контроля потерь на одну сделку.
Принимать только сигналы облачного прорыва с высокой громкостью.
Использовать различные наборы параметров на основе рыночного режима.
Добавьте машинное обучение для автоматической оптимизации параметров.
Подумайте о динамическом задержке вместо фиксированной задержки.
В целом, эта стратегия Ichimoku Cloud реализует основные тенденции, следуя правилам, хотя могут быть сделаны улучшения.
/*backtest start: 2023-09-30 00:00:00 end: 2023-10-07 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Ichimoku Cloud", shorttitle="Ichimoku", overlay=true, commission_type=strategy.commission.percent,commission_value=0.075, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) conversionPeriods = input(9, minval=1, title="Conversion Line Periods"), basePeriods = input(26, minval=1, title="Base Line Periods") laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"), displacement = input(26, minval=0, title="Displacement") donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) plot(conversionLine, color=#0496ff, title="Conversion Line") plot(baseLine, color=#991515, title="Base Line") plot(close, offset = -displacement, color=#459915, title="Lagging Span") p1 = plot(leadLine1, offset = displacement, color=color.green, title="Lead 1") p2 = plot(leadLine2, offset = displacement, color=color.red, title="Lead 2") fill(p1, p2, color = leadLine1 > leadLine2 ? color.green : color.red) buy = close > leadLine1[26] and close > leadLine2[26] sell = close < leadLine1[26] and close < leadLine2[26] strategy.entry("Buy", strategy.long, when = buy) strategy.entry("Sell", strategy.short, when = sell)