Это количественная торговая стратегия, которая сочетает в себе индикатор Ichimoku Cloud и индикатор Bollinger Bands. Стратегия использует линию конверсии, базовую линию, ведущий диапазон A и ведущий диапазон B Облака Ichimoku для генерации торговых сигналов, используя при этом Bollinger Bands для оценки волатильности рынка и принятия решения о подходящих сроках входа.
Индикатор Ichimoku Cloud состоит из четырех линий: линии конверсии, базовой линии, ведущего спена А и ведущего спена В. Линия конверсии - это средняя цена закрытия за короткий период (9 дней). Базовая линия - это средняя цена закрытия за более длительный 26-дневный период. Ведущий спен А - это средняя цена между линией конверсии и базовой линией, которая ведет к ценовому действию. Ведущий спен В - это средняя цена закрытия за еще более длительный 52-дневный период, который отстает от цены. Сигналы покупки и продажи генерируются, когда краткосрочная скользящая средняя пересекает более или менее долгосрочной.
Полосы Боллинджера включают три линии: среднюю линию, верхнюю полосу и нижнюю полосу. Средняя линия представляет собой простую скользящую среднюю стоимость закрытия за n-дневный период (установлена здесь на 20 дней). Верхняя полоса представляет собой среднюю линию плюс k раз (установлена здесь на 2 раза) стандартное отклонение. Нижняя полоса представляет собой среднюю линию минус k раз стандартное отклонение. Она определяет, находятся ли цены в пределах нормального диапазона колебаний и определяет уровень волатильности рынка.
Эта стратегия использует золотой крест и смертельный крест ведущего спена B для построения торговых сигналов. Она также включает полосы Боллинджера для определения волатильности цен и решает выйти на рынок, когда волатильность низкая.
Эта стратегия сочетает в себе индикатор Ichimoku Cloud и полосы Боллинджера для всестороннего определения тенденций и волатильности рынка, которые могут эффективно улавливать информацию об изменениях рынка для определения местоположения торговых сигналов.
Параметры этой стратегии регулируются для оптимизации для различных продуктов и рыночных условий, что делает ее высоко адаптивной.
Эта стратегия в основном опирается на полосы Боллинджера для определения волатильности рынка. Полосы могут потерпеть неудачу, когда экстремальная волатильность вызвана событиями черного лебедя. В этом случае торговые сигналы, построенные на основе облака Ичимоку, могут генерировать ложные сигналы.
Кроме того, сами линии Ichimoku Cloud также чувствительны к резким колебаниям рынка. Конверсия и базовые линии могут давать неправильные сигналы, когда цены сильно колеблются. Выход из позиций или приостановка торговли, вероятно, лучший выбор в таких ситуациях.
Другие индикаторы могут рассматриваться в сочетании для определения времени входа, такие как KDJ, чтобы увидеть, является ли рынок перекупленным/перепроданным, и MACD для проверки долгосрочных/короткосрочных скользящих средних отношений.
Кроме того, машинное обучение может быть использовано для оптимизации параметров облака Ichimoku. Различные параметры оказывают значительное влияние на циклы и продукты. Поиск оптимальных комбинаций параметров может значительно улучшить прибыльность стратегии.
Эта стратегия сочетает в себе индикатор Ichimoku Cloud и полосы Боллинджера, чтобы учитывать как рыночные тенденции, так и волатильность.
/*backtest start: 2023-02-13 00:00:00 end: 2024-02-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("一目均衡表シグナル + ボリンジャーバンド", overlay=true) 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(26, minval=1, title="Lagging Span") bbLength = input(20, title="Bollinger Bands Length") bbMultiplier = input(2.0, title="Bollinger Bands Multiplier") donchian(len) => math.avg(ta.lowest(len), ta.highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = math.avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) // ボリンジャーバンドの計算 basis = ta.sma(close, bbLength) bbUpper = basis + bbMultiplier * ta.stdev(close, bbLength) bbLower = basis - bbMultiplier * ta.stdev(close, bbLength) // 1σ、2σ、3σのライン bbUpper1 = basis + ta.stdev(close, bbLength) bbLower1 = basis - ta.stdev(close, bbLength) bbUpper2 = basis + 2 * ta.stdev(close, bbLength) bbLower2 = basis - 2 * ta.stdev(close, bbLength) bbUpper3 = basis + 3 * ta.stdev(close, bbLength) bbLower3 = basis - 3 * ta.stdev(close, bbLength) // 遅行スパンがローソクに交差した際のBuyとSellシグナル buySignalLeadLine = ta.crossover(close, leadLine2) sellSignalLeadLine = ta.crossunder(close, leadLine2) // Strategy Entry and Exit Conditions for Lead Line strategy.entry("BuyLeadLine", strategy.long, when = buySignalLeadLine) strategy.close("BuyLeadLine", when = sellSignalLeadLine) strategy.entry("SellLeadLine", strategy.short, when = sellSignalLeadLine) strategy.close("SellLeadLine", when = buySignalLeadLine) // Plotting Ichimoku Cloud plot(conversionLine, color=color.new(color.blue, 0), title="Conversion Line") plot(baseLine, color=color.new(color.red, 0), title="Base Line") plot(close, offset = -displacement + 1, color=color.new(color.green, 0), title="Lagging Span") p1 = plot(leadLine1, offset = displacement - 1, color=color.new(color.green, 0), title="Leading Span A") p2 = plot(leadLine2, offset = displacement - 1, color=color.new(#cdf80d, 0), title="Leading Span B") fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90)) // 2σ、3σのラインをプロット plot(bbUpper2, color=color.rgb(100, 96, 100), title="BB Upper 2σ") plot(bbLower2, color=color.rgb(100, 96, 100), title="BB Lower 2σ") plot(bbUpper3, color=color.rgb(67, 61, 68), title="BB Upper 3σ") plot(bbLower3, color=color.rgb(67, 61, 68), title="BB Lower 3σ") // Plotting Entry and Exit Signals plotshape(series=buySignalLeadLine, title="Buy Signal (Lead Line)", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small) plotshape(series=sellSignalLeadLine, title="Sell Signal (Lead Line)", color=color.rgb(255, 115, 0), style=shape.triangledown, location=location.abovebar, size=size.small)