
Стратегия представляет собой комплексную систему отслеживания тенденций, которая подтверждает торговые сигналы путем интеграции трех мощных технических показателей: MACD (индикатор сдвигающейся средней конверсионной дисперсии), параллельной линии SAR (стоп-офф и реверс) и супертенденции (супертенденция). Основная идея заключается в том, что сделки выполняются только тогда, когда все три показателя одновременно указывают на одно и то же направление.
Работа стратегии основана на взаимодействии трех ключевых технических показателей:
Индекс MACD: вычислить разницу между быстрым (в 12 циклов) и медленным (в 26 циклов) скользящим средним, а также 9-циклический сигнал. Когда сигнал проходит по линии MACD, считается позитивным сигналом; когда сигнал проходит по линии, считается падением.
Параллельная линия SAR: Это динамический стоп-стартер, рассчитывающий потенциальные переломные точки цены с помощью параметров, установленных в следующих параметрах: [продолжительность шага 0.02, максимальное значение 0.2]. Когда цена находится выше точки SAR, она рассматривается как восходящая; когда цена находится ниже точки SAR, она рассматривается как нисходящая.
Индекс супертенденции: использует ATR (настоящий диапазон колебаний) в множественном числе (настраивается на 3) для определения направления основной тенденции цены. Когда индикатор зеленый, он обозначает позитивный; когда он красный, он обозначает нисходящий.
Логика сделки:
Условия для участияВ этом случае вы получите дополнительный доход, если вы выполните следующие три условия:
Условия заездаПри наличии следующих трех условий:
Условия для участияПри одновременном выполнении двух условий:
Условия выхода на полеПлощадка пуста при одновременном выполнении следующих двух условий:
Примечательно, что стратегия позволяет некоторым показателям колебаться во время удержания позиции, а не выходить из нее сразу, например, когда MACD меняется, но цена все еще находится выше/ниже поддержки или сопротивления SAR.
Механизм многократного подтвержденияНапример, в одном из примеров, используемых в качестве примера, мы видим следующее: требуя согласованности трех различных показателей для входа, существенно уменьшается вероятность ошибочного восприятия сигналов, снижается ненужная частота торгов.
Всеобъемлющий рыночный взглядСтратегия объединяет анализ рынка в трех измерениях: динамика (MACD), направление тенденции (супертенденция) и динамика поддержки/сопротивления (SAR), что дает более полный взгляд на рынок.
Гибкое управление позициейВ случае, когда некоторые показатели изменяются, но не полностью реверсируются, стратегия продолжает держать позиции, что помогает уловить более длительные тенденции и избежать преждевременного выхода из выгодных сделок.
Четкие правила входа и выхода“Правила стратегии ясны и четки, без пространства для субъективного суждения, что делает процесс принятия решений о сделках полностью систематизированным и воспроизводимым”.
ПриспособностьСупертренды и SAR-индикаторы обладают адаптивными свойствами, которые автоматически корректируются в зависимости от волатильности рынка, что позволяет стратегии адаптироваться к различным рыночным условиям.
Двухсторонние транзакцииСтратегия поддерживает одновременное увеличение и сокращение, создавая возможности для получения прибыли в различных рыночных условиях, а не только в односторонних рынках.
Задержка синхронизации показателейТребование одновременного выполнения трех показателей может привести к задержке входных точек, а иногда и к упущению лучших точек входа в тренд, особенно в быстро меняющихся рынках.
Параметр Чувствительность: Стратегия использует несколько параметров (например, MACD-циклы, ATR-фактор супертенденции, SAR-шаг и т. д.), чувствительна к параметровой настройке, и различные комбинации параметров могут привести к значительно различным результатам.
Риск резких колебанийПри высокой волатильности рынка, SAR может часто переворачиваться, что приводит к преждевременному выходу из позиций, которые могут быть выгодными.
Недостаточное сопоставление рынкаВ условиях поперечной корректировки или узкой колебательности рынка, трендовые индикаторы могут часто давать ложные сигналы, что приводит к последовательным убыточным сделкам.
Отсутствие механизмов сдерживанияВ настоящее время существуют стратегии, основанные исключительно на обратном движении индикаторов и отсутствии четкого механизма остановки убытков, что может привести к большим потерям в экстремальных рыночных условиях.
Меры по смягчению последствий
Представляем фильтры волатильностиМожно увеличить оценку волатильности рынка, например, с использованием ATR или исторической волатильности. Избегайте торговли в условиях низкой волатильности, поскольку трендовые индикаторы часто плохо работают на таких рынках.
Увеличение убыточности: реализация динамического стоп-лосса или фиксированного стоп-лосса на основе ATR, чтобы ограничить максимальные потери по отдельным сделкам и повысить риск-адаптированную отдачу от стратегии.
Оптимизация параметров: Найти более устойчивые параметровые настройки, отслеживая комбинацию параметров в разные периоды времени и при разных рыночных условиях, и даже рассмотреть возможность реализации адаптивной системы параметров.
Дополнительные временные рамкиВнедрение анализа с использованием нескольких временных рамок, например, требует, чтобы направление тренда в более длинных временных рамах соответствовало временным рамам торговли, чтобы повысить устойчивость торгов.
Реализация управления позициямиВместо того, чтобы торговать с 100%-ным капиталом каждый раз, необходимо скорректировать размер позиции в зависимости от сигнала, волатильности рынка или модели риска.
Добавить фильтр времени транзакцииНеобходимо избегать торговли во время публикации важных экономических данных или низкой ликвидности рынка, чтобы снизить влияние необычных колебаний.
Рассмотрение части механизмов получения прибыли: В процессе развития тренда можно реализовать пошаговую стратегию получения прибыли, блокируя часть прибыли, оставляя оставшуюся позицию, чтобы продолжить следовать тренду.
Внедрение этих оптимизаций может значительно повысить адаптивность и производительность стратегий, особенно в различных рыночных условиях. Сбалансированная жесткость и гибкость условий входа, а также усиление управления рисками могут создать более здоровую торговую систему.
Стратегия многопоказательного синхронного подтверждения торгов является полноценной системой отслеживания тенденций, которая проверяет торговые сигналы, объединяя три мощных технических показателя MACD, SAR и супертенденции. Основные преимущества этой стратегии заключаются в ее механизме многократного подтверждения, что значительно снижает количество ложных сигналов и повышает качество торгов. В то же время ее гибкие правила держания позиций позволяют улавливать более длительные рыночные тенденции.
Тем не менее, стратегия также сталкивается с такими проблемами, как чувствительность параметров и потенциальная задержка входа. Стабильность и производительность стратегии могут быть дополнительно улучшены путем реализации рекомендуемых мер оптимизации, таких как увеличение механизма стоп-лосса, оптимизация параметров, реализация управления позициями и добавление фильтров рыночной среды.
В целом, это логически ясная, четко регламентированная и систематизированная торговая стратегия, особенно подходящая для тех трейдеров, которые стремятся к качеству сигналов, а не к количеству, и которые склонны улавливать среднесрочные тенденции, а не краткосрочные колебания. Понимая принципы и ограничения этой стратегии, трейдер может настроить и оптимизировать ее в соответствии со своими предпочтениями в отношении риска и торговыми целями.
/*backtest
start: 2025-03-17 00:00:00
end: 2025-03-18 10:00:00
period: 2m
basePeriod: 2m
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/
//@version=6
strategy("Vinay Strategy",
overlay=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
commission_type=strategy.commission.percent,
commission_value=0, // No commissions
slippage=0) // No slippage
// --- Input Parameters
atrPeriod = input.int(10, "ATR Length for Supertrend", minval=1)
atrFactor = input.float(3.0,"ATR Factor for Supertrend", step=0.1)
fastLength = input.int(12, "MACD Fast Length", minval=1)
slowLength = input.int(26, "MACD Slow Length", minval=1)
sigLength = input.int(9, "MACD Signal Length", minval=1)
sarStep = input.float(0.02, "Parabolic SAR Step", step=0.001)
sarMax = input.float(0.2, "Parabolic SAR Max", step=0.001)
// --- Supertrend Calculation
[stValue, stDir] = ta.supertrend(atrFactor, atrPeriod)
// stDir < 0 => Bullish (Green), stDir > 0 => Bearish (Red)
bullishTrend = stDir < 0
bearishTrend = stDir > 0
// --- Parabolic SAR Calculation
sarValue = ta.sar(sarStep, sarStep, sarMax)
// --- MACD Calculation
[macdLine, signalLine, histLine] = ta.macd(close, fastLength, slowLength, sigLength)
// --- Entry Conditions
macdBullish = macdLine > signalLine // MACD in bullish phase
macdBearish = macdLine < signalLine // MACD in bearish phase
priceAboveSAR = close > sarValue // Price above SAR (bullish)
priceBelowSAR = close < sarValue // Price below SAR (bearish)
// **Long Entry: Enter when all 3 conditions are met (sequence doesn't matter)**
longEntryCond = macdBullish and priceAboveSAR and bullishTrend
// **Short Entry: Enter when all 3 conditions are met (sequence doesn't matter)**
shortEntryCond = macdBearish and priceBelowSAR and bearishTrend
// **Exit Long: Only exit if BOTH conditions are met**
exitLongCond = macdBearish and priceBelowSAR
// **Exit Short: Only exit if BOTH conditions are met**
exitShortCond = macdBullish and priceAboveSAR
// --- Strategy Orders
if longEntryCond
strategy.entry("Long", strategy.long)
if shortEntryCond
strategy.entry("Short", strategy.short)
if exitLongCond
strategy.close("Long")
if exitShortCond
strategy.close("Short")
// --- Plotting Indicators
// 1) Supertrend
plot(bullishTrend ? stValue : na, "Supertrend Up", color=color.green, style=plot.style_linebr, linewidth=2)
plot(bearishTrend ? stValue : na, "Supertrend Down", color=color.red, style=plot.style_linebr, linewidth=2)
// 2) Parabolic SAR as blue crosses
plot(sarValue, "Parabolic SAR", color=color.blue, style=plot.style_cross, linewidth=2)
// 3) MACD Visualization
plot(macdLine, "MACD Line", color=color.teal, linewidth=1)
plot(signalLine, "Signal Line", color=color.orange, linewidth=1)
// Histogram Visualization
plot(histLine, "MACD Hist", style=plot.style_columns,
color = histLine >= 0 ? color.new(color.teal, 60) : color.new(color.orange, 60))