Стратегия разворота цены, ориентированная на пространство


Дата создания: 2023-11-27 11:40:36 Последнее изменение: 2023-11-27 11:40:36
Копировать: 0 Количество просмотров: 563
1
Подписаться
1617
Подписчики

Стратегия разворота цены, ориентированная на пространство

Обзор

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

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

Центральным показателем стратегии является центральная линия ценового канала. Расчет производится путем среднего значения наивысшей и наименьшей цены на последних 30 K-линий. Когда низкая точка выше центральной линии, считается тенденцией к росту, а когда высокая точка ниже центральной линии, считается тенденцией к снижению.

Стратегия выпускает торговый сигнал только в случае изменения трендового фона. То есть, в случае роста фона, делается пробел только в случае красного перехода линии K; в случае падения фона, делается пробел только в случае зеленого перехода линии K.

Кроме того, в стратегии установлены двойные условия фильтрации: фильтрация фигуры фигуры и фильтрация ценовых каналов. Сигнал будет срабатывать только в том случае, если объем фигуры фигуры больше 20% от среднего значения; для открытия позиции в течение фильтрационного цикла должны быть непрерывные сигналы тренда.

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

Эта стратегия, объединяющая тенденции, ценные зоны и K-линию, является эффективной стратегией обратного трейдинга. Основные преимущества:

  1. Используйте ценовые каналы для определения основных тенденций, чтобы избежать ошибочного восприятия рыночных колебаний.
  2. Выберите точку в центре ценового коридора, в районе классической зоны низких цен и высоких продаж.
  3. Фильтрация объектов K-линий и канальных баров повышает качество сигнала и снижает уровень ошибочного сигнала.
  4. Позиция должна быть открыта только в определенные переломные моменты, чтобы избежать преследования.

Риски и решения

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

  1. Изменение строгости фильтрационных условий, снижение стандартов фильтрации может снизить пропускной способности.
  2. Позиции могут быть увеличены в начале обратного тренда, чтобы отследить прибыль от тренда.
  3. В сочетании с другими показателями оценивается интенсивность обратного сигнала, субъективные условия фильтрации интервенции.

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

Эта стратегия может быть оптимизирована в следующих аспектах:

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

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

Пространственно ориентированная стратегия ценового разворота создает высококачественный сигнал, определяя момент разворота ценовым каналом и устанавливая условия двойной фильтрации. На основе параметровой настройки и управления ветром является надежной количественной стратегией.

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

//Noro
//2018

//@version=2
strategy(title = "Noro's PriceChannel for D1 v1.0", shorttitle = "PriceChannel D1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0)

//Settings
needlong = input(true, "long")
needshort = input(true, "short")
slowlen = input(30, defval = 30, minval = 2, maxval = 200, title = "PriceChannel Period")
pcbars = input(1, defval = 1, minval = 1, maxval = 20, title = "PriceChannel Bars")
usecol = input(true, "Use color-filter")
usebod = input(true, "Use body-filter")
needbg = input(false, defval = false, title = "Need trend Background?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

src = close

//PriceChannel
lasthigh = highest(src, slowlen)
lastlow = lowest(src, slowlen)
center = (lasthigh + lastlow) / 2

//Trend
ub = low > center ? 1 : 0
db = high < center ? 1 : 0
trend = sma(ub, pcbars) == 1 ? 1 : sma(db, pcbars) == 1 ? -1 : trend[1]

//Body
body = abs(close - open)
abody = sma(body, 10)

//Signals
up = trend == 1 and (close < open or usecol == false) and (body > abody / 5 or usebod == false)
dn = trend == -1 and (close > open or usecol == false) and (body > abody / 5 or usebod == false)

//Lines
plot(center, color = blue, linewidth = 3, transp = 0, title = "PriceChannel Center")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()