Midpoint Levels day/week/month/high/low /close//@version=5
indicator("Midpoint Levels + Previous Week Close", overlay=true)
// === Inputs for Day Midpoint ===
showDay = input.bool(true, "Show Day Midpoint")
dayColor = input.color(color.orange, "Day Midpoint Color")
dayWidth = input.int(1, "Day Line Thickness", minval=1, maxval=5)
dayStyleOpt = input.string("Solid", "Day Line Style", options= )
dayStyle = dayStyleOpt == "Dashed" ? line.style_dashed : dayStyleOpt == "Dotted" ? line.style_dotted : line.style_solid
// === Inputs for Week Midpoint ===
showWeek = input.bool(true, "Show Week Midpoint")
weekColor = input.color(color.blue, "Week Midpoint Color")
weekWidth = input.int(1, "Week Line Thickness", minval=1, maxval=5)
weekStyleOpt = input.string("Solid", "Week Line Style", options= )
weekStyle = weekStyleOpt == "Dashed" ? line.style_dashed : weekStyleOpt == "Dotted" ? line.style_dotted : line.style_solid
// === Inputs for Month Midpoint ===
showMonth = input.bool(true, "Show Month Midpoint")
monthColor = input.color(color.purple, "Month Midpoint Color")
monthWidth = input.int(1, "Month Line Thickness", minval=1, maxval=5)
monthStyleOpt = input.string("Solid", "Month Line Style", options= )
monthStyle = monthStyleOpt == "Dashed" ? line.style_dashed : monthStyleOpt == "Dotted" ? line.style_dotted : line.style_solid
// === Inputs for Previous Week Close ===
showWeekClose = input.bool(true, "Show Previous Week Close")
prevWeekCloseColor = input.color(color.red, "Previous Week Close Color")
prevWeekCloseWidth = input.int(1, "Week Close Line Thickness", minval=1, maxval=5)
weekCloseStyleOpt = input.string("Solid", "Week Close Line Style", options= )
weekCloseStyle = weekCloseStyleOpt == "Dashed" ? line.style_dashed : weekCloseStyleOpt == "Dotted" ? line.style_dotted : line.style_solid
// === Fetch Previous Highs, Lows, Closes
prevDayHigh = request.security(syminfo.tickerid, "D", high , lookahead=barmerge.lookahead_on)
prevDayLow = request.security(syminfo.tickerid, "D", low , lookahead=barmerge.lookahead_on)
prevWeekHigh = request.security(syminfo.tickerid, "W", high , lookahead=barmerge.lookahead_on)
prevWeekLow = request.security(syminfo.tickerid, "W", low , lookahead=barmerge.lookahead_on)
prevMonthHigh = request.security(syminfo.tickerid, "M", high , lookahead=barmerge.lookahead_on)
prevMonthLow = request.security(syminfo.tickerid, "M", low , lookahead=barmerge.lookahead_on)
prevWeekClose = request.security(syminfo.tickerid, "W", close , lookahead=barmerge.lookahead_on)
// === Calculate Midpoints
dayMid = (prevDayHigh + prevDayLow) / 2
weekMid = (prevWeekHigh + prevWeekLow) / 2
monthMid = (prevMonthHigh + prevMonthLow) / 2
// === Detect new time periods
newDay = ta.change(time("D"))
newWeek = ta.change(time("W"))
newMonth = ta.change(time("M"))
// === Line variables
var line dayLine = na
var line weekLine = na
var line monthLine = na
var line weekCloseLine = na
// === Create/Update Lines Conditionally
if newDay and showDay
if not na(dayLine)
line.delete(dayLine)
dayLine := line.new(bar_index, dayMid, bar_index + 1, dayMid,color=dayColor, width=dayWidth, style=dayStyle, extend=extend.right)
if newWeek
if not na(weekLine)
line.delete(weekLine)
if showWeek
weekLine := line.new(bar_index, weekMid, bar_index + 1, weekMid,color=weekColor, width=weekWidth, style=weekStyle, extend=extend.right)
if not na(weekCloseLine)
line.delete(weekCloseLine)
if showWeekClose
weekCloseLine := line.new(bar_index, prevWeekClose, bar_index + 1, prevWeekClose,color=prevWeekCloseColor, width=prevWeekCloseWidth, style=weekCloseStyle, extend=extend.right)
if newMonth and showMonth
if not na(monthLine)
line.delete(monthLine)
monthLine := line.new(bar_index, monthMid, bar_index + 1, monthMid,color=monthColor, width=monthWidth, style=monthStyle, extend=extend.right)
// okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
// === Inputs: Previous Day High/Low/Close
showPrevHigh = input.bool(true, "Show Previous Day High")
prevHighColor = input.color(color.green, "Prev Day High Color")
prevHighWidth = input.int(1, "Prev Day High Thickness", minval=1, maxval=5)
prevHighStyleOpt = input.string("Solid", "Prev Day High Style", options= )
prevHighStyle = prevHighStyleOpt == "Dashed" ? line.style_dashed : prevHighStyleOpt == "Dotted" ? line.style_dotted : line.style_solid
showPrevLow = input.bool(true, "Show Previous Day Low")
prevLowColor = input.color(color.maroon, "Prev Day Low Color")
prevLowWidth = input.int(1, "Prev Day Low Thickness", minval=1, maxval=5)
prevLowStyleOpt = input.string("Solid", "Prev Day Low Style", options= )
prevLowStyle = prevLowStyleOpt == "Dashed" ? line.style_dashed : prevLowStyleOpt == "Dotted" ? line.style_dotted : line.style_solid
showPrevClose = input.bool(true, "Show Previous Day Close")
prevCloseColor = input.color(color.navy, "Prev Day Close Color")
prevCloseWidth = input.int(1, "Prev Day Close Thickness", minval=1, maxval=5)
prevCloseStyleOpt = input.string("Solid", "Prev Day Close Style", options= )
prevCloseStyle = prevCloseStyleOpt == "Dashed" ? line.style_dashed : prevCloseStyleOpt == "Dotted" ? line.style_dotted : line.style_solid
prevDayClose = request.security(syminfo.tickerid, "D", close , lookahead=barmerge.lookahead_on)
var line prevHighLine = na
var line prevLowLine = na
var line prevCloseLine = na
// === Previous Day High
if not na(prevHighLine)
line.delete(prevHighLine)
if showPrevHigh
prevHighLine := line.new(bar_index, prevDayHigh, bar_index + 1, prevDayHigh, color=prevHighColor, width=prevHighWidth, style=prevHighStyle, extend=extend.right)
// === Previous Day Low
if not na(prevLowLine)
line.delete(prevLowLine)
if showPrevLow
prevLowLine := line.new(bar_index, prevDayLow, bar_index + 1, prevDayLow,color=prevLowColor, width=prevLowWidth, style=prevLowStyle, extend=extend.right)
// === Previous Day Close
if not na(prevCloseLine)
line.delete(prevCloseLine)
if showPrevClose
prevCloseLine := line.new(bar_index, prevDayClose, bar_index + 1, prevDayClose, color=prevCloseColor, width=prevCloseWidth, style=prevCloseStyle, extend=extend.right)
אינדיקטורים ואסטרטגיות
TTM Squeeze Screener [Pineify]TTM Squeeze Screener for Multiple Crypto Assets and Timeframes
This advanced TradingView Pine script, TTM Squeeze Screener, helps traders scan multiple crypto symbols and timeframes simultaneously, unlocking new dimensions in momentum and volatility analysis.
Key Features
Screen up to 8 crypto symbols across 4 different timeframes in one pane
TTM Squeeze indicator detects volatility contraction and expansion (“squeeze”) phases
Momentum filter reveals potential breakout direction and strength
Visual screener table for intuitive multi-asset monitoring
Fully customizable for symbols and timeframes
How It Works
The heart of this screener is the TTM Squeeze algorithm—a hybrid volatility and momentum indicator leveraging Bollinger Bands, Keltner Channels, and linear momentum analysis. The script checks whether Bollinger Bands are “squeezed” inside Keltner Channels, flagging periods of low volatility primed for expansion. Once a squeeze is released, the included momentum calculation suggests the likely breakout direction.
For each selected symbol and timeframe, the screener runs the TTM Squeeze logic, outputs “SQUEEZE” or “NO SQZ”, and tags momentum values. A table layout organizes the results, allowing rapid pattern recognition across symbols.
Trading Ideas and Insights
Spot multi-symbol volatility clusters—ideal for finding synchronized market moves
Assess breakout potential and direction before entering trades
Scalping and swing trading decisions are enhanced by cross-timeframe momentum filtering
Portfolio managers can quickly identify which assets are about to move
How Multiple Indicators Work Together
This screener unites three essential concepts:
Bollinger Bands : Measure volatility using standard deviation of price
Keltner Channels : Define expected price range based on average true range (ATR)
Momentum : Linear regression calculation to evaluate the direction and intensity after a squeeze
By combining these, the indicator not only signals when volatility compresses and releases, but also adds directional context—filtering false signals and helping traders time entries and exits more precisely.
Unique Aspects
Multi-symbol, multi-timeframe architecture—optimized for crypto traders and market scanners
Advanced table visualization—see all signals at a glance, minimizing cognitive overload
Modular calculation functions—easy to adapt and extend for other asset classes or strategies
Real-time, low-latency screening—built for actionable alerts on fast-moving markets
How to Use
Add the script to a TradingView chart (works on custom layouts)
Select up to 8 symbols and 4 timeframes using input fields (defaults to BTCUSD, ETHUSD, etc.)
Monitor the screener table; “SQUEEZE” highlights assets in potential breakout phase
Use momentum values to judge if the squeeze is likely bullish or bearish
Combine screener insights with manual chart analysis for optimal results
Customization
Symbols: Easily set any ticker for deep market scanning
Timeframes: Adjust to match your trading horizon (scalping, swing, long-term)
Indicator parameters: Refine Bollinger/Keltner/Momentum settings for sensitivity
Visuals: Personalize table layout, color codes, and formatting for clarity
Conclusion
In summary, the TTM Squeeze Screener is a robust, original TradingView indicator designed for crypto traders who demand a sophisticated multi-symbol, multi-timeframe edge. Its combination of volatility and momentum analytics makes it ideal for catching explosive breakouts, managing risk, and scanning the market efficiently. Whether you’re a scalper or swing trader, this screener provides the insights needed to stay ahead of the curve.
DAMMU Buy vs Sell Liquidity + DifferenceIndicator Name:
Buy vs Sell Liquidity + Difference
Purpose:
This indicator helps traders analyze market liquidity by comparing the cumulative buy and sell volumes within a specified timeframe. It shows which side (buyers or sellers) is dominating and the magnitude of the imbalance.
Key Features:
Aggregation Timeframe:
Users can select the timeframe (1, 2, 3, 5, 15, 30 minutes) for which volume is analyzed.
Buy & Sell Volume Calculation:
Buy Volume: Total volume of candles where close > open.
Sell Volume: Total volume of candles where close < open.
Daily Reset:
Totals reset at the start of each new day, ensuring intra-day liquidity analysis.
Difference Calculation:
Shows the absolute difference between buy and sell volumes.
Also calculates the difference as a percentage of total volume.
Percentages:
Displays buy %, sell %, and diff % to 4 decimal places, giving precise insights.
Table Display:
A two-row table in the top-right corner of the chart:
Row 1: Absolute totals for BUY, SELL, and DIFF (full numbers with commas).
Row 2: Percentages for BUY, SELL, and DIFF (4 decimals).
Uses color coding: Green for BUY, Red for SELL, Dynamic for DIFF (based on dominance).
How to Use:
High Buy Volume: Indicates strong buying pressure; bullish sentiment.
High Sell Volume: Indicates strong selling pressure; bearish sentiment.
Large DIFF %: Signals dominant market side; useful for short-term scalping or spotting liquidity imbalance.
Comparing BUY vs SELL %: Helps identify when the market may reverse or continue the trend.
If you want, I can also make a 1-paragraph “trader-friendly” explanation that you could directly include in your Pine Script as a comment or in a strategy guide.
HM2 - Murrey Math Levels# Murrey Math Indicator - Comprehensive Description
## **What is Murrey Math?**
Murrey Math is a trading system developed by T.H. Murrey that divides price action into 8 equal segments (octaves) based on Gann and geometry principles. It automatically identifies key support and resistance levels where price is likely to react, making it a powerful tool for determining entry/exit points and price targets.
## **How It Works**
The indicator:
1. **Analyzes price history** over a lookback period (default 64-200 bars)
2. **Finds the highest high and lowest low** in that period
3. **Calculates a "fractal"** - a geometric scaling factor based on price magnitude
4. **Creates 8 equal divisions** between key levels, plus 4 overshoot levels (total 13 levels)
5. **Labels each level** from -2/8 to +2/8 with their trading significance
## **The 13 Murrey Math Levels**
### **Core Levels (0/8 to 8/8):**
- ** - Ultimate Support** (Blue)
- Extreme oversold condition
- Strong buying opportunity
- Price rarely breaks below this
- ** - Weak, Stall & Reverse** (Orange)
- Weak support level
- Price often stalls and reverses here
- ** - Pivot/Reverse Level** (Red)
- Major support that can become resistance
- Important reversal zone
- ** - Bottom of Trading Range - BUY Zone** (Green)
- Bottom boundary of normal trading
- **Premium BUY zone** - 40% of trading happens between 3/8 and 5/8
- ** - Major Support/Resistance** (Blue)
- **THE MOST IMPORTANT LEVEL**
- The midpoint - best entry/exit level
- Strong pivot point that price respects
- ** - Top of Trading Range - SELL Zone** (Green)
- Top boundary of normal trading
- **Premium SELL zone**
- ** - Pivot/Reverse Level** (Red)
- Major resistance that can become support
- Important reversal zone
- ** - Weak, Stall & Reverse** (Orange)
- Weak resistance level
- Price often stalls and reverses here
- ** - Ultimate Resistance** (Blue)
- Extreme overbought condition
- Strong selling opportunity
- Price rarely breaks above this
### **Overshoot Levels:**
- ** & ** (Gray) - Extreme downside overshoot zones
- ** & ** (Gray) - Extreme upside overshoot zones
- These indicate extreme moves beyond normal trading ranges
## **Trading Zones (from your diagram)**
1. **Consolidation Trading Area** (0/8 to 3/8)
- Price is in a bearish zone
- Look for BUY opportunities near support levels
2. **Normal Trading Area** (3/8 to 5/8)
- **40% of trading occurs here**
- Price oscillates between these boundaries
- Range-bound trading strategies work best
3. **Premium Trading Area** (5/8 to 8/8)
- Price is in a bullish zone
- Look for SELL opportunities near resistance levels
## **Trading Strategies**
### **Buy Signals:**
- Price bounces off 0/8 (ultimate support)
- Price pulls back to 3/8 in an uptrend
- Price breaks above 4/8 after consolidation
### **Sell Signals:**
- Price rejects at 8/8 (ultimate resistance)
- Price rallies to 5/8 in a downtrend
- Price breaks below 4/8 after consolidation
### **Range Trading:**
- Buy near 3/8, sell near 5/8 when price is ranging
- Use 4/8 as the pivot to determine trend direction
## **Key Advantages**
✅ **Objective levels** - No subjective placement
✅ **Self-adjusting** - Automatically recalculates based on recent price action
✅ **Clear trading zones** - Easy to identify support/resistance
✅ **Works on all timeframes** - From 1-minute to monthly charts
✅ **Combines with other indicators** - Works well with RSI, MACD, etc.
## **Important Notes**
- The indicator is **dynamic** - levels update as new highs/lows form
- **4/8 is the most critical level** - price above = bullish, below = bearish
- When price reaches overshoot levels (±1/8, ±2/8), expect strong reversals
- Works best in trending markets; can give false signals in choppy conditions
This geometric approach to support/resistance has been used by traders for decades and remains popular due to its objective, mathematical nature!
Dynamic Sessions - Asia, London, New YorkThis indicator lets you set trading sessions (custom sessions) and print them out as dynamic polyboxes instead of traditional rectangles which lets you identify strong moves and trends easier.
NIFTY Consolidation → Breakout FinderThis indicator defines 5 day consolidation period and breakout label. This works best on a daily chart. Please back test before use.
Palat Trading System Entry Prices (Bear)This script gives you the entry points for 4,5,6,7 consecutive candles which got up closing vs last trading day.
Palat Trading System Entry Prices (Bull)This script gives you the entry points for 4,5,6,7 consequetive candles which got down closing vs last trading day.
Chart-prepFxxDanny Chart-Prep
A practical multi-tool script for clean and structured chart preparation.
✨ Features
Weekly Close Levels
Automatically plots the previous week’s close and the week before that, with clear styling to distinguish current and past levels.
Trading Sessions
Colored session boxes for the three key market sessions:
Asia (20:00–23:00 UTC-4)
Europe (02:00–05:00 UTC-4)
New York (08:00–11:00 UTC-4)
Each session box automatically adapts to the session’s high/low range and only keeps the last 5 visible to avoid clutter.
Previous Day’s High & Low
Plots the prior day’s high and low with lines that extend into the current session. Up to 10 days are kept on the chart.
Daily & Weekly Separators
Vertical lines to visually separate days (dotted) and weeks (solid, colored).
Anchored to a rolling price window so the Y-axis scaling stays clean and unaffected.
✅ Benefits
Stay focused with key price levels and session ranges marked automatically.
No need for manual drawing or constant adjustments.
Optimized performance – old objects are automatically removed.
No axis distortion from “infinite” lines or boxes.
kashinath_HTFThis can be very useful if you want to analyze two different timeframes without the need to switching between the different timeframes.
Candle Open-Close DifferenceThis script gives you the different price/points for each candle open and close.
Trend RiderTrend Rider is an all-in-one trading tool that helps you catch reversals, confirm trends, and spot key market levels with precision. It blends EMA clouds, volume filters, Bollinger Bands, swing levels, and session ranges into one streamlined system.
What makes Trend Rider powerful
• Dual EMA Clouds – clearly show short-term vs. long-term trend direction.
• Buy/Sell Signals – triggered on EMA crossovers, confirmed by volume strength.
• BB Reversal Mode – filters trades with Bollinger volatility and proximity to band extremes.
• Swing Levels – auto-plot important Highs/Lows as dynamic support and resistance.
• Session Ranges – highlight U.S. session and weekend boxes to track liquidity and gaps.
• Timeframe Guard – optimized exclusively for the 15-minute chart for higher accuracy.
• Alerts – every signal can fire TradingView notifications on bar close for higher reliability.
Core Value
Instead of stacking multiple tools, Trend Rider merges everything into one: trend confirmation, volume analysis, volatility filters, and key levels. The result is cleaner charts, sharper signals, and faster decisions.
Сreated with vibecoding using ChatGPT and Claude.
IDX Utility Set [zidaniee]Purpose
This indicator is not a technical analysis tool. It’s a companion overlay designed to guide your analysis of the uniquely structured Indonesia Stock Exchange (IDX).
Core Features
Centered Ticker Display – Clean, readable ticker shown at the center of the chart.
Company Name – Displays the listed company’s full name.
Active Timeframe – Shows the currently selected timeframe.
Additional Features
ATH & ATL Markers – Labels the All-Time High (ATH) and All-Time Low (ATL) and shows the percentage distance from the latest price to each level, so you can quickly gauge upside/downside room.
IDX Fraction (Tick) Levels – Visualizes Indonesia’s price-fraction (tick) brackets. This matters because tick size changes by price range—very useful for scalpers and fast traders.
ARA/ARB Levels (Realtime) – Plots Auto-Reject Upper (ARA) and Auto-Reject Lower (ARB) levels in real time. Levels refresh in line with IDX trading hours 09:00–16:00 WIB (UTC+7), so your view stays consistent both during and outside market hours. This feature already complies with the latest rules and adjustments set by the Indonesia Stock Exchange (IDX).
Suspension Status – Shows SUSPENDED if the stock is halted/suspended, helping you avoid unnecessary analysis. The suspension check compares today’s date with the last available candle date and accounts for weekends.
Note: WIB = Western Indonesia Time (UTC+7).
Bias Table-manualIt is just at tabular column to manually update Bullish/Bearish for multiple timeframes. Provided date option which is also manual, to denote when the analysis was done and table updated. This will be helpful for multiple stocks/securities analysis on regular basis
Mitigation Blocks — Lite (ICT) + Arrows + Stats📌 Mitigation Blocks — Lite (ICT-Based) + Arrows
This indicator detects mitigation blocks based on price structure shifts, inspired by ICT (Inner Circle Trader) concepts. It works by identifying strong impulses and highlighting the last opposite candle, forming a mitigation block zone for potential reversal or continuation trades.
🔍 Features:
✅ Automatic detection of bullish and bearish mitigation blocks
🟩 Box visualization with border color change on mitigation (first touch)
📉 ATR-based impulse filtering
📌 Entry arrows on first mitigation (touch)
📊 Autoscale anchors for better chart readability
📈 Real-time HUD info panel
📉 Backtest-friendly design (stable, deterministic logic)
🛠️ How it works:
Detects swing highs/lows using pivot points.
Confirms impulse candles breaking recent structure.
Locates the last opposite candle as the mitigation block.
Displays a block box until price revisits the zone.
On the first touch (mitigation), the block is marked and arrows are drawn.
💡 Ideal Use Case:
Apply this on higher timeframes (e.g., 4H) to identify potential limit order zones.
Use the blocks as entry zones and combine with confluence: FVGs, imbalance, S&D, or liquidity levels.
🧠 Extra Tip:
You can extend this script to include:
Win-rate tracking
Auto TP/SL levels based on ATR
Confluence detection (e.g., FVG, order blocks)
MACD cu RSI 7 Fibonacci color levelsMACD with RSI info
The RSI is display as value with changing color as Fibonacci levels.
MACD with RSI color 7 Fibonacci levelsMACD that contain RSI info
The color of RSI is change accordingly with Fibonacci levels, from red till green
EMA Dual with SL/TP ATR basedDouble EMA with cross and direction display.
Calculate stop loss / take profit based on ATR
If entering is not in the recognize direction also SL/TP is display (inversed values)
SL is 2xATR and TP is 4xAT by default - can be change
Also, SL/TP can be calculated at cross or at actual - see the table.
指定周期 EMA (20, 40, 60, 80)This indicator allows you to display EMA (20, 40, 60, 80) from a higher timeframe directly on your current chart.
It helps you identify trend direction, confluence zones, and dynamic support/resistance based on multi-timeframe EMAs.
Features:
Choose any higher timeframe (e.g. 60 = 1H, 240 = 4H, D = 1D)
Plots 4 EMAs: 20, 40, 60, and 80
Works seamlessly across all timeframes
Ideal for trend confirmation and multi-timeframe analysis
💡 Tip:
Try viewing the 1H EMAs on a 15min chart or 4H EMAs on a 1H chart — this helps identify where price interacts with higher timeframe structure.
10MA Crosses Above 20MA//@version=5
indicator("10MA Crosses Above 20MA", overlay=true)
ma10 = ta.sma(close, 10)
ma20 = ta.sma(close, 20)
plot(ma10, color=color.orange, title="10MA")
plot(ma20, color=color.blue, title="20MA")
crossUp = ta.crossover(ma10, ma20)
alertcondition(crossUp, title="10MA Crosses Above 20MA", message="10MA升穿20MA,可能是買入訊號!")
Basic Odds Enhancer: Supply Zone for ShortsHow to Use/Adjust:
On your chart, it marks bars where a 20-bar high coincides with high volume and bearish divergence—flag these as supply zones.
Tweak supply_threshold to 2.0 for stricter volume (fewer but stronger signals).
For zones, manually draw rectangles around the flagged area (use Drawing Tools > Rectangle).
Backtest: Apply to historical data (e.g., EUR/USD 4H) and check win rate with shorts on retests.
This setup typically yields 2-5 signals per week on major pairs, depending on volatility. Test on a demo account, and combine with market context (e.g., avoid shorts in strong uptrends).