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

Aradya Edge Matrix PRO

pro +.pine

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

ofada_gold_trader_v230.mq5MQL5 / MetaTrader 5 · 3 общих теговmulti strategy algo combined by enigma mode.pineTradingView · 3 общих теговmelona ob strategy 6th update (by 3dots).pineTradingView · 3 общих теговsmc+ict+indicators+scalping master.pineTradingView · 3 общих теговpremium_super_scalping killer algo.pineTradingView · 3 общих тегов2 to 1 strategy with signals.pineTradingView · 3 общих тегов
Вы автор или правообладатель?

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

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

О программе

Aradya Edge Matrix PRO — индикатор для TradingView на Pine Script v5, отображаемый поверх графика цены. Рассчитывает несколько технических показателей: экспоненциальные скользящие средние, индекс относительной силы, осциллятор MACD и среднее истинный диапазон. На основе этих индикаторов формирует сигналы на пересечение скользящих средних и определяет уровни входа, стоп-лосса и нескольких целей по прибыли. Визуализирует результаты с помощью цветовых свечей, графических линий, подписей и таблиц на графике.

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

НастройкаОписание
atrMultiplier Множитель ATR для стоп-лосса — Числовое значение, умножаемое на ATR для расчёта расстояния стоп-лосса от точки входа.
rrStep Шаг соотношения риск/прибыль — Числовое значение, определяющее кратность риска для каждой цели по прибыли.
tpCount Количество целей по прибыли — Целое число от 1 до 4, задающее число отображаемых уровней фиксации прибыли.
showDashboard Показать информационную панель — Логический переключатель включения и отключения таблицы с текущими показателями индикатора.
showSignals Показать торговые сигналы — Логический переключатель отображения подписей и меток точек входа на графике.
length Длина расчёта RSI — Пользовательский параметр, задающий период расчёта индекса относительной силы.
overbought Уровень перекупленности RSI — Пользовательский параметр, задающий верхний порог RSI для определения перекупленности.
oversold Уровень перепроданности RSI — Пользовательский параметр, задающий нижний порог RSI для определения перепроданности.
Получить полный код

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

indicator("Aradya Edge Matrix PRO", overlay=true, max_labels_count=500)

fastEMA = ta.ema(close, 9)
slowEMA = ta.ema(close, 21)

atr = ta.atr(14)
atrMultiplier = input.float(1.5, "SL ATR Multiplier", minval=0.5)
rrStep = input.float(1.0, "RR per TP", minval=0.5)
tpCount = input.int(4, "TP Targets (1 to 4)", minval=1, maxval=4)

showDashboard = input.bool(true, "Show Dashboard", group="Dashboard Settings")
showSignals = input.bool(true, "Show Trade Signals", group="Dashboard Settings")

headerColor = #1E293B
cellColor = #0F172A
textColor = #F8FAFC
highlightGreen = #10B981
highlightRed = #EF4444
neutralColor = #CBD5E0

isBullish = fastEMA > slowEMA
isBearish = fastEMA < slowEMA

rsiValue = ta.rsi(close, 14)
rsiColor = rsiValue > 70 ? highlightRed : rsiValue < 30 ? highlightGreen : neutralColor

[macdLine, signalLine, macdHist] = ta.macd(close, 12, 26, 9)

bullishSignals = 0
bearishSignals = 0

bullishSignals += rsiValue < 30 ? 1 : 0  // RSI Oversold
bearishSignals += rsiValue > 70 ? 1 : 0  // RSI Overbought

bullishSignals += macdHist > 0 ? 1 : 0   // MACD Bullish
bearishSignals += macdHist < 0 ? 1 : 0   // MACD Bearish

bullishSignals += isBullish ? 1 : 0      // Trend Bullish
bearishSignals += isBearish ? 1 : 0      // Trend Bearish

bullishStrength = math.round((bullishSignals / 3) * 100)
bearishStrength = math.round((bearishSignals / 3) * 100)

longSignal = ta.crossover(fastEMA, slowEMA)
shortSignal = ta.crossunder(fastEMA, slowEMA)

var float entry = na
var float sl = na
var float tp1 = na
var float tp2 = na
var float tp3 = na
var float tp4 = na
var string dir = na

if (longSignal)
    entry := close
    sl := close - atr * atrMultiplier
    tp1 := entry + (entry - sl) * rrStep
    tp2 := entry + (entry - sl) * rrStep * 2
    tp3 := entry + (entry - sl) * rrStep * 3
    tp4 := entry + (entry - sl) * rrStep * 4
    dir := "long"

