
Стратегия трейдинга с учетом многократных временных рамок является количественным методом трейдинга, который сочетает в себе долгосрочный и краткосрочный анализ рынка. Стратегия хитро сочетает в себе многократные временные рамки, чтобы определить время входа в рынок, подтверждая общую тенденцию рынка на 15-минутных временных рамах и идентифицируя конкретные графические формы (например, поглощающие формы) на 1-минутных временных рамах. Кроме того, стратегия включает в себя строгий механизм временной фильтрации, чтобы избежать торговли в период высокой волатильности в начале открытия рынка и перед закрытием, а также гарантировать, что позиция не будет держаться в течение ночи, чтобы эффективно управлять риском торговли.
Центральная логика стратегии количественного трейдинга основана на многократном анализе временных рамок и строгом управлении временем трейдинга. В частности:
Выявление тенденцийПринято:request.securityФункция получает данные о ценах за 15-минутный промежуток времени и определяет направление среднесрочной и долгосрочной тенденции. Стратегия проводится путем сравнения текущей цены закрытия с ценой закрытия предыдущего периода.trend_15m > trend_15m[1]По данным Reuters, в июле 2014 года в Китае произошла крупная авария, которая привела к катастрофе.
ФормовознаниеВ 1-минутном временном промежутке стратегия идентифицирует поглощающую позицию, то есть текущая цена закрытия K-линии выше цены открытия (сверх) и цена открытия K-линии выше цены закрытия (сверх) и цена закрытия K-линии выше цены открытия K-линии.bullish_engulfing = close > open and open[1] > close[1] and close > open[1]выполнить.
Фильтр времениВ этой статье мы рассмотрим два важных критерия фильтрации времени:
Управление рискамиСтратегия: после подтверждения входного сигнала, автоматически устанавливается стоп-убыток, находящийся на нижней точке предыдущей K-линииstop_loss := low[1]), и рассчитывает целевую прибыль на основе 2: 1 риска-возвращения (take_profit := close + 2 * (close - stop_loss))。
Ограничения на однодневную торговлюСтратегия: обязательное закрытие всех позиций в конце каждого торгового дня (в 16:00), чтобы гарантировать, что позиции не будут удерживаться на ночь.strategy.close_all()Функциональная реализация.
Многоуровневый анализ рынка: Благодаря анализу в сочетании с 15-минутными и 1-минутными временными рамками, стратегия позволяет одновременно уловить среднесрочные тенденции и краткосрочные возможности для входа, что значительно повышает точность торгов. Среднесрочные тенденции обеспечивают руководство в направлении общего рынка, а краткосрочные формы обеспечивают точное время входа.
Эффективный механизм фильтрации времениИзбегайте периодов высокой волатильности и низкой ликвидности, предшествующих открытию и закрытию рынка, которые обычно являются более шумными и имеют более низкое качество сигнала, что может привести к увеличению ложных прорывов или скольжения.
Автоматизация управления рискамиСтратегия включает в себя четкую установку стоп-лосс и прибыльных целей, а также риско-возмездный коэффициент 2: 1, который является стандартным критерием контроля риска, используемым профессиональными трейдерами, способствует долгосрочной прибыльности.
Стратегии дневной торговлиВ соответствии с этой стратегией, при обязательном ликвидации позиций следует избегать рисков, связанных с ночным хранением, включая неконтролируемые потери от внезапных событий, ночных взлетов и т. д.
Код прост и эффективен: четкая структура кода стратегии, логическая плотность, встроенные функции, использующие язык PineScript, такие какrequest.securityиstrategy.exitПовышение эффективности исполнения.
Задержка многократных временных рамокИспользование:request.securityФункции, получающие большие временные рамки данных, могут вводить определенную задержку, которая может привести к пропуску точки входа или задержке выхода в быстро меняющихся рынках. Решение заключается в рассмотрении использования динамических временных рамок или добавлении мгновенных признаков тренда.
Однообразная зависимостьСтратегия: использование только формы поглощения букмекера в качестве входного сигнала, что может привести к упущению других эффективных торговых возможностей. Расширенное распознавание других форм высокой вероятности (например, крестозвезды, конци и т. д.) может увеличить частоту торгов.
Фиксированная настройка риска и прибылиИспользование фиксированного соотношения риска и прибыли в размере 2:1 может быть недостаточно гибким в различных волатильных условиях. Решение заключается в том, чтобы рассматривать динамическую корректировку уровней стоп-лосса и прибыли на основе ATR.
Фильтрация по времениХотя временная фильтрация позволяет избежать периодов повышенного риска, вы можете пропустить некоторые высококачественные торговые возможности, особенно в дни сильной тенденции, вызванной скачками в открытом диапазоне. Можно рассмотреть возможность добавления дополнительных условий подтверждения, а не полностью избегать этих периодов.
Отсутствие адаптивности к состоянию рынка: стратегия не различает различные состояния рынка (например, рынок волатильности, рынок тренда) и может плохо работать в некоторых рыночных условиях. Введение механизма идентификации состояния рынка может повысить адаптивность стратегии.
Повышение показателей подтверждает тенденцию: Можно добавить технические показатели, такие как MACD, RSI или система движущихся средних, в 15-минутную рамку, чтобы обеспечить более надежное подтверждение тренда. Например, добавление перекрестного или направленного подтверждения MACD или RSI может уменьшить ложные сигналы.
Динамическое управление рисками: Динамическая корректировка стоп- и рентабельных целей на основе рыночной волатильности (например, ATR), а не использование фиксированного коэффициента возврата на риск. Установление более мягкого стоп-порога в высоковолатильных рынках и более жесткого стоп-порога в низковолатильных рынках.
Добавление дополнительных форм входаПомимо форм поглощения кристаллов, можно добавить идентификацию других высоковероятных форм кристаллов, таких как формы кристаллических звездных линий, нитей и т. д., чтобы увеличить частоту и разнообразие торгов.
Введение подтверждения поставкиВключение анализа трафика в логику стратегии позволяет повысить качество сигнала, подтверждая поглощение только в случае увеличения трафика.
Рыночная среда адаптируетсяДобавление функции идентификации рыночной среды, например, для различения трендовых и шокирующих рынков с помощью показателей волатильности (например, ATR) или показателей интенсивности тренда (например, ADX) и соответствующей корректировки параметров стратегии.
Оптимизация фильтра времениМожно рассмотреть возможность использования более тонких механизмов фильтрации времени, например, для определения оптимальных торговых периодов на основе анализа исторических данных, а не для простого исключения фиксированных периодов времени.
Торговая стратегия с распознаванием трендов в нескольких временных рамках и графическим рисунком - это комплексная торговая система, которая сочетает анализ средне- и долгосрочных трендов с краткосрочными технологиями входа. Эта стратегия позволяет эффективно повысить точность входа, подтверждая направление тенденции в целом рынке в более крупных временных рамках (15 минут) и выявляя высоковероятные формы опционистского поглощения в более мелких временных рамках (1 минута).
Еще одна отличительная особенность этой стратегии заключается в том, что она включает в себя строгие временные фильтрации и систему управления рисками, чтобы избежать периодов высокой волатильности рынка и контролировать риск с помощью фиксированного коэффициента возврата риска и принудительного заглаживания позиций до закрытия. Эти функции делают эту стратегию особенно подходящей для дневных трейдеров, которые стремятся к стабильной прибыли.
Несмотря на четкую логику и жесткий контроль риска, в стратегии имеется много возможностей для оптимизации, включая усиление механизма подтверждения тенденций, внедрение динамического управления рисками, добавление большего количества идентификации форм входа, интеграцию объемного анализа и разработку функций адаптации к рыночной среде. Благодаря этим оптимизациям стратегия может быть более стабильной в различных рыночных условиях.
/*backtest
start: 2024-03-07 00:00:00
end: 2025-03-05 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Multi-Timeframe Strategy with Time Filters", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Define the 15-minute trend (long-term trend)
trend_15m = request.security(syminfo.tickerid, "15", close)
// Identify Bullish Engulfing pattern on the 1-minute chart
bullish_engulfing = close > open and open[1] > close[1] and close > open[1]
// Define the entry condition: Bullish Engulfing on the 1-minute chart and uptrend on the 15-minute chart
long_condition = bullish_engulfing and trend_15m > trend_15m[1]
// Define the current time
current_hour = hour
current_minute = minute
// Check if it's within the first 45 minutes or last 60 minutes of the trading day
first_45_minutes = (current_hour == 9 and current_minute < 45) // First 45 minutes of the day (9:00 - 9:45 AM)
last_60_minutes = (current_hour == 15 and current_minute >= 0) or (current_hour == 16 and current_minute < 60) // Last 60 minutes (3:00 - 4:00 PM)
// Block trades if within the restricted time windows
time_restricted = first_45_minutes or last_60_minutes
// Execute the strategy logic for long entry only if not within restricted time window
if (long_condition and not time_restricted)
strategy.entry("Long", strategy.long)
// Initialize stop loss and take profit variables
var float stop_loss = na
var float take_profit = na
// Update stop loss and take profit values when a long entry is triggered
if (long_condition and not time_restricted)
stop_loss := low[1] // Set stop loss to the low of the previous candle
take_profit := close + 2 * (close - stop_loss) // Set take profit to 2:1 risk-to-reward ratio
// Set stop loss and take profit for the trade using strategy.exit
strategy.exit("Exit Long", "Long", stop=stop_loss, limit=take_profit)
// Close all positions at the end of the trading day (for example, at 16:00 EST)
end_of_day = (hour == 16 and minute == 0) // 16:00 EST is the end of the day for most US markets
if (end_of_day)
strategy.close_all() // Close all open positions at the end of the day