Exponential Moving Averages📘 Exponential Moving Averages – Clean & Focused Trend Tool
This script displays five Exponential Moving Averages (EMAs) — 10, 20, 50, 100, and 200 — that are commonly used by professional traders to identify short-, medium-, and long-term trend directions. It offers a simple, no-setup-needed solution for visualizing market momentum and price structure on any timeframe.
🧠 Why This Script Was Created
Previously, many users faced confusion with built-in moving average scripts, where they had to manually change the type to EMA from the default SMA (Simple Moving Average). This extra step was unintuitive for newer users and could lead to misinterpretation of signals.
To solve this, we’ve created a dedicated script that only plots Exponential Moving Averages — no configuration needed. EMAs are more responsive to price changes and widely used in real-world trading setups, especially for intraday and swing strategies.
🔍 How It Works
EMA 10 & 20 – Detect short-term momentum shifts.
EMA 50 & 100 – Help visualize medium-term trend strength.
EMA 200 – Tracks long-term trend direction and institutional positioning.
Each EMA is plotted with distinct colors and line thickness to make trend tracking fast and intuitive.
⚙️ How to Use
Use across any timeframe (5m, 1H, 1D, etc.).
Watch for crossovers between shorter and longer EMAs.
Observe price interaction with EMAs as dynamic support/resistance levels.
Combine with other tools like RSI, volume, or price action patterns for confirmation.
🌟 What Makes It Unique
No settings confusion: Always uses EMA — no manual adjustments needed.
Multiple EMAs in one: Avoid clutter by combining essential levels in a clean overlay.
Practical by design: Built for traders who prefer responsive, real-time trend signals.
Indicators and strategies
Price Density Strategy ScoreBased on the rules we defined, a composite score (-3 to +3) is calculated and displayed as colored bars below the chart:
Dark green (+3): Strong buy signal
Light green (+1, +2): Mildly bullish
Gray (0): Neutral
Light red (-1, -2): Mildly bearish
Dark red (-3): Strong sell signal
根据我们定义的规则,计算一个综合分数(-3 到 +3),并在图表下方用不同颜色的柱状图显示出来:
深绿色 (+3):强力买入信号
浅绿色 (+1, +2):温和看涨
灰色 (0):中性
浅红色 (-1, -2):温和看跌
深红色 (-3):强力卖出信号
📈 Smart Alert System — EMA/MA/Volume/SMC AlertsHere's a detailed description of your custom TradingView **Pine Script v6**:
---
### 📌 **Title**: Smart Alert System — Webhook Ready (with EMA, MA, Volume, and SMC)
This script is designed to **monitor price behavior**, detect important **technical analysis events**, and **send real-time alerts via webhook to a Telegram bot**.
---
## 🔧 SETTINGS
| Setting | Description |
| ----------------------- | ------------------------------------------------------------------------------ |
| `volumeSpikeMultiplier` | Multiplier to determine a volume spike compared to the 20-bar average volume |
| `testAlert` | If `true`, sends a test alert when the indicator is first applied to the chart |
---
## 🔍 COMPONENT BREAKDOWN
### 1. **EMA & MA Calculations**
These indicators are calculated and plotted on the chart:
* **EMAs**: 13, 25, 30, 200 — used for trend and touch detection
* **MAs**: 100, 300 — used for break and retest detection
```pinescript
ema_13 = ta.ema(close, 13)
ema_200 = ta.ema(close, 200)
ma_100 = ta.sma(close, 100)
```
---
### 2. **📈 Volume Spike Detection**
* A volume spike is identified when the current bar's volume is **2x (default)** greater than the 20-period average.
* A red triangle is plotted above such candles.
* A **JSON alert** is triggered.
```pinescript
volSpike = volume > avgVol * volumeSpikeMultiplier
```
---
### 3. **📊 EMA Touch Alerts**
* The script checks if the current close is:
* Within 0.1% of an EMA value **OR**
* Has crossed above/below it.
* If so, it sends an alert with the EMA name.
```pinescript
touch(val, crossed) =>
math.abs(close - val) / val < 0.001 or crossed
```
---
### 4. **📉 MA Break and Retest Alerts**
* A **break** is when price falls **below** a moving average.
* A **retest** is when price climbs **above** the same average after breaking below.
```pinescript
breakBelow(ma) => close > ma and close < ma
```
---
### 5. 🧠 **SMC Alerts (Break of Structure \ & Change of Character \ )**
These follow **Smart Money Concepts (SMC)**. The script identifies:
* **BOS**: New higher high in uptrend or lower low in downtrend
* **CHOCH**: Opposite of trend, e.g. lower low in uptrend or higher high in downtrend
```pinescript
bos = (high > high ) and (low > low ) and (low > low )
choch = (low < low ) and (high < high ) and (high < high )
```
---
### 6. 🧪 Dummy Test Alert (1-time fire)
* Sends a `"✅ Test Alert Fired"` to verify setup
* Executes **once only** after adding the indicator
```pinescript
var bool sentTest = false
if testAlert and not sentTest
```
---
### 7. 🚀 Alert Delivery (Webhook JSON)
All alerts are sent as a JSON payload that looks like this:
```json
{
"pair": "BTCUSD",
"event": "🔺 Volume Spike",
"timeframe": "15",
"timestamp": "2024-06-29T12:00:00Z",
"volume": "654000"
}
```
This format makes it compatible with your **Telegram webhook server**.
---
### 🔔 Alerts You Can Create in TradingView
* Set **Webhook URL** to your `https://xxxx.ngrok-free.app/tradingview-webhook`
* Use alert condition: `"Any alert()`" — because all logic is internal.
* Select **"Webhook URL"** and leave the message body blank.
---
### 🛠️ Use Cases
* Notify yourself on **EMA interaction**
* Detect **trend shifts or retests**
* Spot **volume-based market interest**
* Get real-time **BOS/CHOCH alerts** for Smart Money strategies
* Alert through **Telegram using your Node.js webhook server**
---
Would you like me to break down the full Pine Script block-by-block as well?
MACD Triple divergence signalsThis script is a basic combination of several scripts that I found very useful. It's a MACD divergence on steroids. Instead of using only one plot as a source for detecting divergence, I use all of the plots.
The idea is that if more divergence signals appear—especially after a prolonged downtrend or uptrend—they can be interpreted as a strong divergence signal.
The third divergence signal is taken from the MACD signal line. It has a longer-term lookback range, which could provide a more reliable divergence signal.
The default minimum lookback range is 15, much greater than the usual value of 5. This makes it more suitable for long-term trading or for lower timeframes (lower than 4H) to reduce noise from excessive signals. For timeframes higher than 4H, the setting can be reduced to around 10 or even 5.
For the 1W (weekly) timeframe, try using a value of 3.
I also added a band to give a clear visual of overbought and oversold areas. It works similarly to Bollinger Bands (BB). You can spot when the price is ranging or when a stop-loss hunt occurs (i.e., the price breaks the band).
Please do your homework—backtest it yourself to find which timeframe suits you best. You can also tweak the settings if you find the default values too aggressive or too mild.
I’ve found that MACD is more reliable on timeframes greater than 1H. Personally, I use it on the 4H and 1D timeframes.
in bahasa:
MACD dengan 3 sinyal divergence, kalau muncul lebih banyak, bisa jadi sinyal lebih menyakinkan.
Minimum lookback range default-nya 15 agar tidak muncul terlalu banyak sinyal. 15 lebih panjang, lebih ok. Kalau main di higher timeframe seperti 1D, bisa 5-10, kalau weeky timeframe = 3.
Untuk band, cek ketika plot-nya keluar dari band, itu bisa jadi jackpot, apalagi kalau plot-nya membentuk double bottom.
Backtest sendiri, siapa tahu kalian bisa dapet setting sendiri.
MACD with upper and lower band will give you a clear visual of price movements
More divergence signals are generated and when the price breaks out of the oversold band = jackpot.
Amavasya High Lows"This script plots Higher Highs and Lower Lows following each Amavasya trading date."
Zero Lag Trend Signals (MTF) [AlgoAlpha]// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © AlgoAlpha
//@version=5
indicator("Zero Lag Trend Signals (MTF) ", shorttitle="AlgoAlpha - 0️⃣Zero Lag Signals", overlay=true)
length = input.int(70, "Length", tooltip = "The Look-Back window for the Zero-Lag EMA calculations", group = "Main Calculations")
mult = input.float(1.2, "Band Multiplier", tooltip = "This value controls the thickness of the bands, a larger value makes the indicato less noisy", group = "Main Calculations")
t1 = input.timeframe("5", "Time frame 1", group = "Extra Timeframes")
t2 = input.timeframe("15", "Time frame 2", group = "Extra Timeframes")
t3 = input.timeframe("60", "Time frame 3", group = "Extra Timeframes")
t4 = input.timeframe("240", "Time frame 4", group = "Extra Timeframes")
t5 = input.timeframe("1D", "Time frame 5", group = "Extra Timeframes")
green = input.color(#00ffbb, "Bullish Color", group = "Appearance")
red = input.color(#ff1100, "Bearish Color", group = "Appearance")
src = close
lag = math.floor((length - 1) / 2)
zlema = ta.ema(src + (src - src ), length)
volatility = ta.highest(ta.atr(length), length*3) * mult
var trend = 0
if ta.crossover(close, zlema+volatility)
trend := 1
if ta.crossunder(close, zlema-volatility)
trend := -1
zlemaColor = trend == 1 ? color.new(green, 70) : color.new(red, 70)
m = plot(zlema, title="Zero Lag Basis", linewidth=2, color=zlemaColor)
upper = plot(trend == -1 ? zlema+volatility : na, style = plot.style_linebr, color = color.new(red, 90), title = "Upper Deviation Band")
lower = plot(trend == 1 ? zlema-volatility : na, style = plot.style_linebr, color = color.new(green, 90), title = "Lower Deviation Band")
fill(m, upper, (open + close) / 2, zlema+volatility, color.new(red, 90), color.new(red, 70))
fill(m, lower, (open + close) / 2, zlema-volatility, color.new(green, 90), color.new(green, 70))
plotshape(ta.crossunder(trend, 0) ? zlema+volatility : na, "Bearish Trend", shape.labeldown, location.absolute, red, text = "▼", textcolor = chart.fg_color, size = size.small)
plotshape(ta.crossover(trend, 0) ? zlema-volatility : na, "Bullish Trend", shape.labelup, location.absolute, green, text = "▲", textcolor = chart.fg_color, size = size.small)
plotchar(ta.crossover(close, zlema) and trend == 1 and trend == 1 ? zlema-volatility*1.5 : na, "Bullish Entry", "▲", location.absolute, green, size = size.tiny)
plotchar(ta.crossunder(close, zlema) and trend == -1 and trend == -1 ? zlema+volatility*1.5 : na, "Bearish Entry", "▼", location.absolute, red, size = size.tiny)
s1 = request.security(syminfo.tickerid, t1, trend)
s2 = request.security(syminfo.tickerid, t2, trend)
s3 = request.security(syminfo.tickerid, t3, trend)
s4 = request.security(syminfo.tickerid, t4, trend)
s5 = request.security(syminfo.tickerid, t5, trend)
s1a = s1 == 1 ? "Bullish" : "Bearish"
s2a = s2 == 1 ? "Bullish" : "Bearish"
s3a = s3 == 1 ? "Bullish" : "Bearish"
s4a = s4 == 1 ? "Bullish" : "Bearish"
s5a = s5 == 1 ? "Bullish" : "Bearish"
if barstate.islast
var data_table = table.new(position=position.top_right, columns=2, rows=6, bgcolor=chart.bg_color, border_width=1, border_color=chart.fg_color, frame_color=chart.fg_color, frame_width=1)
table.cell(data_table, text_halign=text.align_center, column=0, row=0, text="Time Frame", text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=0, text="Signal", text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=0, row=1, text=t1, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=1, text=s1a, text_color=chart.fg_color, bgcolor=s1a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=2, text=t2, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=2, text=s2a, text_color=chart.fg_color, bgcolor=s2a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=3, text=t3, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=3, text=s3a, text_color=chart.fg_color, bgcolor=s3a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=4, text=t4, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=4, text=s4a, text_color=chart.fg_color, bgcolor=s4a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=5, text=t5, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=5, text=s5a, text_color=chart.fg_color, bgcolor=s5a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
/////////////////////////////////////////ALERTS FOR SMALL ARROWS (ENTRY SIGNALS)
alertcondition(ta.crossover(close, zlema) and trend == 1 and trend == 1, "Bullish Entry Signal",
message="Bullish Entry Signal detected. Consider entering a long position.")
alertcondition(ta.crossunder(close, zlema) and trend == -1 and trend == -1, "Bearish Entry Signal",
message="Bearish Entry Signal detected. Consider entering a short position.")
/////////////////////////////////////////ALERTS FOR TREND CONDITIONS
alertcondition(ta.crossover(trend, 0), "Bullish Trend")
alertcondition(ta.crossunder(trend, 0), "Bearish Trend")
alertcondition(ta.cross(trend, 0), "(Bullish or Bearish) Trend")
alertcondition(ta.crossover(s1, 0), "Bullish Trend Time Frame 1")
alertcondition(ta.crossunder(s1, 0), "Bearish Trend Time Frame 1")
alertcondition(ta.cross(s1, 0), "(Bullish or Bearish) Trend Time Frame 1")
alertcondition(ta.crossover(s2, 0), "Bullish Trend Time Frame 2")
alertcondition(ta.crossunder(s2, 0), "Bearish Trend Time Frame 2")
alertcondition(ta.cross(s2, 0), "(Bullish or Bearish) Trend Time Frame 2")
alertcondition(ta.crossover(s3, 0), "Bullish Trend Time Frame 3")
alertcondition(ta.crossunder(s3, 0), "Bearish Trend Time Frame 3")
alertcondition(ta.cross(s3, 0), "(Bullish or Bearish) Trend Time Frame 3")
alertcondition(ta.crossover(s4, 0), "Bullish Trend Time Frame 4")
alertcondition(ta.crossunder(s4, 0), "Bearish Trend Time Frame 4")
alertcondition(ta.cross(s4, 0), "(Bullish or Bearish) Trend Time Frame 4")
alertcondition(ta.crossover(s5, 0), "Bullish Trend Time Frame 5")
alertcondition(ta.crossunder(s5, 0), "Bearish Trend Time Frame 5")
alertcondition(ta.cross(s5, 0), "(Bullish or Bearish) Trend Time Frame 5")
alertcondition(ta.crossover(close, zlema) and trend == 1 and trend == 1, "Bullish Entry")
alertcondition(ta.crossunder(close, zlema) and trend == -1 and trend == -1, "Bearish Entry")
bullishAgreement = s1 == 1 and s2 == 1 and s3 == 1 and s4 == 1 and s5 == 1
bearishAgreement = s1 == -1 and s2 == -1 and s3 == -1 and s4 == -1 and s5 == -1
alertcondition(bullishAgreement, "Full Bullish Agreement", message="All timeframes agree on bullish trend.")
alertcondition(bearishAgreement, "Full Bearish Agreement", message="All timeframes agree on bearish trend.")
🔁 EMA 3/21 Crossover Strategy — Exit on Opposite SignalEMA 3/21 Crossover Strategy — Exit on Opposite Signal
This strategy enters trades based on a crossover between two exponential moving averages:
Buy Entry: When the 3-period EMA crosses above the 21-period EMA
Sell Entry: When the 3-period EMA crosses below the 21-period EMA
Exit Rule: Positions are exited only when an opposite signal occurs (i.e., a new crossover in the other direction)
Key Features:
Designed for trend-following setups
Uses ATR-based SL/TP lines for visual reference only (trades do not auto-close at SL/TP)
Suitable for manual or automated trading logic with high trade clarity
Can be applied on any timeframe and any liquid instrument (Forex, crypto, indices, etc.)
Recommended Use:
Combine with volume or session filters for improved signal quality
Ideal for traders seeking clear entry/exit rules with minimal noise
Best on trending instruments and medium timeframes (USDJPY; Daily)
RSI with Native Alerts//@version=5
indicator("RSI with Native Alerts", shorttitle="RSI Alerts", overlay=false)
// — INPUT
len = input.int(14, title="RSI Length")
// — CÁLCULO RSI
r = ta.rsi(close, len)
// — PLOT RSI y BANDAS
plot(r, title="RSI", color=#7E57C2)
hline(80, title="Overbought", color=color.red, linestyle=hline.style_dashed)
hline(50, title="Middle", color=color.gray, linestyle=hline.style_solid)
hline(20, title="Oversold", color=color.green, linestyle=hline.style_dashed)
// — ALERTAS INTERNAS (usa UNA sola ranura de alerta)
if ta.crossover(r, 80)
alert("🔔 RSI crossed above 80: " + str.tostring(r, format.mintick), alert.freq_once_per_bar)
if ta.crossunder(r, 20)
alert("🔔 RSI crossed below 20: " + str.tostring(r, format.mintick), alert.freq_once_per_bar)
RSI Alerts//@version=5
indicator("RSI Alerts", shorttitle="RSI Alerts", overlay=false)
// — INPUT
len = input.int(14, "RSI Length")
// — CÁLCULO
r = ta.rsi(close, len)
// — PLOT RSI Y BANDAS
plot(r, "RSI", color=#7E57C2)
hline(80, "Overbought", color=color.red, linestyle=hline.style_dashed)
hline(50, "Middle", color=color.gray, linestyle=hline.style_solid)
hline(20, "Oversold", color=color.green, linestyle=hline.style_dashed)
// — ALERTAS INTERNAS (usa UNA sola ranura de alerta)
if ta.crossover(r, 80)
alert("🔔 RSI cruzó por encima de 80: " + str.tostring(r, format.mintick), alert.freq_once_per_bar)
if ta.crossunder(r, 20)
alert("🔔 RSI cruzó por debajo de 20: " + str.tostring(r, format.mintick), alert.freq_once_per_bar)
“Risk-Asset Liquidity Meter”The CN10Y / DXY / HY-OAS Liquidity Gauge distills three cross-asset signals into a single real-time line that has proven highly responsive to global liquidity swings. By dividing China’s 10-year government-bond yield (a proxy for PBoC policy) by both the U.S. Dollar Index level (a barometer of worldwide dollar tightness) and the ICE BofA U.S. High-Yield credit spread (a daily read on risk appetite), the indicator rises when monetary conditions loosen—China is easing, the dollar is softening, and credit markets are calm—and falls when any of those pillars tighten. Traders pair the raw ratio with its 50-day simple moving average to smooth noise and generate directional signals: sustained moves above the MA typically foreshadow strength in Bitcoin, alt-coins, equities and EM assets, while decisive breaks below it often flag oncoming funding stress or risk-off episodes. Because all inputs update daily and are freely sourced (TVC\:CN10Y, TVC\:DXY, FRED\:BAMLH0A0HYM2), the gauge is a lightweight yet powerful compass for anyone who needs a fast, transparent snapshot of global liquidity’s push-and-pull on crypto and other risk markets.
TRAPPER Volume Trigger + SMAs + Buy/Sell SplitThe TRAPPER TRIGGER is a precision-based volume spike indicator designed for intraday traders, scalpers, and swing traders who rely on key volume activity to anticipate sharp market movements. It operates on volume delta logic, detecting disproportionate buying or selling activity that signifies potential market reversals or breakouts.
How It Works:
Volume Spike Logic (Delta-Based)
The script calculates a dynamic volume threshold using a moving average of historical volume data.
It identifies a delta spike by comparing current volume against this threshold—when volume exceeds it significantly, it suggests abnormal activity.
If the candle closes higher than it opens (bullish), the script registers it as a Buy Spike ⚖️.
If the candle closes lower than it opens (bearish), it marks a Sell Spike 🏁.
These are not based on the candle’s body size but the volume differential (delta) between buy/sell pressure inferred from candle direction.
Trigger Labels
Only the most recent buy/sell spike is labeled for clarity, avoiding clutter.
Labels are color-coded to match the candle body (e.g., bright green for bullish, magenta for bearish).
Label style: ⚖️ for Buy Spikes, 🏁 for Sell Spikes.
SMA Suite (Fully Customizable):
Six SMAs: 5 (yellow), 10 (blue), 20 (green), 50 (orange), 100 (red), 200 (white).
Each can be toggled and customized in the script settings for visibility and styling.
Key Benefits
Clean, minimalistic charting — focuses only on high-probability events.
Provides delta-driven insights without requiring access to full L2 order book data.
Works across any timeframe — logic recalculates and resets zones per timeframe switch.
Designed for sniper-style entries—ideal for traders who prefer minimal noise and maximum signal clarity.
Easily extendable with SR zones, AVWAP, liquidity levels, or alerts if desired in future updates.
Who It’s For
Scalpers and intraday traders looking for clean triggers.
Swing traders wanting confirmation of institutional moves.
Volume profile enthusiasts who need a trigger alert system.
Developers who want a base volume framework to build more advanced tools on.
Disclaimer
This script is provided as-is and is intended for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any security or asset.
All trading involves risk. Users should perform their own due diligence and consult with a qualified financial advisor before making any trading decisions. The author of this script assumes no liability for any losses or damages arising from the use or reliance on this tool.
By using this script, you acknowledge and agree that you are solely responsible for your own trading decisions and outcomes.
Price to Earnings (P/E) Ratio with Yearly Avgthis price to earning ratio indicator with average PE line.
average PE line can be customize for period
Step 1: Draw Thursday HighScript Description: Thursday High Marker
This is an automated charting tool designed to identify the high of each Thursday and display it as a key reference level for future trading sessions.
Core Functionality:
The script's logic is simple and precise. It waits for the trading session on Thursday to complete. At the very beginning of Friday, it looks back, finds the highest price from Thursday, and draws a clean, white horizontal line at that level.
Key Features:
Automatic: You don't need to do anything. The script finds and draws the level on its own every week.
Forward-Looking: The line extends to the right indefinitely, allowing you to see how future price action interacts with this key level.
Self-Cleaning: To keep your chart uncluttered, the script automatically deletes the previous week's line when it draws the new one.
Lightweight: It performs a single, simple task, so it doesn't slow down your chart.
Purpose in Trading:
Traders use this kind of indicator to track significant weekly price points. The high of a late-week session like Thursday is often considered an important liquidity level. A break above this line can signal bullish strength or a "liquidity sweep," making it a valuable point of interest for making trading decisions on Friday and into the following week.
Metaplanet MSW Strike LevelsMetaplanet Moving Strike Warrant (MSW) Price Tracker
This indicator displays Metaplanet's actual Moving Strike Warrant pricing schedule with real-time strike price visualization. It shows the exact strike prices that determine warrant exercise values based on Metaplanet's official MSW terms.
Key Features:
Current Period: Strike locked at ¥1,649 from June 24th through July 1st, 2025
Automatic Updates: Starting July 2nd, strike prices re-evaluate every 3 trading days using 3-day SMA of closing prices
Visual Strike Lines: Yellow horizontal lines show active MSW strike prices for each period
Background Signals: Light green when price is above strike (favorable), light red when below
Information Panel: Orange table displays current strike price and next evaluation date
Evaluation Markers: Orange/yellow dots mark re-evaluation dates
How It Works:
The indicator follows Metaplanet's official MSW schedule, automatically calculating new strike prices every 3 trading days based on the 3-day simple moving average of previous closing prices. This helps warrant holders track exercise opportunities and understand the dynamic pricing mechanism.
Momentum TrendThis indicator suite aims to confirm strong uptrends or downtrends by combining ADX, MACD, ATR, and Accumulation/Distribution signals—green dots suggest confirmed upward momentum supported by accumulation at that moment, red dots indicate strong downward momentum, while separate A/D and ADX panels help visually assess trend strength and volume pressure for confirmation.
Thursday High & Friday Low Breakout (Safe)This TradingView Pine Script indicator is designed to help traders visually track two key situational breakout patterns that occur across the Thursday–Monday trading window. Specifically, it detects:
Whether the high of Thursday has been taken out on Friday, and
Whether the low of Friday has been breached on Monday.
These conditions are based on commonly observed market behaviors where key highs and lows from the previous days often act as liquidity targets or decision points. By identifying these events, traders can better understand the unfolding market structure and anticipate potential follow-through or reversals.
The script stores Thursday's high and Friday's low at the close of each respective day and evaluates the breakout conditions in real-time as new bars are printed. When Friday’s price action exceeds Thursday’s high, an upward-pointing green triangle is plotted above the bar. Conversely, when Monday’s price breaks below Friday’s low, a red downward triangle is plotted below the bar.
Unlike scripts that rely on label.new (which can create compatibility issues on certain platforms or versions), this version uses plotshape() to ensure wide compatibility and reliable visual cues, even on older Pine Script environments. This makes it lightweight, robust, and ideal for traders who want a quick-glance tool without cluttering their charts.
The indicator is best used on 1H, 4H, or daily timeframes to clearly observe the Thursday–Friday–Monday structure. It works well in both trending and consolidating markets as a tool to mark potential liquidity sweeps or break-of-structure setups.
Trading Sessionsthis indicator labels asia, london, and new york sessions with accurate times for trading indexes like nq, es, or ym. It gives a range from the session lows to session highs which can be used to identify liquidity grabs and price action.
EMA Crossover Strategy (HA + 2 Candle Confirm)Best use for intraday scalping upto 30min timeframe.
Use it with Hikin Ashi candles to spot and hold trades for maximum profits.
Next Day Key Levels [Auto-Pivot Suite] RobustNext Day Key Levels
Automatically plot key levels (Floor Pivots) for the next U.S. trading day, with smart session detection.
What does this script do?
Automatically detects the most recent completed U.S. regular trading session (9:30 AM–4:00 PM Eastern) and plots all classic Floor Pivot levels for the next trading day.
Handles Mondays and holidays: Always uses the most recent session’s data, so Friday’s values are shown on Monday, and holidays are skipped seamlessly.
Works in both pre-market and after-hours—levels appear for the next session at the right time.
Levels plotted:
Previous Session High (H)
Previous Session Low (L)
Previous Session Close (C)
Pivot (P)
Resistance 1, 2, 3 (R1, R2, R3)
Support 1, 2, 3 (S1, S2, S3)
How it works
Monitors each bar and tracks session highs/lows/close only during regular market hours.
At the close of each session (4:00 PM ET), saves these values.
In pre-market (before 9:30 AM ET) and after-hours (after 4:00 PM ET), automatically plots levels based on the last completed session—always the correct session, even on Mondays and after holidays.
Why is it better?
No clutter: Only one set of levels per day, drawn cleanly.
Accurate pivots for every next U.S. session.
Zero manual setup: Add to any U.S. ticker, on any intraday timeframe.
Features
Works across all U.S. stocks and ETFs.
Plots and labels all levels with color coding for quick reference.
Designed for intraday and short-term trading strategies.
Handles time zone and market session edge cases automatically.
How to use
Add the indicator to any U.S. equity or ETF chart (15m–1h timeframes recommended).
Levels will appear automatically in pre-market or after the market closes, always for the next session.
Trade with confidence using automatic, accurate pivots and support/resistance levels.
Developed by .
For questions or feedback, leave a comment below!
Multi Horizontal Lines 1000 Bars
This indicator is not my code, I have copied this from another user and extened the lines so they go back 1000 bars for back testing.
I use this indicator to trade Crude Oil and set the horizontal lines to 20 cents increments, 0.2 is 20 cents. You can change the horizontal lines to any price distance to suit your style of trading.
My idea is when price crosses over a horizontal line I will enter a trade long or short looking to secure 20 cents.
Cumulative Volume Delta with MAfor higher timeframes , i use 9 or 11 ema , and 5 seconds on 1 day. moving average of the cvd not the raw volume . i use it with the impulse macd and find momentum trades or selloffs when moving averages cross .
CVD with Dual MAprefered settings.
Cvd 5 seconds on 1 minute timeframe . this indicator also has moving averages . i prefer the 21 or 30 ema and the 90 or 120 ema for the other. smaller timeframe means you can see more cvd vs using 1 minute on 1 minute . the middle line acts as a definitive decision for a short because if price is also below vwap and is approaching the middle line it is more likely to go down, use the ma crosses to signal some buying momentum rising and they are the ema of the CVD not total raw volume . i use this also on 15 m but with the single cvd moving average . which is separate indicator because of some syntax error idk bro had to make a separate one for higher timeframe.