Custom Time Zones with ShadingSet vertical lines at 8am, 9:30am, noon, 4pm, NY time. Times can be modified, line colors can be modified.
Set chart shading from 4pm (last line time) to 8am (first line time) and a second shade from 8am to 9:30am.
This puts visuals for NY session start/end and one additional highlight for mid-session.
Penunjuk dan strategi
SimpleTableA library for when you just want to get a table up with the least hassle.
The function `f_drawTableFromColumns()`, is intended to be the simplest possible way to draw a table with the least code in the calling script. Just pass in between one and ten arrays that contain the strings you want to show. Each string array represents one column. That's it. You get a table back.
If you want to style the table you can optionally pass colours, size, and whether the table has a header row that should be displayed differently.
An example usage section demonstrates creating a three-column table.
The function automatically sizes the table based on the number of non-na arrays and the maximum column length.
Optional styling parameters cover table position, text size, text alignment, text colour, cell background, header background, header text, and border width. If you don't supply any of these arguments, the table uses some sensible default values.
The table is created and updated on the last bar only, with caching to avoid unnecessary redraws.
Column shrink detection clears the table only when required, preventing stale cell content.
This is not a full-fledged table management library; there are already lots of those published. It is (I believe and hope) the easiest library to use. For example, you don't need to supply a matrix, or a user-defined type full of settings. The library wraps the input arrays into a map, and uses a user-defined type, but internally, so you don't need to worry about it. Just supply one or more arrays with some text.
f_drawTableFromColumnArrays(_a_col1, _a_col2, _a_col3, _a_col4, _a_col5, _a_col6, _a_col7, _a_col8, _a_col9, _a_col10, _position, _textSize, _textAlign, _textColor, _cellBgColor, _headerBgColor, _headerTextColor, _hasHeaderRow, _borderWidth)
Renders a table using up to ten string arrays. The table size is derived from the number of non-na arrays and the maximum length across the supplied arrays.
Parameters:
_a_col1 (array) : (array) Column 1 values. Supply na to omit.
_a_col2 (array) : (array) Column 2 values. Supply na to omit.
_a_col3 (array) : (array) Column 3 values. Supply na to omit.
_a_col4 (array) : (array) Column 4 values. Supply na to omit.
_a_col5 (array) : (array) Column 5 values. Supply na to omit.
_a_col6 (array) : (array) Column 6 values. Supply na to omit.
_a_col7 (array) : (array) Column 7 values. Supply na to omit.
_a_col8 (array) : (array) Column 8 values. Supply na to omit.
_a_col9 (array) : (array) Column 9 values. Supply na to omit.
_a_col10 (array) : (array) Column 10 values. Supply na to omit.
_position (string) : (TablePosition) Table position on the chart. Default is top right.
_textSize (string) : (TableTextSize) Text size for all cells. Default is normal.
_textAlign (string) : (TableTextAlign) Horizontal alignment for all cells. Default is left.
_textColor (color) : (color) Text colour for all cells. Default is chart foreground color.
_cellBgColor (color) : (color) Background colour for all cells. Uses a default if na. Default is gray 90%.
_headerBgColor (color) : (color) Background colour for the header row. Uses a default if na. Default is gray 75%.
_headerTextColor (color) : (color) Text colour for the header row. Uses a default if na.
_hasHeaderRow (bool) : (bool) If true, row 0 is treated as a header. Default is true.
_borderWidth (int) : (int) Table border width. Must be non-negative. Default is 1.
Returns: The table object, so the caller can store the table ID if required.
SMC Zones Only (Institutional Blocks)//@version=5
indicator("SMC Zones Only (Institutional Blocks)", overlay=true, max_boxes_count=500)
// ==========================
// INPUTS
// ==========================
minImpulse = input.float(1.5, title="Displacement Strength (ATR Multiplier)", step=0.1)
showOB = input.bool(true, title="Show Order Blocks")
showFVG = input.bool(true, title="Show Fair Value Gaps")
// ==========================
// CORE CALCULATION
// ==========================
atr = ta.atr(14)
// Displacement candles (Smart Money activity)
bullImpulse = close > open and (high - low) > atr * minImpulse
bearImpulse = close < open and (high - low) > atr * minImpulse
// ==========================
// ORDER BLOCKS
// ==========================
if bullImpulse and showOB
box.new(bar_index - 1, high , bar_index + 100, low , bgcolor=color.new(color.green, 85), border_color=color.green)
if bearImpulse and showOB
box.new(bar_index - 1, high , bar_index + 100, low , bgcolor=color.new(color.red, 85), border_color=color.red)
// ==========================
// FAIR VALUE GAPS
// ==========================
bullFVG = low > high
bearFVG = high < low
if bullFVG and showFVG
box.new(bar_index - 2, low, bar_index + 100, high , bgcolor=color.new(color.blue, 88), border_color=color.blue)
if bearFVG and showFVG
box.new(bar_index - 2, high, bar_index + 100, low , bgcolor=color.new(color.orange, 88), border_color=color.orange)
Swing Trading Screener v2Updated Version of the Swing Trading Screener v1 due to the new Pinescript memory restrictions
Multi-Timeframe Trend Indicator with RSIEnhanced version of the original Multi-Timeframe Trend Indicator by @Ox_kali
This indicator analyzes trend direction across multiple timeframes using moving average crossovers. The original version by @Ox_kali has been enhanced with RSI (Relative Strength Index) functionality for more comprehensive market analysis.
Key Features:
- Multi-Timeframe Trend Analysis : Compares short-term vs. long-term moving averages across 14 different timeframes
- RSI Enhancement : Adds RSI readings for each timeframe with configurable overbought/oversold levels
- Visual Table Display : Shows trend direction (Up/Down) and RSI values in a color-coded table
- Average Trend Calculation : Computes an overall market bias from all active timeframes
- Customizable Alerts : Notifies on trend reversals and RSI extremes
Credits:
Original Multi-Timeframe Trend Indicator by @Ox_kali • RSI enhancement added for improved momentum analysis.
BTCUSD BOS & Liquidity MapBTCUSD is trading inside a high‑volume range after a clear series of Breaks of Structure (BOS) from the recent distribution zone into the current demand area. This chart highlights the key liquidity sweep, consolidation blocks and volume clusters that are likely to drive the next impulsive move.
Structure: Market shifted from a strong bullish leg into a clean bearish redistribution, confirmed by multiple BOS signals on the higher‑timeframe structure.
Liquidity: Price swept resting liquidity below prior lows and is now holding above the marked support band (89,270 – 88,300), suggesting absorption by buyers rather than continuation selling.
Volume profile: Visible Volume Profile shows heavy participation at the current range, reinforcing this zone as a potential accumulation area before a directional break.
Key levels:
Resistance zone: 97,950 – 98,300 (major supply and previous distribution ceiling).
Support zone: 89,270 – 88,300 (key demand and liquidity grab area).
Idea: As long as price holds above the support band, a reactive bullish leg back toward the resistance zone remains on the table. A clean break and acceptance below support would invalidate the bullish bias and open room for a deeper downside continuation.
This chart is for educational purposes only and not financial advice. Use it as a framework for your own entries, confirmations and risk management on BTCUSD.
Strategy2.0 H4 Only + Volume Fightt.me
DESCRIPTION (EN)
Strategy2.0 H4 Only + Volume Fight is a trend-following indicator designed for H4 timeframe trading. It works consistently and correctly on any chart timeframe, while all calculations and signals remain strictly anchored to H4.
The indicator uses a three-layer entry filtering system. A trade is triggered only when all conditions are met simultaneously. The core idea is to enter the market only during confirmed trends and at the moment when real volume appears, avoiding flat markets and false moves.
The first condition is the trend direction defined by the main MACD (12, 26, 9) calculated on the H4 timeframe. Values above zero indicate a bullish trend, while values below zero indicate a bearish trend.
The second condition is momentum confirmation using a fast MACD (3, 7, 9), also calculated on H4. When the fast MACD moves against the main MACD, the market is considered to be in a preparation phase. Entry is allowed only when both MACDs are aligned in the same direction.
The third and key condition is the Volume Fight filter. This component analyzes the balance between bullish and bearish volume and highlights active and inactive market phases. Gray zones represent the absence of volume and market interest — trades are strictly forbidden in these areas. A signal appears only when the market exits a gray zone and volume confirms the movement.
Additionally, a liquidity filter based on 24-hour USD volume is used to exclude low-liquidity instruments. The volume is calculated strictly on the daily timeframe and does not depend on the current chart timeframe.
An optional correlation filter with a selected instrument (for example, BTC) is available to avoid excessive market dependency and duplicate exposure. Specific instruments can be excluded from correlation checks if needed.
All signals are strictly tied to the H4 timeframe. Switching to lower timeframes does not increase the number of signals. Repeated signals in the same direction are blocked until the main MACD changes its trend.
The indicator visually highlights market phases: green candles represent confirmed bullish trends, red candles represent confirmed bearish trends, and gray candles indicate the preparation phase. BUY and SELL signals appear on the next candle after confirmation, eliminating repainting.
This indicator is intended for swing and position trading and does not constitute financial advice.
LO1_News2023H2Library "LO1_News2023H2" - Contains the news events for 2023 H2
f_loadNewsRows()
f_loadExcSevByTypeId()
f_loadExcTagByTypeId()
f_loadExcDelayAfterNewsMins()
LO1_News2023H1Library "LO1_News2023H1" - Contains the news events for 2023
f_loadNewsRows()
f_loadExcSevByTypeId()
f_loadExcTagByTypeId()
f_loadExcDelayAfterNewsMins()
RSI + BOAA combination of RSI and Stochastic
BOA is Stochastic with the parameter 5 3 3, which is more sensitive to capture potential pivots.
Smart Auto-Step Open (1H Base)The "Big Brother" to the 15m Open: While the 15m Open is perfect for scalping entries, this indicator is designed for Trend Direction & Bias. It automatically identifies the major Hourly and Daily opening levels, giving you the "Big Picture" context instantly.
🧠 Smart Auto-Step Logic: This script detects your timeframe and automatically upgrades the level to the next major resistance:
Intraday Mode (1s – 1H): Locks to the 1-Hour Open. This is your primary "Bull/Bear" line for the session.
Swing Mode (4H): Automatically switches to the 4-Hour Open.
Daily Mode (D): Automatically switches to the Daily Open.
Noise Filter: Hides automatically on intermediate frames (like 2H or 3H) to keep your chart clean.
✨ Luxury Visuals:
Floating Labels: No ugly boxes. Text floats cleanly in the right-side margin.
Custom Typography: Includes a "Luxury" setting that uses Bold Serif Unicode characters (e.g., 𝟏𝐇 𝐎𝐩𝐞𝐧) for a high-end, institutional look.
Dark Mode Optimized: Defaulted to Bright White for maximum contrast.
🚀 Key Features:
Zero-Lag Anchor: Uses time-based coordinates to ensure the line never repaints.
Smart Visibility: Works perfectly even if you are viewing the 1H chart itself (prevents the "disappearing line" bug).
Price Tags: Displays the exact price with a $ symbol.
PRO Strategy (The "Confluence" Setup): Load this indicator together with the "15m Open" version.
When Price is above the 15m Open AND the 1H Open → Strong Buy Signal.
When Price is below both → Strong Sell Signal.
Settings:
Font Style: Modern, Luxury, or Hacker.
Offset: Move the label right/left.
Color: Fully customizable.
REBOTE PRO EMA
//@version=5
indicator(title="REBOTE PRO EMA", overlay=true)
// === CONFIGURACIÓN ===
emaRapida = input.int(20, "EMA Rápida")
emaLenta = input.int(50, "EMA Lenta (Tendencia)")
rsiPeriodo = input.int(14, "RSI Periodo")
// === CÁLCULOS ===
emaFast = ta.ema(close, emaRapida)
emaSlow = ta.ema(close, emaLenta)
rsiVal = ta.rsi(close, rsiPeriodo)
// === CONDICIONES DE TENDENCIA ===
tendenciaAlcista = emaFast > emaSlow
tendenciaBajista = emaFast < emaSlow
// === CONDICIONES DE REBOTE ===
reboteBuy = tendenciaAlcista and low <= emaFast and close > emaFast and rsiVal > 40
reboteSell = tendenciaBajista and high >= emaFast and close < emaFast and rsiVal < 60
// === GRÁFICOS ===
plot(emaFast, color=color.orange, linewidth=2)
plot(emaSlow, color=color.red, linewidth=2)
// === SEÑALES ===
plotshape(reboteBuy,
title="BUY",
style=shape.triangleup,
location=location.belowbar,
color=color.lime,
size=size.small)
plotshape(reboteSell,
title="SELL",
style=shape.triangledown,
location=location.abovebar,
color=color.red,
size=size.small)
REBOTE PRO EMA//@version=5
indicator(title="REBOTE PRO EMA", overlay=true)
// === CONFIGURACIÓN ===
emaRapida = input.int(20, "EMA Rápida")
emaLenta = input.int(50, "EMA Lenta (Tendencia)")
rsiPeriodo = input.int(14, "RSI Periodo")
// === CÁLCULOS ===
emaFast = ta.ema(close, emaRapida)
emaSlow = ta.ema(close, emaLenta)
rsiVal = ta.rsi(close, rsiPeriodo)
// === CONDICIONES DE TENDENCIA ===
tendenciaAlcista = emaFast > emaSlow
tendenciaBajista = emaFast < emaSlow
// === CONDICIONES DE REBOTE ===
reboteBuy = tendenciaAlcista and low <= emaFast and close > emaFast and rsiVal > 40
reboteSell = tendenciaBajista and high >= emaFast and close < emaFast and rsiVal < 60
// === GRÁFICOS ===
plot(emaFast, color=color.orange, linewidth=2)
plot(emaSlow, color=color.red, linewidth=2)
// === SEÑALES ===
plotshape(reboteBuy,
title="BUY",
style=shape.triangleup,
location=location.belowbar,
color=color.lime,
size=size.small)
plotshape(reboteSell,
title="SELL",
style=shape.triangledown,
location=location.abovebar,
color=color.red,
size=size.small)
ATR Levels - Current Candle Open [MTF]a further improvement from the first version of the script. My intent is to look at 4H ATR levels meanwhile being on 5m or 1m.
Let me know if you have any questions or any suggestions to improve.
Multi-Timeframe Support
Anchor to any timeframe (e.g., 240 for 4H, D for Daily)
Leave blank to use chart's timeframe
ATR Levels
24 configurable levels (0.5 - 12.0 ATR)
4 groups for easy management
Bull color (default: teal) / Bear color (default: orange)
Adjustable line width
Optional level labels
Levels start at current HTF candle open, extend right
Live Extension Display
NOW row shows real-time UP/DN extension in ATR units
Updates as price moves within current HTF candle
Anchor Marker
Line + crosshair at current HTF open
Configurable colors (label bg, text, line)
Adjustable label offset (0-100 bars)
Statistics Table
REACH / REACT / REACT % for levels 0.5-3.0 ATR
Color-coded: green ≥50%, orange 30-50%, red <30%
Position: bottom-right
Size: Normal/Large/Huge
Whale OBV Hunter [Divergence]ENGLISH:
How it works This indicator automatically compares price action against volume flow (OBV). It hunts for "Divergences".
Normally, if price drops, OBV should drop. If price drops but OBV rises, it means "Whales" are absorbing the selling pressure (Accumulation).
How to use it
Buy Signal (Accumulation):
Look for Green Lines and the label "Whale Accumulation".
Meaning: Price made a lower low, but OBV made a higher low (Bullish Divergence). This is a strong signal for an upward reversal.
Action: Look for a LONG entry.
Sell Signal (Distribution):
Look for Red Lines and the label "Whale Distribution".
Meaning: Price is making higher highs, but OBV is dropping (Bearish Divergence). Smart money is leaving.
Action: Take profits or look for a SHORT entry.
Settings (Lookback):
Default is 5. If you see too much noise (too many signals), increase this number to 10 in the settings to spot only major institutional movements.
REBOTE PRO May//@version=5
indicator(title="REBOTE PRO EMA", overlay=true)
// === CONFIGURACIÓN ===
emaRapida = input.int(20, "EMA Rápida")
emaLenta = input.int(50, "EMA Lenta (Tendencia)")
rsiPeriodo = input.int(14, "RSI Periodo")
// === CÁLCULOS ===
emaFast = ta.ema(close, emaRapida)
emaSlow = ta.ema(close, emaLenta)
rsiVal = ta.rsi(close, rsiPeriodo)
// === CONDICIONES DE TENDENCIA ===
tendenciaAlcista = emaFast > emaSlow
tendenciaBajista = emaFast < emaSlow
// === CONDICIONES DE REBOTE ===
reboteBuy = tendenciaAlcista and low <= emaFast and close > emaFast and rsiVal > 40
reboteSell = tendenciaBajista and high >= emaFast and close < emaFast and rsiVal < 60
// === GRÁFICOS ===
plot(emaFast, color=color.orange, linewidth=2)
plot(emaSlow, color=color.red, linewidth=2)
// === SEÑALES ===
plotshape(reboteBuy,
title="BUY",
style=shape.triangleup,
location=location.belowbar,
color=color.lime,
size=size.small)
plotshape(reboteSell,
title="SELL",
style=shape.triangledown,
location=location.abovebar,
color=color.red,
size=size.small)
ATR Levels - Previous Candle Open [MTF]a further improvement from the first version of the script. My intent is to look at 4H ATR levels meanwhile being on 5m or 1m.
Let me know if you have any questions or any suggestions to improve
Multi-Timeframe Support
Anchor to any timeframe while viewing on a different chart timeframe
Examples: View 4H ATR levels on 5m chart (set to 240), Daily on 1H (D), etc.
Leave blank to use chart's timeframe
ATR Levels
24 configurable levels from 0.5 to 12.0 ATR (in 0.5 increments)
Organized in 4 groups for easy management
Separate bull/bear colors
Adjustable line width
Optional level labels
Previous Candle Zone
Visual background box showing previous HTF candle's high-low range
Configurable zone color and transparency
Toggle on/off
Extend Levels Setting
0 = Levels end exactly where previous candle closed
-1 = Extend infinitely to the right
1-500 = Extend specific number of bars beyond candle close
Anchor Marker
Horizontal line + vertical crosshair at anchor point
Configurable label background, text color, and line color
Adjustable label offset (0-100 bars)
Line extends to meet the label
Statistics Table
Tracks REACH (times price hit level) and REACT (times price reversed)
REACT % color-coded: green ≥50%, orange 30-50%, red <30%
Based on HTF candle data (100 bars)
Configurable table size (Normal/Large/Huge)
Positioned top-right
Consecutive Lower Highs/Higher LowsThis indicator is a minimalist price-action tool designed to visualize Pullback depth and Trend Ignition directly on the chart. It eliminates the need to manually count candles, helping traders instantly identify "Green 2" pullback setups and "Red 1" trend continuations.
This tool is specifically designed to synchronize with MarketInOut or Finviz scanners that look for Lower Highs (Pullbacks) and Higher Lows (Trend).
How It Works
The indicator prints a simple count above or below the candles to visualize the current market structure:
1. The "Trap" / Pullback Count (Green Numbers)
Logic: Counts consecutive bars with Lower Highs.
Location: Appears above the candle.
Usage: Used to identify low-risk entry points in an existing uptrend. When you see a Green "2" or "3", it confirms the stock is in a controlled pullback (a "Quiet Trap") and may be ready for an entry if it breaks the previous high.
Default Setting: Starts counting at 2 (The classic "Green 2" setup).
2. The "Ignition" / Trend Count (Red Numbers)
Logic: Counts consecutive bars with Higher Lows.
Location: Appears below the candle.
Usage: Used to visualize trend strength. A Red "1" indicates the stock has made a higher low and is potentially resuming its uptrend ("Ignition"). It can also be used to manage trailing stops by exiting if the streak is broken.
Default Setting: Starts counting at 1.
Key Features
Zero Clutter: No moving averages, lines, or background shapes. Only the raw data you need to make a decision.
Dynamic Labels: Labels automatically adjust their distance from the candle based on volatility (ATR), ensuring they never overlap with the price action.
Scanner Sync: The input settings allow you to match the "Minimum Count" exactly to your screener settings (e.g., set Pullback minimum to 2 to match a lower_highs 2 scan).
Max History: Hard-coded to display the maximum allowable history (500 bars) for effective backtesting of your eye.
Settings
Minimum lower highs (Trap): Sets the threshold for showing Green numbers. (Default: 2)
Minimum higher lows (Ignition): Sets the threshold for showing Red numbers. (Default: 1)
Show Numbers: Toggles the visibility of the text labels.
Strategy Application
This script is ideal for Momentum Trap and Breakout traders (e.g., Minervini, Qullamaggie styles) who need to quickly verify if a stock meets the "2-day pullback" or "Trend Resume" criteria without manually checking High/Low values.
EMA200 Momentum ZoneEMA200 Momentum Zone is a clean and minimal momentum-based indicator designed for intraday trading and scalping.
The script combines:
EMA200 as a fair value and trend filter
Parabolic SAR for timing
MACD momentum cross for confirmation
ATR-based zone filter to avoid chop near EMA and late entries at extremes
ATR-based take profit projection for quick decision-making
The indicator highlights only those moments when price is inside the optimal momentum zone — not too close to the mean, and not too far from it.
How it works:
Buy signals appear only in bullish conditions above EMA200
Sell signals appear only in bearish conditions below EMA200
Signals are filtered by minimum and maximum ATR distance from EMA200
A visual take-profit line is drawn using 1× ATR and remains active for a limited number of bars
TP labels show the projected move shown as a percentage for instant evaluation
Recommended use:
Designed for 1-minute charts
Works best on indices, gold, and liquid futures
Can be used as a signal tool or a momentum scanner
Alerts are supported
Important note:
This indicator is for educational purposes only and does not provide financial advice.
Always manage risk and confirm signals with your own analysis.
6/20 EMA with shade between6/20 EMA, I added a shaded area so they are easy to see despite whatever else you have on the chart. I use this for the 620 cross for entry and exit.
Institutional Grade Technical Analysis Support & Resistance levels with zones
✅ Uptrend lines (green, connecting lows)
✅ Downtrend lines (orange, connecting highs)
✅ Order blocks (purple zones)
✅ Swing points (triangles)
✅ Live dashboard with trade setup
Finger Print.Finger Print.
Isolates and Accumulates the "True" components of each candle:
- True Upper Wick (buying pressure beyond the body)
- True Body (conviction from open to close)
- True Lower Wick (selling pressure beyond the body).
By measuring each non-overlapping extension (true wicks) and the directional body separately, the indicator reveals building Pressure (wick accumulation) versus actual Conviction (body momentum) over a user-defined sum of bars.
Three cumulative lines track these Raw forces, while three Smoothing agents highlight sustained momentum and trend strength.
Dual Background Flashes highlight Historical extremes measured as Percentile given the Lookback period. Source any Component / Smoother line from Zero % Line, or Wick-to-Wick / Smoother-to-Smoother Spread – flagging unusually wide/tight conviction gaps or pressure imbalances.
The result is a clean, pressure-focused oscillator that separates noise from genuine directional force, helping traders spot Accumulation , Exhaustion , or Hidden Strength before price confirms it.
Key levels by Chav3zNY-Time Anchored Sessions
Visualizes the Asia, London, and New York sessions using customizable boxes or high/low lines. Unlike standard session indicators, this tool uses the America/New York time zone to ensure your session start and end times remain accurate throughout Daylight Savings changes.
2. Dynamic HTF Key Levels (PDH/PDL, PWH/PWL, PMH/PML)
Automatically plots the Previous Daily, Weekly, and Monthly Highs and Lows.
Clean Intraday Origin: To prevent "chart clutter," these lines do not drag across the entire historical data. They originate at the start of the current day (NY Midnight), providing a clean horizontal reference for the current trading session.
Lookback Control: Choose how many days of historical key levels you want to remain visible on your chart.
3. Custom Time-Anchored Levels
Includes two fully customizable "Price Anchors" (e.g., Midnight Open, 09:30 AM NY Open).
Origin Point Precision: Lines start exactly at the candle of the specified time (e.g., 09:30) and extend forward, rather than drawing through the pre-market.
Price Capture: Choose to anchor to the Open, High, or Low of that specific timestamp.
4. Full Aesthetic Customization
Every level (Daily, Weekly, Monthly, and Custom) can be individually styled:
Color & Visibility: Set each level to your preferred color (Defaulted to Black for a clean look).
Line Style: Toggle between Solid, Dashed, or Dotted lines.
Thickness: Adjust the line width (1px, 2px, etc.) for better visibility on high-resolution screens.
How to Use
Midnight Open: Set Level 1 to 0000 to track the Daily Open, a crucial level for determining daily bias.
NY Open: Set Level 2 to 0930 to mark the "Opening Range" anchor for the New York session.
Liquidity Targets: Use the PDH/PDL and PWH/PWL levels to identify draw-on-liquidity areas for intraday scalp or swing setups.






