if (shortSignal)
    entry := close
    sl := close + atr * atrMultiplier
    tp1 := entry - (sl - entry) * rrStep
    tp2 := entry - (sl - entry) * rrStep * 2
    tp3 := entry - (sl - entry) * rrStep * 3
    tp4 := entry - (sl - entry) * rrStep * 4
    dir := "short"

bullishCandleColor = color.new(color.green, 70)
bearishCandleColor = color.new(color.red, 70)
neutralCandleColor = color.new(color.blue, 70)

barcolor(isBullish ? bullishCandleColor : isBearish ? bearishCandleColor : neutralCandleColor)

plot(entry, "Entry", color=color.yellow, linewidth=2, style=plot.style_linebr)
plot(sl, "SL", color=color.red, linewidth=2, style=plot.style_linebr)
plot(tpCount >= 1 ? tp1 : na, "TP1", color=color.green, linewidth=1, style=plot.style_linebr)
plot(tpCount >= 2 ? tp2 : na, "TP2", color=color.green, linewidth=1, style=plot.style_linebr)
plot(tpCount >= 3 ? tp3 : na, "TP3", color=color.green, linewidth=1, style=plot.style_linebr)
plot(tpCount >= 4 ? tp4 : na, "TP4", color=color.green, linewidth=1, style=plot.style_linebr)

bgcolor(dir == "long" ? color.new(color.green, 90) : dir == "short" ? color.new(color.red, 90) : na)

if showDashboard and barstate.isconfirmed
    var table dashboard = table.new(position.middle_right, 2, 7, border_width=2, frame_color=headerColor)

    table.cell(dashboard, 0, 0, "TREND MATRIX", bgcolor=headerColor, text_color=textColor, text_size = size.normal)
    table.cell(dashboard, 1, 0, str.tostring(close, format.mintick), bgcolor=headerColor, text_color=textColor, text_size = size.normal)

    table.cell(dashboard, 0, 1, "BULL POWER", bgcolor=cellColor, text_color=neutralColor, text_size = size.normal)
    table.cell(dashboard, 1, 1, str.format("{0}%", bullishStrength), 
         bgcolor=color.new(highlightGreen, 90), text_color=highlightGreen, text_size = size.normal)

    table.cell(dashboard, 0, 2, "BEAR POWER", bgcolor=cellColor, text_color=neutralColor, text_size = size.normal)
    table.cell(dashboard, 1, 2, str.format("{0}%", bearishStrength), 
         bgcolor=color.new(highlightRed, 90), text_color=highlightRed, text_size = size.normal)

    table.cell(dashboard, 0, 3, "RSI(14)", bgcolor=cellColor, text_color=neutralColor, text_size = size.normal)
    table.cell(dashboard, 1, 3, str.format("{0}", math.round(rsiValue)), 
         bgcolor=cellColor, text_color=rsiColor, text_size = size.normal)

    table.cell(dashboard, 0, 4, "MACD", bgcolor=cellColor, text_color=neutralColor, text_size = size.normal)
    table.cell(dashboard, 1, 4, str.format("{0,number,0.000}", macdHist), 
         bgcolor=macdHist > 0 ? color.new(highlightGreen, 90) : color.new(highlightRed, 90), 
         text_color=macdHist > 0 ? highlightGreen : highlightRed, text_size = size.normal)

    table.cell(dashboard, 0, 5, "TREND", bgcolor=cellColor, text_color=neutralColor, text_size = size.normal)
    table.cell(dashboard, 1, 5, isBullish ? "BULLISH" : isBearish ? "BEARISH" : "NEUTRAL", 
         bgcolor=cellColor, text_color=isBullish ? highlightGreen : highlightRed, text_size = size.normal)

price = close

ema50 = ta.ema(close, 50)
volume_avg = ta.sma(volume, 20)
volume_pct = volume_avg > 0 ? (volume / volume_avg) * 100 : 0

trend = macdLine > signalLine ? "BULLISH" : "BEARISH"

bull_power = (high - ema50) / ema50 * 100
bear_power = (ema50 - low) / ema50 * 100
bull_power := math.min(bull_power, 100)
bear_power := math.min(bear_power, 100)

candle_range = high - low
bull_strength = candle_range > 0 ? ((close - low) / candle_range) * 100 : 50
bear_strength = candle_range > 0 ? ((high - close) / candle_range) * 100 : 50

makeBarString(pct, upChar, dnChar) =>
    blocks = math.round(pct / 10)
    blocks := math.min(10, math.max(0, b

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

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

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

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

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

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

Стоимость полного кода
921,60₽ ≈ $11.27