Стратегия, направленная на открытие


Дата создания: 2023-10-23 15:13:49 Последнее изменение: 2023-10-23 15:13:49
Копировать: 1 Количество просмотров: 694
1
Подписаться
1617
Подписчики

Стратегия, направленная на открытие

Обзор

Открытие драйвера стратегии, наблюдая за ценовым поведением в течение первых 30 минут после открытия торгового дня, чтобы определить сильный прорыв в цене, а затем в этом направлении. Эта стратегия использует в основном после открытия ликвидность и увеличение объема торговли, что может привести к большим колебаниям цен и направленной силы.

Стратегический принцип

  1. Эта стратегия использует 30-минутную K-линию, поскольку требуется достаточный промежуток времени, чтобы судить о ценовом поведении после открытия.

  2. Определите K-линии в следующие рабочие часы: 0700-0715, 0800-0815, 1300-1315 и 1430-1445

  3. Оценить, соответствует ли линия K:

    • Цена открытия близка к самой низкой цене на линии K, цена закрытия близка к самой высокой цене на линии K

    • Или цена открытия близка к самой высокой цене, цена закрытия близка к самой низкой цене (короткая линия K)

    • и наивысшая цена этой K-линии превышает предыдущие 5 K-линий наивысшей ценой в 1 раза, или минимальная цена ниже предыдущих 5 K-линий минимальной ценой в 1 раза (что указывает на прорыв)

  4. Если вышеуказанные условия выполняются, то после появления этой K-линии проводится третья K-линия, входящая в это направление.

  5. И установить стоп-линию как наивысшую или наименьшую цену входной K-линии.

  6. Задержка позиции после 3-х K-линий, то есть 90 минут.

Анализ преимуществ

  • Высокая ликвидность после открытия рынка позволяет зафиксировать более широкие тенденции.
  • Прорыв фильтрационных условий предотвращает ложные сигналы, вызванные шокирующей тенденцией
  • Высокие временные циклы фильтруют слишком частое совершение сделок
  • Установка сдерживания убытков для предотвращения их увеличения

Анализ рисков

  • Существует риск того, что фиксированный промежуток времени открытия может быть нарушен трендом
  • Неправильная установка прорыва может удалить часть действительного сигнала
  • Время фиксированной позиции не может быть скорректировано в соответствии с конкретными обстоятельствами
  • Нет мобильных стоп-лосс, нет возможности отслеживать тренд

Можно подумать:

  • Используйте дополнительные параметры для динамического определения размера открытого поля
  • Оптимизация параметров прорыва
  • Время удержания позиции корректируется в зависимости от степени волатильности
  • Добавление мобильных стоп-систем

Направление оптимизации

  • Повышение качества сигналов в сочетании с более широким спектром показателей, позволяющих определить направление тренда
  • Это позволит вам работать меньше и чаще.
  • Можно оптимизировать параметры в зависимости от результатов обратной связи, такие как диапазон разрыва, превышение порога, параметры остановки и т. Д.
  • Можно рассмотреть такие стратегии, как динамическая остановка, движущаяся остановка, повторное вхождение, чтобы увеличить прибыль
  • Можно попробовать несколько сортов, чтобы определить наиболее подходящий сорт

Подвести итог

Стратегия открытого диска позволяет отслеживать тенденцию, захватывая сильные прорывы в цене после открытия. Она характеризуется более высокой рентабельностью риска по сравнению с случайным входом. Ключом является понимание параметров и выбор подходящего сорта, чтобы повысить вероятность получения прибыли, избегая слишком частого входа.

Исходный код стратегии
/*backtest
start: 2023-10-15 00:00:00
end: 2023-10-22 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Marcns_

//@version=5
// a script that highlights open drives around cash market opens throughout the day
// this indicator identifies the following cash open, open drives 0700 - 0715 / 0800 - 0815 / 1300 - 1315 / 1430 - 1445 
// an open drive is when a cash market opens and price runs either up or down away from the opening price, often this will be the high or the low the remainer of the session or day
// and often identify a trend session
strategy("Open Drive", commission_type =  strategy.commission.cash_per_contract, commission_value = 3.8 )

// open drive filter times - all times GMT
eu_sev = time(timeframe.period, "0700-0715", "GB")
eu_eig = time(timeframe.period, "0800-0815", "GB")
us_one = time(timeframe.period, "1300-1315", "GB")
us_two = time(timeframe.period, "1430-1445", "GB")


// identify bar that opens at low and closes at high + vice versa 
// bar needs to open at one extreme and close at another 
TrndExThreshold_Open = 0.15
TrndExThreshold_Close = 0.15

// add a bar range expansion filter - range of bar correlates to volume, high volume = wider range. This script will be able to filter for a break of a 5 bar range +100% or -100%

fbhi = ta.highest(5)
fblo = ta.lowest(5)

fbr = (fbhi - fblo)

RangeEx_up = 0.0

if high >= (fbhi[1] + fbr[1])
    RangeEx_up := 1.0
else
    na

// range ex down

RangeEx_do = 0.0

if low <= (fblo[1] - fbr[1]) 
    RangeEx_do := 1.0
else
    na


//#1 open within 5% of low

OpenAtLow = 0.0 

if (close > open) and (open-low) / (high-low) < TrndExThreshold_Open
    OpenAtLow := 1.0
else 
    na 

//#2 close within 5% of high
    
CloseAtHigh = 0.0

if (close > open) and (high-close) / (high-low) < TrndExThreshold_Close
    CloseAtHigh := 1.0
else
    na 

OD_Up = 0.0

if (OpenAtLow + CloseAtHigh + RangeEx_up == 3.0) and ( eu_sev or eu_eig or us_one or us_two)
    OD_Up := 1
else
    na

plot(OD_Up, title = "OD_up")



OpenAtHigh = 0.0 

if (close < open) and (high-open) / (high-low) < TrndExThreshold_Open
    OpenAtHigh := 1.0
else 
    na 

//#2 close within 5% of high
    
CloseAtLow = 0.0

if (close < open) and (close-low) / (high-low) < TrndExThreshold_Close
    CloseAtLow := 1.0
else
    na 

OD_Down = 0.0

if (OpenAtHigh + CloseAtLow + RangeEx_do == 3.0) and ( eu_sev or eu_eig or us_one or us_two)
    OD_Down := -1
else
    na

plot(OD_Down, title = "OD_down", color = color.red)


//3sma

ma = ta.sma(close,3)

// one time framing - highlight bars the make a series of lower highs or higher lows to identify trend 
// one time frame up 
otf_u = 0.0

if close > ma and close[1] > ma[1]
    otf_u := 1
else
    na
// one time frame down 
otf_d = 0.0

if close < ma and close[1] < ma[1]
    otf_d := 1
else
    na


//bgcolor(otf_u ? color.rgb(76, 175, 79, 70) : na)
//bgcolor(otf_d ? color.rgb(255, 82, 82, 66) : na)

// record high and low of entry bar into variable for absolute stop
// buy stop
bs = 0.0

if OD_Up
    bs := low[1]
else
    na

// sell stop
ss = 0.0

if OD_Down
    ss := high[1]
else
    na




// strategy entry and exits 
// long
if OD_Up
    strategy.entry("el", strategy.long, 2)
if ta.barssince(OD_Up)> 3 
    strategy.exit(id = "ex" , from_entry = "el", limit = close)

// short 
if OD_Down
    strategy.entry("es", strategy.short, 2)
if ta.barssince(OD_Down)> 3
    strategy.exit(id = "ex" , from_entry = "es", limit = close)