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

RSI Signals Entries

indicator rsi signals entries for tradingview.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор «RSI Signals Entries» отображает RSI на графике в виде цветной линии с пятью зонами: перекупленность, сопротивление, нейтральная зона, поддержка и перепроданность. Каждая зона окрашивается в заданный пользователем цвет, а горизонтальные уровни и заливки помогают наглядно видеть текущее положение RSI. Индикатор работает на любом таймфрейме, но настройки по умолчанию оптимизированы для коротких таймфреймов (1-минутный и 5-минутный).

Сигналы формируются на основе конечного автомата зон: сигнал продажи возникает при касании зоны перекупленности или при нахождении RSI в зоне сопротивления при подтверждении сильной медвежьей свечой; сигнал покупки — при касании зоны перепроданности или при нахождении RSI в зоне поддержки при подтверждении сильной бычьей свечой. Состояние «выполнено» сбрасывается при выходе RSI из зоны, что позволяет генерировать сигналы при каждом новом визите.

При срабатывании сигнала индикатор рисует маркеры на графике цены и в панели RSI, выводит метки с процентом уверенности и, при включённой настройке, отображает линии входа, стоп-лосса и тейк-профита, рассчитанные в пипах. Также доступны условия оповещений TradingView для различных типов сигналов.

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

НастройкаОписание
rsiLength Период расчёта индикатора RSI.
rsiSource Источник данных для расчёта RSI.
confirmOnClose При включении сигналы подтверждаются только после полного закрытия свечи. Отключение даёт более быстрые, но менее надёжные сигналы в реальном времени.
overBuyLevel Верхний порог, при котором RSI считается перекупленным.
resistanceLevel Уровень RSI, обозначающий зону сопротивления.
supportLevel Уровень RSI, обозначающий зону поддержки.
overSoldLevel Нижний порог, при котором RSI считается перепроданным.
extremeStrength Процент уверенности, отображаемый при достижении RSI уровня перекупленности или перепроданности.
zoneStrength Процент уверенности, отображаемый при нахождении RSI в зоне сопротивления или поддержки при подтверждении сильной свечой.
strongLookback Количество баров для усреднения размера тела свечи при определении сильных свечей.
strongMultiplier Множитель: свеча считается сильной, если её тело не менее чем в указанное число раз превышает среднее тело за период усреднения.
showTradeLevels При включении на графике отображаются линии входа, стоп-лосса и тейк-профита при срабатывании сигнала.
pipSize Размер одного пипа (например, 0.0001 для большинства валютных пар, 0.01 для пар с японской иеной).
slPips Расстояние стоп-лосса в пипах от цены входа.
tpPips Расстояние тейк-профита в пипах от цены входа.
levelLengthBars Длина линий входа, стоп-лосса и тейк-профита в барах.
colOverbought Цвет зоны перекупленности (верхний уровень RSI).
colResistance Цвет зоны сопротивления RSI.
colNeutral Цвет нейтральной зоны RSI между уровнями поддержки и сопротивления.
colSupport Цвет зоны поддержки RSI.
colOversold Цвет зоны перепроданности (нижний уровень RSI).
sellColor Цвет медвежьего сигнала (красный).
buyColor Цвет бычьего сигнала (зелёный).
Получить полный код

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

indicator("RSI Signals Entries", shorttitle = "RSI SE", overlay = false, max_lines_count = 500, max_labels_count = 500)

grpRsi = "RSI Settings"
rsiLength      = input.int(14, "RSI Length", minval = 1, group = grpRsi)
rsiSource      = input.source(close, "RSI Source", group = grpRsi)
confirmOnClose = input.bool(true, "Wait for Candle Close (Confirmed Signals Only)", group = grpRsi,
     tooltip = "When enabled, signals only confirm once the current candle has fully closed. Disable for faster, but less reliable, real-time signals. Recommended ON for 1-min/5-min charts.")

grpLevels = "RSI Levels"
overBuyLevel    = input.float(79.90, "Over Buy Level",   minval = 50.0, maxval = 100.0, step = 0.10, group = grpLevels)
resistanceLevel = input.float(67.90, "Resistance Level", minval = 50.0, maxval = 100.0, step = 0.10, group = grpLevels)
supportLevel    = input.float(34.90, "Support Level",    minval = 0.0,  maxval = 50.0,  step = 0.10, group = grpLevels)
overSoldLevel   = input.float(19.90, "Over Sold Level",  minval = 0.0,  maxval = 50.0,  step = 0.10, group = grpLevels)

grpStrength = "Signal Strength (Fixed Confidence Levels)"
extremeStrength = input.float(80.0, "Strength % - Over Buy / Over Sold Signals", minval = 0.0, maxval = 100.0, step = 1.0, group = grpStrength,
     tooltip = "Displayed confidence label whenever RSI itself reaches the Over Buy or Over Sold line.")
