
Стратегия использует несколько технических показателей, таких как волатильные полосы, относительно сильные индикаторы и сплошное скопление средних движущихся, для принятия решений о покупке или продаже. Сначала стратегия рисует традиционные волатильные полосы на графике, в отличие от двух цветных полосообразных областей, которые обозначают два разных стандартных разрыва.
Во-первых, стратегией является нанесение на график 34-циклических полос колебаний, включающих среднюю полосу, верхнюю и нижнюю полосы с 1 стандартной разницей и 2 стандартными разницами.
Открытие позиции с несколькими головами происходит, когда цена на закрытии выходит на траекторию. Открытие позиции с пустыми головами происходит, когда цена на закрытии выходит на траекторию.
При многоглавном позиционировании, если цена на закрытие прошла по средней траектории, позиция прошла. При пустом позиционировании, если цена на закрытие прошла по средней траектории, позиция прошла.
Стратегия также включает в себя индикатор RSI, который является дополнительным подтверждением для открытия позиции сверх 70 и дополнительным подтверждением для открытия позиции сверх 30.
Когда RSI превышает 50, позиция становится свободной. Когда RSI превышает 50, позиция становится свободной.
Также в стратегии введены MACD-индикаторы, которые являются дополнительным подтверждением открытия позиции с большим количеством голосов при открытии позиции с золотым форком MACD и дополнительным подтверждением открытия позиции с пустым голосом при открытии позиции с мертвым форком MACD.
Когда MACD мертвый форк, равновесная позиция больше. Когда MACD золотой форк, равновесная позиция пуста.
В совокупности, для открытия позиции необходимо, чтобы все три показателя были одновременно удовлетворены: волатильность, RSI и MACD. Условия плавного позиционирования также учитывают все три показателя, что снижает вероятность ошибочных сигналов.
Комплексное использование различных показателей фильтрации сигналов, можно эффективно избежать ошибочной торговли. Волатильность приводит к появлению ценового прорыва сигнала, RSI фильтрации перепродажи сверхпокупки, MACD фильтрации изменения тенденции, три совместно подтвердить сигнал, можно значительно повысить вероятность получения прибыли.
Стратегия также предусматривает различную логику открытия и закрытия позиций, строго контролируя риск хранения позиций. Средний рельс, средняя ось RSI 50 и золотой форк MACD были введены в качестве условий равновесия, что позволяет быстро прекратить убытки и снизить убытки по отдельности.
По сравнению с одноиндикаторной стратегией, эта стратегия объединяет преимущества нескольких индикаторов, что может значительно повысить доходность и выигрыш, снизить максимальный отвод. Фильтрация многоиндикаторной комбинации может уменьшить вероятность ошибочных сделок, а строгий стоп-лосс может контролировать влияние каждой убыточной сделки.
В целом, эта стратегия идеально подходит для торговли средними и длинными трендами, так как позволяет не только уловить основные тенденции рынка, но и использовать детали индикатора, чтобы избежать обмана. Многоиндикаторная система рискового управления также позволяет безопасно использовать более высокий уровень леверинга.
Основные риски этой стратегии:
Вероятность того, что индикатор выдаст ложный сигнал. Несмотря на то, что синтез нескольких показателей может уменьшить ошибочный сигнал, его невозможно полностью устранить. Необходимо оптимизировать параметры показателя, чтобы снизить уровень ложного сигнала.
При одностороннем движении нет возможности получить прибыль. При колебании тренда может быть вызван стоп-лосс, который не позволит получить устойчивую прибыль. Стоп-стоп-стандарт может быть надлежащим образом ослаблен, продлив период удержания позиций.
Некоторые индикаторы задерживаются и могут пропустить оптимальное время для открытия позиции. Можно протестировать более продвинутые индикаторы, чтобы заранее поймать повороты.
Большая степень запуска пустоты делает остановку недействительной. Можно установить остановку каналов или постепенно наращивать позиции для контроля потерь.
Параметры слишком фиксированы, их нужно корректировать в зависимости от рынка. Можно ввести параметры автоматической оптимизации машинного обучения.
Недостаточные данные о тестировании, возможно, имеется перенастройка. Устойчивость стратегии требует тестирования в течение более длительного периода времени и на нескольких рынках.
Эта стратегия может быть улучшена в следующих аспектах:
Оптимизация параметров индикатора, поиск более подходящих комбинаций колебаний, циклов RSI и MACD, снижение ложных сигналов. Можно найти оптимальные параметры с помощью методов пошагового и повторяющегося методов.
Добавление адаптивного механизма остановки, а не фиксированной средней полосы остановки. Можно комбинировать ATR, тренд и другие факторы, динамически регулируя положение остановки.
Внедрение технологий машинного обучения для адаптивной оптимизации параметров. Можно использовать усиленное обучение для оптимизации параметров в различных рыночных условиях.
Добавление правил определения тенденций, различение различных стратегий на разных этапах, повышение динамической адаптивности стратегий.
В сочетании с текстовым анализом, социальными данными и другими факторами, это позволяет использовать более продвинутые индикаторы для прогнозирования переменных.
Оптимизация доходности, корректировка размеров позиций в зависимости от объема капитала, чтобы доход мог достичь индексного роста.
Оптимизация портфеля, поиск взаимодополняющих стратегий, снижение волатильности портфельной прибыли с использованием нерелевантности.
В этой стратегии используются различные технические показатели для оценки входа и выхода, а также строгие правила остановки. По сравнению с одним показателем, комбинация из нескольких показателей может значительно уменьшить ложные сигналы и повысить вероятность получения прибыли. Правила остановки также могут контролировать влияние каждой потери.
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation
strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true, currency=currency.NONE, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_value = 0.05)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev
upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2
colorBasis = src >= basis ? color.blue : color.orange
pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))
fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))
//Strategy code starts here
long_entry = ta.crossover(src, upper1)
short_entry = ta.crossunder(src, lower1)
strategy.entry("Long", strategy.long, when=long_entry)
strategy.entry("Short", strategy.short, when=short_entry)
if long_entry or close < basis
strategy.close("Long", "Long")
if short_entry or close > basis
strategy.close("Short", "Short")
//Calculate RSI
rsiLength = input(14)
rsiValue = ta.rsi(src, rsiLength)
// Define RSI conditions for entering and exiting trades
rsiLong = rsiValue > 70
rsiShort = rsiValue < 30
//Enter long position when RSI crosses above 50 and Bollinger Bands long entry condition is met
strategy.entry("Long", strategy.long, when=long_entry and rsiLong)
//Exit long position when RSI crosses below 50 or Bollinger Bands exit condition is met
strategy.close("Long Exit", when=rsiShort or close < basis)
//Enter short position when RSI crosses below 50 and Bollinger Bands short entry condition is met
strategy.entry("Short", strategy.short, when=short_entry and rsiShort)
//Exit short position when RSI crosses above 50 or Bollinger Bands exit condition is met
strategy.close("Short Exit", when=rsiLong or close > basis)
//Calculate MACD
fastLength = input(12)
slowLength = input(26)
macdLength = input(9)
macdValue = ta.macd(src, fastLength, slowLength, macdLength)
// Define MACD conditions for entering and exiting trades
macdLong = ta.crossover(src, macdLength)
macdShort = ta.crossunder(src, macdLength)
//Enter long position when MACD crosses above signal line and RSI and Bollinger Bands long entry condition is met
strategy.entry("Long", strategy.long, when=long_entry and rsiLong and macdLong)
//Exit long position when MACD crosses below signal line or RSI crosses below 50 or Bollinger Bands exit condition is met
strategy.close("Long Exit", when=macdShort or rsiShort or close < basis)
//Enter short position when MACD crosses below signal line and RSI crosses below 50 and Bollinger Bands short entry condition is met
strategy.entry("Short", strategy.short, when=short_entry and rsiShort and macdShort)
//Exit short position when MACD crosses above signal line or RSI crosses above 50 or Bollinger Bands exit condition is met
strategy.close("Short Exit", when=macdLong or rsiLong or close > basis)