Doji Buy Signal (3-min, Body ≤ 6%)Doji Buy Signal (3-min, Body ≤ 6%) will give a Buy Signal when Doji Candle is formed
Chart patterns
Doji Buy Signal (3-min, Body ≤ 6%)Doji Buy Signal (3-min, Body ≤ 6%) will give a buy signal when dojo candle is formed
3 Red Heikin Ashi with Higher Lows3 Red Heikin Ashi with Higher Lows. Will Give a Buy Signal when 3 Red Heikin Ashi with Higher Lows is formed
EMA 4/8/15The 4/8/15 are the main Moving Averages you need. . When it is inside the 4/8, it is moving slowly. If it detaches or launches above the 8, you have an increase in volume and price
Rudra ChakraA readymade template. Helps you to identify trend, momentum at a glance.
Blue dots for +momentum and red for -momentum.
Also the background Green, orange and red indicate the shift in trend. Buy signals indicate more than avg buying in some timeframe.
Estrategia MACD//@version=6
indicator("Trading Sessions", overlay = true, max_boxes_count = 500, max_lines_count = 500, max_labels_count = 500)
bool showSessionNames = input.bool(true, "Show session names")
bool showSessionOC = input.bool(true, "Draw session open and close lines")
bool showSessionTickRange = input.bool(true, "Show tick range for each session")
bool showSessionAverage = input.bool(true, "Show average price per session")
const string TZ_TOOLTIP_TEXT = "The session's time zone, specified in either GMT notation (e.g., 'GMT-5') or as an IANA time zone database name (e.g., 'America/New_York')."
+ " We recommend the latter since it includes other time-related changes, such as daylight savings."
const string FIRST_SESSION_GROUP = "First Session"
showFirst = input.bool(true, "Show session", group = FIRST_SESSION_GROUP, display = display.none)
firstSessionName = input.string("Tokyo", "Displayed name", group = FIRST_SESSION_GROUP, display = display.none)
firstSessionTime = input.session("0900-1500", "Session time", group = FIRST_SESSION_GROUP, display = display.none)
firstSessionTZ = input.string("Asia/Tokyo", "Session timezone", group = FIRST_SESSION_GROUP, display = display.none, tooltip = TZ_TOOLTIP_TEXT)
firstSessionColor = input.color(color.new(#2962FF, 85), "Session color", group = FIRST_SESSION_GROUP)
const string SECOND_SESSION_GROUP = "Second session"
showSecond = input.bool(true, "Show session", group = SECOND_SESSION_GROUP, display = display.none)
secondSessionName = input.string("London", "Displayed name", group = SECOND_SESSION_GROUP, display = display.none)
secondSessionTime = input.session("0830-1630", "Session time", group = SECOND_SESSION_GROUP, display = display.none)
secondSessionTZ = input.string("Europe/London", "Session timezone", group = SECOND_SESSION_GROUP, display = display.none, tooltip = TZ_TOOLTIP_TEXT)
secondSessionColor = input.color(color.new(#FF9800, 85), "Session color", group = SECOND_SESSION_GROUP)
const string THIRD_SESSION_GROUP = "Third session"
showThird = input.bool(true, "Show session", group = THIRD_SESSION_GROUP, display = display.none)
thirdSessionName = input.string("New York", "Displayed name", group = THIRD_SESSION_GROUP, display = display.none)
thirdSessionTime = input.session("0930-1600", "Session time", group = THIRD_SESSION_GROUP, display = display.none)
thirdSessionTZ = input.string("America/New_York", "Session timezone", group = THIRD_SESSION_GROUP, display = display.none, tooltip = TZ_TOOLTIP_TEXT)
thirdSessionColor = input.color(color.new(#089981, 85), "Session color", group = THIRD_SESSION_GROUP)
type SessionDisplay
box sessionBox
label sessionLabel
line openLine
line avgLine
line closeLine
float sumClose
int numOfBars
type SessionInfo
color color
string name
string session
string timezone
SessionDisplay active = na
method setName(SessionDisplay this, string name) =>
sessionLabel = this.sessionLabel
sessionBox = this.sessionBox
boxText = array.new()
if showSessionTickRange
boxText.push("Range: " + str.tostring((sessionBox.get_top() - sessionBox.get_bottom()) / syminfo.mintick, format.mintick))
if showSessionAverage
boxText.push("Avg: " + str.tostring(this.sumClose / this.numOfBars, format.mintick))
if showSessionNames
boxText.push(name)
sessionLabel.set_y(sessionBox.get_bottom())
sessionLabel.set_text(array.join(boxText, " "))
method createSessionDisplay(SessionInfo this) =>
boxColor = this.color
opaqueColor = color.new(boxColor, 0)
dis = SessionDisplay.new(
sessionBox = box.new(bar_index, high, bar_index, low, bgcolor = boxColor, border_color = na),
sessionLabel = label.new(bar_index, low, "", style = label.style_label_upper_left, textalign = text.align_left, textcolor = opaqueColor, color = color(na)),
openLine = showSessionOC ? line.new(bar_index, open, bar_index, open, color = opaqueColor, style = line.style_dashed, width = 1) : na,
closeLine = showSessionOC ? line.new(bar_index, close, bar_index, close, color = opaqueColor, style = line.style_dashed, width = 1) : na,
avgLine = showSessionAverage ? line.new(bar_index, close, bar_index, close, style = line.style_dotted, width = 2, color = opaqueColor) : na,
sumClose = close,
numOfBars = 1
)
linefill.new(dis.openLine, dis.closeLine, boxColor)
dis.setName(this.name)
this.active := dis
method updateSessionDisplay(SessionInfo this) =>
sessionDisp = this.active
sessionBox = sessionDisp.sessionBox
openLine = sessionDisp.openLine
closeLine = sessionDisp.closeLine
avgLine = sessionDisp.avgLine
sessionDisp.sumClose += close
sessionDisp.numOfBars += 1
sessionBox.set_top(math.max(sessionBox.get_top(), high))
sessionBox.set_bottom(math.min(sessionBox.get_bottom(), low))
sessionBox.set_right(bar_index)
sessionDisp.setName(this.name)
if showSessionOC
openLine.set_x2(bar_index)
closeLine.set_x2(bar_index)
closeLine.set_y1(close)
closeLine.set_y2(close)
if showSessionAverage
avgLine.set_x2(bar_index)
avg = sessionDisp.sumClose / sessionDisp.numOfBars
avgLine.set_y1(avg)
avgLine.set_y2(avg)
sessionDisp
method update(SessionInfo this) =>
bool isChange = timeframe.change("1D")
if (not na(time("", this.session, this.timezone))) // inSession
if na(this.active) or isChange
this.createSessionDisplay()
else
this.updateSessionDisplay()
else if not na(this.active)
this.active := na
getSessionInfos()=>
array sessionInfos = array.new()
if showFirst
sessionInfos.push(SessionInfo.new(firstSessionColor, firstSessionName, firstSessionTime, firstSessionTZ))
if showSecond
sessionInfos.push(SessionInfo.new(secondSessionColor, secondSessionName, secondSessionTime, secondSessionTZ))
if showThird
sessionInfos.push(SessionInfo.new(thirdSessionColor, thirdSessionName, thirdSessionTime, thirdSessionTZ))
sessionInfos
var array sessionInfos = getSessionInfos()
if timeframe.isdwm
runtime.error("This indicator can only be used on intraday timeframes.")
for info in sessionInfos
info.update()
RUDWAN OSMAN MUHUMED redsco trader
this indicator will help you to use ema 9 and ema 20 together with one indicator.
3SMA (1H only) by tophengzkyThis script plots three Simple Moving Averages (SMA 10, 20, 50), but they are only visible when the chart timeframe is set to 1 hour (1H).
It helps traders focus on higher timeframe trend direction without cluttering charts on other timeframes.
SMA1 = 10 (white)
SMA2 = 20 (yellow)
SMA3 = 200 (red)
Works only on 1H timeframe
Useful for swing traders and intraday traders who rely on hourly trend confirmation.
why 1 hr only? the only purpose of this is just to know the bias of the market weather it will reverse or it will continue the trend. As long as the price action did not cross this 3 SMA's the trend will continue.
as a trend trader it is very useful this strategy.. make it simple!
Candle Levels (gajiev)📌 English description
Candle Levels (gajiev)
This indicator automatically plots key levels from the first candle of the trading day (based on Moscow time, 00:00 MSK).
You can choose the base timeframe: H4, H12, or 1D.
Once the first selected candle closes, the following levels are drawn:
High / Low of the candle
Body High / Body Low (open and close extremes)
Midpoint (50% of the candle)
Each level can be customized (color, style, width, label).
Additionally, the indicator can draw a vertical line at a user-defined time of day to mark the start of your trading session.
📌 Описание по-русски
Candle Levels (gajiev)
Индикатор автоматически строит ключевые уровни первой свечи торгового дня (по московскому времени, начало в 00:00 МСК).
Можно выбрать базовый таймфрейм: H4, H12 или 1D.
После закрытия первой свечи выбранного таймфрейма на графике появляются уровни:
Максимум и минимум свечи
Верх и низ тела свечи (открытие и закрытие)
Середина (50% свечи)
Каждый уровень настраивается (цвет, стиль, толщина, подпись).
Также индикатор может отрисовать вертикальную линию в заданное время дня для обозначения старта вашей торговой сессии.
BBB INDICATOR — Big Ben Breakout (Indices) BBB INDICATOR — Big Ben Breakout Strategy (XAUUSD & Indices)
The BBB Indicator implements a refined London Breakout methodology for major indices (US100, US30, US500).
It automatically draws the Asian session range and signals valid breakouts after London open, providing Entry, TP, and SL levels.
Key Features:
• Auto Asian session box (UTC+3 default)
• London open breakout detection
• TP/SL lines with R:R = 1:1.5
• Optional strong-break filters (Body %, ATR check)
• Clear BUY/SELL arrows + alerts
This is an **Invite-Only Script**.
👉 To request free trial access, click "Request Access" or send me your TradingView username via Telegram: **https://t.me/BBBindicator**
──────────────────────────────────────────
مؤشر BBB — استراتيجية Big Ben Breakout (االمؤشرات)
مؤشر BBB يطبّق منهجية اختراق لندن (Big Ben Breakout) المؤشرات الأمريكية (ناسداك US100، داوجونز US30، S&P500).
يقوم تلقائيًا برسم نطاق الجلسة الآسيوية ثم يعطي إشارات اختراق صحيحة بعد افتتاح لندن مع مستويات دخول و TP/SL واضحة.
أهم المزايا:
• صندوق الجلسة الآسيوية (UTC+3)
• منطق اختراق افتتاح لندن
• خطوط TP/SL بنسبة R:R = 1:1.5
• فلاتر اختراق قوي اختيارية (نسبة جسم الشمعة، ATR)
• أسهم BUY/SELL مرئية + تنبيهات
هذا المؤشر **Invite-Only**.
👉 لطلب تجربة مجانية، اضغط "Request Access" أو ابعتلي اسمك على TradingView عبر تيليجرام: **https://t.me/BBBindicator**
CCI + MACD Signal MTF (2nd-cross)This custom indicator combines the Commodity Channel Index (CCI) and the MACD to generate trading signals.
Basic signals (dots):
A green dot is plotted when CCI is above +100 and MACD is positive.
A red dot is plotted when CCI is below –100 and MACD is negative.
These dots help visualize momentum alignment between the two indicators.
Second-cross signals (text + alert):
The indicator also tracks cycles of the CCI.
When CCI first moves above +100 and later falls back below +100, this is counted as one completed cycle.
The next time CCI crosses back above +100 (the second cross), if MACD is still positive, a “BUY” label is plotted and a buy alert is triggered.
Conversely, when CCI first moves below –100 and later rises back above –100, that is one completed cycle.
The next time CCI crosses back below –100 (the second cross), if MACD is negative, a “SELL” label is plotted and a sell alert is triggered.
Alerts:
Alerts are only fired on the second-cross events (BUY or SELL), making them rarer but potentially more reliable than the basic dot conditions.
Timeframe flexibility:
Both the CCI and the MACD can be calculated on custom timeframes independently of the chart’s timeframe.
Dubas_timing_macrosChanged script for my presonal user. Changed script for my presonal user. Changed script for my presonal user. Changed script for my presonal user
Prev Candle Breakout (Strict Close Basis - First Signal Only)This indicator is based on Dow theory and Price action
NSE/FT/INTRADAYIt combines technical indicators and momentum signals to capture quick price movements while managing risk effectively. The strategy emphasizes fast execution, strict stop-loss placement, and disciplined profit booking, making it suitable for traders who prefer multiple trades within the same day rather than holding overnight positions.
FEI: Futures Entry Identifier📘 FEI: Futures Entry Identifier
FEI is a modular, futures-grade entry engine designed for precision trading across GC1!, MNQ1!, ES1!, and related contracts. It combines manual SVP structure, CHoCH detection, and Colby-style candle strength filters to identify high-probability long and short entries.
🔧 Features
• Manual SVP inputs (VAH, VAL, POC)
• Symbol-aware filters for micro vs standard contracts
• Multi-timeframe signal logic (3m, 5m, 10m, 15m, 30m)
• CHoCH detection with optional engulfing filter (default off)
• FRVP entry zone plotting after CHoCH confirmation
• Candle coloring on CHoCH trigger
• Session-aware logic (ETH default, optional RTH-only)
• Narratable visuals and audit-safe alerts
🧭 How to Use
1. Input VAH, VAL, and POC manually
2. Select signal timeframe (e.g. 3m or 5m)
3. Watch for CHoCH (white candle = structural shift)
4. Entry line plots at top/bottom of recent range
5. Long/short markers appear when SVP + candle strength align
6. Toggle RTH-only mode if needed
🌟 Why It’s Unique
FEI is built for traders who demand clarity, structure, and precision. Every signal is narratable, audit-safe, and resolution-aware—ideal for futures overlays and sniper-grade entries.
Bollinger Breakout MarkersSubtle triangle markers that indicate when price extends out of the Bollinger bands to indicate overbought and oversold conditions
Top-CM_EMA Trend Bars with Alerts and Arrows (03102025) v01🟢 Top-CM_EMA Trend Bars with Alerts and Arrows (03102025) v01
🔎 Indicator Overview:
Top-CM_EMA Trend Bars is a technical analysis tool that utilizes an Exponential Moving Average (EMA) to help traders visually identify market trends. It automatically colors the candles based on trend direction and provides real-time alerts and arrows when a potential trend reversal occurs.
⚙️ Key Features:
✅ 1. EMA-Based Trend Detection
Uses a user-defined EMA (default: 34 periods).
If the average price of a candle (hlc3) is above the EMA → trend is considered uptrend (bullish).
If the price is below the EMA → trend is considered downtrend (bearish).
✅ 2. Color-Coded Trend Bars
Candles are automatically colored to reflect the current trend:
🟩 Green (lime): Uptrend
🟥 Red: Downtrend
Helps traders quickly understand the market direction without manual analysis.
✅ 3. Optional EMA Line Display
Users can choose to show or hide the EMA line with a simple toggle (Show EMA Trend is Based On?).
✅ 4. Real-Time Buy/Sell Alerts
Alerts are triggered when the trend changes:
Transition from bearish to bullish → Buy Signal
Transition from bullish to bearish → Sell Signal
Compatible with TradingView’s alert system for automated notifications.
✅ 5. Directional Arrows on Chart
Displays visual markers:
🔼 Up Arrow (green) below the bar on a Buy Signal
🔽 Down Arrow (red) above the bar on a Sell Signal
Makes it easier to spot trend reversal points directly on the chart.
🧠 Who Is This For?
Technical traders looking for quick visual confirmation of trend direction.
Users who want to automate signal detection and receive instant alerts.
Beginners who prefer a clean and straightforward trend-following tool.
KAPITAS TBR 12am-8:30measures the range between 12am(true day open)-8:30am and has % levels where price is sensitive and likely to reverse
MA Crossover BIFTY BNF with Broker Inputs//@version=6
strategy("MA Crossover with Broker Inputs", overlay=true, margin_long=100, margin_short=100, process_orders_on_close=true)
// === BROKER & ORDER SETTINGS ===
broker = input.string("Dhan", title="Broker", options= )
orderType = input.string("MKT", title="Order Type", options= )
clientID = input.string("", title="Client ID (Optional)")
secretKey = input.string("", title="Secret Key (from JSON)")
// === INSTRUMENT SELECTION ===
instrument = input.string("BANKNIFTY", title="Select Instrument", options= )
expiryMode = input.string("Auto", title="Expiry Mode", options= )
manualExpiry = input.string("17Dec2025", title="Manual Expiry Date (if Manual Mode)")
optionType = input.string("CE", title="Option Type", options= )
strikeSel = input.string("ATM", title="Strike Selection", options= )
// === RISK MANAGEMENT ===
stopLossPts = input.int(50, title="Stop Loss (points)")
takeProfitPts = input.int(100, title="Take Profit (points)")
// === STRATEGY LOGIC: Moving Average Crossover ===
fastLength = input.int(9, title="Fast MA Length")
slowLength = input.int(18, title="Slow MA Length")
price = close
maFast = ta.sma(price, fastLength)
maSlow = ta.sma(price, slowLength)
// Crossover Long
if (ta.crossover(maFast, maSlow))
strategy.entry("Long", strategy.long, comment="MA Crossover Long")
// Crossunder Short
if (ta.crossunder(maFast, maSlow))
strategy.entry("Short", strategy.short, comment="MA Crossover Short")
// Apply SL and TP
strategy.exit("Exit Long", from_entry="Long", stop=close - stopLossPts, limit=close + takeProfitPts)
strategy.exit("Exit Short", from_entry="Short", stop=close + stopLossPts, limit=close - takeProfitPts)
// === PLOTS ===
plot(maFast, color=color.green, title="Fast MA")
plot(maSlow, color=color.red, title="Slow MA")
Gap ZonesThis TradingView indicator automatically detects daily price gaps and plots them clearly on any timeframe (intraday or daily).
It helps visualize where unfilled gaps are sitting, track whether they’ve been filled, and control how far the zone extends.
Key Features
1. Daily Gap Detection
• Works even when you’re on intraday charts (uses daily OHLC data).
• Marks both gap up (potential support zones) and gap down (potential resistance zones).
2. Shaded Gap Zones
• Each gap is highlighted as a band (greenish for up, reddish for down).
• Option to turn shading off if you just want horizontal lines.
3. Hide When Filled
• Once price closes or touches the far side of the gap, it disappears (configurable: Touch vs Close).
4. Lookback Window
• Gaps only show if they occurred within the past X trading days (default: 30).
• Prevents your chart from being cluttered with ancient gaps.
5. Multiple Gaps Tracked
• Can track up to 5 recent gaps simultaneously.
• Oldest gaps “roll off” as new ones form.
6. Finite Right-Edge Guides
• Optional horizontal guide lines extend to the right, but only for a fixed number of bars (default: 50).
• Cleaner than infinite extensions.
7. Gap-Day Marker
• Optional vertical line drawn on the bar where the gap first occurred.
⸻
⚙️ Inputs & Settings
When you apply the indicator, you’ll see these options:
• Lookback (trading days): How far back to scan for gaps (default 30).
• Max gaps to show (1..5): How many simultaneous gap zones to display.
• Min gap size (% of prior close): Filter out tiny gaps (default 0.25%).
• Hide gaps once filled: Removes a gap from the chart once filled.
• Fill rule uses CLOSE (off = Touch):
• Touch = filled when price trades through the level intraday.
• Close = filled only when a candle close crosses it.
• Show shading: Toggle zone fills on/off.
• Show vertical marker on gap day: Toggle gap-day marker line.
• Show finite right-edge lines: Toggle horizontal lines extending right.
• Right line length (bars): How far those lines extend (default 50 bars).
⸻
🟢 How to Use It
1. Apply on Any Chart
• Works best on daily or intraday (5m, 15m, 1h).
• Gaps are always calculated from daily data, so intraday charts will show higher-timeframe gaps correctly.
2. Interpret Colors
• Green shading = Gap Up (often acts as support).
• Red shading = Gap Down (often acts as resistance).
3. Watch for Fills
• When price re-enters the gap zone, the indicator checks if it’s “filled” (based on your Touch/Close setting).
• If “Hide When Filled” is on, the zone vanishes.
4. Trade Context
• Many traders use gaps as targets (expecting a fill) or levels of support/resistance.
• Combined with your bull put/bear call spread strategies, it helps confirm strong levels.
Al Brooks II.IOI.OO# Al Brooks Consecutive Bar Patterns (II/OO/IOI)
## Overview
This indicator automatically identifies Al Brooks' key consecutive bar patterns that signal important market transitions. Enhanced with both **traditional (high/low)** and **body (open/close)** detection methods for more accurate signals.
## Pattern Definitions
### 📊 II Pattern - Double Inside Bars
- **Signal**: Two consecutive inside bars
- **Market Meaning**: Volatility contraction, breakout pending
- **Trading**: Wait for breakout, trade with momentum
### 📊 OO Pattern - Double Outside Bars
- **Signal**: Two consecutive outside bars
- **Market Meaning**: Volatility expansion, trend acceleration or reversal
- **Trading**: Watch for exhaustion at key levels
### 📊 IOI Pattern - Inside-Outside-Inside
- **Signal**: Inside bar → Outside bar → Inside bar sequence
- **Market Meaning**: Market indecision, complex consolidation
- **Trading**: Avoid early entries, wait for clear direction
## Features
✅ **Dual Detection System**
- Traditional: Uses high/low prices (catches wicks)
- Body: Uses open/close prices (focuses on real trading range)
- Combined: Triggers when either condition is met
✅ **Visual Markers**
- Clear labels above/below bars
- Color-coded backgrounds
- Detection source indicators (h=high/low, b=body, +=both)
✅ **Smart Alerts**
- Real-time pattern detection
- Separate alerts for body-only patterns
- Customizable notification settings
## Settings
**Display Options**
- Show/hide each pattern type
- Toggle detection methods
- Customize colors
**Detection Modes**
- High/Low Detection: Traditional wick-based
- Body Detection: Open/Close based
- Show Source: Display what triggered the pattern
## Trading Tips
1. **Best Timeframes**: 1H, 4H, Daily
2. **Combine with**: Volume, trend indicators, support/resistance
3. **Risk Management**:
- II: Tight stops inside pattern
- OO: Wider stops due to volatility
- IOI: Scale in positions
## Label Meanings
- `ii` / `OO` / `ioi` = Base pattern detected
- `+h` suffix = High/Low triggered
- `+b` suffix = Body triggered
- `++` suffix = Both conditions met (strongest signal)
## Author Notes
Based on Al Brooks' price action methodology from his Trading Price Action series. This enhanced version adds body detection to filter out wick-only patterns and reduce false signals.
---
*For educational purposes only. Trading involves risk.*
**Version 2.0** | **Pine Script v6** | **@JimmC98**