SoopAlgo — Premium Targets (v6)
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «mr mt4 new sliping trading view (2).pine» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «SoopAlgo — Premium Targets (v6)» работает на платформе TradingView и реализован на Pine Script версии 6. Он анализирует рыночные тренды, рассчитывая уровни поддержки и сопротивления на основе средней истинной амплитуды (ATR) или скользящей средней истинного диапазона. При смене направления тренда индикатор отображает на графике метки BUY и SELL.
Встроена система ценовых целей (T1, T2), которые создаются после каждого сигнала покупки или продажи. Расстояние до целей можно задавать в нескольких режимах: множитель ATR, проценты, тики, фиксированное значение или гибридный вариант. При достижении цели она визуально помечается на графике.
Индикатор поддерживает условные оповещения TradingView для сигналов BUY и SELL, а также предлагает опциональную подсветку участков бычьего и медвежьего тренда фоновым цветом. Все визуальные элементы настраиваются через пользовательские параметры.
Продукт является индикатором анализа и отображения, а не автоматическим советником: он не выполняет симуляцию сделок и не рассчитывает результаты бэктестирования.
Настройки программы
| Настройка | Описание |
|---|---|
| stLen | Период расчёта амплитуды, используемой в алгоритме определения тренда. |
| stMult | Множитель амплитуды, определяющий расстояние уровней поддержки и сопротивления от цены. |
| stSrc | Источник данных, используемый для расчёта уровней и определения направления тренда. |
| changeATR | Определяет метод расчёта амплитуды: при значении true используется встроенная функция ta.atr(), при false — скользящая средняя истинного диапазона (SMA of TR). |
| showSignals | При значении true индикатор отображает метки BUY и SELL на графике при смене направления тренда. |
| highlighting | Управляет отображением фоновой подсветки участков бычьего (синий) и медвежьего (фиолетовый) тренда на графике. |
| labelSizeOpt | Задаёт размер меток сигналов покупки и продажи. Доступны варианты: Tiny, Small, Normal, Large. |
| enableTargets | Включает или отключает создание ценовых целей T1 и T2 при появлении сигналов покупки или продажи. |
| target_mode | Режим расчёта расстояния до ценовых целей. Доступны варианты: ATR Multiplier, Percent, Ticks, Fixed Value, Hybrid (ATR/%). |
| t1_dist | Расстояние до первой ценовой цели (T1) от точки входа, задаётся в единицах выбранного режима. |
| t2_dist | Расстояние до второй ценовой цели (T2) от точки входа, задаётся в единицах выбранного режима. |
| target_atr_len | Период расчёта ATR, используемый для определения расстояния до ценовых целей. |
| wait_until_reached | При значении true индикатор ожидает достижения текущих целей перед созданием новых после очередного сигнала. |
| show_target_labels | Управляет отображением текстовых меток рядом с созданными ценовыми целями. |
| target_prefix | Текстовый префикс, добавляемый к меткам ценовых целей на графике. |
Поиск по коду файла
indicator("SoopAlgo — Premium Targets (v6)", shorttitle="SoopAlgo", overlay=true, max_labels_count=500, max_lines_count=500)
stGroup = "SoopAlgoTrend"
stLen = input.int(10, "ATR Period", group=stGroup)
stMult = input.float(3.0, "ATR Multiplier", step=0.1, group=stGroup)
stSrc = input.source(hl2, "Source", group=stGroup)
changeATR = input.bool(true, "Use ta.atr() (true) or sma(TR) (false)?", group=stGroup)
uiGroup = "SoopAlgoUI"
showSignals = input.bool(true, "Show Buy/Sell Signals?", group=uiGroup)
highlighting = input.bool(true, "Highlighter On/Off?", group=uiGroup)
labelSizeOpt = input.string("Large", "Signal label size", options=["Tiny","Small","Normal","Large"], group=uiGroup)
label_size = labelSizeOpt == "Tiny" ? size.tiny : labelSizeOpt == "Small" ? size.small : labelSizeOpt == "Normal" ? size.normal : size.large
tgGroup = "SoopAlgoTargets"
enableTargets = input.bool(true, "Enable Targets (create on Buy/Sell)", group=tgGroup)
target_mode = input.string("Hybrid (ATR/%)", "Target Mode", options=["ATR Multiplier","Percent","Ticks","Fixed Value","Hybrid (ATR/%)"], group=tgGroup)
t1_dist = input.float(1.0, "Target 1 distance", step=0.1, group=tgGroup)
t2_dist = input.float(2.0, "Target 2 distance", step=0.1, group=tgGroup)
target_atr_len = input.int(50, "ATR length for target distance", group=tgGroup)
wait_until_reached = input.bool(false, "Wait until targets hit before new ones", group=tgGroup)
show_target_labels = input.bool(true, "Show target labels", group=tgGroup)
target_prefix = input.string("T", "Label prefix for targets", group=tgGroup)
col_buy = color.new(color.blue, 0)
col_sell = color.new(color.purple, 0)
col_t1 = color.new(#089981, 0)
col_t2 = color.new(#f23645, 0)
col_reached = color.new(color.gray, 60)
trueRange = ta.tr(true)
atr_sma = ta.sma(trueRange, stLen)
atr_val = changeATR ? ta.atr(stLen) : atr_sma
up = stSrc - stMult * atr_val
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn = stSrc + stMult * atr_val
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn
var int trend = 1
trend := nz(trend[1], 1)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
plot_ohlc = plot(ohlc4, title="mplot", style=plot.style_circles, linewidth=1)
longFill = highlighting and trend == 1 ? color.new(col_buy, 92) : na
shortFill = highlighting and trend == -1 ? color.new(col_sell, 92) : na
fill(plot_ohlc, plot_ohlc, color=longFill)
fill(plot_ohlc, plot_ohlc, color=shortFill)
buySignal = trend == 1 and nz(trend[1]) == -1
sellSignal = trend == -1 and nz(trend[1]) == 1
f_premium_label(_bar, _price, _isBuy, _txt) =>
style = _isBuy ? label.style_label_up : label.style_label_down
bg = _isBuy ? col_buy : col_sell
label.new(_bar, _price, _txt, xloc=xloc.bar_index, yloc=yloc.price, color=bg, textcolor=color.white, style=style, size=label_size)
if showSignals
if buySignal
y = math.min(low, up)
f_premium_label(bar_index, y, true, "BUY")
if sellSignal
y = math.max(high, dn)
f_premium_label(bar_index, y, false, "SELL")
alertcondition(buySignal, title="BUY", message="BUY")
alertcondition(sellSignal, title="SELL", message="SELL")
f_distance(mode, dist, price) =>
a = ta.atr(target_atr_len)
float result = switch mode
"ATR Multiplier" => a * dist
"Percent" => price * dist / 100
"Ticks" => syminfo.mintick * dist
"Fixed Value" => dist
"Hybrid (ATRПоказано первые 50% кода (символов: 5553)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.