Эта стратегия называется
Эта стратегия сначала рассчитывает верхние и нижние рельсы полос Боллинджера, а затем оценивает, проходит ли последняя линия K через верхние или нижние рельсы. В то же время она также оценивает, является ли сущность последней линии K только половиной предыдущей.
В частности, стратегия использует ситуацию, когда красные K-линейные объекты становятся меньше, достигая только половины предыдущей K-линейной сущности во время нисходящей тенденции, вместе с последней ценой закрытия K-линии, пробивающейся через нижнюю рельсу Боллингерской полосы, как сигнал покупки. Напротив, она использует ситуацию, когда зеленые K-линейные объекты становятся меньше, достигая только половины предыдущей K-линейной сущности во время восходящей тенденции, вместе с последней ценой закрытия K-линии, пробивающейся через верхнюю рельсу Боллингерской полосы, как сигнал продажи.
Эта стратегия сочетает в себе технические индикаторы и анализ ценового поведения, которые могут эффективно отфильтровать ложные прорывы. В то же время, она выдает сигналы только в точках перелома, избегая повторяющейся торговли во время трендов. Кроме того, стратегия использует характеристики сокращения K-линии для блокировки точки перелома после незначительной корректировки. Эти преимущества могут улучшить стабильность и прибыльность стратегии.
Основные риски этой стратегии заключаются в неправильном настройке параметров полос Боллинджера и неудачах прорыва. Если параметры полос Боллинджера установлены слишком большими или слишком малыми, произойдут ошибочные оценки. Кроме того, даже если цена прорвется через верхние или нижние рельсы полос Боллинджера, это может быть ложным прорывом и не сформирует реального переворота тренда. Все эти риски могут привести к торговым потерям стратегии. Чтобы уменьшить эти риски, параметры полос Боллинджера могут быть соответствующим образом скорректированы или могут быть добавлены другие индикаторы для проверки комбинации.
Эта стратегия может быть оптимизирована в следующих аспектах:
Оптимизировать параметры полосы Боллинджера для более эффективного отслеживания тенденций и колебаний.
Добавьте движущийся стоп-лосс, чтобы зафиксировать прибыль и управлять рисками.
Включить другие индикаторы, такие как MACD, RSI для проверки для фильтрации ложных сигналов.
Добавьте алгоритмы машинного обучения, обучите модели большим количеством данных и динамически оптимизируйте параметры стратегии и показатели веса.
Эта стратегия успешно сочетает в себе ценовое действие и полосы Боллинджера, получая относительно высокую прибыльность с низким риском. Она выдает сигналы только в ключевых точках, избегая помех от шума. Благодаря непрерывной оптимизации параметров и критериев фильтрации ожидается, что эта стратегия получит более устойчивую альфу. Она обеспечивает надежный шаблон для количественной торговой практики.
/*backtest start: 2022-12-13 00:00:00 end: 2023-12-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // main codebody taken from Trader Noro - Noro's Crypto Pattern for H1 // Intraday strategy- Exit at EOD at all cost strategy(title = "Price Action + Bollinger Strategy ",overlay=true) bar = close > open ? 1 : close < open ? -1 : 0 body = abs(close - open) avgbody = sma(body, 100) //calculate simple moving average bollinger bands b_sma = input(21,minval=1,title=" SMA candle") b_sma_no_of_deviations = 2.1 b_sma_signal = sma(close, b_sma) b_sma_deviation = b_sma_no_of_deviations * stdev(close, b_sma) b_sma_upper= b_sma_signal + b_sma_deviation b_sma_lower= b_sma_signal - b_sma_deviation up1 = body < body[1] / 2 and bar[1]==1 and bar == -1 and close[1] > b_sma_upper dn1 = body < body[1] / 2 and bar[1]==-1 and bar == 1 and close[1] < b_sma_lower up2 = false dn2 = false up2 := (up1[1] or up2[1]) and close < close[1] dn2 := (dn1[1] or dn2[1]) and close > close[1] plotarrow(up1 or up2 ? 1 : na, colorup = color.black, colordown = color.black, transp = 0) plotarrow(dn1 or dn2 ? -1 : na, colorup = color.black, colordown = color.black, transp = 0) strategy.entry("Buy", true, when = dn1) strategy.exit("exit", "Buy", profit = 3, loss = 1.5) strategy.entry("Short", false, when = up1) strategy.exit("exit", "Short", profit = 3, loss = 1.5)