zoneStrength    = input.float(70.0, "Strength % - Resistance / Support + Strong Candle Signals", minval = 0.0, maxval = 100.0, step = 1.0, group = grpStrength,
     tooltip = "Displayed confidence label whenever RSI is sitting in the Resistance or Support zone AND a strong candle confirms it.")

grpCandle = "Strong Candle Filter"
strongLookback   = input.int(20, "Average Body Lookback (bars)", minval = 5, maxval = 200, group = grpCandle)
strongMultiplier = input.float(1.2, "Strong Candle Multiplier (x average body)", minval = 1.0, step = 0.1, group = grpCandle,
     tooltip = "A candle is considered 'strong' when its body size is at least this many times the average body size over the lookback period. Lowered slightly by default so it fires reliably on smaller 5-minute candles.")

grpTrade = "Entry / Stop Loss / Take Profit (Pips)"
showTradeLevels  = input.bool(true, "Show Entry / SL / TP Lines on Chart", group = grpTrade)
pipSize          = input.float(0.0001, "Pip Size (e.g. 0.0001 for most FX pairs, 0.01 for JPY pairs)", minval = 0.00000001, group = grpTrade)
slPips           = input.int(70, "Stop Loss (pips)", minval = 1, group = grpTrade)
tpPips           = input.int(80, "Take Profit (pips)", minval = 1, group = grpTrade)
levelLengthBars  = input.int(15, "Entry/SL/TP Line Length (bars)", minval = 3, maxval = 100, group = grpTrade)

grpColors = "Colors"
colOverbought = input.color(color.new(color.red, 0),     "Over Buy Zone Color",   group = grpColors)
colResistance = input.color(color.new(color.orange, 0),  "Resistance Zone Color", group = grpColors)
colNeutral    = input.color(color.new(color.gray, 0),    "Neutral Zone Color",    group = grpColors)
colSupport    = input.color(color.new(color.blue, 0),    "Support Zone Color",    group = grpColors)
colOversold   = input.color(color.new(color.teal, 0),    "Over Sold Zone Color",  group = grpColors)
sellColor     = input.color(color.new(color.red, 0),     "Sell Signal Color",     group = grpColors)
buyColor      = input.color(color.new(color.lime, 0),    "Buy Signal Color",      group = grpColors)

barReady = confirmOnClose ? barstate.isconfirmed : true

rsiValue = ta.rsi(rsiSource, rsiLength)

rsiColor = rsiValue >= overBuyLevel ? colOverbought :
     rsiValue >= resistanceLevel ? colResistance :
     rsiValue <= overSoldLevel ? colOversold :
     rsiValue <= supportLevel ? colSupport :
     colNeutral

plot(rsiValue, "RSI", color = rsiColor, linewidth = 2)

hline(overBuyLevel, "Over Buy", color = colOverbought, linestyle = hline.style_solid,  linewidth = 1)
hline(resistanceLevel, "Resistance", color = colResistance, linestyle = hline.style_dashed, linewidth = 1)
hline(50, "Midline", color = color.new(color.gray, 50), linestyle = hline.style_dotted, linewidth = 1)
hline(supportLevel, "Support", color = colSupport, linestyle = hline.style_dashed, linewidth = 1)
hline(overSoldLevel, "Over Sold", color = colOversold, linestyle = hline.style_solid, linewidth = 1)

fill(hline(overBuyLevel), hline(100), color = color.new(colOverbought, 90), title = "Over Buy Fill")
fill(hline(overSoldLevel), hline(0),  color = color.new(colOversold, 90),  title = "Over Sold Fill")

bodySize = math.abs(close - open)
avgBody  = ta.sma(bodySize, strongLookback)

strongBearish = (close < open) and (bodySize >= avgBody * strongMultiplier)
strongBullish = (close > open) and (bodySize >= avgBody * strongMultiplier)

inOverboughtZone = rsiValue >= overBuyLevel
inResistanceZone = (rsiValue >= resistanceLevel) and (rsiValue < overBuyLevel)
inSupportZone    = (rsiValue <= supportLevel) and (rsiValue > overSoldLevel)
inOversoldZone   = rsiValue <= overSoldLevel

var bool overboughtFired  = false
var bool resistanceFired  = false
var bool supportFired     = false
var bool oversoldFired    = false

if not inOverboughtZone
    overboughtFired := false
if not inResistanceZone
    resistanceFired := false
if not inSupportZone
    supportFired := false
if not inOversoldZone
    oversoldFired := false

sellSignalExtreme = barReady and inOverboughtZone and not overboughtFired
sellSignalZone    = barReady and inResistanceZone and strongBearish and not resistanceFired

buySignalExtreme = barReady and inOversoldZone and 

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

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

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

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

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

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

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