Эта стратегия разработана на основе индикатора Bollinger Bands для того, чтобы идти коротко, когда цена проходит выше верхней полосы, и идти долго, когда цена проходит ниже нижней полосы, реализуя интеллектуальную торговую систему отслеживания.
Стратегия использует среднюю линию, верхнюю полосу и нижнюю полосу полос Боллинджера в качестве базовых индикаторов. Средняя линия - это скользящая средняя цены закрытия за n дней. Верхняя полоса - это средняя линия, смещенная вверх двумя стандартными отклонениями, в то время как нижняя полоса смещается вниз двумя стандартными отклонениями.
В частности, в стратегии в основном рассматриваются два показателя:
ta.crossover ((источник, ниже): цена закрытия превышает нижний диапазон, переходит на длинный
ta.crossunder ((источник, верхний): цена закрытия превышает верхний диапазон, становится короткой
Когда условие выхода запускается, используйте функцию strategy.cancel() для сглаживания существующей позиции.
Основными преимуществами этой стратегии являются:
Эта стратегия также сопряжена с некоторыми рисками:
Соответствующие решения:
Стратегия может быть дополнительно оптимизирована путем:
Эта стратегия разработана на основе индикатора Болинджерских полос, используя ценовые прорывы верхних и нижних полос для автоматического отслеживания цен. Логика проста и чувствительна к волатильности рынка. Дальнейшие оптимизации могут быть выполнены с помощью механизмов настройки параметров и остановки потерь. В целом эта стратегия хорошо работает для индексов и товаров с более высокой волатильностью. Трейдеры могут тестировать и оптимизировать на основе своих торговых предпочтений, чтобы получить торговую стратегию астики.
/*backtest start: 2023-12-17 00:00:00 end: 2024-01-16 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands Strategy with alerts (incl. pending orders) via TradingConnector to Forex", overlay=true) source = close length = input.int(20, minval=1) mult = input.float(2.0, minval=0.001, maxval=50) basis = ta.sma(source, length) dev = mult * ta.stdev(source, length) upper = basis + dev lower = basis - dev buyEntry = ta.crossover(source, lower) sellEntry = ta.crossunder(source, upper) if (ta.crossover(source, lower)) strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE") alert(message='long price='+str.tostring(lower), freq=alert.freq_once_per_bar_close) else strategy.cancel(id="BBandLE") alert(message='cancel long', freq=alert.freq_once_per_bar_close) if (ta.crossunder(source, upper)) strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE") alert(message='short price='+str.tostring(upper), freq=alert.freq_once_per_bar_close) else strategy.cancel(id="BBandSE") alert(message='cancel short', freq=alert.freq_once_per_bar_close) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr) //Lines of code added to the original built-in script: 14, 17, 20 and 23 only. //They trigger alerts ready to be executed on real markets through TradingConnector //available for Forex, indices, crypto, stocks - anything your broker offers for trading via MetaTrader4/5