Highest High and Lowest Low channel Backtest Highest High and Lowest Low channel Strategy
You can change long to short in the Input Settings
Please, use it only for learning or paper trading. Do not for real trading.
ค้นหาในสคริปต์สำหรับ "low"
hi/low levels and fibsSlight development on previous range hi/low script. Plots highest lowest price over x periods, and the mid-point. Added to this are 2 sets of fib lines. That's it! :)
Hi Low and fibsSlight development on previous simple range hi/low script. Plots the highest and lowest of x periods, plus the mid point and 2 sets of fibs. That's it. :)
Simple Range Hi/LowSimple script and my first. Plots the high/low of x periods, and the mid-point. That's it.
The Middle-High-Low Moving AverageA standard EMA and a Middle-High-Low EMA give a good signal when they cross
ALERT: Passed Yesterday's High/LowThis is just a simple script to show if the current price passed yesterday's high or low price. It will create an alert if so (which can be set up to notify you via email or text).
blog.tradingview.com
Kay_High_LowPrevious High low plotting.
COPIED from Chris Moody's script and adjusted it for my needs.
CD_Average Daily Range Zones- highs and lows of the dayUses daily average ranges of 5 and 10 (most used) as buy (support) and highs (resistance) areas - half ranges used in calculations for a more accurate "forecast" of the H and L . Uses open but not close, so it does not repaint - experimental
Hi-Lo WorldThis script plots the highs/lows from multiple timeframes onto the same chart to help you spot the prevailing long-term, medium-term and short-term trends .
List of timeframes included:
Year
Month
Week
Day
4 Hour
Hour
You can select which timeframes to plot by editing the inputs on the Format Object dialog.
_CM_High_Low_Open_Close_Weekly-IntradayUpdated Indicator - Plots High, Low Open, Close
For Weekly, Daily, 4 Hour, 2 Hour, 1 Hour Current and Previous Sessions Levels.
Updated Adds 4 Hour, 2 Hour, 1 Hour levels for Forex and Intra-Day Traders.
FNGAdataLow“Low prices for FNGA ETF (Dec 2018–May 2025)
The Low prices for FNGA ETF (December 2018 – May 2025) capture the lowest trading price reached during each regular U.S. market session over the entire lifespan of this leveraged exchange-traded note. Initially launched under the ticker FNGU, and later rebranded as FNGA in March 2025 before its eventual redemption, the fund was structured to deliver 3x daily leveraged exposure to the MicroSectors FANG+™ Index. This index concentrated on a small basket of leading technology and tech-enabled growth companies such as Meta (Facebook), Amazon, Apple, Netflix, and Alphabet (Google), along with a few other innovators.
The Low price is particularly important in the study of FNGA because it highlights the intraday downside extremes of a highly volatile, leveraged product. Since FNGA was designed to reset leverage daily, its lows often reflected moments of amplified market stress, when declines in the underlying FANG+™ stocks were multiplied through the 3x leverage structure.
Low volatility Buy w/ TP & SL (Coinrule)The compression of volatility usually leads to expansion. When the breakout comes, it can ignite strong trends. One way to catch a coin trading in an accumulation area is to spot three moving averages with values close to each other. The strategy uses a combination of Moving Averages to spot the best time to buy a coin before its breakout.
Buy Condition
The MA200 is greater than the MA100
The MA50 is greater than the MA100
According to backtesting results, the 1-hour time frame is the best to run this strategy.
Sell Condition
Take Profit: the price increases 8% from the entry price
Stop Loss: the price drops 4% from the entry price
The strategy has a profitability of 40-60% (depending on the market conditions). Having a ratio of two between Take profit and Stop Loss helps keeping the strategy profitable in the long term.
Institutional Trading Suite Complete### Institutional Trading Suite Complete (ITS Pro) Indicator Description
#### Overview and Purpose
The **Institutional Trading Suite Complete (ITS Pro)** is an all-in-one overlay indicator designed for professional traders seeking a clean, comprehensive view of market structure across multiple timeframes and dimensions. Built for TradingView, this open-source tool integrates over a dozen institutional-grade features into a single, performance-optimized script, helping users identify key levels, trends, volume anomalies, and potential trade setups without cluttering the chart with multiple indicators.
Tailored for assets like forex, crypto, stocks, and indices, ITS Pro addresses the challenges of multi-timeframe analysis by combining price action tools (e.g., pivots, FVGs, order blocks), volume-based insights (PVSRA with vector zones), moving averages for trend confirmation, and statistical dashboards for quick context. Its purpose is to mimic institutional workflows—focusing on liquidity zones, fair value gaps, and average ranges—to spot high-probability entries/exits, risk areas, and market biases. For instance, a trader might use FVGs and order blocks for support/resistance while cross-referencing PVSRA vector candles for volume confirmation, all within one indicator.
This mashup isn't arbitrary; each component complements the others to create a layered analysis system. Volume tools (PVSRA) highlight momentum shifts that validate levels from pivots or psychological zones, while the dashboard provides at-a-glance metrics to tie everything together. By consolidating these, the indicator reduces lag and drawing object overhead (limited to 500 each for boxes/lines/labels), ensuring smooth performance on any timeframe.
#### Originality and Uniqueness
While individual elements like EMAs or pivots exist in basic forms on TradingView, ITS Pro's originality lies in its seamless integration and optimizations for institutional-style trading:
- **PVSRA with Clean Vector Zones**: An enhanced Price-Volume-Spread-Range Analysis that colors bars based on volume/spread ratios and draws limited, non-overlapping zones around "vector" candles (high-volume anomalies). This is unique in its lightweight implementation—capping zones to prevent clutter—allowing traders to spot climactic moves without full volume profile overhead.
- **Limited & Mitigated FVGs/Order Blocks**: Detects Fair Value Gaps and Order Blocks with strict limits (e.g., max 5 FVGs) and percentage-based mitigation (e.g., 50% fill removes the box), keeping the chart clean. Order blocks focus on swing-based bearish/bullish candles with body size filters, avoiding the noise of traditional pivot-based methods.
- **Liquidity Zones via Touch Counting**: A novel approach counting price touches within tolerance bands over a lookback, highlighting high/low liquidity areas only when a threshold is met—original for simplifying liquidity hunting without complex order flow data.
- **Multi-Timeframe Levels & Ranges**: Combines daily/weekly/monthly highs/lows/opens with average ranges (ADR/AWR/AMR) and price quartiles (dividing historical range into Q1-Q4 zones), providing a "big picture" structure not commonly bundled.
- **Dashboard & Alerts**: A customizable table summarizing key metrics (e.g., price bias, FVG/OB counts) with built-in alerts for crosses/breaks, making it a "control center" for the suite.
As open-source code, users can inspect, modify, or extend features (e.g., adjust tolerances or add symbols). It draws from concepts like ICT/Smart Money but refines them for efficiency, using Pine Script v6 optimizations like array limits and conditional drawings to handle high-bar counts without errors.
#### Credit and Acknowledgments
This script incorporates elements inspired by and adapted from the "Traders Reality" codebase, licensed under the Mozilla Public License 2.0 (mozilla.org). Original contributions include:
- Pattern formation by plasmapug.
- Rise retrace continuation to the upside by infernix, peshocore, and xtech5192.
- DST auto functions and psychological level refactor for DST by xtech5192.
- Range daily/weekly Hi/Lo added with research contributions from xtech5192.
While the code is open-source and free to use/modify, the "Traders Reality" name is protected—derivatives should not use "Traders Reality," "Pattern Watchers," or related names. Special thanks to the Traders Reality community for their foundational work on PVSRA, session handling with DST adjustments, and range calculations, which have been optimized and integrated here for enhanced performance.
#### How It Works
ITS Pro processes data in real-time, resetting calculations at timeframe changes (e.g., new days/weeks) and using security() for higher-timeframe fetches. Here's a breakdown of core features and underlying concepts:
- **PVSRA (Volume Analysis)**: Calculates average volume over 10 bars and spread-volume (range * volume). Bars are colored based on ratios: vector (≥2x avg or max spread-vol) for climaxes, strong (≥1.5x) for conviction. Zones are drawn around vectors with fixed extension (user-set bars) and capped count, using arrays for management. Optional symbol override (e.g., for crypto volume aggregation).
- **Exponential Moving Averages**: Standard EMAs (5,13,50,200,800 periods) with optional 50-period cloud. Labels show values at chart right for quick reference.
- **Daily Pivots**: Uses previous day's HLC for PP = (H+L+C)/3, R1/S1 = 2*PP - L/H, etc., up to R3/S3. M-levels are midpoints (e.g., M1 = (S1+S2)/2). Plotted as crosses with style options.
- **High/Low & Open Levels**: Fetches previous period's extremes/opens from D/W/M timeframes. Historical daily opens optional for steplines.
- **Average Ranges**: SMA of (high-low) over user lengths for ADR (daily), AWR (weekly), AMR (monthly). Projects ±50% from close as potential exhaustion levels.
- **Psychological Levels**: Rounds to multiples of spacing (e.g., 1000 for BTC), drawing limited lines (±count) around current price with dotted style.
- **Quarterly Price Zones**: Divides historical range (high-low over lookback) into 4 equal quartiles, drawing non-overlapping boxes for visual price distribution (Q1 bottom 25%, etc.).
- **Yearly Levels**: Annual high/low/open from 12M timeframe, plotted as steplines.
- **Market Sessions**: Time-based boxes for London/NY/Tokyo/Sydney with DST adjustments (US/UK/Sydney). Optional high/low lines per session, resetting at starts.
- **Fair Value Gaps (FVGs)**: Detects gaps where low > high (bullish) or high < low (bearish), drawing boxes. Mitigates when price penetrates % threshold, capping active FVGs.
- **Order Blocks**: Identifies last bearish candle before bullish swing low (or vice versa) with body size filter. Draws extendable boxes, limited count via array shift.
- **Liquidity Zones**: Counts touches near range highs/lows within % tolerance over lookback; draws if ≥threshold.
- **Dashboard**: Table on last bar showing price, levels, counts, bias (above/below PP). Custom position/size.
Alerts trigger on key crosses (e.g., PP break, vector candle).
#### How to Use It
Add ITS Pro via TradingView's indicators menu. Customize in the inputs tab—groups organize features for easy toggling (e.g., disable FVGs if not needed). Best on intraday charts (1m-1h) for stocks/crypto/forex, but scales to higher TFs.
- **Setup**: Adjust offsets for labels (e.g., 12 bars right). Enable extensions for lines/boxes. For PVSRA, override symbol if volume is unreliable (e.g., aggregate BTC exchanges).
- **Trading Examples**:
- **Bias & Trends**: Use EMA stack and PP for daily bias (above PP + golden cross = long). PVSRA vectors confirm entries.
- **Levels & Zones**: Trade bounces from order blocks/FVGs near psych levels or quarterly zones. Liquidity zones signal potential sweeps.
- **Ranges**: ADR highs/lows as take-profit; if price hits AWR early, expect expansion.
- **Sessions**: Focus entries during London/NY overlaps; session H/L as intraday S/R.
- **Dashboard/Alerts**: Monitor for "BULLISH ↑" bias; set alerts for R1 breaks or vectors.
Since it's open-source, fork the code to add features (e.g., custom alerts). Test on demo charts—feedback via comments! Developed for clean, pro analysis—happy trading!
ZigzagLibrary "Zigzag"
Zigzag related user defined types and methods
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts ZigzagTypes/Pivot object to string representation
Namespace types: Pivot
Parameters:
this (Pivot) : ZigzagTypes/Pivot
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (array) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of ZigzagTypes/Pivot
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts Array of Pivot objects to string representation
Namespace types: array
Parameters:
this (array) : Pivot object array
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (array) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of Pivot object array
method tostring(this)
Converts ZigzagFlags object to string representation
Namespace types: ZigzagFlags
Parameters:
this (ZigzagFlags) : ZigzagFlags object
Returns: string representation of ZigzagFlags
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts ZigzagTypes/Zigzag object to string representation
Namespace types: Zigzag
Parameters:
this (Zigzag) : ZigzagTypes/Zigzagobject
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (array) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of ZigzagTypes/Zigzag
method getPrices(pivots)
Gets the array of prices from array of Pivots
Namespace types: array
Parameters:
pivots (array) : array array of Pivot objects
Returns: array array of pivot prices
method getBars(pivots)
Gets the array of bars from array of Pivots
Namespace types: array
Parameters:
pivots (array) : array array of Pivot objects
Returns: array array of pivot bar indices
method getPoints(pivots)
Gets the array of chart.point from array of Pivots
Namespace types: array
Parameters:
pivots (array) : array array of Pivot objects
Returns: array array of pivot points
method getPoints(this)
Gets the array of chart.point from Zigzag Object
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
Returns: array array of pivot points
method calculate(this, ohlc, indicators, indicatorNames, ltfHighTime, ltfLowTime)
Calculate zigzag based on input values and indicator values
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
ohlc (array) : Array containing OHLC values. Can also have custom values for which zigzag to be calculated
indicators (matrix) : Array of indicator values
indicatorNames (array) : Array of indicator names for which values are present. Size of indicators array should be equal to that of indicatorNames
ltfHighTime (int) : Used for multi timeframe zigzags when called within request.security. Default value is current timeframe open time.
ltfLowTime (int) : Used for multi timeframe zigzags when called within request.security. Default value is current timeframe open time.
Returns: current Zigzag object
method calculate(this)
Calculate zigzag based on properties embedded within Zigzag object
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
Returns: current Zigzag object
method nextlevel(this)
Calculate Next Level Zigzag based on the current calculated zigzag object
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
Returns: Next Level Zigzag object
method clear(this)
Clear the drawings from ZigzagDrawing object
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
Returns: ZigzagDrawing object
method clear(this)
Clear the drawings from ZigzagDrawingPL object
Namespace types: ZigzagDrawingPL
Parameters:
this (ZigzagDrawingPL) : ZigzagDrawingPL object
Returns: ZigzagDrawingPL object
method clear(this)
Clears zigzag drawings array
Namespace types: array
Parameters:
this (array) : array
Returns: void
method clear(this)
Clears zigzag drawings array
Namespace types: array
Parameters:
this (array) : array
Returns: void
method drawplain(this)
draws fresh zigzag based on properties embedded in ZigzagDrawing object without trying to calculate
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
Returns: ZigzagDrawing object
method drawplain(this)
draws fresh zigzag based on properties embedded in ZigzagDrawingPL object without trying to calculate
Namespace types: ZigzagDrawingPL
Parameters:
this (ZigzagDrawingPL) : ZigzagDrawingPL object
Returns: ZigzagDrawingPL object
method drawfresh(this, ohlc, indicators, indicatorNames)
draws fresh zigzag based on properties embedded in ZigzagDrawing object
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
ohlc (array) : values on which the zigzag needs to be calculated and drawn. If not set will use regular OHLC
indicators (matrix) : Array of indicator values
indicatorNames (array) : Array of indicator names for which values are present. Size of indicators array should be equal to that of indicatorNames
Returns: ZigzagDrawing object
method drawcontinuous(this, ohlc, indicators, indicatorNames)
draws zigzag based on the zigzagmatrix input
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
ohlc (array) : values on which the zigzag needs to be calculated and drawn. If not set will use regular OHLC
indicators (matrix) : Array of indicator values
indicatorNames (array) : Array of indicator names for which values are present. Size of indicators array should be equal to that of indicatorNames
Returns:
Indicator
Indicator is collection of indicator values applied on high, low and close
Fields:
indicatorHigh (series float) : Indicator Value applied on High
indicatorLow (series float) : Indicator Value applied on Low
PivotCandle
PivotCandle represents data of the candle which forms either pivot High or pivot low or both
Fields:
_high (series float) : High price of candle forming the pivot
_low (series float) : Low price of candle forming the pivot
length (series int) : Pivot length
pHighBar (series int) : represents number of bar back the pivot High occurred.
pLowBar (series int) : represents number of bar back the pivot Low occurred.
pHigh (series float) : Pivot High Price
pLow (series float) : Pivot Low Price
indicators (array) : Array of Indicators - allows to add multiple
Pivot
Pivot refers to zigzag pivot. Each pivot can contain various data
Fields:
point (chart.point) : pivot point coordinates
dir (series int) : direction of the pivot. Valid values are 1, -1, 2, -2
level (series int) : is used for multi level zigzags. For single level, it will always be 0
componentIndex (series int) : is the lower level zigzag array index for given pivot. Used only in multi level Zigzag Pivots
subComponents (series int) : is the number of sub waves per each zigzag wave. Only applicable for multi level zigzags
microComponents (series int) : is the number of base zigzag components in a zigzag wave
ratio (series float) : Price Ratio based on previous two pivots
sizeRatio (series float) : Ratio of size beteen current zigzag wave and the last zigzag wave in the same direction.
barRatio (series float) : Bar Ratio based on previous two pivots
subPivots (array) : direct sub pivots of multi level zigzag
micropivots (array) : all micropivots of the the multi level zigzag
indicatorNames (array) : Names of the indicators applied on zigzag
indicatorValues (array) : Values of the indicators applied on zigzag
indicatorRatios (array) : Ratios of the indicators applied on zigzag based on previous 2 pivots
ZigzagFlags
Flags required for drawing zigzag. Only used internally in zigzag calculation. Should not set the values explicitly
Fields:
newPivot (series bool) : true if the calculation resulted in new pivot
doublePivot (series bool) : true if the calculation resulted in two pivots on same bar
updateLastPivot (series bool) : true if new pivot calculated replaces the old one.
Zigzag
Zigzag object which contains whole zigzag calculation parameters and pivots
Fields:
length (series int) : Zigzag length. Default value is 5
numberOfPivots (series int) : max number of pivots to hold in the calculation. Default value is 20
offset (series int) : Bar offset to be considered for calculation of zigzag. Default is 0 - which means calculation is done based on the latest bar.
level (series int) : Zigzag calculation level - used in multi level recursive zigzags
zigzagPivots (array) : array which holds the last n pivots calculated.
flags (ZigzagFlags) : ZigzagFlags object which is required for continuous drawing of zigzag lines.
ZigzagObject
Zigzag Drawing Object
Fields:
zigzagLine (series line) : Line joining two pivots
zigzagLabel (series label) : Label which can be used for drawing the values, ratios, directions etc.
ZigzagProperties
Object which holds properties of zigzag drawing. To be used along with ZigzagDrawing
Fields:
lineColor (series color) : Zigzag line color. Default is color.blue
lineWidth (series int) : Zigzag line width. Default is 1
lineStyle (series string) : Zigzag line style. Default is line.style_solid.
showLabel (series bool) : If set, the drawing will show labels on each pivot. Default is false
showLevels (series bool)
showSubcomponents (series bool)
textColor (series color) : Text color of the labels. Only applicable if showLabel is set to true.
maxObjects (series int) : Max number of zigzag lines to display. Default is 300
xloc (series string) : Time/Bar reference to be used for zigzag drawing. Default is Time - xloc.bar_time.
curved (series bool) : Boolean field to print curved zigzag - used only with polyline implementation
force_overlay (series bool)
ZigzagDrawing
Object which holds complete zigzag drawing objects and properties.
Fields:
zigzag (Zigzag) : Zigzag object which holds the calculations.
properties (ZigzagProperties) : ZigzagProperties object which is used for setting the display styles of zigzag
drawings (array) : array which contains lines and labels of zigzag drawing.
ZigzagDrawingPL
Object which holds complete zigzag drawing objects and properties - polyline version
Fields:
zigzag (Zigzag) : Zigzag object which holds the calculations.
properties (ZigzagProperties) : ZigzagProperties object which is used for setting the display styles of zigzag
zigzagLabels (array)
zigzagLine (series polyline) : polyline object of zigzag lines
RSI(14) Divergence — Enhanced Hidden Detection (v6) — exterm hidTitle:
RSI(14) Divergence — Regular + Hidden + HTF EMA Filter (Scalping Edition)
🔹 Description:
This indicator automatically detects RSI(14) divergences — both Regular (Reversal) and Hidden (Continuation) — and plots them directly on the chart for precision scalping and intraday trading.
It’s optimized for low timeframes (1-minute) such as Bank Nifty, Nifty 50, and Sensex, where spotting early divergence can help confirm short-term momentum shifts.
⚙️ Core Features:
Regular Divergence Detection
Bullish Divergence: Price makes a lower low while RSI makes a higher low → potential reversal upward.
Bearish Divergence: Price makes a higher high while RSI makes a lower high → potential reversal downward.
Hidden Divergence Detection
Hidden Bullish Divergence: Price makes a higher low while RSI makes a lower low → continuation of bullish trend.
Hidden Bearish Divergence: Price makes a lower high while RSI makes a higher high → continuation of bearish trend.
HTF EMA Trend Alignment (Smart Filter)
Optional feature that aligns signals with the higher timeframe (HTF) trend using a 200 EMA.
Example: Only shows bullish divergences when the 5-minute price is above the 5-minute 200 EMA (uptrend alignment).
Helps filter false signals and keeps divergence trading directional.
Chart Visualization
Regular divergences: Bold solid lines (Green for bullish, Red for bearish).
Hidden divergences: Thin dashed lines (Teal for hidden bull, Maroon for hidden bear) — subtle enough to stay unnoticed by casual chart viewers.
Optional labels (“Bull Div”, “Bear Div”, etc.) and minimalistic markers for scalping clarity.
Option to extend divergence lines for future reference.
Custom Alerts (for all divergence types)
Get instant alerts when any regular or hidden divergence is detected.
Works seamlessly for both long and short bias setups.
📈 Recommended Usage:
Timeframe: 1-Minute (Scalping) or 3-Minute (Micro Intraday)
Markets: Bank Nifty, Nifty 50, Sensex, or any high-volatility index/stocks
Combine With:
Higher timeframe structure (H1/H4 bias)
Volume spikes or order block retests
Key support/resistance zones