Data structure map[string, float]The script shows a workaround for map in pine-script via drawings.
There are few restrictions with them:
1. The size of the map cannot be more that amount of allowed drawings (about 40 by now)
2. Because the map shares the space of drawings throughout the whole script, using drawings with the map must be careful, with handly creating and removing of each drawing, because otherwise pine's garbage collector might break the stack. I'd recommend not using more drawings with the map.
3. setters and getters must be called on every bar, because of implementation of functions in pine there are inner serieses, which must be updated on every bar. So wherever you have a setter or getter in the code - it must be called on every bar. But if it's just an update, then you should pass 'false' as a param of the funtion.
The script shows a way to work with the map: filling it with some tickers and values for each of it and then plot the value if the symbol on the chart equals to one of the tickers in the map.
And there are some examples of updating of the value and removing of the item from the map.
Wyszukaj w skryptach "文华财经tick价格"
Elder ray ( Bull power and bear power combined )Elder-ray is an indicator named for its similarity to x-rays.
It shows the structure of bullish and bearish
power below the surface of the markets. Elder-ray combines a trend-
following moving average with two oscillators to show when to enter
and exit long or short positions.
A moving average reflects the average consensus of value. The high of
each bar reflects the maximum power of bulls during that bar. The low of
each bar marks the maximum power of bears during that bar.
Elder-ray works by comparing the power of bulls and bears during each
bar with the average consensus of value. Bull Power reflects the maximum
power of bulls relative to the average consensus, and Bear Power the max-
imum power of bears relative to that consensus.
When the high of a bar is above the EMA, Bull Power is positive. When
the entire bar sinks below the EMA, which happens during severe de-
clines, Bull Power becomes negative. When the low of a bar is below the
EMA, Bear Power is negative. When the entire bar rises above the EMA,
which happens during wild rallies, Bear Power becomes positive.
The slope of a moving average identifies the current trend of the mar-
ket. When it rises, it shows that the crowd is becoming more bullish; it is
a good time to be long. When it falls, it shows that the crowd is becoming
more bearish; it is a good time to be short. Prices keep getting away from
a moving average but snap back to it, as if pulled by a rubber band. Bull
Power and Bear Power show the length of that rubber band. Knowing the
“Buy low, sell high” sounds good, but traders and investors seem to have
been more comfortable buying Lucent above 70 than below 7. Perhaps they
are not as rational as the efficient market theorists would like us to believe?
Elder-ray gives rational traders a glimpse into what is going on below the sur-
face of the market.
When the trend, identified by the 22-day EMA, is down and bulls are
under water, the rallies back to the surface mark shorting opportunities
normal height of Bull or Bear Power reveals how far prices are likely to get
away from their moving average before returning. Elder-ray offers one of
the best insights into where to take profits—at a distance away from the
moving average that equals the average Bull Power or Bear Power.
Elder-ray gives buy signals in uptrends when Bear Power turns nega-
tive and then ticks up. A negative Bear Power means that the bar is strad-
dling the EMA, with its low below the average consensus of value. Waiting
for Bear Power to turn negative forces you to buy value rather than chase
runaway moves. The actual buy signal is given by an uptick of Bear Power,
which shows that bears are starting to lose their grip and the uptrend is
about to resume. Take profits at the upper channel line or when a trend-
following indicator stops rising. Profits may be greater if you ride the
uptrend to its conclusion, but taking profits at the upper channel line is
more reliable.
Elder-ray gives shorting signals in downtrends when Bull Power turns
positive and then ticks down. We can identify the downtrend by a declin-
ing daily or weekly EMA. A positive Bull Power shows that the bar is strad-
dling the EMA, with its high above the average consensus of value.
Waiting for Bull Power to turn positive before shorting forces you to sell
at or above value instead of chasing waterfall declines. The actual short-
ing signal is given by a downtick of Bull Power, which shows that bulls
are starting to slip and the downtrend is about to resume. Once short, take
profits at the lower channel line or when the trend-following indicator
stops falling, depending on your style.
FREE TRADINGVIEW FOR TIMEFRAMESWhen doing i.e the 3 minute timeframe turn on the closest timeframe available for you or the candles and wicks will be fucked up.
So if you're doing the 5 hour timeframe candles turn on the 4hr chart on your main chart.
To View the candles in full screen double click the windows with the candlesticks
If you don't have TradingView premium and want to look at custom timeframes you can use this.
For the ticker/coin/pair you want to show enter it like this:
For stocks, only the ticker i.e: MSFT, APPL
For Crypto, "Exchange:ticker" i.e: BITFINEX:BTCUSD, BINANCE:AGIBTC, BITMEX:ADAM19
When setting up the timeframe write i.e:
For minutes/hourly: 5, 240 (4 hour), 360 (6 hour)
For daily/weekly/monthly: 1D, 2W, 3M
When doing i.e the 3 minute timeframe turn on the closest timeframe available for you or the candles and wicks will be fucked up.
So if you're doing the 5 hour timeframe candles turn on the 4hr chart on your main chart.
RSI MTF by PeterOThis is my take on reaching Higher TimeFrame charts, what is usually helpful when determining the trend. On the example of RSI.
So imagine you want to check RSI from higher timeframe. 15x higher for example. There are 3 ways to do it.
1. security(tickerid,"15",rsi(close,14))
DON'T!!! I strongly advise against this method. Security() function is buggy in PineScript, leads to so-called "repainting" issues. Repainting is caused by creating leak from future data and leads to abnormally fantastic strategy backtest results like the one in Open Close Cross Strategy. Theoretically speaking if security() used correctly - with Pine version3 and barmerge.lookahead_off - you should encounter no repainting, but I could swear I saw scripts repaint even with security() implemented properly.
Even assuming security() implemented correctly will not repaint - it will create delay in your script. I'm using "15" multiplier in my example, and this means, I have to wait for 15 candles to close to produce indicators value. If a strong move happens in the meantime, I'm blind, because I have to wait anyway.
So for your own security, stay away from security() at all times.
2. rsi(close,14*15)
This will produce RSI plot with no delay, but a very flattened one. RSI will move between 45 and 45, never even reaching 30 or 70 levels. So pretty useless.
3. Dig-in-the-formula way.
Doing a bit more math produces RSI line, which is not delayed, not repainting and moving in full 0-100 RSI range. Actually - looking almost identical to the one from the higher timeframe. Which was the goal of this script.
Godmode 4.0.2 [Supply/Demand]First off, a huge thank you to the following people:
LEGION:
LazyBear: www.tradingview.com
xSilas: www.tradingview.com
Ni6HTH4awK: www.tradingview.com
sco77m4r7and:
SNOW_CITY: www.tradingview.com
oh92: www.tradingview.com
alexgrover: www.tradingview.com
cI8DH: www.tradingview.com
DonovanWall: www.tradingview.com
shtcoinr: www.tradingview.com
This is the third iteration of Godmode. This time I borrowed the method used by shtcoinr to render supply/demand, resistance and support zones. The idea here is to input the appropriate benchmark tickerid to the asset class you're trading and to paint zones according to the price activity of the selected tickerid. This works very well trying to paint meaningful zones against noisy stocks, currencies, commodities etc. Use a correlation coefficient to determine the best benchmark for your asset class.
Want to Learn?
If you'd like the opportunity to learn Pine but you have difficulty finding resources to guide you, take a look at this rudimentary list: docs.google.com
The list will be updated in the future as more people share the resources that have helped, or continue to help, them. Follow me on Twitter to keep up-to-date with the growing list of resources.
Suggestions or Questions?
Don't even kinda hesitate to forward them to me. My (metaphorical) door is always open.
Heikin Ashi AlgorithmThis indicator can be added on any type of chart (including Heikin Ashi chart). There is a little trick with the tickerid, read details in comments.
Relative Estimated Price REP by KIVANÇ fr3762Relative Estimated Price (REP) Indicator shows the estimated price calculated if the tickerid made the same value changes (in %) during a certain period.
The default value of the lookback period is 50.
In the given XRPUSD chart you can see that XRPUSD has a value of 0.26480 and the RPC indicator shows the value of 0.38099.
This means that XRP would be 0.38099USD if it was fully made the same percentage moves with BTC , we can say that XRP is RELATIVELY cheap according to BTC price moves.
Conversely XRP would be RELATIVELY expensive if the last value of REP was lower then current XRP price.
users can choose the relative base price in calculation of REP between 1-5 which are:
1=BTCUSD, 2=ETHUSD, 3=EURTRY(Euro/Turkish Lira), 4=USDTRY (Dollar/Turkish Lira), 5=BIST100 (Istanbul Stock Exchange)
I personally advise you to use this indicator for daily charts in Tradingview to have more accurate estimated prices because of the website's calculation.
Developed by KIVANÇ
Mayer Multiple @ Current PriceThough this script is by me, the original idea comes from a podcast I heard where Trace Mayer talks about how he does crypto valuation. It is based on current price against the 200 day moving average. This indicator script will simply plot that value as a label overlayed on your trading view chart. Best long term results occur when acquiring BTC when the multiple is 2.4 or less. For more info, google "mayer multiple" This script/indicator is strictly for educational purposes. It is not exclusive to bitcoin.
To get the best look out of your charts I make the following changes.
1.Apply the indicator to your chart.
2. In the tools palette of trading view, when looking at a chart, click "Show Objects Tree" the icon displayed above the trash can.
In the objects tree panel, click the preferences icon for "Mayer Multiple @ Current Price"
Switch "scale" to "scale Left"
3. Then for your chart preferences (right click on chart background and select "Properties", and be sure the following are checked on the "Scales" tab
Left Axis
Right Axis
Indicator Last Value
Indicator Labels
Screenshots are not allowed in this view, so I can't post screenshots, but the view above is what it should look like when you are done.
For anyone who wants to see the code, here is the code of the script:
Use at will, and at your own risk.
//@version=3
// Created By Timothy Luce, inspired by Trace Mayer's 200 Day SMA cryptocurrency valuation method
study("Mayer Multiple @ Current Price", overlay=true)
currentPrice = close
currentDay = security(tickerid, "D", sma(close, 200))
mayerMultiple = currentPrice/currentDay
plot(mayerMultiple, color=#00ffaa, transp=100)
If you want to change the color, change this line: #00ffaa
Accumulation/Distribution Percentage (ADP) [Cyrus c|:D]Accumulation/Distribution Percentage ( ADP ) is used to measure money flow similar to Chaikin Money Flow ( CMF ) and Money Flow. It is the range-bound version of my previous indicator ADMF. This indicator can be used for analyzing momentum, buy/sell pressure, and overbought/oversold conditions. I believe that this indicator is more accurate than CMF and MFI (I will publish a TA about it one day!).
What to look for:
- When this indicator moves up, it means buy pressure is increasing and the other way around for sell pressure. Crossing 0 means that trend has changed in the given period (it is best to look for confirmation of buy/sell pressure in larger TFs)
- Overbought above 40 and oversold below -40 (these numbers vary depending on the security. Look for historical levels to determine overbought and oversold conditions of each security)
- Regular divergence shows that momentum of a trend is declining. Hidden divergence implies continuation of a trend. The non-bound mode should be more accurate for identifying divergence.
- Failure swings can detect potential reversals.
Please read Relative Strength Index and Money Flow for more information and similar disclaimers.
Recommendations:
- hlc3 (AKA typical price) as input source might be better than "close" as it captures more information. If you use hlc3 as a source, then change the chart type to line and set hlc3 as the source for identifying divergence.
- Use hybrid tickers e.g.(BITFINEX:BTCUSD+COINBASE:BTCUSD+BITSTAMP:BTCUSD)/3. Volume-based indicators are susceptible to wash trading/volume printing and hybrid tickers mitigate this issue.
- In non-bound mode, small TFs with longer length should be more accurate than larger TFs with standard length (same is true for many other indicators)
Background:
I have developed 4 indicators based on a simple but elegant concept of A/D ratio. A/D ratio is equal to (current close - previous close)/True Range (when there are no price gaps, True Range = High - Low)
1) What you see on ADV indicator as darker green and red is equal to A/D ratio x volume.
2) ADL indicator shows the summation of ADV
3) ADMF (or ADP in non-bound mode) shows Moving Average of ADV
4) ADP shows relative accumulation strength which is calculated as RMA (accumulations)/RMA(accumulation + distribution). ADP equation is based on RSI equation which is RMA(gains)/RMA(gains + losses). That is why these two indicators look quite similar.
PS: Please leave a like if you find these indicators useful. I am working on improvements on these and other indicators. I am trying my best to keep them as simple as possible. Please let me know in the comments if you want me to make future indicators even simpler.
--------
Complementary indicators based on the same concept:
ADL: a replacement for Chaikin's Accum/Dist, On Balance Volume, and Price Volume Trend
ADV: a replacement for regular volume indicator
ADP also has a scaled RSI and ADMF built in (ie ADMF is obsolete).
CMYK XIAM OPEN◊ Introduction
This is project XIAM, a work in progress.
Recently i came across the repainting problem.
Since then i haven't seen any bot-code that makes > 5% profit in two weeks with 0.25% fees/trade.
People who make good bots either bluff or don't share the code.
they let you rent it.
I aim to understand, learn it, write it myself. And share my findings with whoever shares with me.
◊ Origin
Based on RMI (RSI with momentum) and SMA, and values derived from those.
◊ Usage
Currently an investigative script.
◊ Theoretical Approaches
Philosophy α :: Cleansignal
:: Cleaning up the signal, from irregularities that cause unpredictable results.
Merging available tickers of a pair into one.
Merging available tickers of different coins into one in the correct proportion. (eg. Crypto market cap)
Removing Jitter, and smoothing signal without delay.
Philosophy β :: Rythmic
:: Syncing into the rythm's, to never miss the que, and trade on every theoretical low/high
Searching Amplitude, Period, Phase Shift, Frequency's of the carrier waves.
Marking Acrivity/inactivity of the carrier waves.
Partial Fractal repetition asses-able with above data?
Philosophy γ :: consequential
:: Seeking for Indicatory events and causal relations
Probability / reward.
Confirmation and culmination.
...
◊ Community
Wanna share your findings ? or need help resolving a problem ?
CMYK :: discord.gg
AUTOTVIEW :: discordapp.com
BTC CorrelationA simple script to display how correlated the current ticker is to Bitcoin.
Inputs are the number of bars to check correlation for (default 10) and the the ticker to use for BTC comparison (default is BITFINEX:BTCUSD)
Values of 1 are highly correlated (i.e. bitcoin moves up, so does your current ticker), values of -1 are inversely correlated (i.e. bitcoin moves up, your current ticker moves down).
See: www.babypips.com for some more details on correlation
Price relation viewer - add percent change of two symbols (BETA)This script is very much beta!
This is a simple script to visualize how two symbols move in relation to each other. For example if the underlying symbol is a 2x Gold ETF (meaning the ticker moves at 2x the spot price of gold---if gold goes up 3% this ticker should go up 6%) and the comparison symbol is an 2x inverse gold ETF (at gold up 3% this should move down 6%). If these ETFs were 100% accurate at tracking the price of gold then this tool would report a value of zero at all times.
Day 1
Ticker - $10
Comparison - $10
Day 2
Ticker - $12
Comp - $11
This tool value - |20%| + -|10%| = 10%
It uses a short simple moving average to smooth things out a bit (see inputs). It is important to keep your axis scale in mind when using this! Two symbols that are always near zero mean they are offsetting each other very well but the value displayed might range from 0 to 0.005, but the graphed area can make it look extreme if autoscaled.
This is a tool with very specific uses : comparing how one digital currency moves in relation to bitcoin's price, comparing how gold moves in relation to silver, etc.
Multi-Timeframe VWAPShows the Daily, Weekly, Monthly, Quarterly, and Yearly VWAP.
Also shows the previous closing VWAP, which is usually very near the HLC3 standard pivot for the previous time frame. i.e. The previous daily VWAP closing price is usually near the current Daily Pivot. Tickers interact well with the previous Daily and Weekly closing VWAP.
Enabling the STDEV bands shows 3 separate standard deviation levels, defaulted at 1, 2, and 3. The lookback period for the bands is always changing with each new bar, since the standard deviation is calculated from the current bar to the beginning of the period. This is different from bollinger bands, as the lookback is constant (usually 20 periods is the textbook default).
The STDEV bands interval of interest can be changed from Day (D), Week (W), Month (M), Quarter (Q), Year (Y).
Tickers tend to bounce very well on Daily, Weekly, and Yearly VWAP (Yes... Year). Use this code and observe the Year VWAP on several major symbols through the past few years and eyes will be opened.
Free Strategy #08 (Combo of #01 and #02) (ES / SPY)This strategy was designed to be traded on daily data on the ES and SPY—the strategy was originally developed for NinjaTrader, which displays daily ES data based on RTH hours instead of 24 hours (1440 minute) like TradingView does, so we are presenting the results on the SPY until we figure out how to overcome this hurdle.
The strategy combines the two ideas from strategy #01 and strategy #02 .
Strategy #08
Quantity 100
Slippage: 2 ticks
Commission: 4.95 per order
Net Profit: 26,044.60
Max Drawdown: 3,947.60
Buy and Hold (Custom)
Quantity 100
Slippage: 2 ticks
Commission: 4.95 per order
Entry Long: 1993-02-01 @ 43.99
Exit Long: 2017-07-28 @ 246.34
Net Profit: 20,225.10
Max Drawdown: 9,042.00
Free Strategy #02 (ES / SPY)This strategy was designed to be traded on daily data on the ES and SPY—the strategy was originally developed for NinjaTrader, which displays daily ES data based on RTH hours instead of 24 hours (1440 minute) like TradingView does, so we are presenting the results on the SPY until we figure out how to overcome this hurdle.
Strategy #02
Quantity 100
Slippage: 2 ticks
Commission: 4.95 per order
Net Profit: 10,118.30
Max Drawdown: 4.037.60
Buy and Hold (Custom)
Quantity 100
Slippage: 2 ticks
Commission: 4.95 per order
Entry Long: 1993-02-01 @ 43.99
Exit Long: 2017-07-28 @ 246.34
Net Profit: 20,225.10
Max Drawdown: 9,042.00
True Strength Indicator MTFHere is an example of a script showing a multi-time frame of TSI.
Chart below compares FX EURUSD Daily TSI to 1H TSI
Here is an updated version
study("True Strength Indicator MTF", shorttitle="TSI MTF")
resCustom = input(title="Timeframe", type=resolution, defval="60" )
long = input(title="Long Length", type=integer, defval=25)
short = input(title="Short Length", type=integer, defval=13)
signal = input(title="Signal Length", type=integer, defval=13)
price = close
double_smooth(src, long, short) =>
fist_smooth = ema(src, long)
ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi = security(tickerid, resCustom,tsi_value)
plot(tsi, color=black)
plot(ema(tsi, signal), color=red)
hline(0, title="Zero")
Squeeze Breakout Strategy [KedArc Quant]Description:
Squeeze Breakout strategy looks for volatility compression (Bollinger Bands inside Keltner Channels = a “squeeze”), then trades the volatility expansion in the direction of a momentum filter.
🧠 How the “Squeeze → Expansion” works
- Markets alternate between quiet (compressed) and active (expanded) phases.
- We call it a squeeze when Bollinger Bands (BB)—which reflect standard deviation around price—shrink inside the Keltner Channels (KC)—which reflect ATR/range.
- This means dispersion (stdev) is small relative to typical range (ATR). Price is coiling; participants are agreeing on value.
- When BB pops back outside KC, the squeeze releases. That’s the first sign that volatility is expanding again.
- A release alone doesn’t tell you direction. That’s why this strategy pairs the release with a momentum filter:
- We estimate momentum using a smoothed linear-regression slope of price (a clean proxy for acceleration).
- If the slope is positive at release, we favor longs; if negative, we favor shorts.
- Optionally, you can require Band Break + Momentum (price closes beyond the BB) for a stricter entry.
- This combination aims to capture the first leg of the range-to-trend transition while avoiding random pokes that often occur during tight consolidations.
💡 Why this is unique
Two entry modes (toggle):
1. Release + Momentum (enter when the squeeze turns off)
2. Band Break + Momentum (enter on a close beyond BB with momentum)
- Momentum = smoothed linear-regression slope, a clean thrust detector that’s less laggy than many oscillators.
- Risk module included: ATR stop, optional 1R partial take-profit, and a Chandelier trailing stop for the runner.
- Practical filters: higher-timeframe EMA trend alignment, volume surge, minimum BB width, and session window—so it adapts across markets/timeframes.
- Backtest-ready: uses TradingView’s `strategy.` framework with commission/slippage controls.
📈 How it helps traders
✅Regime clarity: distinguishes compression vs. expansion so you’re not forcing trades during dead zones.
✅Objective entries: momentum + band logic reduces discretionary “feel” and late chases.
✅Built-in risk plan: stop/targets/trailing defined in inputs—consistent execution across tickers.
✅Adaptable: works across instruments/timeframes; filters let you tailor noise tolerance per market session.
✅Alerts: real-time signals for entry and squeeze release.
✅Not a Mash-Up / Original Work
✅Fully authored in Pine Script v6; no external libraries or copied logic blocks.
✅Uses well-known, documented formulas (BB, KC, ATR, LinReg slope) combined into a new rule set (two entry modes + momentum + structured exits).
✅Code and parameters are transparent and adjustable; the script stands alone.
🧩 Formulas (core)
Bollinger Bands
# Basis = `SMA(close, bbLen)`
# Upper/Lower = `Basis ± bbMult × stdev(close, bbLen)`
# Width% = `(Upper − Lower) / Basis × 100`
Keltner Channels
# Basis = `EMA(close, kcLen)`
# Upper/Lower = `Basis ± kcMult × ATR(kcATR)`
Squeeze state
# ON: `BB_Upper < KC_Upper` and `BB_Lower > KC_Lower`
# Release: `squeeze_on ` and `not squeeze_on`
Momentum (this script)
# `lin = linreg(close, momLen, 0)`
# `mom = SMA( lin − lin , momSmoothing )`
# Long bias when `mom > 0`; short bias when `mom < 0`.
⚙️ Inputs
Compression
`bbLen`, `bbMult` — BB length & std-dev multiplier
`kcLen`, `kcATR`, `kcMult` — KC lengths & ATR multiplier
`Entry Mode` — Release + Momentum, Band Break + Momentum, or Either
Momentum
`momLen`, `momSmoothing`
Filters (optional)
`Use HTF Trend Filter` + `HTF Timeframe` + `HTF EMA Length`
`Require Volume Surge` (`volLen`, `volMult`)
`Avoid Ultra-Low Vol` (`Min BB Width %`)
`Session` window
Risk / Exits
`ATR Length`, `ATR Stop Multiplier`
`Take Profit at 1R` (with Partial 50%)
`Chandelier` (`chLen`, `chMult`)
Optional `Time Stop (bars)`
🎯 Entry & Exit Rules
Entry (choose one mode):
1. Release + Momentum (default)
Long: on the bar the squeeze releases and `mom > 0`, passing all enabled filters.
Short: on the bar the squeeze releases and `mom < 0`, passing filters.
2. Band Break + Momentum
Long: `close > BB_Upper` and `mom > 0`, with filters.
Short: `close < BB_Lower` and `mom < 0`, with filters.
Initial Stop
ATR-based: `Stop Distance = atrMult × ATR(atrLen)` from entry.
Targets & Runner
TP1 at 1R (optional): take 50% at `entry + 1R` (long) / `entry − 1R` (short).
Runner: remaining position trails a Chandelier stop:
Long trail = `highest(high, chLen) − chMult × ATR`
Short trail = `lowest(low, chLen) + chMult × ATR`
Optional Time Stop: close the trade after N bars in position.
Labels on chart
“Long” / “Short” = entry signals.
“L-TP1 / S-TP1” = partial exits at 1R.
“L-Runner / S-Runner” = trailing-stop exits of the runner.
Alerts
Provided for Long Entry, Short Entry, and Squeeze Release.
💬 How to use
1. Choose your market/timeframe (e.g., NSE 5–15m intraday, 60m–Daily for swing).
2. If you prefer cleaner trends, enable the HTF EMA filter (e.g., 240m/1D).
3. For intraday, consider Band Break + Momentum with Volume Surge and a small Min BB Width.
4. Adjust ATR/Chandelier multipliers to fit your risk tolerance and instrument.
Abbreviations
BB – Bollinger Bands
KC – Keltner Channels
ATR – Average True Range
SMA / EMA – Simple/Exponential Moving Average
HTF – Higher Timeframe
R – Risk unit (equal to the initial stop distance)
⚠️ Disclaimer
This script is for educational purposes only. Past performance ≠ future returns. Always paper trade first. Options trading carries high risk — manage exposure responsibly.
ADR + MOVE BoxADR + Move 20 day average Box for any ticker. Calculates the average daily range as well as the absolute delta from open to close. For Full day as well as NY session only
Earnings Day - Price Predictor [DunesIsland]It's designed to analyze and visualize historical stock price movements on earnings report days, focusing on percentage changes.
Here's a breakdown of what it does, step by step:
Key Inputs and Setup
User Input: There's a single input for "Lookback Years" (default: 10), which determines how far back in time (approximately) the indicator analyzes earnings data. It uses a rough calculation of milliseconds in that period to filter historical data.
Data Fetching: It uses TradingView's request.earnings function to pull actual earnings per share (EPS) data for the current ticker. Earnings days are identified where EPS data exists on a bar but not on the previous one (to avoid duplicates).
Price Change Calculation: For each detected earnings day, it computes the percentage price movement as (close - close ) / close * 100, representing the change from the previous close to the current close on that day.
Processing and Calculations (on the Last Bar)
Lookback Filter: It calculates a cutoff timestamp for the lookback period and processes only earnings events within that window.
Overall Averages:
Separates positive (≥0%) and negative (<0%) percentage changes.
Seasonality (Next Quarter Prediction):
Identifies the most recent earnings quarter (latest_q).
Predicts the "next" quarter (e.g., if latest is Q4, next is Q1;
Again, separates positive and negative changes, computing their respective averages.
Visual Outputs
Lookback: How far to fetch the data in years.
Average Change (Green): Showing the average of all positive changes.
Average Change (Red): Showing the average of all negative changes.
Seasonality Change (Green): Showing the average of positive changes for the predicted next quarter.
Seasonality Change (Red): Showing the average of negative changes for the predicted next quarter.
Purpose and Usage
This indicator helps traders assess a stock's historical reaction to earnings announcements. The overall averages give a broad sense of typical gains/losses, while the seasonality focuses on quarter-specific trends to "predict" potential movement for the upcoming earnings (based on past same-quarter performance). It's best used on daily charts for stocks with reliable earnings data. Note that quarter inference is calendar-based and may not perfectly match fiscal calendars for all companies—it's an approximation.
CHAN CRYPTO RS🩷 ATR RS (Crypto / High-based 2.1x, Decimal Safe v2)
This indicator is designed for crypto position sizing and stop calculation using ATR-based risk management. It helps traders automatically determine the stop price, per-unit risk, and optimal position size based on a fixed risk amount in USDT.
🔧 Core Logic
ATR Length (Daily RMA) — calculates the daily Average True Range (ATR) using RMA smoothing.
ATR Multiplier (2.1× default) — defines how far the stop is placed from the daily high.
Stop Price (for Longs) = Daily High − ATR × Multiplier
Per-Unit Risk = (Entry − Stop) × Point Value
Position Size = Risk Amount ÷ Per-Unit Risk
Automatically handles decimal precision for micro-priced crypto assets (e.g., PEPE, SHIB).
Includes safeguards for minimum size and maximum position caps.
💡 Features
Uses Daily ATR without lookahead (no repainting).
Dynamically switches between current and previous ATR for stable results when the daily bar isn’t yet confirmed.
“Snap to tick” ensures stop prices align with the symbol’s tick size.
Table display summarizes ATR, stop price, per-unit risk, total risk, size, and bet amount.
Optional stop label on the chart for visual clarity.
🧮 Output Table
Metric Description
ATR(10) Daily RMA-based ATR
ATR used Chosen ATR (current or previous)
Stop Calculated stop price
Per-unit Risk per coin/unit
Risk Total risk in USDT
Size Optimal position size
Bet Total position value (Entry × Size)
🧠 Ideal For
Crypto traders who use fixed-risk ATR strategies and need precise, decimal-safe position sizing even for ultra-low-priced tokens.
Swing High/Low ExtensionsSwing High/Low — Extensions (2 Plots + Drawings + Touch Signal)
What it does
This indicator finds Swing Highs/Lows using a symmetric length (same bars left & right), then creates horizontal extension levels that run to the right and stop at the first price touch (“extend until future intersection”).
It outputs:
Two plots showing the most recent active High/Low extension (great for alerts & strategy logic).
Line drawings for every detected swing (historical levels stay on the chart and end at the touch bar).
A hidden TouchSignal used to color bars and trigger alerts without distorting the price scale.
The design mirrors Sierra Chart’s “Swing High and Low” with “Extend Swings Until Future Intersection”, but implemented natively in Pine.
How it determines swings
Uses ta.pivothigh() / ta.pivotlow() with length bars left and right.
A swing is confirmed only after there are length bars to the right of the center.
How extensions/lines end
High extensions end when High ≥ level.
Low extensions end when Low ≤ level.
The corresponding line drawing is frozen on the touch bar; the most recent active line continues to extend each new bar.
Inputs
Swing Strength (Bars Left = Right) – symmetric pivot length.
Offset as Percentage – 1 = +1%; positive values push levels outward (High up / Low down), negative pull them inward.
Draw “Extend…Until Future Intersection” Lines – toggle line drawings on/off.
Line Width (Plots + Drawings) – thickness for plots and drawings.
HighExt Color / LowExt Color – colors for the two plots and drawings.
Touch Color – color to paint bars on the touch bar (doesn’t affect scale).
HighExt/LowExt Line Style – choose line style (Solid/Dashed/Dotted) for drawings.
Color Bars on Touch? – enable/disable bar coloring.
Bar Color on High Touch / Low Touch – separate bar colors for each side.
Bar Color Transparency (0..100) – opacity for the bar painting.
Plots
HighExt – latest active high extension only.
LowExt – latest active low extension only.
(Internally there is also a hidden “TouchSignal” plot used for bar coloring & alerts; it’s not displayed to keep the chart scale clean.)
Alerts
Three built-in alertconditions:
Any Extension Touched — triggers when either side is hit.
High Extension Touched — only high level touch.
Low Extension Touched — only low level touch.
Create alerts from the indicator’s “More” (⋯) menu → Add alert → choose one of the conditions.
Styling
Drawings use your selected style (Solid/Dashed/Dotted), color, and width.
Existing historical lines adopt new styles when the script recalculates.
Bar coloring highlights the exact touch candle; disable it if you prefer clean candles.
Notes & tips
Scale-safe: the TouchSignal is hidden (display=none), so it won’t distort the Y-axis.
Performance: TradingView limits scripts to ~500 line objects; this script uses max_lines_count=500. If you hit the cap on long histories, either increase timeframe or disable drawings and rely on the two plots + alerts.
Works on any symbol/timeframe; levels are rounded to the instrument’s minimum tick.
Intended use
For discretionary levels, alerting, and rule-based entries that react to first touch of recent swing extensions. Not financial advice—use at your own risk.
Institutional Orderflow Pro — VWAP, Delta, and Liquidity
Institutional Orderflow Pro is a next-generation order flow analysis indicator designed to help traders identify institutional participation, directional bias, and exhaustion zones in real time.
Unlike traditional volume-based indicators, it merges VWAP dynamics, cumulative delta, relative volume, and liquidity proximity into a single unified dashboard that updates tick-by-tick — without repainting.
The indicator is open-source, transparent, and educational. It aims to provide traders with a clearer read on who controls the market — buyers or sellers — and where liquidity lies.
The indicator combines multiple institutional-grade analytics into one framework:
RVOL (Relative Volume) = Compares current volume against the average of recent bars to identify strong institutional participation.
zΔ (Delta Z-Score) = Normalizes the buying/selling delta to reveal unusually aggressive market behavior.
CVDΔ (Cumulative Volume Delta Change) = Shows which side (buyers/sellers) is dominating this bar’s order flow.
VWAP Direction & Slope = Determines whether price is trading above/below VWAP and whether VWAP is trending or flat.
PD Distance (Prev Day Confluence) = Measures the current price’s distance from previous day’s high, low, close, and VWAP in ATR units — highlighting liquidity zones.
ABS/EXH Detection = Identifies institutional absorption and exhaustion patterns where momentum may reverse.
Bias Computation = Combines VWAP direction + slope to give a simplified regime signal: UP, DOWN, or FLAT.
All metrics are displayed through a color-coded, non-repainting HUD:
🟢 = bullish / favorable conditions
🔴 = bearish / weak conditions
⚫ = neutral / flat
🟡 = absorption (potential trap zone)
🟠 = exhaustion (momentum fading)
| Metric | Signal | Meaning |
| ---------------------- | ------- | ---------------------------------------------- |
| **RVOL ≥ 1.3** | 🟢 | High institutional activity — valid setup zone |
| **zΔ ≥ 1.2 / ≤ -1.2** | 🟢 / 🔴 | Unusual buy/sell aggression |
| **CVDΔ > 0** | 🟢 | Buyers dominate this bar |
| **VWAP dir ↑ / ↓** | 🟢 / 🔴 | Institutional bias long/short |
| **Slope ok = YES** | 🟢 | Trending market |
| **PD dist ≤ 0.35 ATR** | 🟢 | Near key liquidity zones |
| **Bias = UP/DOWN** | 🟢 / 🔴 | Trend-aligned environment |
| **ABS/EXH active** | 🟡 / 🟠 | Caution — possible reversal zone |
How to Use
Confirm Volume Context → RVOL > 1.2
Align with Bias → Take longs only when Bias = UP, shorts only when Bias = DOWN.
Check Slope and VWAP Dir → Ensure trending context (Slope = YES).
Confirm CVD and zΔ → Flow should agree with price direction.
Avoid ABS/EXH Triggers → These signal exhaustion or absorption by large players.
Enter Near PD Zones → Ideal trade zones are within 0.35 ATR of prior-day levels.
This multi-factor confirmation reduces noise and focuses only on high-probability institutional setups.
Originality
This script was written from scratch in Pine v6.
It does not reuse existing public indicators except for standard built-ins (ta.vwap, ta.atr, etc.).
The unique combination of delta z-scoring, VWAP slope filtering, and real-time confluence zones distinguishes it from typical orderflow tools or cumulative delta overlays.
The core innovation is its merged real-time HUD that integrates institutional metrics and natural-language feedback directly on the chart, allowing traders to read market context intuitively rather than decode multiple subplots.
Notes & Disclaimers
This indicator does not repaint.
It’s intended for educational and analytical purposes only — not as financial advice or a guaranteed signal system.
Works best on liquid instruments (Futures, Indices, FX majors).
Avoid non-standard chart types (Heikin Ashi, Renko, etc.) for accurate readings.
Open-source, modifiable, and compatible with Pine v6.
Recommended Use
Apply it with clean charts and standard candles for the best clarity.
Use alongside a basic structure or volume profile to contextualize institutional bias zones.
Author: Dhawal Ranka
Category - Orderflow / VWAP / Institutional Analysis
Version: Pine Script™ v6
License: Open Source (Educational Use)
Total Points Range by exp3rtsThis indicator measures and displays the true intraday movement of a market by approximating tick-level activity using 1-second data aggregation. Instead of only looking at net candle movement, it sums every price change during a session, giving traders a more accurate picture of market effort and volatility.
Total Points Moved (TPM) – Captures the full distance traveled by price, not just the net gain/loss.
Bullish vs. Bearish Movement – Separates upward and downward moves so you can see who dominated the session.
Custom Sessions – Define your own session start/end times and time zone for precise tracking.
End-of-Session Summary – Automatically plots a label at session completion with totals for TPM, bullish, and bearish movement.
Visual Session Highlighting – Background shading makes it easy to see when the chosen session is active.
This tool is useful for:
Understanding the true effort vs. result of price movement
Comparing volatility across sessions
Identifying whether bulls or bears contributed more to market swings
Supporting order flow and tick-based trading strategies






















