RSI Signals Entries
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «indicator rsi signals entries for tradingview.pine» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.