← К каталогу
Исходный код · ID 3997

Smart Algo - HA + Renko Trend Signals

smart algo - ha + renko trend signals.pine

Похожие материалы по тегам

ares_indicator.pineTradingView · 1 общих теговgold_trend_revers.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 1 общих тегов! cycle-identifier.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 1 общих теговprecisionflowea.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор «Smart Algo - HA + Renko Trend Signals» отображается на графике TradingView поверх цены и объединяет анализ свечей Хейкин Аши, симулированные блоки Renko и классические технические индикаторы (EMA, ADX, RSI) для формирования сигналов на покупку и продажу. Логика построена на системе подсчёта очков: несколько подтверждений из разных методов анализа должны совпасть, чтобы сработал сигнал. Минимальный порог — 7 из 11 возможных очков.

На графике отображаются три экспоненциальные скользящие средние (быстрая, средняя, медленная), уровни Renko-блоков, цветной фон, отражающий состояние тренда (сильный рост, сильное падение, боковик), а также метки BUY и SELL. В правом верхнем углу размещена информационная таблица с текущими значениями тренда, ADX, направления HA и Renko, уровня RSI, счётов покупателей/продавцов и состояния фильтра объёма.

Все параметры настраиваются пользователем: периоды и уровни индикаторов, метод расчёта размера блоков Renko, пороговые значения фильтров, а также опции отображения сигналов, фона и блоков. Индикатор поддерживает три условия оповещений TradingView — сигнал на покупку, на продажу и любой сигнал.

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

Настройки программы

НастройкаОписание
adx_len Длина ADX — Период расчёта индикатора ADX (средняя направленная индекса), определяющего силу тренда.
adx_threshold Порог ADX (сила тренда) — Пороговое значение ADX, выше которого тренд считается сильным, а ниже — боковым движением.
ema_fast Быстрая EMA — Период быстрой экспоненциальной скользящей средней, используемой для определения краткосрочного направления цены.
ema_mid Средняя EMA — Период средней экспоненциальной скользящей средней, служащей промежуточным уровнем для оценки тренда.
ema_slow Медленная EMA — Период медленной экспоненциальной скользящей средней, отражающей долгосрочное направление цены.
renko_method Метод расчёта размера блока — Метод определения размера блока Renko: ATR (на основе усреднённого диапазона) или Fixed (фиксированное значение).
renko_atr_len Длина ATR для Renko — Период усреднённого истинного диапазона (ATR), используемый для расчёта размера блока Renko при выборе метода ATR.
renko_fixed Фиксированный размер блока — Фиксированное числовое значение размера блока Renko, применяемое при выборе метода «Fixed».
ha_filter Использовать фильтр тренда Heikin Ashi — Включает или отключает использование фильтра тренда на свечах Хейкин Аши при формировании сигналов.
ha_body_min Мин. % тела сильной свечи HA — Минимальная доля тела свечи Хейкин Аши от её диапазона, при которой свеча считается сильной (от 0,1 до 1,0).
rsi_len Длина RSI — Период расчёта индикатора RSI (индекс относительной силы) для оценки импульса изменения цены.
rsi_ob RSI Перекупленность — Уровень RSI, выше которого актив считается перекупленной.
rsi_os RSI Перепроданность — Уровень RSI, ниже которого актив считается перепроданным.
use_vol Использовать фильтр объёма — Включает или отключает фильтр объёма, требующий превышения текущего объёма над усреднённым для подтверждения сигнала.
vol_mult Множитель объёма — Множитель, на который умножается усреднённый объём (20 периодов) для порога фильтра подтверждения.
show_signals Показывать сигналы — Включает или отключает отображение графических меток BUY и SELL на графике.
show_trend_bg Показывать фон тренда — Включает или отключает цветной фон графика, отражающий текущее состояние тренда.
show_renko Показывать блоки Renko — Включает или отключает отображение уровней Renko-блоков на графике.
Получить полный код

Поиск по коду файла

indicator("Smart Algo - HA + Renko Trend Signals", overlay=true, max_labels_count=500, max_boxes_count=500)

grp_trend = "═══ TREND SETTINGS ═══"
adx_len = input.int(14, "ADX Length", group=grp_trend)
adx_threshold = input.int(25, "ADX Threshold (Trend Strength)", group=grp_trend)
ema_fast = input.int(9, "Fast EMA", group=grp_trend)
ema_mid = input.int(21, "Mid EMA", group=grp_trend)
ema_slow = input.int(50, "Slow EMA", group=grp_trend)

grp_renko = "═══ RENKO SETTINGS ═══"
renko_method = input.string("ATR", "Brick Size Method", options=["ATR", "Fixed"], group=grp_renko)
renko_atr_len = input.int(14, "Renko ATR Length", group=grp_renko)
renko_fixed = input.float(50.0, "Fixed Brick Size", group=grp_renko)

