
Эта стратегия является количественной торговой стратегией, которая сочетает в себе первичный равновесный индикатор и индикатор волнового пояса буринга. Эта стратегия использует первичный равновесный индикатор для создания торгового сигнала, используя преобразовательную линию, базовую линию, а также предварительную и последующую линию, а также используя волновую полосу буринга для оценки волатильности рынка и входа в рынок в подходящее время.
Первый равновесный индикатор состоит из четырех кривых: конверсионная линия, эталонная линия, префиксная линия и постфиксная линия. Конверсионная линия представляет собой среднюю цену закрытия на недавний период (9 дней), а эталонная линия представляет собой среднюю цену закрытия на более длительный период (26 дней).
Волновая полоса буринга состоит из трех линий: средней, верхней и нижней. Средняя линия представляет собой простую скользящую среднюю цену закрытия за n дней (здесь она установлена в 20 дней). Верхняя линия представляет собой стандартное расхождение средней линии плюс k (здесь она установлена в 2 раза).
Эта стратегия использует золотые и мертвые форки после натяжной линии, чтобы создать сигналы покупки и продажи. Вместе с этим, в сочетании с полосой волн буринской линии, она определяет волатильность цены и определяет входные сигналы при небольшом колебании.
Эта стратегия в сочетании с показателями первой равновесной таблицы и индикаторами буринских полос позволяет эффективно извлекать информацию об изменениях рынка и определять точки купли-продажи. Первая равновесная таблица позволяет определить направление основных тенденций рынка, а буринская полоса позволяет определить конкретный момент входа в рынок.
Параметры этой стратегии регулируемы, могут быть оптимизированы в зависимости от разных сортов и рыночных условий, а также обладают высокой адаптивностью. При использовании различных комбинаций параметров первичного равновесия можно идентифицировать торговые возможности в разные периоды.
Эта стратегия в основном опирается на волновую полосу буринга, чтобы судить о волатильности рынка. Когда внезапные события вызывают большие колебания, волновая полоса буринга отпадает. В этом случае торговые сигналы, построенные на основе первичной равновесной таблицы, могут создавать ошибочные сигналы.
Кроме того, первичная равновесная часовая линия сама по себе чувствительна к внезапным событиям, и при резких колебаниях цены переключательная линия и эталонная линия также создают ошибочный сигнал. Поэтому в таких случаях выход или приостановка торговли может быть лучшим выбором.
Можно учитывать время входа в рынок в сочетании с другими показателями. Например, KDJ оценивает, находится ли он в зоне перепродажи, MACD оценивает отношения между длинной и короткой средней линией и т. Д. Это позволяет избежать входа в рынок во время сильных колебаний.
Кроме того, можно оптимизировать параметры первичной равновесной таблицы с помощью методов машинного обучения. Различные параметры сильно влияют на разные периоды и разные сорта. Найти оптимальную комбинацию параметров может значительно повысить уровень прибыльности стратегии.
Эта стратегия в сочетании с первичным равновесным диаграммой и Брин-полосами, учитывая волатильность при определении рыночных тенденций, является более адаптивной количественной стратегией торговли. Эта стратегия может быть улучшена путем регулирования параметров и оптимизации правил входа, что позволяет получить хорошую прибыль в реальном мире.
/*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)