
Стратегия повторяющегося сона является количественной торговой стратегией, основанной на полосе, которая использует диапазон цен между верхней и нижней полосами полосы для определения диапазона колебаний рынка и определения потенциальных входных и выходных моментов.
Эта стратегия основана на следующих показателях:
Средняя линия Болфора: простая скользящая средняя SMA, которая представляет собой общую тенденцию рынка.
Верхняя полоса: средняя линия + N-кратное стандартное разрыв. Верхняя полоса представляет собой верхнюю границу колебаний рынка.
Нижняя полоса Больффора: средняя линия - N-кратное стандартное разрыв. Нижняя полоса представляет собой нижнюю границу колебаний рынка.
При закрытии цены выше нижней полосы, и цена открытия ниже нижней полосы, можно рассматривать как потенциальное дно, и можно принимать во внимание. При закрытии цены выше верхней полосы, и цена открытия ниже верхней полосы, можно также принимать во внимание сигнал о потенциальном прорыве вверх.
Когда цена закрытия ниже верхней линии, а цена открытия выше верхней линии, следует рассматривать выход из поля. Когда цена закрытия выше цены открытия, и расстояние между верхней и нижней линиями более чем в 2 раза больше средней линии, следует также рассматривать сигнал увеличения колебаний.
Использование двойной комбинации треков для повышения точности сигнала. Комбинация заключительных и открытых цен позволяет устранить некоторые ложные сигналы.
Автоматически адаптируется к изменениям рынка на основе диапазона колебаний, рассчитанного на основе стандартной разницы. Нет необходимости вручную устанавливать фиксированные ценовые диапазоны.
В сочетании с оценкой средней линии тренда, избегайте повторных потрясений на рынках без тенденции.
Используйте прорыв в середине орбиты, чтобы определить, когда произойдет обратный тренд. Вы можете вовремя использовать потенциальные возможности.
Стратегия операций на коротких линиях, не подходит для длинных линий. Необходимо внимательно следить за ситуацией на рынке, своевременно останавливать убытки.
Полоса Больффорда действует только в определенные временные рамки. Если использовать неправильную параметровую настройку, легко получить ложный сигнал.
На консолидированном рынке, когда средняя линия колеблется больше, может быть чаще появляться смены вверх и вниз. В этом случае следует снизить размер позиции или временно прекратить работу.
Настройка параметров для более длительных временных циклов. Можно оптимизировать алгоритм средней орбиты путем увеличения длины циклов, используя такие методы, как показательная подвижная средняя.
Увеличение показателей оценки колебаний, таких как ATR, позволяет избежать ложных прорывов. В качестве фильтрующего условия можно установить значение ATRprebuilt, которое будет генерировать торговый сигнал только в том случае, если колебания превышают определенную величину.
В сочетании с другими показателями, для достижения эффекта фильтрации Барри. Например, правило суждения о увеличении объема сделок, которое действует только при увеличении объема сделок.
Воспроизведение стратегии Bolf Sonar определяет ценовые каналы, автоматически идентифицируя предельные предельные точки на рынке в качестве потенциальных торговых возможностей. Она хорошо подходит для захвата среднесрочных и краткосрочных ценовых поворотов и может служить дополнением к стратегии отслеживания тенденций.
/*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("BB Strategy", shorttitle="BB", overlay=true)
length = input.int(55, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(1., minval=0.001, maxval=50, title="StdDev")
ma(source, length, _type) =>
switch _type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Entry conditions
enterCondition = (close > lower and open < lower and close > open) or (close > upper and open < upper and close > open)
// Exit conditions
exitCondition = (close < upper and open > upper) or (close > open and (upper - lower) > 2 * basis) or (close < lower)
strategy.entry("Long", strategy.long, when=enterCondition)
strategy.close("Long", when=exitCondition)
// Plotting
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))