Эта стратегия основана на индикаторе Болинджерских полос, в сочетании с индикаторами импульса для реализации комбинационной торговой стратегии реверсии Болинджерских полос и прорыва импульса. Она длится, когда цена проходит через среднюю линию Болинджерских полос снизу и становится короткой, когда цена проходит через среднюю линию сверху. Она также отслеживает стоп-лосс и прибыль на основе цены входа для закрытия позиций при достижении целевого соотношения риск-вознаграждение.
Стратегия использует среднюю линию Боллингеровских полос SMA в качестве индикатора скользящей средней и динамически регулирует ширину полосы через param mult * stdev. Когда цена проходит через среднюю линию снизу, это указывает на то, что набирается подъемный импульс и, следовательно, идет в длительный путь. Когда цена проходит через среднюю линию сверху, это показывает, что набирается подъемный импульс и, следовательно, идет в короткий путь. После входа в длинные / короткие позиции параметры стоп-лосса и прибыли устанавливаются для отслеживания прибыли и контроля рисков.
В частности, полосы Боллинджера рассчитываются с помощью двух параметров - длины и мульти. Длина определяет период средней линии, а мульти определяет ширину полосы. enterLong и enterShort определяют время выхода. exitLong и exitShort рассчитывают стоп-лосс и цены прибыли на основе цены входа и целевого процента.
Эта стратегия сочетает в себе реверсию к среднему и импульсу, что позволяет зафиксировать основные тенденции на ранней стадии. По сравнению с простой отслеживанием скользящих средних, дополнительное суждение о импульсе, основанное на ширине полос Боллинджера, может отфильтровать некоторые ложные прорывы. Стоп-лосс и прибыль устанавливаются непосредственно на основе цены входа без ручного вмешательства.
Параметры, такие как периоды, ширина диапазона и диапазон стоп-лосса, могут быть оптимизированы, чтобы сделать стратегию адаптивной к различным рыночным условиям.
Эта стратегия сочетает в себе сильные стороны реверсии и импульса, что позволяет зафиксировать некоторые тенденции на ранней стадии. Благодаря настройке параметров она может адаптироваться к различным стадиям рынка. Прямое учет стоп-лосса/прибыли уменьшает ручное вмешательство.
/*backtest start: 2023-11-13 00:00:00 end: 2023-11-20 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("BURATINO", overlay=true) // Входные параметры length = input(20, minval=1, title="Length") mult = input(2.0, minval=0.1, maxval=5, title="Multiplier") target_percent = input(0.5, minval=0.1, title="Target Percent") stop_loss_percent = input(95, minval=0.1, title="Stop Loss Percent") // Расчет полос Боллинджера basis = sma(close, length) dev = mult * stdev(close, length) upper = basis + dev lower = basis - dev // Переворот снизу вверх через среднюю линию Боллинджера для открытия лонга enterLong = cross(close, basis) and close[1] < basis[1] // Переворот сверху вниз через среднюю линию Боллинджера для открытия шорта enterShort = cross(basis, close) and close[1] > basis[1] // Закрытие лонга после роста цены на указанный процент или падения на указанный процент exitLong = close >= strategy.position_avg_price * (1 + (target_percent / 100)) or close <= strategy.position_avg_price * (1 - (stop_loss_percent / 100)) // Закрытие шорта после падения цены на указанный процент или роста на указанный процент exitShort = close <= strategy.position_avg_price * (1 - (target_percent / 100)) or close >= strategy.position_avg_price * (1 + (stop_loss_percent / 100)) // Управление позициями и ограничениями на открытие противоположных позиций strategy.entry("Long", strategy.long, when = enterLong and strategy.position_size == 0) strategy.entry("Short", strategy.short, when = enterShort and strategy.position_size == 0) strategy.close("Long", when = exitLong) strategy.close("Short", when = exitShort) // Визуализация полос Боллинджера plot(basis, color=color.blue, title="Basis") plot(upper, color=color.red, title="Upper") plot(lower, color=color.green, title="Lower")