
Эта стратегия является динамической системой торговли с прорывами, основанной на Bollinger Bands, основанной на использовании сигнала прорыва цены вверх по трассе для многостороннего входа и выхода из нее в сочетании с принципом непрерывности тенденции и среднезначного возврата. Стратегия работает в 5-минутных временных рамках, чтобы уловить возможности прорыва в краткосрочных рыночных колебаниях, обеспечить быстрый вход и риск-контроль путем установки параметров Bollinger Bands и их толерантности.
Стратегия основана на индикаторе Брин-Бенда, который состоит из трех линий: средняя линия ((20-циклическая простая движущаяся средняя), верхняя линия ((средняя линия +1,9 кратная стандартная разница) и нижняя линия ((средняя линия -1,9 кратная стандартная разница) ‒ логика торговли следующая:
Стратегия использует переменную barsNotAboveUpper, чтобы подсчитать количество последовательных циклов, в которых цена не оставалась выше верхней полосы. Каждый раз, когда цена выше верхней полосы, счетчик перенастраивается на 0, в противном случае счетчик добавляет 1.
Несмотря на то, что в коде содержится рамка для пустой стратегии, фактическое выполнение пустой сделки частично комментируется, что делает стратегию только для выполнения многоголовых сделок. Это может быть оптимизированное решение, принятое на основе рыночных характеристик или результатов обратной связи.
Следить за тенденциями и адаптироваться к колебаниям: Бринс адаптируется к рыночным колебаниям, автоматически корректируя ширину канала в различных волатильных условиях, что делает стратегию эффективной в различных рыночных условиях.
Четкие правила входа и выхода: Стратегия предоставляет четкие входные сигналы ((прорыв вверх по рельсам) и два объективных условия выхода ((недостаточная устойчивость тенденции или касание средней линии), уменьшение субъективного суждения。
Механизмы контроля риска: Посредством установки параметров толерантности к тренду, стратегия может быстро реагировать на изменения в тренде, своевременно останавливая убытки. Этот двойной механизм выхода из рынка, основанный на времени и цене, эффективно контролирует риск, связанный с одной сделкой.
Параметры оптимизации пространства: Стратегия предоставляет три регулируемых параметра длины, кратности и трендотерпимости, позволяя трейдерам оптимизировать в зависимости от различных рыночных условий и стилей торговли.
Применение принципа среднезначной регрессии: Стратегия использования цены, касающиеся средней линии (средней орбиты) в качестве условия выхода из рынка, соответствует среднезначным характеристикам финансового рынка, повышает обоснованность выхода из рынка.
Интеграция систем предупреждения: Стратегия включает в себя функцию предупреждения о торговых сигналах, которая позволяет в режиме реального времени уведомлять трейдеров о входящих и выходящих сигналах, что повышает эффективность исполнения торгов.
Риск ложного проникновенияВ результате, цены могут быстро упасть после временного прорыва вверх, что приведет к ошибочным сигналам и ненужным сделкам, увеличивая стоимость сделки.
Параметр ЧувствительностьНеправильная настройка параметров может привести к слишком большому количеству ложных сигналов или пропуску важных торговых возможностей.
Ограничение односторонних сделокВ настоящее время стратегия заключает только многообещающие сделки, что может привести к нестабильной долгосрочной производительности в условиях падения рынка.
Временная зависимость механизма сдерживания убытковТренд-толерантность основана на цикличности, а не на колебаниях цен. В экстремальных ситуациях может быть невозможно вовремя остановить убыток, что увеличивает риск падения.
Недостаточное снятие контроляПри отсутствии механизма остановки убытков, основанного на управлении общими средствами, в случае последовательного появления ошибочных сигналов может быть вызвано значительное сокращение счетов.
Ограничения по времени: Специфическая стратегия разработана для 5-минутных графиков, но может не использоваться в других временных рамках, что ограничивает возможности применения стратегии.
Для уменьшения этих рисков рекомендуется: 1) увеличение дополнительных фильтрующих условий для уменьшения ложных сигналов прорыва; 2) внедрение контроля риска на основе общих позиций; 3) добавление индикаторов подтверждения тенденции; 4) рассмотрение возможности увеличения механизма остановки убытков на основе ценовой величины.
adxLength = input.int(14, "ADX Length")
adxThreshold = input.int(25, "ADX Threshold")
dI = ta.dmi(adxLength, adxLength)
adx = ta.adx(adxLength)
trendFilter = adx > adxThreshold and dI+"DI" > dI+"DI-"
longCondition := longCondition and trendFilter
Полноценная многопространственная стратегия: Объясненная в коде активации логика воздушного трейдинга позволяет стратегии получать прибыль в падении рынка. Это повысит адаптивность и всесторонность стратегии в различных рыночных условиях.
Оптимизация управления капиталом: Добавление контроля размеров позиций и общего управления рисками, такие как установка стоп-лосса на основе ATR, максимальный лимит вывода и т. Д.
atrPeriod = input.int(14, "ATR Period")
atrMultiplier = input.float(3.0, "ATR Multiplier")
atr = ta.atr(atrPeriod)
stopLossPrice = strategy.position_avg_price - (atrMultiplier * atr)
timeFilter = (hour >= 9 and hour < 16) or (hour >= 18 and hour < 22)
longCondition := longCondition and timeFilter
volatilityRatio = ta.atr(14) / ta.atr(56)
dynamicMult = volatilityRatio < 0.8 ? mult * 0.8 : mult * 1.2
var float trailingStop = na
if strategy.position_size > 0
trailingStop := math.max(trailingStop, close - atrMultiplier * atr)
if close < trailingStop
strategy.close("Long")
Стратегия количественного трейдинга с динамическим ускорением прорыва в буринской ленте - это краткосрочная торговая система, основанная на техническом анализе, в сочетании с принципом отслеживания тенденций и возвращения к среднему значению. Стратегия осуществляет многоугольное вхождение, наблюдая за прорывными сигналами цены в буринской ленте, и использует отсутствие устойчивости цены или прикосновение к равновесной линии для выхода, образуя полный торговый замкнутый круг.
Преимущество стратегии заключается в ее способности адаптироваться к волатильности рынка и четким правилам торговли, но также сталкивается с такими проблемами, как риск ложного прорыва и чувствительность к параметрам. Устойчивость и прибыльность стратегии могут быть значительно повышены путем добавления фильтров тенденций, совершенствования системы многопрофильных торгов, оптимизации управления капиталом и введения адаптивных параметров.
Для трейдеров эта стратегия подходит для использования в краткосрочных торговых системах, особенно на рынках с высокой волатильностью и явными прорывными характеристиками. После дальнейшей оптимизации она имеет потенциал стать всеобъемлющим торговым решением, способным сохранять относительно стабильную производительность в различных рыночных условиях.
/*backtest
start: 2024-03-25 00:00:00
end: 2025-03-24 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © GoodDayss
//@version=6
strategy("Bollinger Bands Strategy 5m", overlay=true)
length = input.int(20, "Bollinger Length", minval=1)
mult = input.float(1.9, "Bollinger Mult", minval=0.001, maxval=50)
tolerance = input.int(4, "Trend Tolerance", minval=1)
source = close
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=color.yellow, linewidth=2, title="Basis")
plot(upper, color=color.white, linewidth=2, title="Up")
plot(lower, color=color.white, linewidth=2, title="Low")
var int barsNotAboveUpper = 0
var int barsNotBelowLower = 0
bool longCondition = ta.crossover(close, upper)
bool shortCondition = ta.crossunder(close, lower)
if longCondition and strategy.position_size <= 0
strategy.entry("Long", strategy.long)
// Alert
alertcondition(longCondition and strategy.position_size <= 0, title = "幹你媽買進", message = "{{{ticker}} 的價格是 {{close}},\n買進!!!.}")
// if shortCondition and strategy.position_size >= 0
// strategy.entry("Short", strategy.short)
if strategy.position_size > 0
if close > upper
barsNotAboveUpper := 0
else
barsNotAboveUpper += 1
bool touchedBasisLong = (low <= basis)
if barsNotAboveUpper >= tolerance or touchedBasisLong
// Alert
alert(message = "{{{ticker}} 的價格是 {{close}},\n塊陶啊,賣出!!!.}")
strategy.close("Long", comment="Exit Long")
barsNotAboveUpper := 0
if strategy.position_size < 0
if close < lower
barsNotBelowLower := 0
else
barsNotBelowLower += 1
bool touchedBasisShort = (high >= basis)
// if barsNotBelowLower >= tolerance or touchedBasisShort
// strategy.close("Short", comment="Exit Short")
// barsNotBelowLower := 0