
Эта стратегия объединяет показатели опорных точек и показатели средних реальных колебаний, чтобы реализовать систему отслеживания тенденций в нескольких временных рамках. Она может улавливать тенденции промежуточных периодов, а также использовать опорные точки для определения долгосрочной поддержки и сопротивления, чтобы обеспечить лучшие входы и выходы.
Стратегия основана на двух основных показателях:
Показатель опорных точек: определение верхних и нижних опорных точек путем вычисления средних значений максимальных, минимальных и закрытых цен за определенный период. Опорные точки могут служить ключевыми регионами сопротивления поддержки.
Средняя реальная полоса колебаний: рассчитывается средняя реальная величина колебаний за определенный период и выдвигается вниз по центральной оси, вдоль и вдоль которой может быть динамическая стоп-линия.
Конкретная логика сделки в стратегии:
При прорыве цены через канал средней реальной полосы колебаний, используйте плюс или минус, соответствующие направлению прорыва. При возвращении цены в канал, выровняйте позиции. При этом, при прорыве цены через верхнюю точку оси, используйте плюс; при прорыве цены через нижнюю точку оси, используйте пустую позу.
Также в стратегии была введена концепция центральной линии с центральной точкой. При преодолении центральной линии, можно было выбрать получение половины прибыли, контролируя риск.
Эта стратегия имеет следующие преимущества:
Дизайн многократных временных рамок, среднесрочные и долгосрочные Determines Большие тенденции, краткосрочные Determines Конкретный вход.
Центральная линия может использоваться как вариант контроля риска, получение половины прибыли и обеспечение прибыльности.
Средне-истинный канал полосы колебаний обеспечивает четкое местоположение остановочных потерь.
Поскольку в стратегии меньше параметров, их легко оптимизировать, чтобы найти оптимальное сочетание параметров.
В частности, он отмечает, что “все, что мы делаем, - это пытаемся предотвратить возможный взлом”.
Однако эта стратегия также несет в себе некоторые риски:
В то же время, если рынок сильно колеблется, риск остановки увеличивается.
При колебаниях событий, центральная ось легко образует давление, может часто останавливаться.
Неправильный выбор параметров может привести к частоте или малому количеству сделок.
Недавний прорыв цены в центральной точке может быть ложным прорывом
Эта стратегия может быть оптимизирована в следующих направлениях:
В сочетании с другими показателями фильтруют входные сигналы, чтобы избежать ложных прорывов. Например, объединенный показатель энергии, показатель Брин-пояса и т. Д.
Оптимизируйте параметры циклов для опорных точек и средних истинных диапазонов колебаний, чтобы найти оптимальное сочетание параметров.
Буферные зоны должны быть установлены вблизи центральной линии в центральной точке, чтобы избежать частого запуска центральной линии.
Добавить соответствующие фильтры, чтобы убедиться, что большие тенденции работают в одном направлении.
В целом, эта стратегия является очень практичной стратегией отслеживания трендов. Она решает проблемы с остановкой убытков, которые существуют в большинстве трендовых систем, обеспечивает управляемую риском торговлю трендами и является очень рекомендуемой стратегией.
/*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()