Doji Ashi v2.0Doji Ashi v2.0
A versatile intraday trading indicator designed for both stocks and crypto, based on real trader feedback and tested principles.
...
Introduction & Acknowledgements
This script was made possible thanks to the ongoing feedback and live testing by the TradingView and Reddit communities. Special thanks to:
Nathan_Drake_000
Disastrous-Stand4613
Lalelulilo_ph
Jtri25
Each provided insights that directly shaped the filters, presets, and signal logic found in this release.
Much of the philosophy behind this indicator is inspired by the free Reddit PDF:
The Damn Wiki
I highly recommend reading it to better understand the edge this indicator is trying to provide.
...
What is Doji Ashi v2.0?
This indicator is designed for short-term intraday momentum trading, offering Buy and Sell signals based on a refined combination of filters including:
Trend alignment with daily SMAs
Momentum confirmation using EMA 3/8 cross
Relative volume to identify activity spikes
VWAP positioning to confirm trend consistency
Time filters to avoid unreliable early market chop
It adapts dynamically depending on whether you’re trading Stocks or Crypto, with appropriate filters toggled automatically.
...
How the Script Works
Core Logic:
A Buy signal appears when:
The price is in an uptrend (via SMAs)
VWAP and volume confirm momentum
EMA 3 crosses above EMA 8
Relative strength is strong (if enabled)
Market opens past first 30 mins
A Sell signal appears when:
The asset shows weakness across these same filters, in reverse
You’ll see green “BUY” or red “SELL” markers on your chart instantly when the full condition set is met. This script does not repaint.
Entry Logic Options:
Choose between:
"Cross" mode: Signals appear on 3/8 EMA crossover
"Above/Below" mode: Persistent signal while 3 EMA stays above/below 8 EMA
...
Strategy for Consistent Gains
This script works best on liquid stocks such as LUNR, ASTS and PLUG. It also works with Crypto. Make sure you choose the correct indicator setup type (Stocks or Crypto) in the setting before testing.
If you don't see any signals the default settings may be too strict for your chosen stock. Have a play with the settings to find the right balance for you. The default settings follow the strategy below for what I believe are currently the best results.
Alerts for buy/sell signals can be set from the alerts menu. For best results, make sure you set the alert to action on close of bar.
This indicator is most effective when:
Used with liquid stocks or crypto
Entries are confirmed with VWAP, not counter-trend
Signals are filtered by volume spikes and trend direction
Example strategy:
Buy a Call when you see a BUY signal with high volume, in an uptrend
Exit on a cross back to VWAP (the orange line) or a quick 1% profit
Do the opposite with PUTs on a SELL signal
This is ideal for quick day trades (scalps or trend moves), and avoids the choppy, uncertain zones at market open.
...
Optimizing via Settings
There are additional, stricter filters in the settings. Please adapt to your preference.
Presets:
Stocks (Default): Applies all filters but lets you disable them as needed
Crypto: Disables stock-specific filters (SPY comparison, RS, Daily trend)
Filters:
Daily Trend Filter: Helps align trades with higher timeframe direction (recommended ON for stocks)
Market Trend & RS: Filters based on SPY and relative performance (test enabling for SPY-following tickers)
VWAP Entry Filter: Keeps you from fighting the dominant intraday trend
Ignore First 30 Minutes: Avoids false signals at the open
Experiment with toggling filters ON/OFF to match your asset class and volatility conditions.
...
Finally
The best way to master this indicator is to understand the trading mindset it came from.
Read The Damn Wiki — it’s free, comprehensive, and packed with wisdom that this script distills into a usable tool.
If you would like to adapt this indicator you are very welcome to do so. All I ask in return is that you share your findings with the wider community.
...
Happy trading. May your entries be sharp and your exits cleaner.
~ @SassyStonks
Forecasting
🚀 Ultimate Hybrid Oscillator By Wali🚀 Ultimate Hybrid Oscillator – All Pro Modules by Wali Mohsin
The Ultimate Hybrid Oscillator is a next-generation multi-confirmation trading tool designed for serious traders who demand accuracy, confluence, and adaptability across all markets and timeframes.
🔍 What Makes It Powerful?
This script blends technical momentum, smart money logic, price action patterns, and macro market filters into one smooth, reliable oscillator that adapts to the market's true narrative.
🔧 Core Modules Integrated:
📊 MCI Engine (Momentum Confirmation Index)
Combines RSI, MACD, Stochastic RSI, OBV, ADX, ATR, volume spikes, absorption, candlestick behavior, and more – with weighted scoring (13+ confluence points).
📐 Price Action Pattern Recognition
Detects and confirms Head & Shoulders, Flags, Triangles, Wedges, Double/Triple Tops & Bottoms, Cup & Handle, Rounding patterns – filtered through RSI momentum.
🏦 Smart Money Concepts
Integrated CHoCH/BOS, Liquidity Sweeps, Breakaway Gaps, Orderblocks, and volume absorption for insider-grade confirmation.
🌐 Macro & Intermarket Sentiment
Auto-fetches BTC Dominance, USDT Dominance, ETHBTC, TOTAL3, DXY, and SPX for risk-on/off environment filtering.
🧠 Ensemble Voting System
A 22-factor confluence engine that scores hidden bullish/bearish setups based on real-time technical alignment.
🎯 RSI Zone Locking
Dynamic color shifts (yellow/blue) when RSI enters extreme reversal zones (below 30 or above 70) for added visual context.
📈 How to Use:
Use oscillator cross above/below 0 as a general trend signal.
Look for oscillator levels above +4 or below -4 for strong confirmation setups.
Combine with price action and macro signals for sniper entries.
Works on all timeframes – optimized for scalping, swing, and long-term crypto traders.
⚙️ Customization:
Full modular toggles (CHoCH, Liq Sweep, Macro, Orderblocks, EMA filter).
Adjustable weights for each component (MCI, PA, Macro).
Smoothing settings to match your trading speed and style.
Created by: Wali Mohsin Channa
Maqs previous day close and today's highDifferenceIt gives previous day close and today's high Difference and hence capacity of the stock
h3nrytrades ADR [Pro]📊 ADR & Watermark Utility
This indicator combines a customizable Average Daily Range (ADR) tracker with clean, professional watermarks to enhance chart clarity and support decision-making across any market or symbol.
🔍 Features:
• ADR Calculation: Tracks the average daily range over a user-defined number of days (default: 30). Great for assessing current volatility relative to historical norms.
• Live Daily Range Tracking: Displays the current day’s price range in real time.
• ADR % Meter: Instantly see how much of the average range has been covered so far today.
• Watermark Display: Add optional watermarks such as symbol name, timeframe, or custom tags—perfect for clean screenshots, recordings, or journaling.
🧠 Ideal For:
• Identifying potential range-bound vs. high-volatility sessions.
• Pre-market analysis or intraday filters based on range exhaustion.
• Enhancing visual clarity on your charts with context-rich overlays.
⚙️ Fully Customizable:
• ADR lookback period
• Watermark content, size, and position
• Toggle visibility of all elements
Bitcoin Power Law [LuxAlgo]The Bitcoin Power Law tool is a representation of Bitcoin prices first proposed by Giovanni Santostasi, Ph.D. It plots BTCUSD daily closes on a log10-log10 scale, and fits a linear regression channel to the data.
This channel helps traders visualise when the price is historically in a zone prone to tops or located within a discounted zone subject to future growth.
🔶 USAGE
Giovanni Santostasi, Ph.D. originated the Bitcoin Power-Law Theory; this implementation places it directly on a TradingView chart. The white line shows the daily closing price, while the cyan line is the best-fit regression.
A channel is constructed from the linear fit root mean squared error (RMSE), we can observe how price has repeatedly oscillated between each channel areas through every bull-bear cycle.
Excursions into the upper channel area can be followed by price surges and finishing on a top, whereas price touching the lower channel area coincides with a cycle low.
Users can change the channel areas multipliers, helping capture moves more precisely depending on the intended usage.
This tool only works on the daily BTCUSD chart. Ticker and timeframe must match exactly for the calculations to remain valid.
🔹 Linear Scale
Users can toggle on a linear scale for the time axis, in order to obtain a higher resolution of the price, (this will affect the linear regression channel fit, making it look poorer).
🔶 DETAILS
One of the advantages of the Power Law Theory proposed by Giovanni Santostasi is its ability to explain multiple behaviors of Bitcoin. We describe some key points below.
🔹 Power-Law Overview
A power law has the form y = A·xⁿ , and Bitcoin’s key variables follow this pattern across many orders of magnitude. Empirically, price rises roughly with t⁶, hash-rate with t¹² and the number of active addresses with t³.
When we plot these on log-log axes they appear as straight lines, revealing a scale-invariant system whose behaviour repeats proportionally as it grows.
🔹 Feedback-Loop Dynamics
Growth begins with new users, whose presence pushes the price higher via a Metcalfe-style square-law. A richer price pool funds more mining hardware; the Difficulty Adjustment immediately raises the hash-rate requirement, keeping profit margins razor-thin.
A higher hash rate secures the network, which in turn attracts the next wave of users. Because risk and Difficulty act as braking forces, user adoption advances as a power of three in time rather than an unchecked S-curve. This circular causality repeats without end, producing the familiar boom-and-bust cadence around the long-term power-law channel.
🔹 Scale Invariance & Predictions
Scale invariance means that enlarging the timeline in log-log space leaves the trajectory unchanged.
The same geometric proportions that described the first dollar of value can therefore extend to a projected million-dollar bitcoin, provided no catastrophic break occurs. Institutional ETF inflows supply fresh capital but do not bend the underlying slope; only a persistent deviation from the line would falsify the current model.
🔹 Implications
The theory assigns scarcity no direct role; iterative feedback and the Difficulty Adjustment are sufficient to govern Bitcoin’s expansion. Long-term valuation should focus on position within the power-law channel, while bubbles—sharp departures above trend that later revert—are expected punctuations of an otherwise steady climb.
Beyond about 2040, disruptive technological shifts could alter the parameters, but for the next order of magnitude the present slope remains the simplest, most robust guide.
Bitcoin behaves less like a traditional asset and more like a self-organising digital organism whose value, security, and adoption co-evolve according to immutable power-law rules.
🔶 SETTINGS
🔹 General
Start Calculation: Determine the start date used by the calculation, with any prior prices being ignored. (default - 15 Jul 2010)
Use Linear Scale for X-Axis: Convert the horizontal axis from log(time) to linear calendar time
🔹 Linear Regression
Show Regression Line: Enable/disable the central power-law trend line
Regression Line Color: Choose the colour of the regression line
Mult 1: Toggle line & fill, set multiplier (default +1), pick line colour and area fill colour
Mult 2: Toggle line & fill, set multiplier (default +0.5), pick line colour and area fill colour
Mult 3: Toggle line & fill, set multiplier (default -0.5), pick line colour and area fill colour
Mult 4: Toggle line & fill, set multiplier (default -1), pick line colour and area fill colour
🔹 Style
Price Line Color: Select the colour of the BTC price plot
Auto Color: Automatically choose the best contrast colour for the price line
Price Line Width: Set the thickness of the price line (1 – 5 px)
Show Halvings: Enable/disable dotted vertical lines at each Bitcoin halving
Halvings Color: Choose the colour of the halving lines
Opening Range Breakout (ORB) with Fib RetracementOverview
“ORB with Fib Retracement” is a Pine Script indicator that anchors a full Fibonacci framework to the first minutes of the trading day (the opening-range breakout, or ORB).
After the ORB window closes the script:
Locks-in that session’s high and low.
Calculates a complete ladder of Fibonacci retracement levels between them (0 → 100 %).
Projects symmetric extension levels above and below the range (±1.618, ±2.618, ±3.618, ±4.618 by default).
Sub-divides every extension slice with additional 23.6 %, 38.2 %, 50 %, 61.8 % and 78.6 % mid-lines so each “zone” has its own inner fib grid.
Plots the whole structure and—optionally—extends every line into the future for ongoing reference.
**Session time / timezone** – Defines the ORB window (defaults 09:30–09:45 EST).
**Show All Fib Levels** – Toggles every retracement and extension line on or off.
**Show Extended Lines** – Draws dotted, extend-right projections of every level.
**Color group** – Assigns colors to buy-side (green), sell-side (red), and internal fibs (gray).
**Extension value inputs** – Allows custom +/- 1.618 to 4.618 fib levels for personalized projection zones.
RSI OB/OS THEDU 999//@version=6
indicator("RSI OB/OS THEDU 999", overlay=false)
//#region Inputs Section
// ================================
// Inputs Section
// ================================
// Time Settings Inputs
startTime = input.time(timestamp("1 Jan 1900"), "Start Time", group="Time Settings")
endTime = input.time(timestamp("1 Jan 2099"), "End Time", group="Time Settings")
isTimeWindow = time >= startTime and time <= endTime
// Table Settings Inputs
showTable = input.bool(true, "Show Table", group="Table Settings")
fontSize = input.string("Auto", "Font Size", options= , group="Table Settings")
// Strategy Settings Inputs
tradeDirection = input.string("Long", "Trade Direction", options= , group="Strategy Settings")
entryStrategy = input.string("Revert Cross", "Entry Strategy", options= , group="Strategy Settings")
barLookback = input.int(10, "Bar Lookback", minval=1, maxval=20, group="Strategy Settings")
// RSI Settings Inputs
rsiPeriod = input.int(14, "RSI Period", minval=1, group="RSI Settings")
overboughtLevel = input.int(70, "Overbought Level", group="RSI Settings")
oversoldLevel = input.int(30, "Oversold Level", group="RSI Settings")
//#endregion
//#region Font Size Mapping
// ================================
// Font Size Mapping
// ================================
fontSizeMap = fontSize == "Auto" ? size.auto : fontSize == "Small" ? size.small : fontSize == "Normal" ? size.normal : fontSize == "Large" ? size.large : na
//#endregion
//#region RSI Calculation
// ================================
// RSI Calculation
// ================================
rsiValue = ta.rsi(close, rsiPeriod)
plot(rsiValue, "RSI", color=color.yellow)
hline(overboughtLevel, "OB Level", color=color.gray)
hline(oversoldLevel, "OS Level", color=color.gray)
//#endregion
//#region Entry Conditions
// ================================
// Entry Conditions
// ================================
buyCondition = entryStrategy == "Revert Cross" ? ta.crossover(rsiValue, oversoldLevel) : ta.crossunder(rsiValue, oversoldLevel)
sellCondition = entryStrategy == "Revert Cross" ? ta.crossunder(rsiValue, overboughtLevel) : ta.crossover(rsiValue, overboughtLevel)
// Plotting buy/sell signals
plotshape(buyCondition ? oversoldLevel : na, title="Buy", location=location.absolute, color=color.green, style=shape.labelup, text="BUY", textcolor=color.white, size=size.small)
plotshape(sellCondition ? overboughtLevel : na, title="Sell", location=location.absolute, color=color.red, style=shape.labeldown, text="SELL", textcolor=color.white, size=size.small)
// Plotting buy/sell signals on the chart
plotshape(buyCondition, title="Buy", location=location.belowbar, color=color.green, style=shape.triangleup, text="BUY", textcolor=color.white, size=size.small , force_overlay = true)
plotshape(sellCondition, title="Sell", location=location.abovebar, color=color.red, style=shape.triangledown, text="SELL", textcolor=color.white, size=size.small, force_overlay = true)
//#endregion
//#region Returns Matrix Calculation
// ================================
// Returns Matrix Calculation
// ================================
var returnsMatrix = matrix.new(0, barLookback, 0.0)
if (tradeDirection == "Long" ? buyCondition : sellCondition ) and isTimeWindow
newRow = array.new_float(barLookback)
for i = 0 to barLookback - 1
entryPrice = close
futurePrice = close
ret = (futurePrice - entryPrice) / entryPrice * 100
array.set(newRow, i, math.round(ret, 4))
matrix.add_row(returnsMatrix, matrix.rows(returnsMatrix), newRow)
//#endregion
//#region Display Table
// ================================
// Display Table
// ================================
var table statsTable = na
if barstate.islastconfirmedhistory and showTable
statsTable := table.new(position.top_right, barLookback + 1, 4, border_width=1, force_overlay=true)
// Table Headers
table.cell(statsTable, 0, 1, "Win Rate %", bgcolor=color.rgb(45, 45, 48), text_color=color.white, text_size=fontSizeMap)
table.cell(statsTable, 0, 2, "Mean Return %", bgcolor=color.rgb(45, 45, 48), text_color=color.white, text_size=fontSizeMap)
table.cell(statsTable, 0, 3, "Median Return %", bgcolor=color.rgb(45, 45, 48), text_color=color.white, text_size=fontSizeMap)
// Row Headers
for i = 1 to barLookback
table.cell(statsTable, i, 0, str.format("{0} Bar Return", i), bgcolor=color.rgb(45, 45, 48), text_color=color.white, text_size=fontSizeMap)
// Calculate Statistics
meanReturns = array.new_float()
medianReturns = array.new_float()
for col = 0 to matrix.columns(returnsMatrix) - 1
colData = matrix.col(returnsMatrix, col)
array.push(meanReturns, array.avg(colData))
array.push(medianReturns, array.median(colData))
// Populate Table
for col = 0 to matrix.columns(returnsMatrix) - 1
colData = matrix.col(returnsMatrix, col)
positiveCount = 0
for val in colData
if val > 0
positiveCount += 1
winRate = positiveCount / array.size(colData)
meanRet = array.avg(colData)
medianRet = array.median(colData)
// Color Logic
winRateColor = winRate == 0.5 ? color.rgb(58, 58, 60) : (winRate > 0.5 ? color.rgb(76, 175, 80) : color.rgb(244, 67, 54))
meanBullCol = color.from_gradient(meanRet, 0, array.max(meanReturns), color.rgb(76, 175, 80), color.rgb(0, 128, 0))
meanBearCol = color.from_gradient(meanRet, array.min(meanReturns), 0, color.rgb(255, 0, 0), color.rgb(255, 99, 71))
medianBullCol = color.from_gradient(medianRet, 0, array.max(medianReturns), color.rgb(76, 175, 80), color.rgb(0, 128, 0))
medianBearCol = color.from_gradient(medianRet, array.min(medianReturns), 0, color.rgb(255, 0, 0), color.rgb(255, 99, 71))
table.cell(statsTable, col + 1, 1, str.format("{0,number,#.##%}", winRate), text_color=color.white, bgcolor=winRateColor, text_size=fontSizeMap)
table.cell(statsTable, col + 1, 2, str.format("{0,number,#.###}%", meanRet), text_color=color.white, bgcolor=meanRet > 0 ? meanBullCol : meanBearCol, text_size=fontSizeMap)
table.cell(statsTable, col + 1, 3, str.format("{0,number,#.###}%", medianRet), text_color=color.white, bgcolor=medianRet > 0 ? medianBullCol : medianBearCol, text_size=fontSizeMap)
//#endregion
// Background color for OB/OS regions
bgcolor(rsiValue >= overboughtLevel ? color.new(color.red, 90) : rsiValue <= oversoldLevel ? color.new(color.green, 90) : na)
Gold M1 Ultra Smart Strategy by RifaatThe script automatically adapts to the market strength for gold on the M1 timeframe
It loosens or tightens the RSI, MACD, and Bollinger Bands conditions based on the market condition
It reduces false signals and increases the accuracy of entry and exit points
Target Trend – Ultra Upgrade by RifaatFalse Signal Filtering using a confirmation filter (RSI + ATR filter).
More Reliable Entry Logic by requiring stronger breakouts.
Refined Trend Change Detection to reduce whipsaws.
Visual Clean-up for clarity and fewer distractions.
Optional Filters Toggle for advanced users.
Dynamic Square of Nine - Measured Swings: [Blueprint_So9]📐 Dynamic Square of Nine — Measured Swings
This indicator puts the D in Dynamic Square of Nine.
This tool is not just a static Dynamic Square of Nine drawn from a single pivot point. Instead, it employs a dynamic Square of Nine rotational framework that applies to each segment of a user-defined Zigzag pattern. This approach transforms every swing into a measurable arc of angular movement around the Square of Nine.
One of Gann’s fundamental techniques was to measure movements from high to high, low to low, high to low, or low to high. With this indicator, you can now measure these movements and observe the degrees to which the market may be favoring.
Inspired by a straightforward yet powerful concept from Patrick Mikula’s work, this tool integrates rotational price theory into real-time structure, turning each leg of the analysis into an opportunity to identify harmonic behavior.
🔧 How It Works
You begin by selecting a significant high or low pivot—your anchor point. From there, the indicator applies a user-adjustable Zigzag to segment price swings.
Each leg is then measured using Square of Nine calculations, progressing or regressing around the wheel. Default values include 45°, 90°, 135°… up to 360°, but users can input custom degrees — including negatives like −22.5° or −360°, and extended values such as 720° — allowing for flexible, rotational analysis.
The Square of Nine levels for the final leg are dynamically extended and updated on the price axis as new pivots form, with support for alerts.
🎨 Visual & Functional Features
🔺 Color-coded swings: Red for down, green for up — matches label colors, fully customizable
🌀 Up to 8 rotational Square of Nine levels per leg — supports both progression and regression
🏷️ Swing labels — show price, degree, or both (user-selectable)
📍 Extended Square of Nine projections — with optional alerts for each level
🧩 Scaling controls — adjust Square of Nine fit to your instrument and timeframe
📈 Why It Matters
By measuring from a key pivot, whether low to low, high to low, low to high, or high to high—you can uncover harmonic repetitions of Square of Nine degrees.
Once you determine which degrees the market is responding to, they can become useful inputs in your broader forecasting framework.
Attribution
This script uses the Zigzag library by @DevLucem (DevLucem/ZigLib/1), licensed under the Mozilla Public License 2.0.
The library is used as-is, without modification.
All Square of Nine logic, projections and elements are original to this script.
Kubera - FairPriceDiscover the hidden balance within price action. Price has memory — and Kubera remembers where value truly lies. This is precision trading, simplified.
The Axis marks the central zone of value. Upper and Lower guide potential reversals or continuations. The HTF Axis reveals a higher timeframe’s gravitational zone — often unseen, yet deeply influential.
Engineer_Invest Target SellEngineer_Invest Target Sell is a Simple and Affordable Tool for Exiting a Deal
Engineer_Invest Target Sell is an indicator that helps you quickly determine the best levels for profit taking. It is designed in such a way that it is easy for even a beginner to understand when it is worth selling an asset.
The way it works:
1. Two levels for sale:
The indicator calculates two key points (or lines) on the chart where it is beneficial to lock in profits. This helps you see where you can reduce your risk and lock in revenue.
2. Three modes for different market moods:
Depending on the market volatility, the setup is divided into three modes:
Target Sell 3 (High Volatility): for fast market movements.
Target Sell 2 (Average Volatility): for balanced conditions.
Target Sell 1 (Low Volatility): for quiet trading sessions.
This separation allows the indicator to be adapted to any market conditions.
Simple settings:
You can choose the type of moving average (SMA or EMA) and adjust the transparency and color of the labels so that the information on the chart is as clear and easy to understand as possible.
Ease of use:
Visibility:
The indicator draws lines and marks directly on the chart, which allows you to immediately see the key levels for exiting a trade.
Adaptability:
Three modes allow you to adjust to the current market conditions — from rapid dynamics to a calm trend.
Easy to use:
Minimal settings and intuitive visualization allow you to quickly learn how to use the tool and make informed decisions.
US Open Breakout StrategyNAS100 US Open Breakout Strategy with Persistent Stop Loss and Take Profit Levels.
This strategy identifies the breakout range during the New York session open (9:30 - 10:00 AM NY time) by capturing the high and low prices in this interval.
- After the session ends, it draws horizontal lines representing the high and low of the opening range.
- The strategy signals a long entry when the price crosses above the high of the opening range.
- It signals a short entry when the price crosses below the low of the opening range.
- Stop loss is set at 0.5% away from the breakout level.
- Take profit is set at 1% away from the breakout level.
- Entry signals are marked with up and down triangles on the chart.
- Stop loss and take profit levels are shown as dashed lines extending for several bars after the breakout.
This approach helps traders catch early momentum after the US market opens, with clear risk management through fixed stop loss and take profit levels.
EPS and Sales Magic Indicator V2EPS and Sales Magic Indicator V2
EPS and Sales Magic Indicator V2
Short Title: EPS V2
Author: Trading_Tomm
Platform: TradingView (Pine Script v6)
License: Free for public use under fair usage guidelines
Overview
The EPS and Sales Magic Indicator V2 is a powerful stock fundamental visualization tool built specifically for TradingView users who wish to incorporate earnings intelligence directly onto their price chart. Designed and developed by Trading_Tomm, this upgraded version of the original 'EPS and Sales Magic Indicator' includes an enriched and more insightful presentation of company performance metrics — now with TTM EPS support, advanced color-coding, label sizing, and refined control options.
This indicator is tailored for retail traders, swing investors, and long-term fundamental analysts who need to view Quarter-over-Quarter (QoQ) earnings and revenue changes directly on the price chart without switching tabs or breaking focus.
What Does It Display?
The EPS and Sales Magic Indicator V2 intelligently detects quarterly financial updates and displays the following data points via labels:
1. EPS (Earnings Per Share) – Current Quarterly Value
This is the most recent Diluted EPS published by the company, fetched using TradingView’s request.financial() function.
Displayed in the format: EPS: ₹20.45
2. EPS QoQ Percentage Change
Shows the percentage change in EPS compared to the previous quarter.
Highlights improvement or decline using arrows (up for improvement, down for decline).
Displayed in the format: EPS: ₹20.45 (up 15.3 percent)
3. Sales (Revenue) – Current Quarterly Value
Fetches and displays Total Revenue of the company in ₹Crores for easier Indian-market readability.
Displayed in the format: Sales: ₹460Cr
4. Sales QoQ Percentage Change
Measures and presents the quarter-over-quarter percentage change in total revenue.
Uses arrows to indicate growth or contraction.
Displayed in the format: Sales: ₹460Cr (down 3.8 percent)
5. EPS TTM (Trailing Twelve Months)
You now get the TTM EPS — the sum of the last four quarterly EPS values.
This value provides a better long-term earnings snapshot compared to a single quarter.
Displayed in the format: TTM EPS: ₹78.12
All of these values are automatically calculated and displayed only on the bars where a new financial report is detected, keeping your chart clean and insightful.
Customization Features
This indicator is built with user control in mind, allowing you to personalize how and what you want to see:
Show EPS in Label: Enable or disable the display of EPS and EPS QoQ values.
Show Sales in Label: Toggle the visibility of revenue and sales change percentage.
Color Options for Label Themes: The label background color is automatically determined based on performance.
Green: Both EPS and Sales increased QoQ.
Red: Both decreased.
Orange: One increased and the other decreased.
Gray: Default color (if values are unavailable or mixed).
Label Text Size: Choose from Tiny, Small (default), or Normal.
Visual Design
Placement: The labels are positioned just below the candlesticks using yloc.belowbar, so they do not obstruct price action or interfere with technical indicators.
Anchor: Aligned precisely with the financial reporting bars to maintain clarity in historical comparisons.
Background Style: Clean, semi-transparent styling with soft text colors for comfortable viewing.
How It Works
The indicator relies on TradingView’s powerful request.financial() function to extract fiscal quarterly financials (FQ). Internally, it uses detection logic to identify fresh data updates by comparing current vs. previous values, arithmetic to compute QoQ percentage changes in EPS and Sales, logic to build formatted labels dynamically based on user selections, and conditional color and sizing logic to enhance interpretability.
Use Cases
For Long-Term Investors: Quickly identify if a company’s profitability and revenue are improving over time.
For Swing Traders: Combine recent earnings trends with price action to evaluate if post-result momentum has real backing.
For Technical and Fundamental Traders: Layer it with moving averages, RSI, or volume to create a hybrid analysis environment.
Limitations and Notes
Financial data is provided by TradingView’s financial API, and occasional missing values may occur for less-covered stocks.
This tool does not repaint but depends on the timing of the official financial updates.
All values are rounded and formatted to prioritize readability.
Works best on Daily or higher timeframes (weekly or monthly also supported).
License and Fair Use
This script is free to use and share under TradingView’s open-use guidelines. You may copy, fork, and build upon this indicator for personal or educational purposes, but commercial usage requires attribution to the author: Trading_Tomm.
Future Enhancements (Planned)
Addition of Net Profit (QoQ and TTM)
Inclusion of Operating Margin, Profit Margin, and Book Value
Option to switch between numeric and graphical display (table mode)
Alerts on extreme earnings deviation or sales slumps
Final Thoughts
The EPS and Sales Magic Indicator V2 represents a clean, visual, and smart way to monitor a company’s core performance from your chart screen. It helps you align fundamental strength with technical strategies and provides instant financial clarity, which is especially vital in today’s fast-moving markets.
Whether you’re preparing for an earnings season or scanning past performance to pick your next investment, this indicator saves time, enhances insights, and sharpens decisions.
Initial balance - weeklyWeekly Initial Balance (IB) — Indicator Description
The Weekly Initial Balance (IB) is the price range (High–Low) established during the week’s first trading session (most commonly Monday). You can measure it over the entire day or just the first X hours (e.g. 60 or 120 minutes). Once that session ends, the IB High and IB Low define the key levels where the initial weekly range formed.
Why Measure the Weekly IB?
Week-Opening Sentiment:
Monday’s range often sets the tone for the rest of the week. Trading above the IB High signals bullish control; trading below the IB Low signals bearish control.
Key Liquidity Zones:
Large institutions tend to place orders around these extremes, so you’ll frequently see tests, breakouts, or rejections at these levels.
Support & Resistance:
The IB High and IB Low become natural barriers. Price will often return to them, bounce off them, or break through them—ideal spots for entries and exits.
Volatility Forecast:
The width of the IB (High minus Low) indicates whether to expect a volatile week (wide IB) or a quieter one (narrow IB).
Significance of IB Levels
Breakout:
A clear break above the IB High (for longs) or below the IB Low (for shorts) can ignite a strong trending move.
Fade:
A rejection off the IB High/Low during low momentum (e.g. low volume or pin-bar formations) offers a high-probability reversal trade.
Mid-Point:
The 50% level of the IB range often “magnetizes” price back to it, providing entry points for continuation or reversal strategies.
Three Core Monday IB Strategies
A. Breakout (Open-Range Breakout)
Entry: Wait for 1–2 candles (e.g. 5-minute) to close above IB High (long) or below IB Low (short).
Stop-Loss: A few pips below IB High (long) or above IB Low (short).
Profit-Target: 2–3× your risk (Reward:Risk ≥ 2:1).
Best When: You spot a clear impulse—such as a strong pre-open volume spike or news-driven move.
B. Fade (Reversal at Extremes)
Entry: When price tests IB High but shows weakening momentum (shrinking volume, upper-wick candles), enter short; vice versa for IB Low and longs.
Stop-Loss: Just beyond the IB extreme you’re fading.
Profit-Target: Back toward the IB mid-point (50% level) or all the way to the opposite IB extreme.
Best When: Monday’s action is range-bound and lacks a clear directional trend.
C. Mid-Point Trading
Entry: When price returns to the 50% level of the IB range.
In an up-trend: buy if it bounces off mid-point back toward IB High.
In a down-trend: sell if it reverses off mid-point back toward IB Low.
Stop-Loss: Just below the nearest swing-low (for longs) or above the nearest swing-high (for shorts).
Profit-Target: To the corresponding IB extreme (High or Low).
Best When: You see a strong initial move away from the IB, followed by a pullback to the mid-point.
Usage Steps
Configure your session: Measure IB over your chosen Monday timeframe (whole day or first X hours).
Choose your strategy: Align Breakout, Fade, or Mid-Point entries with the current market context (trend vs. range).
Manage risk: Keep risk per trade ≤ 1% of account and maintain at least a 2:1 Reward:Risk ratio.
Backtest & forward-test: Verify performance over multiple Mondays and in a paper-trading environment before going live.
Dominance Interflow DThis indicator visualizes the normalized dominance levels of key sectors in the crypto market, including Bitcoin, Ethereum, Stablecoins, and the Altcoins as grouped market segments.
All dominance values are normalized between 0 and 1 for clear visual comparison. This allows traders and analysts to:
- Track capital rotation and dominance shifts
- Identify Altseason setups or defensive market phases
- Spot Risk-On / Risk-Off sentiment based on Stablecoin dominance
- Evaluate market breadth through altcoin tracking
📊 Included Data Series:
- 🟧 Bitcoin Dominance (BTC.D)
- 🔵 Ethereum Dominance (ETH.D)
- ⚪ Stablecoin Dominance (STABLE.C.D)
- 🟥 Without Top 50 Coins (TOTALE50.D)
- 🟥 without Top 100 Coins (TOTALE100.D)
🧠 Smart Normalization:
Automatically adjusts based on timeframe
500 candles for Daily (1D)
💡 Use this tool to understand macro capital flows, identify crypto sector trends, and optimize your asset rotation strategy.
Candle Closer Levels & TP Zones📝 Description:
This indicator is designed to provide intrabar trade levels for high-speed execution strategies, such as scalping and intraday momentum trading.
🧩 Key Features:
Plots High, Low, Mid, and two Quarter Levels on the current candle only, keeping charts clean
Take Profit (TP) lines are calculated as a percentage of candle range, not fixed ticks — this makes it highly adaptable for futures like NQ/ES or volatile markets like crypto
Supports both long and short setups via a simple toggle
Customizable colors, line thickness, and length
Each TP level can be enabled or muted individually
📈 Use Case:
Apply this tool to spot candle-based breakouts or rejections. You can scale TPs dynamically based on the strength of the current candle. This is especially helpful in assets where volatility fluctuates greatly intrabar.
This is not a repackaged built-in indicator — it’s purpose-built for real-time tactical level plotting without historical noise.
Multi-Position DashMulti-Position Dash — Risk Dashboard for Forex, Stocks & Indices
Overview:
The Multi-Position Dash is a highly customizable trading dashboard designed to help active traders manage up to 8 simultaneous positions across Forex, Stocks, and Indices. Whether you're trading single entries, layering positions, using DCA (Dollar Cost Averaging), or running complex hedging setups, this tool provides essential, real-time risk and P&L insights—directly on your chart.
Key Features:
✔️ Supports Forex, Stocks, Indices — with automatic pip and contract conversions
✔️ Track up to 8 manual positions, each with customizable direction, lot size or contracts, entry price, Take Profit, and Stop Loss
✔️ Full GBP-based P&L and risk calculation, including automatic USD-to-GBP conversion for non-FX assets
✔️ Real-time display of:
Total potential Take Profit (GBP)
Total potential Stop Loss (GBP)
Risk % relative to account balance
Live P&L (GBP) based on current price
✔️ Breakeven price calculation, even across mixed-direction positions (DCA & hedging aware)
✔️ Visual breakeven line, live P&L arrows, and entry price markers
✔️ Shared Stop Loss option for all positions — perfect for DCA traders
✔️ Easy export strings for logging trades to external tools like spreadsheets
Ideal For:
✅ Forex traders using lot-based risk models
✅ Stock & Index traders wanting simplified contract-based position tracking
✅ Traders managing multiple active positions, with or without hedging
✅ Anyone needing at-a-glance P&L and risk monitoring, independent of broker platforms
Notes & Usage:
This is a manual tracking tool—you enter your positions, TP, SL levels, etc., and the dashboard calculates the rest. It does not place or manage live orders.
Supports both Long and Short positions.
All calculations are based on your inputs and market price—accuracy depends on maintaining your inputs properly.
Shared Stop Loss feature applies a single, unified stop across all active positions for simplified risk control in DCA setups.
GBP is used as the account currency—USD-to-GBP conversion is applied to stocks and indices as needed.
Disclaimer:
This tool is for educational and planning purposes only. It does not place or manage live trades, and is not a substitute for broker risk management tools. Always double-check your own position sizing and risk before placing live orders.
ATR FX DashboardATR FX Dashboard – Multi-Timeframe Volatility Monitor
Overview:
The ATR FX Dashboard provides a quick, at-a-glance view of market volatility across multiple timeframes for any forex pair. It uses the well-known Average True Range (ATR) indicator to display real-time volatility information in both pips and percentage terms, helping traders assess potential risk, position sizing, and market conditions.
How It Works:
This dashboard displays:
✔ ATR in Pips — The average price movement over a given timeframe, converted to pips for easy interpretation, automatically adjusting for JPY pairs.
✔ ATR as a Percentage of Price — Shows how significant the ATR is relative to the current price. Higher percentages often signal higher volatility or more active markets.
✔ Color-Coded Volatility Highlights — On the daily timeframe, ATR % cells are color-coded:
Green: High volatility
Orange: Moderate volatility
Red: Low volatility
Timeframes Displayed:
15 Minutes
1 Hour
4 Hour
Daily
This gives traders a clear, multi-timeframe view of short-term and broader market volatility conditions, directly on the chart.
Ideal For:
✅ Forex traders seeking quick, reliable volatility reference points
✅ Day traders and swing traders needing help with risk assessment and position sizing
✅ Anyone using ATR-based strategies or simply wanting to stay aware of changing market conditions
Additional Features:
Toggle option to display or hide ATR % relative to price
Automatic pip conversion for JPY pairs
Simple, clean table layout in the bottom-right corner of the chart
Supports all forex symbols
Disclaimer:
This tool is for informational purposes only and is not financial advice. As with all technical indicators, it should be used in conjunction with other tools and proper risk management.
M2 Liquidity Divergence ModelM2 Liquidity Divergence Model
The M2 Liquidity Divergence Model is a macro-aware visualization tool designed to compare shifts in global liquidity (M2) against the performance of a benchmark asset (default: Bitcoin). This script captures liquidity flows across major global economies and highlights whether price action is aligned ("Agreement") or diverging ("Divergence") from macro trends.
🔍 Core Features
M2 Global Liquidity Index (GLI):
Aggregates M2 money supply from major global economies, FX-adjusted, including extended contributors like India, Brazil, and South Africa. The slope of this composite is used to infer macro liquidity trends.
Lag Offset Control:
Allows the M2 signal to lead benchmark asset price by a configurable number of days (Lag Offset), useful for modeling the forward-looking nature of macro flows.
Gradient Macro Context (Background):
Displays a color-gradient background—aqua for expansionary liquidity, fuchsia for contraction—based on the slope and volatility of M2. This contextual backdrop helps users visually anchor price action within macro shifts.
Divergence Histogram (Optional):
Plots a histogram showing dynamic correlation or divergence between the liquidity index and the selected benchmark.
Agreement Mode: M2 and asset are moving together.
Divergence Mode: Highlights break in expected macro-asset alignment.
Adaptive Transparency Scaling:
Histogram and background gradients scale their visual intensity based on statistical deviation to emphasize stronger signals.
Toggle Options:
Show/hide the M2 Liquidity Index line.
Show/hide divergence histogram.
Enable/disable visual offset of M2 to benchmark.
🧠 Suggested Usage
Macro Positioning: Use the background context to align directional trades with macro liquidity flows.
Disagreement as Signal: Use divergence plots to identify when price moves against macro expectations—potential reversal or exhaustion zones.
Time-Based Alignment: Adjust Lag Offset to synchronize M2 signals with asset price behavior across different market conditions.
⚠️ Disclaimer
This indicator is designed for educational and analytical purposes only. It does not constitute financial advice or an investment recommendation. Always conduct your own research and consult a licensed financial advisor before making trading decisions.
MNQ/NQ Risk Management ToolThis tool helps MNQ and NQ futures traders automatically calculate position size based on either a fixed dollar risk or a percentage of account balance.
Simply enter your stop loss level and choose whether to risk a set dollar amount or a percentage of your account. The script will display how many contracts to trade based on your setup.
Features:
Calculates contracts based on stop loss and risk size
Toggle between dollar-based or percent-of-account risk
Works with both MNQ ($2/point) and NQ ($20/point)
Automatically updates based on current price and direction (long or short)
Displays a clean info box on your chart with risk, contracts, and settings
This tool is ideal for intraday or swing traders who want to stay consistent with risk management across trades.
Bitcoin Power Law Clock [LuxAlgo]The Bitcoin Power Law Clock is a unique representation of Bitcoin prices proposed by famous Bitcoin analyst and modeler Giovanni Santostasi.
It displays a clock-like figure with the Bitcoin price and average lines as spirals, as well as the 12, 3, 6, and 9 hour marks as key points in the cycle.
🔶 USAGE
Giovanni Santostasi, Ph.D., is the creator and discoverer of the Bitcoin Power Law Theory. He is passionate about Bitcoin and has 12 years of experience analyzing it and creating price models.
As we can see in the above chart, the tool is super intuitive. It displays a clock-like figure with the current Bitcoin price at 10:20 on a 12-hour scale.
This tool only works on the 1D INDEX:BTCUSD chart. The ticker and timeframe must be exact to ensure proper functionality.
According to the Bitcoin Power Law Theory, the key cycle points are marked at the extremes of the clock: 12, 3, 6, and 9 hours. According to the theory, the current Bitcoin prices are in a frenzied bull market on their way to the top of the cycle.
🔹 Enable/Disable Elements
All of the elements on the clock can be disabled. If you disable them all, only an empty space will remain.
The different charts above show various combinations. Traders can customize the tool to their needs.
🔹 Auto scale
The clock has an auto-scale feature that is enabled by default. Traders can adjust the size of the clock by disabling this feature and setting the size in the settings panel.
The image above shows different configurations of this feature.
🔶 SETTINGS
🔹 Price
Price: Enable/disable price spiral, select color, and enable/disable curved mode
Average: Enable/disable average spiral, select color, and enable/disable curved mode
🔹 Style
Auto scale: Enable/disable automatic scaling or set manual fixed scaling for the spirals
Lines width: Width of each spiral line
Text Size: Select text size for date tags and price scales
Prices: Enable/disable price scales on the x-axis
Handle: Enable/disable clock handle
Halvings: Enable/disable Halvings
Hours: Enable/disable hours and key cycle points
🔹 Time & Price Dashboard
Show Time & Price: Enable/disable time & price dashboard
Location: Dashboard location
Size: Dashboard size
M2 Growth Rate vs Borrowing RateHave you ever wondered how fast M2 is actually growing? Have you ever wanted to compare its percentage growth rate to the actual cost of borrowing? Are you also, like me, a giant nerd with too much time on your hands?
M2 Growth Rate vs Borrowing Rate
This Pine Script indicator analyzes the annualized growth rate of M2 money supply and compares it to key borrowing rates, providing insights into the relationship between money supply expansion and borrowing costs. Users can select between US M2 or a combined M2 (aggregating US, EU, China, Japan, and UK money supplies, adjusted for currency exchange rates). The M2 growth period is customizable, offering options from 1 month to 5 years for flexible analysis over different time horizons. The indicator fetches monthly data for US M2, EU M2, China M2, Japan M2, UK M2, and exchange rates (EURUSD, CNYUSD, JPYUSD, GBPUSD) to compute the combined M2 in USD terms.
It plots the annualized M2 growth rate alongside borrowing rates, including US 2-year and 10-year Treasury yields, corporate bond effective yield, high-yield bond effective yield, and 30-year US mortgage rates. Borrowing rates are color-coded for clarity: red if the rate exceeds the selected M2 growth rate, and green if below, highlighting relative dynamics. Displayed on a separate pane with a zero line for reference, the indicator includes labeled plots for easy identification.
This tool is designed for informational purposes, offering a visual framework to explore economic trends without providing trading signals or financial advice.