Стратегия Multi Time Frame Pivot Point Supertrend


Дата создания: 2024-01-31 17:29:37 Последнее изменение: 2024-01-31 17:29:37
Копировать: 0 Количество просмотров: 731
1
Подписаться
1617
Подписчики

Стратегия Multi Time Frame Pivot Point Supertrend

Обзор

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

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

Стратегия основана на двух основных показателях:

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

  2. Средняя реальная полоса колебаний: рассчитывается средняя реальная величина колебаний за определенный период и выдвигается вниз по центральной оси, вдоль и вдоль которой может быть динамическая стоп-линия.

Конкретная логика сделки в стратегии:

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

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

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

Эта стратегия имеет следующие преимущества:

  1. Дизайн многократных временных рамок, среднесрочные и долгосрочные Determines Большие тенденции, краткосрочные Determines Конкретный вход.

  2. Центральная линия может использоваться как вариант контроля риска, получение половины прибыли и обеспечение прибыльности.

  3. Средне-истинный канал полосы колебаний обеспечивает четкое местоположение остановочных потерь.

  4. Поскольку в стратегии меньше параметров, их легко оптимизировать, чтобы найти оптимальное сочетание параметров.

  5. В частности, он отмечает, что “все, что мы делаем, - это пытаемся предотвратить возможный взлом”.

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

Однако эта стратегия также несет в себе некоторые риски:

  1. В то же время, если рынок сильно колеблется, риск остановки увеличивается.

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

  3. Неправильный выбор параметров может привести к частоте или малому количеству сделок.

  4. Недавний прорыв цены в центральной точке может быть ложным прорывом

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

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

  1. В сочетании с другими показателями фильтруют входные сигналы, чтобы избежать ложных прорывов. Например, объединенный показатель энергии, показатель Брин-пояса и т. Д.

  2. Оптимизируйте параметры циклов для опорных точек и средних истинных диапазонов колебаний, чтобы найти оптимальное сочетание параметров.

  3. Буферные зоны должны быть установлены вблизи центральной линии в центральной точке, чтобы избежать частого запуска центральной линии.

  4. Добавить соответствующие фильтры, чтобы убедиться, что большие тенденции работают в одном направлении.

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

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

Исходный код стратегии
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © LonesomeTheBlue

//@version=4
strategy("Pivot Point SuperTrend [Backtest]", overlay = true)
prd = input(defval = 2, title="Pivot Point Period", minval = 1, maxval = 50)
Factor=input(defval = 3, title = "ATR Factor", minval = 1, step = 0.1)
Pd=input(defval = 10, title = "ATR Period", minval=1)
usecenter = input(defval = false, title="Use Center Line to Close Entry for 50%")
showpivot = input(defval = false, title="Show Pivot Points")
showcl = input(defval = false, title="Show PP Center Line")


float ph = na
float pl = na
ph := pivothigh(prd, prd)
pl := pivotlow(prd, prd)

plotshape(ph and showpivot, text="H",  style=shape.labeldown, color=na, textcolor=color.red, location=location.abovebar, transp=0, offset = -prd)
plotshape(pl and showpivot, text="L",  style=shape.labeldown, color=na, textcolor=color.lime, location=location.belowbar, transp=0, offset = -prd)

float center = na
center := center[1]
float lastpp = ph ? ph : pl ? pl : na
if lastpp
    if na(center)
        center := lastpp
    else
        center := (center * 2 + lastpp) / 3

Up = center - (Factor * atr(Pd))
Dn = center + (Factor * atr(Pd))

float TUp = na
float TDown = na
Trend = 0
TUp := close[1] > TUp[1] ? max(Up, TUp[1]) : Up
TDown := close[1] < TDown[1] ? min(Dn, TDown[1]) : Dn
Trend := close > TDown[1] ? 1: close < TUp[1]? -1: nz(Trend[1], 1)
Trailingsl = Trend == 1 ? TUp : TDown

linecolor = Trend == 1 and nz(Trend[1]) == 1 ? color.lime : Trend == -1 and nz(Trend[1]) == -1 ? color.red : na
plot(Trailingsl, color = linecolor ,  linewidth = 2, title = "PP SuperTrend")

plot(showcl ? center : na, color = showcl ? center < hl2 ? color.blue : color.red : na, transp = 0)

bsignal = Trend == 1 and Trend[1] == -1
ssignal = Trend == -1 and Trend[1] == 1

if bsignal
    strategy.entry("Buy", true, 2, comment = "Buy")
if ssignal
    strategy.entry("Sell", false, 2, comment = "Sell")

if strategy.position_size == 2 and center > hl2 and usecenter
    strategy.close("Buy", qty_percent = 50, comment = "close buy entry for 50%")
if strategy.position_size == -2 and center < hl2 and usecenter
    strategy.close("Sell", qty_percent = 50, comment = "close sell entry for 50%")
    
if change(Trend)
    strategy.close_all()