
Обзор
Эта стратегия в сочетании с полосами Буллинга и 5-дневными EMA создает торговый сигнал. Открывается открытая позиция, когда цена выходит за пределы полосы Буллинга и закрывается ниже 5-дневной EMA. Открывается многозадачная позиция, когда цена выходит за пределы полосы Буллинга и закрывается выше 5-дневной EMA.
Стратегический принцип
- Вычислите верхнюю, среднюю и нижнюю полосы по Брин-ленте. Верхняя полоса - средняя полоса плюс два стандартных разрыва, нижняя полоса - средняя полоса минус два стандартных разрыва, средняя полоса - простая скользящая средняя цены закрытия.
- 5-дневная EMA рассчитывается в качестве отсчета тренда.
- Открытие позиции с пустой головой происходит, когда цена открытия выше, чем цена запуска по Брин-Бенду, и цена закрытия меньше 5-дневного EMA.
- Открыть позицию сверх залога, когда цена открытия торгового дня меньше, чем цена закрытия торгового дня с понижением по Бринскому поясу, и цена закрытия торгового дня больше, чем 5-дневная ЭМА.
- Если есть пустые позиции, при появлении многоголового сигнала, снимите пустые позиции и откройте многоголовые позиции.
- Если уже имеется многоголовый позиционный слой, при подаче сигнала пустого голова, выровняйте многоголовый слой и откройте пустое положение головы.
- Если у вас есть несколько позиций, вы должны погасить их при появлении сигнала о пустой ликвидации.
- Если у вас есть пустая позиция, вы должны вывести пустую позицию, когда будет вызван сигнал о многостороннем выравнивании.
Стратегические преимущества
- В то же время используйте волатильность цен и тенденции для создания сигналов, чтобы использовать возможности в условиях тенденций и потрясений.
- Бринбест позволяет гибко адаптировать параметры к различным рыночным условиям и особенностям сорта.
- 5 июля EMA используется в качестве фильтра тренда, который эффективно снижает шум и частоту торгов.
- Механизмы своевременного остановки убытков и обратного открытия позиций позволяют лучше контролировать риски и активно использовать возможности новых тенденций.
- Логика ясна, легко понятна и реализуема, что позволяет оптимизировать ее.
Стратегический риск
- Неправильный выбор параметров может привести к искажению сигнала или чрезмерной торговле. Необходимо проводить оптимизационные тесты в зависимости от разновидности и цикла.
- Частые торговые сигналы могут возникать в условиях волатильности рынка, что приводит к чрезмерной торговле и увеличению затрат.
- Поскольку мы не можем определить точку перемены, мы можем пропустить лучший момент для входа в рынок.
- Одиночные комбинации технических показателей могут быть подвержены риску недействительности и нуждаются в проверке с другими сигналами.
- В экстремальных ситуациях риски могут выйти из-под контроля и требуют строгих мер по контролю риска.
Направление оптимизации стратегии
- Оптимизация параметров, таких как длина, умножение и т. д., чтобы найти оптимальную комбинацию параметров.
- Оптимизация циклов EMA для выбора оптимального трендового цикла.
- Добавление других трендовых показателей, таких как MACD, в качестве вспомогательного суждения, повышает точность захвата тенденций.
- Внедрение показателей волатильности, таких как ATR, в качестве основы для хранения убытков и управления позициями, чтобы контролировать риски.
- Ограничение сроков торговли, чтобы избежать неэффективных колебаний в определенное время.
- В зависимости от особенностей рынка, настраивайте соответствующую стратегию стоп-стоп.
Подвести итог
Эта стратегия может быть более эффективной в использовании трендовых и волатильных возможностей в среднесрочных и долгосрочных торговых стратегиях, используя в сочетании с бриндовыми и EMA. Однако необходимо обратить внимание на оптимизацию параметров, контроль позиций и управление рисками, а также в сочетании с другими техническими показателями и фундаментальным анализом, чтобы лучше использовать эффективность стратегии.
Исходный код стратегии
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands and EMA Strategy", overlay=true)
// Define the Bollinger Bands
length = input.int(20, title="BB Length")
src = input(close, title="BB Source")
mult = input.float(2.0, title="BB Multiplier")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Plot Bollinger Bands
plot(upper, "Upper Band", color=color.red)
plot(lower, "Lower Band", color=color.green)
plot(basis, "Middle Band", color=color.blue) // Use plot instead of hline for basis
// Define the 5-period EMA
ema5 = ta.ema(close, 5)
// Plot the 5 EMA
plot(ema5, "5 EMA", color=color.orange)
// Generate signals
var float entry_price = na
var string trade_direction = "none"
if (na(close[1]))
trade_direction := "none"
// Condition for entering a short trade
if (open > upper and close < ema5)
if (trade_direction != "short")
strategy.entry("Short", strategy.short)
entry_price := close
trade_direction := "short"
// Condition for entering a long trade
if (open < lower and close > ema5)
if (trade_direction != "long")
strategy.entry("Long", strategy.long)
entry_price := close
trade_direction := "long"
// Close short trade on a long signal
if (trade_direction == "short" and open < lower and close > ema5)
strategy.close("Short")
strategy.entry("Long", strategy.long)
entry_price := close
trade_direction := "long"
// Close long trade on a short signal
if (trade_direction == "long" and open > upper and close < ema5)
strategy.close("Long")
strategy.entry("Short", strategy.short)
entry_price := close
trade_direction := "short"
// Close trades when opposite signal is generated
if (trade_direction == "long" and open > upper and close < ema5)
strategy.close("Long")
trade_direction := "none"
if (trade_direction == "short" and open < lower and close > ema5)
strategy.close("Short")
trade_direction := "none"