
Стратегия включает в себя различные технические показатели, включая сверхтрендовые показатели, двузначные скользящие средние и бринговые полосы, чтобы использовать преимущества различных показателей для более точных торговых сигналов.
Стратегия использует 12-циклический ATR и средние значения цены для расчета находящихся на верхнем и нижнем полюсах сверхтенденции, чтобы судить о плюсовых и пустых сигналах в зависимости от того, насколько цена пробивает на верхнем и нижнем полюсах. В то же время, используется двузначная скользящая средняя за 200 циклов в качестве вспомогательного индикатора для определения тенденции. Кроме того, стратегия использует бурин для определения оптимального времени для входа в рынок и остановки потерь.
Сигнал “покупаю” создается, когда цена входит в верхнюю траекторию; сигнал “продаю” - когда цена выходит из нижней траектории. Когда цена выходит из верхней или нижней траектории, на соответствующей траектории изображается маркировка и надпись “Покупаю” или “Продаю”. Одновременно с этим посылается мобильный сигнал.
Двухзначная скользящая средняя, изображенная в белом ценовом диапазоне выше или ниже кривой, используется для определения направления общей тенденции.
Брин-пояса используются для поиска наилучшего времени для вхождения в рынок и прекращения убытков. Его верхняя и нижняя траектории образуют канал вокруг колебаний цен, который может быть использован для определения того, когда цена вышла за пределы нормального диапазона, то есть колебалась слишком долго.
После выхода на рынок стратегия использует стоп-лосс и стоп-стоп для блокирования прибыли или уменьшения убытков. Автоматическое снижение позиции осуществляется путем установки стоп-лосс и стоп-стоп-цен.
Эта стратегия включает в себя несколько индикаторов, которые позволяют максимально использовать преимущества различных индикаторов для более точных торговых сигналов.
Супертенденция обладает способностью фильтровать рыночный шум, чтобы избежать частых торгов. Двойная скользящая средняя может определить общую тенденцию и избежать обратной торговли.
С помощью мобильного сигнала можно получить своевременные торговые подсказки. Автоматический стоп-стоп может блокировать прибыль и уменьшить убытки.
Поскольку стратегия включает в себя несколько индикаторов, это увеличивает сложность стратегии, а также увеличивает вероятность ошибки. Настройка индикаторов также может привести к пропущенным торговым возможностям или созданию ошибочных сигналов.
Кроме того, слишком радикальные настройки стоп-лосса могут привести к увеличению убытков. Стабильность мобильного сигнала также может повлиять на эффективность своевременного получения прибыли от стоп-лосса.
Можно тестировать различные параметры, чтобы найти оптимальное сочетание параметров. Можно также скорректировать параметры в соответствии с различными рынками.
Можно попробовать использовать только некоторые показатели, чтобы уменьшить вероятность ошибочного сигнала. Или добавить другие вспомогательные показатели для оптимизации.
Условия остановки и остановки также могут быть скорректированы, установлены такие способы, как отслеживание остановки или частичной остановки.
Стратегия использует преимущества различных технических индикаторов для определения торговых сигналов. Она обладает высокой практической полезностью. Однако она также имеет определенные риски, требующие постоянного тестирования и оптимизации, чтобы действительно использовать ее самостоятельно и получать стабильную прибыль.
/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © zhuenrong
//@version=4
strategy("Supertrend + DEMA + Bollinger Bands", overlay=true)
// Input parameters for Supertrend
atrLength = input(title="ATR Period", type=input.integer, defval=12)
src = input(hl2, title="Source")
multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR = input(title="Change ATR Calculation Method?", type=input.bool, defval=true)
showSupertrend = input(title="Show Supertrend Indicator?", type=input.bool, defval=true)
// Input parameters for DEMA
demaLength = input(200, title="DEMA Period")
showDEMA = input(title="Show DEMA Indicator?", type=input.bool, defval=true)
// Calculate ATR for Supertrend
atr2 = sma(tr, atrLength)
atr = changeATR ? atr(atrLength) : atr2
// Calculate Supertrend
up = src - (multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up
dn = src + (multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
// Plot Supertrend
upPlot = plot(showSupertrend ? (trend == 1 ? up : na) : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0))
plotshape(buySignal ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))
dnPlot = plot(showSupertrend ? (trend == 1 ? na : dn) : na, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0))
plotshape(sellSignal ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = (trend == 1 ? color.new(color.green, 80) : color.new(color.white, 0))
shortFillColor = (trend == -1 ? color.new(color.red, 80) : color.new(color.white, 0))
fill(mPlot, upPlot, title="UpTrend Highlighter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor)
// Alert conditions
alertcondition(buySignal, title="Custom Supertrend Buy", message="Custom Supertrend Buy!")
alertcondition(sellSignal, title="Custom Supertrend Sell", message="Custom Supertrend Sell!")
// Calculate DEMA
ema1 = ema(close, demaLength)
dema = 2 * ema1 - ema(ema1, demaLength)
// Plot DEMA with white color
plot(showDEMA ? dema : na, color=color.new(color.white, 0), title="DEMA", linewidth=2)
// Add push notification on mobile if buy and sell occurred
if (buySignal)
strategy.entry("Buy", strategy.long)
//strategy.exit("Sell")
//alert("Buy Signal - Supertrend")
if (sellSignal)
strategy.entry("Sell", strategy.short)
//strategy.exit("Cover")
//alert("Sell Signal - Supertrend")
// === Stop LOSS ===
if strategy.position_size>0
strategy.exit("Stop Loss/Profit Long","Buy", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*1.1)
if strategy.position_size<0
strategy.exit("Stop Loss/Profit Short","Sell", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*1.1)