
Стратегия представляет собой объединенную в несколько индикаторов количественную торговую систему, которая объединяет простые скользящие средние ((SMA), относительно сильные показатели ((RSI) и уровни поддержки/сопротивления для получения торговых сигналов. Стратегия также включает в себя временные фильтры и механизмы фильтрации объема сделки для повышения эффективности торгов.
Эта стратегия основана на нескольких классических концепциях и показателях технического анализа:
Простая скользящая средняя (SMA): Использование 50-циклических SMA для определения общего направления рыночных тенденций. SMA служит для сглаживания цен, помогая уменьшить шум и показать более четкую тенденцию.
Относительно слабый индекс (RSI): использование 14-циклического RSI для обнаружения условий перекупа и перепродажи на рынке. Когда RSI ниже 30 считается сигналом о перепродаже, а выше 70 считается сигналом о перекупе.
Уровни поддержки и сопротивления: Найдите наименьшую и самую высокую цены за этот период, рассчитанные через окно 30 циклов. Эти уровни представляют собой ключевые области, в которых цены могут измениться.
Логика транзакций:
Условия фильтрации:
Этот метод сочетает в себе элементы отслеживания тенденций и обратной торговли, пытаясь поймать торговые возможности, когда цена достигает экстремальных уровней и показывает потенциальные обратные сигналы.
Подтверждение многомерного сигналаС помощью комбинации нескольких показателей (SMA, RSI, поддержка/сопротивление) стратегия снижает риск ложных сигналов, генерируя торговые сигналы только тогда, когда одновременно удовлетворяются несколько условий.
Динамика поддержки и сопротивленияСтратегия: используйте подвижное окно для расчета уровней поддержки и сопротивления, чтобы эти ключевые уровни цен могли автоматически корректироваться с изменением рыночных условий.
Гибкий механизм фильтрации:
Конкретные условия входаСтратегия имеет четкие правила входа, в сочетании с ценой, близкой к критическому уровню, и условиями перекупа/перепродажи, что помогает поймать возможности в потенциальных переломных моментах.
Визуальная помощьСтратегия включает в себя график SMA, линий поддержки и сопротивления, а также визуальные знаки для сигналов покупки и продажи, которые позволяют трейдерам интуитивно понимать состояние рынка и стратегические сигналы.
Функция оповещенияВстроенные условия оповещения позволяют трейдерам получать уведомления при появлении новых сигналов, что позволяет осуществлять мониторинг и исполнение сделок в режиме реального времени.
Риск ложного проникновенияПриближение цены к уровню поддержки или сопротивления может привести к ложному прорыву, а затем к быстрому обратному повороту, что приведет к ошибочному сигналу. Можно рассмотреть возможность добавления механизмов подтверждения, например, ожидание, что цена останется вблизи уровня поддержки/сопротивления в течение определенного времени, или добавление дополнительных подтверждающих индикаторов.
Риски чрезмерной торговлиВ кривой или высоко волатильных рынках RSI может часто пересекать уровни перекупки и перепродажи, что приводит к избыточному количеству торговых сигналов. Это может быть уменьшено путем корректировки RSI или добавления условий фильтрации сигналов.
Параметр ЧувствительностьВыполнение стратегии сильно зависит от выбранных параметров (циклы SMA, циклы RSI, окна поддержки/сопротивления и т. д.). Разные рынки и временные рамки могут требовать разных параметров, рекомендуется тщательное отслеживание и оптимизация.
Управление одной позициейВ настоящее время отсутствует стоп-лосс и торговая стратегия, что может привести к большим потерям при резких рыночных колебаниях. Рекомендуется включить стоп-лосс и функцию управления размером позиций.
Ограничения по времени фильтрации: фиксированный диапазон дат может привести к упущенным хорошим торговым возможностям за пределами диапазона дат. Подумайте об использовании более динамичных методов временной фильтрации, таких как адаптивная фильтрация, основанная на состоянии рынка.
Добавление стоп-лосса и прибыли:
Параметры оптимизации адаптируются:
Улучшение фильтрации:
Добавить управление позициями:
Интеграция показателей рыночных настроений:
Комбинированная торговая стратегия с объединением множества технических показателей и добавлением временных и объемных фильтров пытается захватить торговые возможности в потенциальных рыночных переломах, сокращая при этом ложные сигналы и ненужные сделки.
Наибольшие преимущества стратегии заключаются в ее многомерном подтверждении сигнала и гибком механизме фильтрации, что повышает качество торговых сигналов. Однако она также сталкивается с такими проблемами, как риск ложного прорыва и чувствительность параметров. Стратегия может быть дополнительно оптимизирована для повышения производительности и стабильности путем добавления механизмов остановки убытков, оптимизации параметров адаптации, усиления фильтров и улучшения управления позициями.
Эта стратегия дает твердую отправную точку для трейдеров, которые хотят построить прочную торговую систему на основе технического анализа. Понимая ее принципы и индивидуально адаптируя их к конкретным потребностям рынка, трейдер может разработать систему, которая лучше подходит для его стиля торговли и предпочтений в отношении риска.
/*backtest
start: 2024-04-08 00:00:00
end: 2025-04-07 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("SMA + RSI + S/R Strategy with Filters", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Input Settings ===
smaPeriod = input.int(50, title="SMA Period")
rsiPeriod = input.int(14, title="RSI Period")
srWindow = input.int(30, title="Support/Resistance Window")
volumeFilter = input.bool(true, title="Enable Volume Filter")
tradeOnlyAboveVolume = input.bool(true, title="Only trade when volume > avg")
// === Indicators ===
sma = ta.sma(close, smaPeriod)
rsi = ta.rsi(close, rsiPeriod)
support = ta.lowest(low, srWindow)
resistance = ta.highest(high, srWindow)
avgVolume = ta.sma(volume, 20)
// === Volume Filter ===
volumeCondition = not volumeFilter or (volume > avgVolume)
// === Signals ===
buySignal = (close <= support * 1.02) and (rsi < 30) and volumeCondition
sellSignal = (close >= resistance * 0.98) and (rsi > 70) and volumeCondition
// === Strategy Backtest ===
if buySignal
strategy.entry("Buy", strategy.long)
if sellSignal
strategy.entry("Sell", strategy.short)
// === Plot Lines ===
plot(sma, title="SMA", color=color.orange)
plot(support, title="Support", color=color.green)
plot(resistance, title="Resistance", color=color.red)
// === Plot Signals ===
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// === Alerts ===
alertcondition(buySignal, title="Buy Alert", message="Buy Signal Triggered!")
alertcondition(sellSignal, title="Sell Alert", message="Sell Signal Triggered!")