
Эта стратегия использует ценовой диапазон, образованный в течение первых 15 минут после открытия рынка, в качестве основы для поиска возможности для торговли путем прорыва этого диапазона. Стратегия работает в течение пятиминутного временного фрейма, используя ограничительные ордера для входа в позиции прорыва в диапазоне и устанавливает фиксированные точки остановки и остановки. Этот метод использует во многом волатильность, которая обычно возникает во время открытия рынка, и одновременно получает более выгодные точки входа при отзыве цены с помощью механизма ограничительных ордеров.
Основная логика стратегии основана на ценовом диапазоне, который формируется в начале открытия рынка. В частности, она сначала идентифицирует высокие и низкие цены в течение первых 15 минут после открытия рынка (9:30-9:45), что достигается путем вычисления высоких и низких точек первых трех штрихов на пятиминутных временных рамках.
Когда цена преодолевает верхний предел закрытого диапазона, стратегия ставит ордер на более высокую цену в положении, когда она преодолевает верхний предел закрытого диапазона; когда цена преодолевает нижний предел закрытого диапазона, стратегия ставит ордер на более низкую цену в положении, когда она преодолевает нижний предел закрытого диапазона. Особенность ордера на более высокую цену заключается в том, что он срабатывает только в том случае, если цена опускается или поднимается до заданного уровня, что фактически означает ожидание отмены цены.
Стратегия использует фиксированные точки остановки ((100 пунктов) и точки остановки ((50 пунктов)). Это означает соотношение прибыли к риску в 1:2, что является относительно консервативной настройкой управления рисками. В коде используется функция выхода из стратегии, которая автоматически управляет этими уровнями остановки.
Использование волатильности открытого дискаПервые 15 минут после открытия рынка, как правило, сопровождаются высокой волатильностью и объемом торгов, что создает хорошие условия для прорывных сделок. Стратегия разработана специально для этого периода времени и эффективно улавливает начальную энергию рынка.
Механизм лимитированных заказов: Использование ограничительных ордеров позволяет получить более благоприятную цену входа по сравнению с рыночной ценой. Когда цена после прорыва отступает (что является обычным явлением), стратегия позволяет войти в более идеальную цену, что уменьшает скольжение и повышает качество исполнения сделки.
Ясное управление рисками: Стратегия устанавливает фиксированные точки остановки и потери, а риск-возвращение соотносятся в соотношении 1:2. Такой четкий подход к управлению рисками способствует долгосрочной стабильности и предотвращению больших потерь от одной сделки.
Простые и повторяемые: логика стратегии проста, без сложных показателей или вычислений, что позволяет легко понять и реализовать. Эта простота также снижает риск перенастройки и повышает адаптивность стратегии в разных рыночных условиях.
Автоматизация исполнения: Вся стратегия может быть полностью автоматизирована, уменьшая человеческое эмоциональное вмешательство и задержку исполнения. После установки параметров система может автоматически идентифицировать промежутки, устанавливать заказы и управлять стоп-стоп-лосами.
Риск ложного проникновения: колебания во время открытия рынка могут привести к ложному прорыву, то есть цены могут вновь вернуться в зону после кратковременного прорыва. Хотя механизм ценовых ограничений в некоторой степени снижает этот риск, он может привести к ненужной торговле. Одним из возможных решений является добавление механизма подтверждения, например, требуя, чтобы цена оставалась на некоторое время после прорыва, или использование других технических показателей для подтверждения.
Ограничения фиксированной остановкиСроки остановки с использованием фиксированного количества точек могут не подходить для всех рыночных условий. Сроки остановки могут быть слишком малыми в условиях высокой волатильности, а стопы могут быть слишком большими в условиях низкой волатильности. Более гибким способом является корректировка этих параметров в зависимости от волатильности рынка или динамики реальной волатильности (ATR) за предыдущий торговый день.
Одновременная зависимость: стратегия фокусируется только на первых 15 минут после открытия торгов, игнорируя другие периоды времени, которые могут предоставить ценные сигналы. Такая узкая направленность может привести к упущению других торговых возможностей. Расширенная стратегия, учитывающая другие ключевые периоды времени (например, до закрытия), может помочь увеличить торговые возможности.
Отсутствие рыночных фильтров: стратегия не учитывает общую рыночную обстановку, например, направление тенденции или волатильность. В некоторых рыночных условиях прорывная торговля может быть не очень эффективной. Введение фильтров рыночной обстановки, таких как индикаторы тенденции или волатильности, может помочь избежать торговли в неблагоприятных условиях.
Недостаточное внимание к управлению финансами: Простой способ расчета размера позиции в коде может привести к несовместимости входа в риск. Внедрение более сложной системы управления капиталом, например, модели процентной степени риска на основе размера счета, поможет поддерживать согласованный уровень риска.
Динамическая остановка остановкиНапример, можно использовать ATR, умноженный на один коэффициент, чтобы установить уровень остановок и остановок, чтобы при увеличении волатильности стоп-стоп увеличивался соответственно, и наоборот. Этот метод лучше адаптируется к различным рыночным условиям.
Добавить признаки подтвержденияВведение дополнительных технических показателей для подтверждения эффективности прорыва, таких как увеличение объема торгов, динамический индикатор или направление движущейся средней. Это может уменьшить риск ложного прорыва и повысить качество торговых сигналов.
Оптимизация времени поступленияПримечание: В настоящее время существует стратегия, согласно которой ограничительные ордера устанавливаются сразу же после прорыва цены в пределах закрытия. Можно рассмотреть возможность ожидания дополнительного подтверждения, например, повторного тестирования уровня прорыва или конкретной ценовой модели, чтобы повысить точность времени входа.
Добавить фильтр рыночной средыВведение механизмов для оценки общей рыночной обстановки, такой как интенсивность тренда, уровень волатильности или конкретные рыночные фазы. При неблагоприятных условиях можно выбрать неторговлю или скорректировать параметры в соответствии с текущими характеристиками рынка.
Улучшение управления финансамиВнедрение более сложных стратегий управления капиталом, таких как модель процента риска, основанная на размере счета, или корректировка размера позиции на основе волатильности. Это обеспечит согласованность входа в риск независимо от размера счета.
Расширение на другие периоды времени: Изучение применения аналогичной логики прорыва в других ключевых периодах времени, таких как открытие рынка в середине дня, до и после публикации важных экономических данных или до закрытия рынка. Это может предоставить дополнительные торговые возможности, рассеивая риски стратегии.
Стратегия трейдинга с прорывом в пределах открытого диапазона - это метод количественного трейдинга, ориентированный на начало открытия рынка, для захвата рыночной динамики путем идентификации 15-минутного диапазона цен и торгового прорыва. Его использование ограничительных ордеров и фиксированной настройки возврата на риск обеспечивает трейдерам дисциплинированный и простой в реализации метод.
Основными преимуществами этой стратегии являются ее простота, степень автоматизации и эффективное использование волатильности открытых позиций. Однако она также сталкивается с такими проблемами, как риск ложного прорыва, ограниченность фиксированных параметров и зависимость от одного временного периода.
Эта стратегия может быть значительно усилена путем внедрения динамических стоп-стоп, добавления подтверждающих показателей, оптимизации времени входа, введения фильтров рыночной среды и улучшения управления средствами. Эти оптимизации помогут повысить устойчивость стратегии, чтобы она могла лучше адаптироваться к различным рыночным условиям.
Для количественных трейдеров такая стратегия является хорошей отправной точкой, которую можно дополнительно настраивать и улучшать в соответствии с личными предпочтениями в отношении риска и особенностями рынка. С помощью постоянной обратной связи и оптимизации такая стратегия прорыва в открытые зоны может стать эффективным инструментом в торговом портфеле.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-01-21 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gghezzar5
//@version=6
//initialize your code as a strategy or indicator, if you want to take entries you need to use a strategy
//NOTE: if your trades dont show up on the chart sometimes its cuz your initial capital is too low
//hovering over a label shows a description of what it does and the required inputs but lmk if youre still confused on anything
strategy("tiktok strat", overlay=true, initial_capital=1000000)
//get times
currenthour=hour(time, "America/New_York")
currentminute=minute(time, "America/New_York")
//quantity increases in proportion to my profit to simulate reinvesting (not using it)
qty=int(((strategy.netprofit+100000)/close)/2)
//var command initializes the variables, float identifier is like int but it can hold decimals as well
var float m15high=0
var float m15low=0
var float limit=0
//boolean true/false variables (entry conditions)
long=false
short=false
//since we're on the 5 minute timeframe, to identify the range of the 15 minute 9:30-9:45 candle we have to get the highest and lowest value of the past three 5 minute candles
//btw
if currenthour==9 and currentminute==45
//4th bar starts at 9:45, finalizing the 15 minute candle
//high[1]=the previous high of the 9:40-9:45 bar, high[2]=the high before that, etc
m15high:=math.max(high[3], high[2], high[1])
m15low:=math.min(low[3],low[2],low[1])
//NOTE: the := operator is super important and easy to use: it allows you to change the value of a global variable while in local scope
//For example if I were to use = instead of :=, m15high would return 0 at 9:50 since the local scope of the if statement only covers 9:45 (try it yourself in strategy tester)
//And if we were to set currentminute>=45 to extend the scope, the relative highs would also shift with the following bars
//ALWAYS use the := operator whenevere youre changing the value of a variable because if = works then := will work but if := works = doesnt always work.
//returns true once a bar closes above the high or below the low of the 15 minute candle. if so, entry condition is set to true and the limit is set at the high or low, which i'll explain next
if close>m15high
limit:=m15high
long:=true
if close<m15low
limit:=m15low
short:=true
tp=100
sl=50
//these are only for the plots
entry_price=strategy.opentrades.entry_price(0)
takeprofit=entry_price+tp
stoploss=entry_price-sl
takeprofits=entry_price-tp
stoplosss=entry_price+sl
//entries: once the long condition becomes true, we enter. But since we placed a limit order we dont enter immediately. When we break out of the range
//a limit is placed where we broke out and only triggers if the price then comes back down (or up) and hits that level again. (in this case it usually happens right away anyway)
if long
strategy.entry('long', strategy.long, 1, limit=limit)
strategy.exit('exitlong', 'long', stop=stoploss, limit=takeprofit)
if short
strategy.entry('short', strategy.short, 1, limit=limit)
strategy.exit('exitshort', 'short', stop=stoplosss, limit=takeprofits)