Aradya Edge Matrix PRO
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «pro +.pine» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.