grp_ha = "═══ HEIKIN ASHI FILTER ═══"
ha_filter = input.bool(true, "Use HA Trend Filter", group=grp_ha)
ha_body_min = input.float(0.5, "Min HA Body % for Strong Candle", minval=0.1, maxval=1.0, group=grp_ha)

grp_rsi = "═══ RSI MOMENTUM ═══"
rsi_len = input.int(14, "RSI Length", group=grp_rsi)
rsi_ob = input.int(70, "RSI Overbought", group=grp_rsi)
rsi_os = input.int(30, "RSI Oversold", group=grp_rsi)

grp_vol = "═══ VOLUME FILTER ═══"
use_vol = input.bool(true, "Use Volume Filter", group=grp_vol)
vol_mult = input.float(1.5, "Volume Multiplier", group=grp_vol)

grp_sig = "═══ SIGNALS ═══"
show_signals = input.bool(true, "Show Signals", group=grp_sig)
show_trend_bg = input.bool(true, "Show Trend Background", group=grp_sig)
show_renko = input.bool(true, "Show Renko Bricks", group=grp_sig)

var float ha_open = na
var float ha_close = na
var float ha_high = na
var float ha_low = na

ha_close_calc = (open + high + low + close) / 4.0
ha_open_calc = na(ha_open[1]) ? (open + close) / 2.0 : (nz(ha_open[1]) + nz(ha_close[1])) / 2.0
ha_high_calc = math.max(high, math.max(ha_open_calc, ha_close_calc))
ha_low_calc = math.min(low, math.min(ha_open_calc, ha_close_calc))

ha_open := ha_open_calc
ha_close := ha_close_calc
ha_high := ha_high_calc
ha_low := ha_low_calc

ha_bullish = ha_close > ha_open
ha_bearish = ha_close < ha_open
ha_body_size = math.abs(ha_close - ha_open)
ha_range = ha_high - ha_low
ha_body_pct = ha_range > 0 ? ha_body_size / ha_range : 0.0
ha_strong = ha_body_pct >= ha_body_min

renko_atr = ta.atr(renko_atr_len)
brick_size = renko_method == "ATR" ? renko_atr : renko_fixed

var float renko_high = na
var float renko_low = na
var int renko_dir = 0  // 1 = bullish, -1 = bearish

if na(renko_high)
    renko_high := close
    renko_low := close - brick_size
    renko_dir := 1
else
    if close >= renko_high + brick_size
        bricks_up = math.floor((close - renko_high) / brick_size)
        renko_high += bricks_up * brick_size
        renko_low := renko_high - brick_size
        renko_dir := 1
    else if close <= renko_low - brick_size
        bricks_down = math.floor((renko_low - close) / brick_size)
        renko_low -= bricks_down * brick_size
        renko_high := renko_low + brick_size
        renko_dir := -1

renko_bullish = renko_dir == 1
renko_bearish = renko_dir == -1

ema_f = ta.ema(close, ema_fast)
ema_m = ta.ema(close, ema_mid)
ema_s = ta.ema(close, ema_slow)

[di_plus, di_minus, adx] = ta.dmi(adx_len, adx_len)

strong_uptrend = ema_f > ema_m and ema_m > ema_s and di_plus > di_minus and adx > adx_threshold
strong_downtrend = ema_f < ema_m and ema_m < ema_s and di_minus > di_plus and adx > adx_threshold
sideways = adx < adx_threshold

rsi = ta.rsi(close, rsi_len)
rsi_bullish = rsi > 50 and rsi < rsi_ob
rsi_bearish = rsi < 50 and rsi > rsi_os

vol_avg = ta.sma(volume, 20)
vol_ok = use_vol ? volume > vol_avg * vol_mult : true

bull_score = 0.0
bear_score = 0.0

if ema_f > ema_m
    bull_score += 1.0
if ema_m > ema_s
    bull_score += 1.0
if ema_f > ema_s
    bull_score += 1.0

if ema_f < ema_m
    bear_score += 1.0
if ema_m < ema_s
    bear_score += 1.0
if ema_f < ema_s
    bear_score += 1.0

if adx > adx_threshold
    if di_plus > di_minus
        bull_score += 2.0
    else
        bear_score += 2.0

if ha_filter
    if ha_bullish and ha_strong
        bull_score += 2.0
    if ha_bearish and ha_strong
        bear_score += 2.0

if renko_bullish
    bull_score += 2.0
if renko_bearish
    bear_score += 2.0

if rsi_bullish
    bull_score += 1.0
if rsi_bearish

Показано первые 50% кода (символов: 7203)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
720,30₽ ≈ $8.80