Time FunctionsLibrary "TimeFunctions"
Utility functions to handle time in Pine Script
TimeframetoInt()
Returns an int that corresponds to a timeframe string:
"1" => 1
"5" => 5
"10" => 10
"15" => 15
"30" => 30
"60" => 60
"H1" => 60
"H4" => 240
"1D" => 1440
BarsSinceOpen()
Returns the number of bars that have passed since the opening of the New York Session.
在腳本中搜尋"涨幅超过60日均线的股票"
Risk On Risk OffA helpful indicator for those who follow a systematic long-term investment approach.
What it shows:
It shows the 60 Day Cumulative Return of $BND Vanguard Total Bond Market ETF against the 60 Day Cumulative Return of $BIL SPDR Bloomberg Barclays 1-3 Month T-Bill ETF.
Why:
This Indicator will provide you a sense of where the economic environment is at, if the indicator shows that the 60 Day Cumulative return of $BND is ABOVE $BIL, it means that it's a good idea to go Risk ON in the stock market; On the other hand, if the inverse is true, it means that is a good idea to go Risk OFF in the stock market.
Example Uses:
Warren Buffet often advice Investors to just buy a S&P500 index tracking ETF like $SPY consistently and you will likely to be making money in the long-term.
With this indicator you will be able to make the Buffet Strategy even simpler: when the indicator shows Risk ON, buy the $SPY; when the indicator shows Risk OFF, consider hedges like $IEF iShares 7-10 Year Treasury Bond ETF. AMEX:SPY
Multi HMA Lines by NB(ENG)
The Hull Moving Average (HMA) line responds quickly to volatile markets,
sometimes it provides more accurate information than the Exponancital Moving Average (EMA).
In particular, the 200 HMA line is easy to decide the overall trend of the market,
and it serves the basis entry position.
So I made indicator that provides these HMA lines into various periods so that they can be checked in one.
In addition, a custom TimeFrame HMA line function has been added so that you can check
not only the TimeFrame that meets your trading standards, but also the HMA of the other TimeFrame that you custome sets.
For example, if you want to see the 200 HMA of the 60-minute bar, you can select and set the different TimeFrame in the Multi TF section below.
For reference, 200 HMA at the 15-minute bar is the same value as 50 HMA at the 1-hour bar, so as shown in the following chart,
I use 4 HMA lines at the 15-minute bar : 20 HMA, 50 HMA, 200 HMA, and 200 HMA from 60-minute TimeFrame.
We hope it will help you in your trading. :)
(KOR)
HMA(Hull Moving Average) 라인은 변동성이 심한 시장에 빠르게 반응하며,
때때로 EMA(Exponancital Moving Average)보다 더 정확한 정보를 제공하곤 합니다.
특히 200HMA 라인은 시장의 전반적인 추세를 판단하기에 용이하며,
큰 틀에서의 포지션 진입 근거의 기반이 됩니다.
이러한 HMA 라인을 다양한 기간으로 나누어 하나의 지표에서 확인 할 수 있도록 만들어 보았습니다.
아울러, 자신의 매매 기준에 맞는 타임 프레임은 물론, 다른 타임 프레임의 HMA도 확인 할 수 있도록
커스텀 타임 프레임 HMA 라인 기능을 추가로 넣었습니다.
예를 들어, 15분 타임 프레임이 본인 매매 기준표이지만, 60분 봉의 200 HMA도 보고 싶다면
밑의 Multi TF 항목에서 해당 타임 프레임을 선택 후 설정하시면 됩니다.
참고로 15분 봉에서의 200 HMA은 1시간 봉에서의 50 HMA과 동일한 값이므로 저는 다음 차트 그림과 같이
15분 봉에서 20 HMA, 50 HMA, 200 HMA, 그리고 1시간 봉에서 200 HMA 이렇게 4개의 라인을 참고 하고 있습니다.
여러분 거래에 도움이 되기를 바랍니다. :)
RexDog Hour Close LinesThe RexDog Hour Close Lines plots the last 4 previous hour (60 minute) closes. Extremely helpful indicator for traders who trade on lower timeframes below the 60.
The plotted lines are also offset to represent that hours close location on the chart-- but keep the below in mind.
The offset is set for a default resolution of 5 minutes. In that chart timeframe, the offset is correct as to the close location. Changing the timeframe to 3m for instance the offset is not accurate to that particular bar. I am sure there is a simple way to do this but maybe I'm just not smart enough to figure it out. Either way, the offset in any timeframe is easy to distinguish the oldest hour close to the newest.
This indicator has the following options:
You can enable or disable any previous 4 hour close line
You can change all line sizes
You can change all line colors. I do apologize if it's inconvenient that I've defaulted the lines to different colors.
I've limited the visibility to only periods below 60 minutes-- but and maybe there is a better way to do this (if so please share). The limit is based on the most common periods below 60: 1, 2, 3, 5, 10, 12, 15, and 30.
Will most likely release the 240 and 30-minute version of this I have on a few charts.
A simple double moving average system# This simple code is describing the double moving average system, thanks for the contribution of Lei and jchang264
# The moving average system is including the SMA(20,60,120) and EMA(20,60,120), which use the different colours and style
# The bar is using the different colours to describe the different state, for example the black one mean the season of the trendy didn't form, the blue mean to reach the first phase of the trendy, the state of gray bar just between the black and blue, The gold one mean the season of the trend has already forming (SMA20 > SMA60 > SMA120), which one I think it is important.
# Price mark mean the deduction price of 20, 60 and 120
Forex system 10This is old method I used in the past for forex
can be apply to any time frame . can be apply to any asset
all you have to do is to follow the colors (red =sell, green=buy)
the system is my modification to fibs system in order to make it more accurate
here is example of setting for 5 min chart
the color determine by cross of the median of high and low
the script try to give us more accurate levels of resistance and support levels especially when we do it in lower TF
the Min is the control need to be same or higher then chart
60 min chart for example
gold 60 min
btc
another forex example 15 min
here 60 min TF on 5 min chart on crypto link
VPoC per barThis study prints the current bar VPoC as an horizontal line.
It's aimed originally at BTCUSDT pair and 15m timeframe.
HOW IT WORKS
Zoom In mode: This is the default mode.
The study zooms in into the latest 15 1-minute bar candles in order to calculate the 15 minute candle VPoC.
Zoom Out mode: The VPoC from the last n bars from the current timeframe that match desired timeframe is shown on each bar.
In either case you are recommended to click on the '...' button associated to this study
and select 'Visual Order. Bring to Front.' so that it's properly shown in your chart.
HOW IT WORKS - Zoom In mode
Make sure that '(VP) Zoom into the VP timeframe' setting is set to true.
Choose the zoomed in timeframe where to calculate VPoC from thanks to the '(VP) Zoomed timeframe {1 minute}' setting.
Change '(VP) Zoomed in timeframe bars per current timeframe bar {15}' to its appropiated value. You just need to divide the current timeframe minutes per the zoomed in timeframe minutes per bar. E.g. If you are in 60 minute timeframe and you want to zoom in into 5 minute timeframe: 60 / 5 = 12 . You will write 12 here.
HOW IT WORKS - Zoom Out mode
Make sure that '(VP) Zoom into the VP timeframe' setting is set to false.
If you are using the Zoom out mode you might want to set '(VP) Print VPoC price as discrete lines {True}' to false.
Either choose the zoommed out timeframe where to calculate VPoC from thanks to the '(VP) Zoomed timeframe {1 minute}' setting or turn on the '(VP) Use number of bars (not VP timeframe)' setting in order to use '(VP) Number of bars {100}' as a custom number of bars.
WARNING - Zoom In mode last bar
The way that PineScript handles security function in last bar might result on the last bar not being accurate enough.
SETTINGS
__ SETTINGS - Volume Profile
(VP) Zoomed timeframe {1 minute}: Timeframe in which to zoom in or zoom out to calculate an accurate VPoC for the current timeframe.
(VP) Zoomed in timeframe bars per current timeframe bar {15}: Check 'HOW IT WORKS - Zoom In mode' above. Note : It is only used in 'Zoom in' mode.
(VP) Number of bars {100}: If 'Use number of bars (not VP timeframe)' is turned on this setting is used to calculate session VPoC. Note : It is only used in 'Zoom out' mode.
(VP) Price levels {24}: Price levels for calculating VPoC.
__ SETTINGS - MAIN TURN ON/OFF OPTIONS
(VP) Print VPoC price {True}: Show VPoC price
(VP) Zoom into the VP timeframe: When set to true the VPoC is calculated by zooming into the lower timeframe. When set to false a higher timeframe (or number of bars) is used.
(VP) Realtime Zoom in (Beta): Enable real time zoom for the last bar. It's beta because it would only work with zoomed in timeframe under 60 minutes. And when ratio between zoomout and zoomin is less than 60. Note : It is only used in 'Zoom in' mode.
(VP) Use number of bars (not VP timeframe): Uses 'Number of bars {100}' setting instead of 'Volume Profile timeframe' setting for calculating session VPoC. Note : It is only used in 'Zoom out' mode.
(VP) Print VPoC price as discrete lines {True}: When set to true the VPoC is shown as an small line in the center of each bar. When set to the false the VPoC line is printed as a normal line.
__ SETTINGS - EXTRA
(VP) VPoC color: Change the VPoC color
(VP) VPoC line width {1}: Change VPoC line width (in pixels).
(VP) Use number of bars (not VP timeframe): Uses 'Number of bars {100}' setting instead of 'Volume Profile timeframe' setting for calculating session VPoC. Note : It is only used in 'Zoom out' mode.
(VP) Print VPoC price as discrete lines {True}: When set to true the VPoC is shown as an small line in the center of each bar. When set to the false the VPoC line is printed as a normal line.
CREDITS
I have reused and adapted some code from
"Poor man's volume profile" study
which it's from TradingView IldarAkhmetgaleev user.
Traders Dynamic Index(RSI) w/ Bull&Bear Control ZonesMomentum (RSI) is one of the most commonly used indicators for trading, but the vast majority of traders who use it, simply apply it as an oscillator to measure overbought and oversold conditions. However, momentum is much more complex than that and using a basic RSI fails to highlight these complexities.
What this highlights are some of the areas/zones that many people may not even know about or are unaware what the RSI can actually reveal about a particular trend.
What this indicator is showing:
Fast moving RSI (Green) - 1 period
Slow moving RSI (Red) - 9 period
Bollinger Bands
Relative Strength: 1 - 100
Bearish Control Zone: 30(Below) - 45
Bullish Control Zone: 60 - 70 (Above)
How this identifies trends:
Bear Market(Bearish Control Zone):
-Support: 20(Below) - 30
-Resistance: 55 - 65
-Momentum will test resistance but will fail to hold support at 50
Bull Market(Bullish Control Zone):
-Support: 45 - 50
-Resistance: 80 - 90(Above)
-Momentum will test support but will not continue past the 45 support
How this identifies reversals:
If a market is bullish, but loses support at 45 and tests 30, it has begun reversal. If a market is bearish, but breaks 60 and tests 70, it has begun reversal.
-A bull market reversal is confirmed if it finds resistance at 60 after testing bearish support
-A bear market reversal is confirmed if it finds support at 50 after testing bullish resistance
Slow & Fast RSI w/ Boll Bands:
-The Slow and Fast RSI crossovers will act as Intermediate trends within the Macro trend - Fast crosses slow, bullish. Slow cross fast, bearish.
-Use in confluence with the Macro trend.
-While under Bearish Control, the Slow RSI will act as resistance for the Fast RSI.
-While under Bullish Control, the Slow RSI will act as support for the Fast RSI.
-The two will have an impulsive crossover when the Macro trend reverses.
-The Bollinger Bands will act as a volatility gauge for potential approaching tests of Support & Resistances. (Expansions & Contractions)
This is an analog of TDIGM (GoldMinds)
-Added Bullish/Bearish Control Zones.
-Changed Fast RSI to Green and Slow RSI to Red.
Simple Harmonic Oscillator (SHO)The indicator is based on Akram El Sherbini's article "Time Cycle Oscillators" published in IFTA journal 2018 (pages 78-80) (www.ftaa.org.hk)
The SHO is a bounded oscillator for the simple harmonic index that calculates the period of the market’s cycle. The oscillator is used for short and intermediate terms and moves within a range of -100 to 100 percent. The SHO has overbought and oversold levels at +40 and -40, respectively. At extreme periods, the oscillator may reach the levels of +60 and -60. The zero level demonstrates an equilibrium between the periods of bulls and bears. The SHO oscillates between +40 and -40. The crossover at those levels creates buy and sell signals. In an uptrend, the SHO fluctuates between 0 and +40 where the bulls are controlling the market. On the contrary, the SHO fluctuates between 0 and -40 during downtrends where the bears control the market. Reaching the extreme level -60 in an uptrend is a sign of weakness. Mostly, the oscillator will retrace from its centerline rather than the upper boundary +40. On the other hand, reaching +60 in a downtrend is a sign of strength and the oscillator will not be able to reach its lower boundary -40.
Centerline Crossover Tactic
This tactic is tested during uptrends. The buy signals are generated when the WPO/SHI cross their centerlines to the upside. The sell signals are generated when the WPO/SHI cross down their centerlines. To define the uptrend in the system, stocks closing above their 50-day EMA are considered while the ADX is above 18.
Uptrend Tactic
During uptrends, the bulls control the markets, and the oscillators will move above their centerline with an increase in the period of cycles. The lower boundaries and equilibrium line crossovers generate buy signals, while crossing the upper boundaries will generate sell signals. The “Re-entry” and “Exit at weakness” tactics are combined with the uptrend tactic. Consequently, we will have three buy signals and two sell signals.
Sideways Tactic
During sideways, the oscillators fluctuate between their upper and lower boundaries. Crossing the lower boundary to the upside will generate a buy signal. On the other hand, crossing the upper boundary to the downside will generate a sell signal. When the bears take control, the oscillators will cross down the lower boundaries, triggering exit signals. Therefore, this tactic will consist of one buy signal and two sell signals. The sideway tactic is defined when stocks close above their 50-day EMA and the ADX is below 18
Volume Profile [Makit0]VOLUME PROFILE INDICATOR v0.5 beta
Volume Profile is suitable for day and swing trading on stock and futures markets, is a volume based indicator that gives you 6 key values for each session: POC, VAH, VAL, profile HIGH, LOW and MID levels. This project was born on the idea of plotting the RTH sessions Value Areas for /ES in an automated way, but you can select between 3 different sessions: RTH, GLOBEX and FULL sessions.
Some basic concepts:
- Volume Profile calculates the total volume for the session at each price level and give us market generated information about what price and range of prices are the most traded (where the value is)
- Value Area (VA): range of prices where 70% of the session volume is traded
- Value Area High (VAH): highest price within VA
- Value Area Low (VAL): lowest price within VA
- Point of Control (POC): the most traded price of the session (with the most volume)
- Session HIGH, LOW and MID levels are also important
There are a huge amount of things to know of Market Profile and Auction Theory like types of days, types of openings, relationships between value areas and openings... for those interested Jim Dalton's work is the way to come
I'm in my 2nd trading year and my goal for this year is learning to daytrade the futures markets thru the lens of Market Profile
For info on Volume Profile: TV Volume Profile wiki page at www.tradingview.com
For info on Market Profile and Market Auction Theory: Jim Dalton's book Mind over markets (this is a MUST)
BE AWARE: this indicator is based on the current chart's time interval and it only plots on 1, 2, 3, 5, 10, 15 and 30 minutes charts.
This is the correlation table TV uses in the Volume Profile Session Volume indicator (from the wiki above)
Chart Indicator
1 - 5 1
6 - 15 5
16 - 30 10
31 - 60 15
61 - 120 30
121 - 1D 60
This indicator doesn't follow that correlation, it doesn't get the volume data from a lower timeframe, it gets the data from the current chart resolution.
FEATURES
- 6 key values for each session: POC (solid yellow), VAH (solid red), VAL (solid green), profile HIGH (dashed silver), LOW (dashed silver) and MID (dotted silver) levels
- 3 sessions to choose for: RTH, GLOBEX and FULL
- select the numbers of sessions to plot by adding 12 hours periods back in time
- show/hide POC
- show/hide VAH & VAL
- show/hide session HIGH, LOW & MID levels
- highlight the periods of time out of the session (silver)
- extend the plotted lines all the way to the right, be careful this can turn the chart unreadable if there are a lot of sessions and lines plotted
SETTINGS
- Session: select between RTH (8:30 to 15:15 CT), GLOBEX (17:00 to 8:30 CT) and FULL (17:00 to 15:15 CT) sessions. RTH by default
- Last 12 hour periods to show: select the deph of the study by adding periods, for example, 60 periods are 30 natural days and around 22 trading days. 1 period by default
- Show POC (Point of Control): show/hide POC line. true by default
- Show VA (Value Area High & Low): show/hide VAH & VAL lines. true by default
- Show Range (Session High, Low & Mid): show/hide session HIGH, LOW & MID lines. true by default
- Highlight out of session: show/hide a silver shadow over the non session periods. true by default
- Extension: Extend all the plotted lines to the right. false by default
HOW TO SETUP
BE AWARE THIS INDICATOR PLOTS ONLY IN THE FOLLOWING CHART RESOLUTIONS: 1, 2, 3, 5, 10, 15 AND 30 MINUTES CHARTS. YOU MUST SELECT ONE OF THIS RESOLUTIONS TO THE INDICATOR BE ABLE TO PLOT
- By default this indicator plots all the levels for the last RTH session within the last 12 hours, if there is no plot try to adjust the 12 hours periods until the seesion and the periods match
- For Globex/Full sessions just select what you want from the dropdown menu and adjust the periods to plot the values
- Show or hide the levels you want with the 3 groups: POC line, VA lines and Session Range lines
- The highlight and extension options are for a better visibility of the levels as POC or VAH/VAL
THANKS TO
@watsonexchange for all the help, ideas and insights on this and the last two indicators (Market Delta & Market Internals) I'm working on my way to a 'clean chart' but for me it's not an easy path
@PineCoders for all the amazing stuff they do and all the help and tools they provide, in special the Script-Stopwatch at that was key in lowering this indicator's execution time
All the TV and Pine community, open source and shared knowledge are indeed the best way to help each other
IF YOU REALLY LIKE THIS WORK, please send me a comment or a private message and TELL ME WHAT you trade, HOW you trade it and your FAVOURITE SETUP for pulling out money from the market in a consistent basis, I'm learning to trade (this is my 2nd year) and I need all the help I can get
GOOD LUCK AND HAPPY TRADING
lsi (study about length and MTF) Here in this example I took lazy bear famous momentum squeeze indicator . the problem that there is lagging in the indicator so the buy and sell will be late . So instead the KC length that the original script had we put
int1=input(30)
int2=input(60)
lengthKC=isintraday and interval >= int1 ? int2/interval * 7 : isintraday and interval < 60 ? 60/interval * 24 * 7 : 7
this allow us to create a time and length related function to indicator and result in better output with no lagging
The second and most important thing is the ability to create indicator with time function as MTF without the security function that create repaint
all you need to do is to change int2 (to the time min of your choice ) and you can create an indicator with MTF function without the security function .And by this hopefully avoid the repainting issue
when you use this indicator change the setting of int1 and int 2 according to time frame that you use
lets say 15 min graph
make the int1 <15 min and the int2 at 15 min. if you want to see it as MTF just increase the int2 to the time set of your choice and play little with int1 to best setting
RSI with Visual Buy/Sell Setup | Corrective/Impulsive IndicatorRSI with Visual Buy/Sell Setup | 40-60 Support/Resistance | Corrective/Impulsive Indicator v2.15
|| RSI - The Complete Guide PDF ||
Modified Zones with Colors for easy recognition of Price Action.
Resistance @ downtrend = 60
Support @ uptrend = 40
Over 70 = Strong Bullish Impulse
Under 30 = Strong Bearish Impulse
Uptrend : 40-80
Downtrend: 60-20
--------------------
Higher Highs in price, Lower Highs in RSI = Bearish Divergence
Lower Lows in price, Higher Lows in RSI = Bullish Divergence
--------------------
Trendlines from Higher/Lower Peaks, breakout + retest for buy/sell setups.
###################
There are multiple ways for using RSI, not only divergences, but it confirms the trend, possible bounce for continuation and signals for possible trend reversal.
There's more advanced use of RSI inside the book RSI: The Complete Guide
Go with the force, and follow the trend.
"The Force is more your friend than the trend"
Build A Bot Hull TriggerThis is the automated trading system we built during the 60-Minute Build-A-Bot webinar on September 12, 2018. We had a lot of fun, and implemented a TON of indicators LIVE during this webinar! And the best part is that as a group we researched, designed, and built a profitable robot in exactly 60 minutes!
We started by voting on the type of trading system, and this is a trend following system because it got the most votes. Then, the attendees in the webinar sent in their suggestions for indicators and settings during the live webinar (still counting toward the 60 minutes). Once we had the indicators on the chart, and we discussed various settings we could use, we got to work building the robot, and ran the first strategy test...and it was profitable!
This version uses the Hull Moving Average as a trigger for initiating the trade, and everything else is the same for the filters. The other version uses the CCI as a trigger for the trade, and many other indicators as filters.
Indicators: Volume Zone Indicator & Price Zone IndicatorVolume Zone Indicator (VZO) and Price Zone Indicator (PZO) are by Waleed Aly Khalil.
Volume Zone Indicator (VZO)
------------------------------------------------------------
VZO is a leading volume oscillator that evaluates volume in relation to the direction of the net price change on each bar.
A value of 40 or above shows bullish accumulation. Low values (< 40) are bearish. Near zero or between +/- 20, the market is either in consolidation or near a break out. When VZO is near +/- 60, an end to the bull/bear run should be expected soon. If that run has been opposite to the long term price trend direction, then a reversal often will occur.
Traditional way of looking at this also works:
* +/- 40 levels are overbought / oversold
* +/- 60 levels are extreme overbought / oversold
More info:
drive.google.com
Price Zone Indicator (PZO)
------------------------------------------------------------
PZO is interpreted the same way as VZO (same formula with "close" substituted for "volume").
Chart Markings
------------------------------------------------------------
In the chart above,
* The red circles indicate a run-end (or reversal) zones (VZO +/- 60).
* Blue rectangle shows the consolidation zone (VZO betwen +/- 20)
I have been trying out VZO only for a week now, but I think this has lot of potential. Give it a try, let me know what you think.
Yelober - Market Internal direction+ Key levelsYelober – Market Internals + Key Levels is a focused intraday trading tool that helps you spot high-probability price direction by anchoring decisions to structure that matters: yesterday’s RTH High/Low, today’s pre-market High/Low, and a fast Value Area/POC from the prior session. Paired with a compact market internals dashboard (NYSE/NASDAQ UVOL vs. DVOL ratios, VOLD slopes, TICK/TICKQ momentum, and optional VIX trend), it gives you a real-time read on breadth so you can choose which direction to trade, when to enter (breaks, retests, or fades at PMH/PML/VAH/VAL/POC), and how to plan exits as internals confirm or deteriorate. On top of these intraday decision benefits, it also allows traders—in a very subtle but powerful way—to keep an eye on the VIX and immediately recognize significant spikes or sharp decreases that should be factored in before entering a trade, or used as a quick signal to modify an existing position. In short: clear levels for the chart, live internals for the context, and a smarter, rules-based path to execution.
# Yelober – Market Internals + Key Levels
*A TradingView indicator for session key levels + real‑time market internals (NYSE/NASDAQ TICK, UVOL/DVOL/VOLD, and VIX).*
**Script name in Pine:** `Yelober - Market Internal direction+ Key levels` (Pine v6)
---
## 1) What this indicator does
**Purpose:** Help intraday traders quickly find high‑probability reaction zones and read market internals momentum without switching charts. It overlays yesterday/today’s **automatic price levels** on your active chart and shows a **market breadth table** that summarizes NYSE/NASDAQ buying pressure and TICK direction, with an optional VIX trend read.
### Key features at a glance
* **Automatic Price Levels (overlay on chart)**
* Yesterday’s High/Low of Day (**yHoD**, **yLoD**)
* Extended Hours High/Low (**yEHH**, **yEHL**) across yesterday AH + today pre‑market
* Today’s Pre‑Market High/Low (**PMH**, **PML**)
* Yesterday’s **Value Area High/Low** (**VAH/VAL**) and **Point of Control (POC)** computed from a volume profile of yesterday’s **regular session**
* Smart de‑duplication:
* Shows **only the higher** of (yEHH vs PMH) and **only the lower** of (yEHL vs PML) to avoid redundant bands
* **Market Breadth Table (on‑chart table)**
* **NYSE ratio** = UVOL/DVOL (signed) with **VOLD slope** from session open
* **NASDAQ ratio** = UVOLQ/DVOLQ (signed) with **VOLDQ slope** from session open
* **TICK** and **TICKQ**: live cumulative ratio and short‑term slope
* **VIX** (optional): current value + slope over a configurable lookback/timeframe
* Color‑coded trends with sensible thresholds and optional normalization
---
## 2) How to use it (trader workflow)
1. **Mark your reaction zones**
* Watch **yHoD/yLoD**, **PMH/PML**, and **VAH/VAL/POC** for first touches, break/retest, and failure tests.
* Expect increased responsiveness when multiple levels cluster (e.g., PMH ≈ VAH ≈ daily pivot).
2. **Read the breadth panel for context**
* **NYSE/NASDAQ ratio** (>1 = more up‑volume than down‑volume; <−1 = down‑dominant). Strong green across both favors long setups; red favors short setups.
* **VOLD slopes** (NYSE & NASDAQ): positive and accelerating → broadening participation; negative → persistent pressure.
* **TICK/TICKQ**: cumulative ratio and **slope arrows** (↗ / ↘ / →). Use the slope to gauge **near‑term thrust or fade**.
* **VIX slope**: rising VIX (red) often coincides with risk‑off; falling VIX (green) with risk‑on.
3. **Confluence = higher confidence**
* Example: Price reclaims **PMH** while **NYSE/NASDAQ ratios** print green and **TICK slopes** point ↗ — consider break‑and‑go; if VIX slope is ↘, that adds risk‑on confidence.
* Example: Price rejects **VAH** while **VOLD slopes** roll negative and VIX ↗ — consider fade/reversal.
4. **Risk management**
* Place stops just beyond key levels tested; if breadth flips, tighten or exit.
> **Timeframes:** Works best on 1–15m charts for intraday. Value Area is computed from **yesterday’s RTH**; choose a smaller calculation timeframe (e.g., 5–15m) for stable profiles.
---
## 3) Inputs & settings (what each option controls)
### Global Style
* **Enable all automatic price levels**: master toggle for yHoD/yLoD, yEHH/yEHL, PMH/PML, VAH/VAL/POC.
* **Line style/width**: applies to all drawn levels.
* **Label size/style** and **label color linking**: use the same color as the line or override with a global label color.
* **Maximum bars lookback**: how far the script scans to build yesterday metrics (performance‑sensitive).
### Value Area / Volume Profile
* **Enable Value Area calculations** *(on by default)*: computes yesterday’s **POC**, **VAH**, **VAL** from a simplified intraday volume profile built from yesterday’s **regular session bars**.
* **Max Volume Profile Points** *(default 50)*: lower values = faster; higher = more precise.
* **Value Area Calculation Timeframe** *(default 15)*: the security timeframe used when collecting yesterday’s highs/lows/volumes.
### Individual Level Toggles & Colors
* **yHoD / yLoD** (yesterday high/low)
* **yEHH / yEHL** (yesterday AH + today pre‑market extremes)
* **PMH / PML** (today pre‑market extremes)
* **VAH / VAL / POC** (yesterday RTH value area + point of control)
### Market Breadth Panel
* **Show NYSE / NASDAQ / VIX**: choose which series to display in the table.
* **Table Position / Size / Background Color**: UI placement and legibility.
* **Slope Averaging Periods** *(default 5)*: number of recent TICK/TICKQ ratio points used in slope calculation.
* **Candles for Rate** *(default 10)* & **Normalize Rate**: VIX slope calculation as % change between `now` and `n` candles ago; normalize divides by `n`.
* **VIX Timeframe**: optionally compute VIX on a higher TF (e.g., 15, 30, 60) for a smoother regime read.
* **Volume Normalization** (NYSE & NASDAQ): display VOLD slopes scaled to `tens/thousands/millions/10th millions` for readable magnitudes; color thresholds adapt to your choice.
---
## 4) Data sources & definitions
* **UVOL/VOLD (NYSE)** and **UVOLQ/DVOLQ/VOLDQ (NASDAQ)** via `request.security()`
* **Ratio** = `UVOL/DVOL` (signed; negative when down‑volume dominates)
* **VOLD slope** ≈ `(VOLD_now − VOLD_open) / bars_since_open`, then normalized per your setting
* **TICK/TICKQ**: cumulative sum of prints this session with **positives vs negatives ratio**, plus a simple linear regression **slope** of the last `N` ratio values
* **VIX**: value and slope across a user‑selected timeframe and lookback
* **Sessions (EST/EDT)**
* **Regular:** 09:30–16:00
* **Pre‑Market:** 04:00–09:30
* **After Hours:** 16:00–20:00
* **Extended‑hours extremes** combine **yesterday AH** + **today PM**
> **Note:** All session checks are done with TradingView’s `time(…,"America/New_York")` context. If your broker’s RTH differs (e.g., futures), adjust expectations accordingly.
---
## 5) How the algorithms work (plain English)
### A) Key Levels
* **Yesterday’s RTH High/Low**: scans yesterday’s bars within 09:30–16:00 and records the extremes + bar indices.
* **Extended Hours**: scans yesterday AH and today PM to get **yEHH/yEHL**. Script shows **either yEHH or PMH** (whichever is **higher**) and **either yEHL or PML** (whichever is **lower**) to avoid duplicate bands stacked together.
* **Value Area & POC (RTH only)**
* Build a coarse volume profile with `Max Volume Profile Points` buckets across the price range formed by yesterday’s RTH bars.
* Distribute each bar’s volume uniformly across the buckets it spans (fast approximation to keep Pine within execution limits).
* **POC** = bucket with max volume. **VA** expands from POC outward until **70%** of cumulative volume is enclosed → yields **VAH/VAL**.
### B) Market Breadth Table
* **NYSE/NASDAQ Ratio**: signed UVOL/DVOL with basic coloring.
* **VOLD Slopes**: from session open to current, normalized to human‑readable units; colors flip green/red based on thresholds that map to your normalization setting (e.g., ±2M for NYSE, ±3.5×10M for NASDAQ).
* **TICK/TICKQ Slope**: linear regression over the last `N` ratio points → **↗ / → / ↘** with the rounded slope value.
* **VIX Slope**: % change between now and `n` candles ago (optionally divided by `n`). Red when rising beyond threshold; green when falling.
---
## 6) Recommended presets
* **Stocks (liquid, intraday)**
* Value Area **ON**, `Max Volume Points` = **40–60**, **Timeframe** = **5–15**
* Breadth: show **NYSE & NASDAQ & VIX**, `Slope periods` = **5–8**, `Candles for rate` = **10–20**, **Normalize VIX** = **ON**
* **Index futures / very high‑volume symbols**
* If you see Pine timeouts, set `Max Volume Points` = **20–40** or temporarily **disable Value Area**.
* Keep breadth panel **ON** (it’s light). Consider **VIX timeframe = 15/30** for regime clarity.
---
## 7) Tips, edge cases & performance
* **Performance:** The volume profile is capped (`maxBarsToProcess ≤ 500` and bucketed) to keep it responsive. If you experience slowdowns, reduce `Max Volume Points`, `Maximum bars lookback`, or disable Value Area.
* **Redundant lines:** The script **intentionally suppresses** PMH/PML when yEHH/yEHL are more extreme, and vice‑versa.
* **Label visibility:** Use `Label style = none` if you only want clean lines and read values from the right‑end labels.
* **Futures/RTH differences:** Value Area is from **yesterday’s RTH** only; for 24h instruments the RTH period may not reflect overnight structure.
* **Session transitions:** PMH/PML tracking stops as soon as RTH starts; values persist as static levels for the session.
---
## 8) Known limitations
* Uses public TradingView symbols: `UVOL`, `VOLD`, `UVOLQ`, `DVOLQ`, `VOLDQ`, `TICK`, `TICKQ`, `VIX`. If your data plan or region limits any symbol, the corresponding table rows may show `na`.
* The VA/POC approximation assumes uniform distribution of each bar’s volume across its high–low. That’s fast but not a tick‑level profile.
* Works best on US equities with standard NY session; alternative sessions may need code changes.
---
## 9) Troubleshooting
* **“Script is too slow / timed out”** → Lower `Max Volume Points`, lower `Maximum bars lookback`, or toggle **OFF** `Enable Value Area calculations` for that instrument.
* **Missing breadth values** → Ensure the symbols above load on your account; try reloading chart or switching timeframes once.
* **Overlapping labels** → Set `Label style = none` or reduce label size.
---
## 10) Version / license / contribution
* **Version:** Initial public release (Pine v6).
* **Author:** © yelober
* **License:** Free for community use and enhancement. Please keep author credit.
* **Contributing:** Open PRs/ideas: presets, alert conditions, multi‑day VA composites, optional mid‑value (`(VAH+VAL)/2`), session filter for futures, and alertable state machine for breadth regime transitions.
---
## 11) Quick start (TL;DR)
1. Add the indicator and **keep default settings**.
2. Trade **reactions** at yHoD/yLoD/PMH/PML/VAH/VAL/POC.
3. Use the **breadth table**: look for **green ratios + ↗ slopes** (risk‑on) or **red ratios + ↘ slopes** (risk‑off). Check **VIX** slope for confirmation.
4. Manage risk around levels; when breadth flips against you, tighten or exit.
---
### Changelog (public)
* **v1.0:** First community release with automatic RTH levels, VA/POC approximation, breadth dashboard (NYSE/NASDAQ/TICK/TICKQ/VIX) with normalization and adaptive color thresholds.
Hammer, Engulfing & Star Candles aksh//@version=5
indicator("Hammer, Engulfing & Star Candles ", overlay=true, max_bars_back=500)
// ===== Inputs =====
showHammer = input.bool(true, "Show Hammer")
showShootingStar = input.bool(true, "Show Shooting Star")
showEngulfing = input.bool(true, "Show Bull/Bear Engulfing")
showMorningStar = input.bool(true, "Show Morning Star (3-candle)")
showEveningStar = input.bool(true, "Show Evening Star (3-candle)")
// Sensitivity / thresholds
wickToBodyMin = input.float(2.5, "Min Wick:Body (Hammer/Star)", minval=0.5, step=0.1)
maxOppWickToBody = input.float(0.7, "Max Opp Wick:Body (Hammer/Star)", minval=0.0, step=0.1)
closeInTopPct = input.float(0.35, "Hammer: close in top % of range", minval=0.0, maxval=1.0, step=0.05)
closeInBotPct = input.float(0.35, "Star: close in bottom % of range", minval=0.0, maxval=1.0, step=0.05)
minBodyFracRange = input.float(0.15, "Min body as % of range (avoid doji)", minval=0.0, maxval=1.0, step=0.01)
engulfRequireBodyPct = input.float(1.00, "Engulfing: body >= prev body x", minval=0.5, maxval=3.0, step=0.05)
engulfAllowWicks = input.bool(false, "Engulfing: allow wick engulf if bodies equal")
starMiddleBodyMaxPct = input.float(0.40, "Morning/Evening Star: middle body <= % of avg body", minval=0.05, maxval=1.0, step=0.05)
starCloseRetracePct = input.float(0.50, "Morning/Evening Star: final close retraces >= % of first body", minval=0.25, maxval=1.0, step=0.05)
// ===== Helpers =====
body(c,o) => math.abs(c - o)
upperWick(h,o,c) => h - math.max(o, c)
lowerWick(l,o,c) => math.min(o, c) - l
rng(h,l) => h - l
isBull(o,c) => c > o
isBear(o,c) => o > c
midpoint(h,l) => (h + l) * 0.5
b = body(close, open)
uw = upperWick(high, open, close)
lw = lowerWick(low, open, close)
rg = rng(high, low)
prev_o = open , prev_c = close , prev_h = high , prev_l = low
prev_b = body(prev_c, prev_o)
// avoid divide-by-zero
safe(val) => nz(val, 0.0000001)
// ===== Single-candle patterns =====
// Hammer: long lower wick, small/limited upper wick, decent body, close toward top of range
hammer = showHammer and rg > 0 and b/rg >= minBodyFracRange and
(lw / safe(b) >= wickToBodyMin) and (uw / safe(b) <= maxOppWickToBody) and
(close >= (low + (1.0 - closeInTopPct) * rg))
// Shooting Star: long upper wick, small/limited lower wick, close toward bottom
shootingStar = showShootingStar and rg > 0 and b/rg >= minBodyFracRange and
(uw / safe(b) >= wickToBodyMin) and (lw / safe(b) <= maxOppWickToBody) and
(close <= (low + closeInBotPct * rg))
// ===== Two-candle patterns: Engulfing =====
// Bullish engulfing: previous bearish, current bullish, current body engulfs previous body
bullEngulf = showEngulfing and isBear(prev_o, prev_c) and isBull(open, close) and
(open <= prev_c and close >= prev_o) and (b >= engulfRequireBodyPct * prev_b or (engulfAllowWicks and high >= prev_h and low <= prev_l))
// Bearish engulfing: previous bullish, current bearish, current body engulfs previous body
bearEngulf = showEngulfing and isBull(prev_o, prev_c) and isBear(open, close) and
(open >= prev_c and close <= prev_o) and (b >= engulfRequireBodyPct * prev_b or (engulfAllowWicks and high >= prev_h and low <= prev_l))
// ===== Three-candle patterns: Morning/Evening Star =====
// Morning Star: strong bearish candle, small middle candle (gap or small body), strong bullish close retracing into first body
o2 = open , c2 = close
b2 = body(c2, o2)
avgBody = ta.sma(body(close, open), 20)
smallMiddle = body(close , open ) <= starMiddleBodyMaxPct * nz(avgBody, prev_b)
firstBear = isBear(o2, c2)
lastBull = isBull(open, close)
retrBull = lastBull and (close >= (c2 + starCloseRetracePct * (o2 - c2)))
morningStar = showMorningStar and firstBear and smallMiddle and retrBull
// Evening Star: mirror
firstBull = isBull(o2, c2)
lastBear = isBear(open, close)
retrBear = lastBear and (close <= (c2 - starCloseRetracePct * (c2 - o2)))
eveningStar = showEveningStar and firstBull and smallMiddle and retrBear
// ===== Plotting =====
plotshape(hammer, title="Hammer", style=shape.labelup, location=location.belowbar, text="🔨\nHammer", size=size.tiny, color=color.new(color.lime, 0), textcolor=color.black)
plotshape(shootingStar, title="Shooting Star", style=shape.labeldown, location=location.abovebar, text="⭐\nStar", size=size.tiny, color=color.new(color.orange, 0), textcolor=color.black)
plotshape(bullEngulf, title="Bull Engulfing", style=shape.labelup, location=location.belowbar, text="🟢\nEngulf", size=size.tiny, color=color.new(color.teal, 0), textcolor=color.black)
plotshape(bearEngulf, title="Bear Engulfing", style=shape.labeldown, location=location.abovebar, text="🔴\nEngulf", size=size.tiny, color=color.new(color.red, 0), textcolor=color.white)
plotshape(morningStar, title="Morning Star", style=shape.labelup, location=location.belowbar, text="🌅\nMorning", size=size.tiny, color=color.new(color.aqua, 0), textcolor=color.black)
plotshape(eveningStar, title="Evening Star", style=shape.labeldown, location=location.abovebar, text="🌆\nEvening", size=size.tiny, color=color.new(color.purple, 0), textcolor=color.white)
// Optional: color bars when patterns occur
barcolor(hammer ? color.new(color.lime, 60) : na)
barcolor(shootingStar ? color.new(color.orange, 60) : na)
barcolor(bullEngulf ? color.new(color.teal, 70) : na)
barcolor(bearEngulf ? color.new(color.red, 70) : na)
barcolor(morningStar ? color.new(color.aqua, 70) : na)
barcolor(eveningStar ? color.new(color.purple, 70) : na)
// ===== Alerts =====
alertcondition(hammer, "Hammer", "Hammer detected")
alertcondition(shootingStar, "Shooting Star", "Shooting Star detected")
alertcondition(bullEngulf, "Bullish Engulfing","Bullish Engulfing detected")
alertcondition(bearEngulf, "Bearish Engulfing","Bearish Engulfing detected")
alertcondition(morningStar, "Morning Star", "Morning Star detected (3-candle)")
alertcondition(eveningStar, "Evening Star", "Evening Star detected (3-candle)")
// ===== Hints (toggle in the Style tab if labels feel too crowded) =====
// You can adjust thresholds to match your market/timeframe.
// Common tweaks: increase wickToBodyMin for stricter hammers/stars; increase minBodyFracRange to avoid doji;
// require stronger retrace in star patterns by raising starCloseRetracePct.
Persistence# Persistence
## What it does
Measures **price change persistence**, defined as the percentage of bars within a lookback window that closed higher than the prior close. A high value means the instrument has been closing up frequently, which can indicate durable momentum. This mirrors Stockbee’s idea: *select stocks with high price change persistence*, and then combine **momentum plus persistence**.
## Can be used for scanning in PineScreener
## Calculation
* `isUp` is true when `close > close `.
* `countUp` counts true instances over the last `len` bars.
* `pctUp = 100 * countUp / len`, bounded between 0 and 100.
* A 50% level is a natural baseline. Above 50% suggests more up closes than down closes in the window.
## Inputs
* **Lookback bars (`len`)**: default 252 for roughly one trading year on a daily chart. On weekly charts use something like 52, on monthly charts use 12.
## How to use
1. **Screen for persistence**
Sort a watchlist by the plotted value, higher is better. Many momentum traders start looking above 58 to 65 percent, then layer a trend filter.
2. **Combine with momentum**
Examples, pick tickers with:
* `pctUp > 60`, and price above a rising EMA50 or EMA100.
* `pctUp rising` and weekly ROC positive.
3. **Switch timeframe to change the horizon**
* Daily chart with `len = 252` approximates one year.
* Weekly chart with `len = 52` approximates one year.
* Monthly chart with `len = 12` approximates one year.
## TC2000 equivalence
Stockbee’s TC2000 expression:
```
CountTrue(c > c1, 252)
```
## Interpretation guide
* **70 to 90**: very strong persistence; often trend leaders, check for extensions and risk controls.
* **60 to 70**: constructive persistence; good hunting ground for swing setups that also pass momentum filters.
* **50**: neutral baseline; around random up vs down frequency.
* **Below 50**: persistent weakness; consider only for mean reversion or short strategies.
## Practical tips
* **Event effects**: ex-dividend gaps can reduce persistence on high yield names. Earnings gaps can swing the value sharply.
* **Survivorship bias**: when backtesting on curated lists, persistence can look cleaner than in live scans.
* **Liquidity**: thin names may show noisy persistence due to erratic prints.
## Reference to Stockbee
* “One way to select stocks for swing trading is to find those with high price change persistence.”
* “Persistence can be calculated on a daily, monthly, or weekly timeframe.”
* TC2000 function: `CountTrue(c > c1, 252)`
* Example noted in the tweet: CVNA had very high one-year price persistence at the time of that post.
* Takeaway: **look for momentum plus persistence**, not persistence alone.
Fear & Greed Oscillator — LEAPs (v6, manual DMI/ADX)Fear & Greed Oscillator for LEAPs — a composite sentiment/trend tool that highlights long-term fear/greed extremes and trend quality for better LEAP entries and exits.
This custom Fear & Greed Oscillator (FGO-LEAP) is designed for swing trades and long-term LEAP option entries. It blends multiple signals — MACD (trend), ADX/DMI (trend quality), OBV (accumulation/distribution), RSI & Stoch RSI (momentum), and volume spikes — into a single score that ranges from –100 (extreme fear) to +100 (extreme greed). The weights are tuned for LEAPs, emphasizing slower trend and accumulation signals rather than short-term noise.
Use Weekly charts for the main signal and Daily only for entry timing. Entries are strongest when the score is above zero and rising, with both MACD and DMI positive. Extreme Fear (< –60) can mark long-term bottoms when followed by a recovery, while Extreme Greed (> +60) often signals overheated conditions. A cross below zero is an early warning to reduce or roll positions.
[blackcat] L3 Improved Dual Ehlers BPF for Volatility DetectionOVERVIEW
This script implements an advanced L3 Improved Dual Ehlers Bandpass Filter (BPF) for volatility detection, combining both L1 and L2 calculation methods to create a comprehensive trading signal. The script leverages John Ehlers' sophisticated digital signal processing techniques to identify market cycles and extract meaningful trading signals from price action. By combining multiple cycle detection methods and filtering approaches, it provides traders with a powerful tool for identifying trend changes, momentum shifts, and potential reversal points across various market conditions and timeframes. The L3 approach uniquely combines the outputs of both L1 (01 range) and L2 (-11 range) methods, creating a signal that ranges from -1~2 and provides enhanced sensitivity to market dynamics.
FEATURES
🔄 Dual Calculation Methods: Choose between L1 (01 range), L2 (-11 range), or combine both for L3 signal (-1~2 range) to match your trading style
📊 Multiple Cycle Detection: Seven different dominant cycle calculation methods including HoDyDC (Hilbert Transform Dominant Cycle), PhAcDC (Phase Accumulation Dominant Cycle), DuDiDC (Duane Dominant Cycle), CycPer (Cycle Period), BPZC (Bandpass Zero Crossing), AutoPer (Autocorrelation Period), and DFTDC (Discrete Fourier Transform Dominant Cycle)
🎛️ Flexible Mixing Options: Six sophisticated mixing methods including weighted averaging, simple sum, difference extraction, dominant-only, subdominant-only, and adaptive mixing that adjusts based on signal strength
🌊 Bandpass Filtering: Precise bandwidth control for both dominant and subdominant filters, allowing fine-tuning of frequency response characteristics
📈 Advanced Divergence Detection: Robust algorithm for identifying bullish and bearish divergences with customizable lookback periods and range constraints
🎨 Comprehensive Visualization: Extensive customization options for all signals, colors, plot styles, and display elements
🔔 Comprehensive Alert System: Built-in alerts for divergence signals, zero line crosses, and various market conditions
📊 Real-time Cycle Information: Optional display of dominant and subdominant cycle periods for educational purposes
🔄 Adaptive Signal Processing: Dynamic adjustment of parameters based on market conditions and volatility
🎯 Multiple Signal Outputs: Simultaneous generation of L1, L2, and L3 signals for different trading strategies
HOW TO USE
Select Calculation Method: Choose between "l1" (01 range), "l2" (-11 range), or "both" (L3, -1~2 range) in the Calculation Method settings based on your preferred signal characteristics
Configure Cycle Detection: Select your preferred Dominant Cycle Method from the seven available options and adjust the Cycle Part parameter (0.1-0.9) to fine-tune cycle sensitivity
Set Subdominant Parameters: Configure the subdominant cycle either as a ratio of the dominant cycle or as a fixed period, depending on your analysis approach
Adjust Filter Bandwidth: Fine-tune the bandwidth settings for both dominant and subdominant filters (0.1-1.0) to control the frequency response and signal smoothing
Choose Mixing Method: Select how to combine the filters - weighted averaging for balance, sum for maximum sensitivity, difference for trend isolation, or adaptive mixing for dynamic response
Configure Smoothing: Select from SMA, EMA, or HMA smoothing methods with adjustable length (1-20 bars) to reduce noise in the final signal
Customize Visualization: Enable/disable individual plots, divergence detection, zero line, fill areas, and customize all colors to match your chart preferences
Set Divergence Parameters: Configure lookback ranges (5-60 bars) for divergence detection to match your trading timeframe and style
Monitor Signals: Watch for crosses above/below zero line and divergence patterns, paying attention to signal strength and consistency
Set Up Alerts: Configure alerts for divergence signals, zero line crosses, and other market conditions to stay informed of trading opportunities
LIMITATIONS
The script requires the dc_ta library from blackcat1402 for several advanced cycle calculation methods (HoDyDC, PhAcDC, DuDiDC, CycPer, BPZC, AutoPer, DFTDC)
L1 method operates in 01 range while L2 method uses -11 range, requiring different interpretation approaches
Combined L3 signal ranges from -1~2 when both methods are selected, creating unique signal characteristics that traders must adapt to
Divergence detection accuracy depends on proper lookback period settings and market volatility conditions
Performance may be impacted with very long lookback ranges (>60 bars) or when multiple plots are simultaneously enabled
The script is designed for non-overlay use and may not display correctly on certain chart types or with conflicting indicators
Adaptive mixing method requires careful threshold tuning to avoid excessive signal fluctuation
Cycle detection algorithms may produce unreliable results during low volatility or highly choppy market conditions
The script assumes regular price data and may not perform optimally with irregular or gapped price sequences
NOTES
The script implements advanced mathematical calculations including bandpass filters, Hilbert transforms, and various cycle detection algorithms developed by John Ehlers
For optimal results, experiment with different cycle detection methods and bandwidth settings across various market conditions and timeframes
The adaptive mixing method automatically adjusts weights based on signal strength, providing dynamic response to changing market conditions
Divergence detection works best when the "Plot Divergence" option is enabled and when combined with other technical analysis tools
Zero line crosses can indicate potential trend changes or momentum shifts, especially when confirmed by volume or other indicators
The script includes commented code for cycle information display that can be enabled if you want to monitor cycle periods in real-time
Different calculation methods may perform better in different market environments - L1 tends to be smoother while L2 is more sensitive
The subdominant cycle helps filter out noise and provides additional confirmation for signals generated by the dominant cycle
Bandwidth settings control the filter's frequency response - lower values provide more smoothing while higher values increase sensitivity
Mixing methods offer different approaches to combining signals - weighted averaging is generally most reliable for most trading applications
THANKS
Special thanks to John Ehlers for his pioneering work in cycle analysis and digital signal processing for financial markets. This script implements and significantly improves upon his bandpass filter methodology, incorporating multiple advanced techniques from his extensive body of work. Also heartfelt thanks to blackcat1402 for the dc_ta library that provides essential cycle calculation methods and for maintaining such a valuable resource for the Pine Script community. Additional appreciation to the TradingView platform for providing the tools and environment that make sophisticated technical analysis accessible to traders worldwide. This script represents a collaborative effort in advancing the field of algorithmic trading and technical analysis.
RTH Levels: VWAP + PDH/PDL + ONH/ONL + IBAlgo Index — Levels Pro (ONH/ONL • PDH/PDL • VWAP±Bands • IB • Gaps)
Purpose. A session-aware, non-repainting levels tool for intraday decision-making. Designed for futures and indices, with clean visuals, alerts, and a one-click Minimal Mode for screenshot-ready charts.
What it plots
• PDH/PDL (RTH-only) – Prior Regular Trading Hours high/low, computed intraday and frozen at the RTH close (no 24h mix-ups, no repainting).
• ONH/ONL – Prior Overnight high/low, held throughout RTH.
• RTH VWAP with ±σ bands – Volume-weighted variance, reset each RTH.
• Initial Balance (IB) – First N minutes of RTH, plus 1.5× / 2.0× extensions after IB completes.
• Today’s RTH Open & Prior RTH Close – With gap detection and “gap filled” alert.
• Killzone shading – NY Open (09:30–10:30 ET) and Lunch (11:15–13:30 ET).
• Values panel (top-right) – Each level with live distance in points & ticks.
• Right-edge level tags – With anti-overlap (stagger + vertical jitter).
• Price-scale tags – Native trackprice markers that always “stick” to the axis.
⸻
New in v6.4
• Minimal Mode: one click for a clean look (thinner lines, VWAP bands/IB extensions hidden, on-chart right-edge labels off; price-scale tags remain).
• Theme presets: Dark Hi-Contrast / Light Minimal / Futures Classic / Muted Dark.
• Anti-overlap controls: horizontal staggering, vertical jitter, and baseline offset to keep tags readable even when levels cluster.
⸻
Quick start (2 minutes)
1. Add to chart → keep defaults.
2. Sessions (ET):
• RTH Session default: 09:30–16:00 (US equities cash hours).
• Overnight Session default: 18:00–09:29.
Adjust for your market if you use different “day” hours (e.g., many use 08:20–13:30 ET for COMEX Gold).
3. Theme & Minimal Mode: pick a Theme Preset; enable Minimal Mode for screenshots.
4. Visibility: toggle PD/ON/VWAP/IB/References/Panel to taste.
5. Right-edge labels: turn Show Right-Edge Labels on. If they crowd, tune:
• Anti-overlap: min separation (ticks)
• Horizontal offset per tag (bars)
• Vertical jitter per step (ticks)
• Right-edge baseline offset (bars)
6. Alerts: open Add alert → Condition: and pick the events you want.
⸻
How levels are computed (no repainting)
• PDH/PDL: Intraday H/L are accumulated only while in RTH and saved at RTH close for “yesterday’s” values.
• ONH/ONL: Accumulated across the defined Overnight window and then held during RTH.
• RTH VWAP & ±σ: Volume-weighted mean and standard deviation, reset at the RTH open.
• IB: First N minutes of RTH (default 60). Extensions (1.5×/2.0×) appear after IB completes.
• Gaps: Today’s RTH open vs prior RTH close; “Gap Filled” triggers when price trades back to prior close.
⸻
Practical playbooks (how to trade around the levels)
1) PDH/PDL interactions
• Rejection: Price taps PDH/PDL then closes back inside → mean-reversion toward VWAP/IB.
• Acceptance: Close/hold beyond PDH/PDL with momentum → continuation to next HTF/IB target.
• Alert: PD Touch/Break.
2) ONH/ONL “taken”
• Often one ON extreme is taken during RTH. ONH Taken / ONL Taken → check if it’s a clean break or sweep & reclaim.
• Sweep + reclaim near VWAP can fuel rotations through the ON range.
3) VWAP ±σ framework
• Balanced: First tag of ±1σ often reverts toward VWAP.
• Trend: Persistent trade beyond ±1σ + IB break → target ±2σ/±3σ.
• Alerts: VWAP Cross and VWAP Reject (cross then immediate fail back).
4) IB breaks
• After IB completes, a clean IB break commonly targets 1.5× and sometimes 2.0×.
• Quick return inside IB = possible fade back to the opposite IB edge/VWAP.
• Alerts: IB Break Up / Down.
5) Gaps
• Gap-and-go: Opening drive away from prior close + VWAP support → trend until IB completion.
• Gap-fill: Weak open and VWAP overhead/underfoot → trade toward prior close; manage on Gap Filled alert.
Pro tip: Stack confluences (e.g., ONL sweep + VWAP reclaim + IB hold) and respect your execution rules (e.g., require a 5-minute close in direction, or your order-flow confirmation).
⸻
Inputs you’ll actually touch
• Sessions (ET): Session Timezone, RTH Session, Overnight Session.
• Visibility: toggles for PD/ON/VWAP/IB/Ref/Panel.
• VWAP bands: set σ multipliers (±1/±2/±3).
• IB: duration (minutes) and extension multipliers (1.5× / 2.0×).
• Style & Theme: Theme Preset, Main Line Width, Trackprice, Minimal Mode, and anti-overlap controls.
⸻
Alerts included
• PD Touch/Break — High ≥ PDH or Low ≤ PDL
• ONH Taken / ONL Taken — First in-RTH take of ONH/ONL
• VWAP Cross — Close crosses VWAP
• VWAP Reject — Cross then immediate fail back
• IB Break Up / Down — Break of IB High/Low after IB completes
• Gap Filled — Price trades back to prior RTH close
Setup: Add alert → Condition: Algo Index — Levels Pro → choose event → message → Notify on app/email.
⸻
Panel guide
The top-right panel shows each level plus live distance from last price:
LevelValue (Δpoints | Δticks)
Coloring: green if level is below current price, red if above.
⸻
Styling & screenshot tips
• Use Theme Preset that matches your chart.
• For dark charts, “Dark Hi-Contrast” with Main Line Width = 3 works well.
• Enable Trackprice for crisp axis tags that always stick to the right edge.
• Turn on Minimal Mode for cleaner screenshots (no VWAP bands or IB extensions, on-chart tags off; price-scale tags remain).
• If tags crowd, increase min separation (ticks) to 30–60 and horizontal offset to 3–5; add vertical jitter (4–12 ticks) and/or push tags farther right with baseline offset (bars).
⸻
Behavior & limitations
• Levels are computed incrementally; tables refresh on the last bar for efficiency.
• Right-edge labels are placed at bar_index + offset and do not track extra right-margin scrolling (TradingView limitation). The price-scale tags (from trackprice) do track the axis.
• “RTH” is what you define in inputs. If your market uses different day hours, change the session strings so PDH/PDL reflect your definition of “yesterday’s session.”
⸻
FAQ
Q: My PDH/PDL don’t match the daily chart.
A: By design this uses RTH-only highs/lows, not 24h daily bars. Adjust sessions if you want a different definition.
Q: Right-edge tags overlap or don’t sit at the far right.
A: Increase min separation / horizontal offset / vertical jitter and/or push tags farther with baseline offset. If you want markers that always hug the axis, rely on Trackprice.
Q: Can I change killzones?
A: Yes—edit the session strings in settings or request a version with user inputs for custom windows.
⸻
Disclaimer
Educational use only. This is not financial advice. Always apply your own risk management and confirmation rules.
⸻
Enjoy it? Please ⭐ the script and share screenshots using Minimal Mode + a Theme Preset that fits your style.
Estrategia de NY ORB por CPThis strategy marks the New York market opening range during the first 15 minutes and confirms a buy or sell entry once the price returns and retests that range. It’s designed to capture trades of 60 points or more after the range has been retested. I suggest complementing the strategy with an indicator that highlights FVGs (Fair Value Gaps) or order blocks to better understand what price is doing and where it’s heading.
esta estrategia te marca el rango de apertura del mercado de ny de los primeros 15 minutos y te confirma entrada en venta o compra una vez que el precio regrese y retestee el rango. esta diseñada para tener trades de 60 puntos o mas una vez que el rango sea retesteado. sugiero acompañar la estrategia con algun indicador que marque fvg o order blocks para tener una mejor de lo que el precio esta haciendo y hacia donde se dirige.
SMI Base-Trigger Bullish Re-acceleration (Higher High)Description
What it does
This indicator highlights a two-step bullish pattern using Stochastic Momentum Index (SMI) plus an ATR distance filter:
1. Base (orange) – Marks a momentum “reset.” A base prints when SMI %K crosses up through %D while %K is below the Base level (default -70). The base stores the base price and starts a waiting window.
2. Trigger (green) – Confirms momentum and price strength. A trigger prints only if, before the timeout window ends:
• SMI %K crosses up through %D again,
• %K is above the Trigger level (default -60),
• Close > Base Price, and
• Price has advanced at least Min ATR multiple (default 1.0× the 14-period ATR) above the base price.
A dashed green line connects the base to the trigger.
Why it’s useful
It seeks a bullish divergence / reacceleration: momentum recovers from deeply negative territory, then price reclaims and exceeds the base by a volatility-aware margin. This helps filter out weak “oversold bounces.”
Signals
• Base ▲ (orange): Potential setup begins.
• Trigger ▲ (green): Confirmation—momentum and price agree.
Inputs (key ones)
• %K Length / EMA Smoothing / %D Length: SMI construction.
• Base when %K < (default -70): depth required for a valid reset.
• Trigger when %K > (default -60): strength required on confirmation.
• Base timeout (days) (default 100): maximum look-ahead window.
• ATR Length (default 14) and Min ATR multiple (default 1.0): price must exceed the base by this ATR-scaled distance.
How traders use it (example rules)
• Entry: On the Trigger.
• Risk: A common approach is a stop somewhere between the base price and a multiple of ATR below trigger; or use your system’s volatility stop.
• Exits: Your choice—trend MA cross, fixed R multiple, or structure-based levels.
Notes & tips
• Works best on liquid symbols and mid-to-higher timeframes (reduce noise).
• Increase Min ATR multiple to demand stronger price confirmation; tighten or widen Base/Trigger levels to fit your market.
• This script plots signals only; convert to a strategy to backtest entries/exits.
Bullish Divergence SMI Base & Trigger with ATR FilterDescription:
A bullish divergence indicator combining the Stochastic Momentum Index (SMI) and Average True Range (ATR) to pinpoint high-probability entries:
1. Base Arrow (Orange ▲):
• Marks every SMI %K / %D bullish crossover where %K < –70 (deep oversold)—the first half of the divergence setup.
• Each new qualifying crossover replaces the previous base, continuously “arming” the divergence signal.
• Configurable SMI lookbacks, oversold threshold, and a base timeout (default 100 days) to clear stale bases.
2. Trigger Arrow (Green ▲):
• Completes the bullish divergence: fires on the next SMI bullish crossover where %K > –60 and price has dropped below the base arrow’s close by at least N × ATR (default 1 × 14-day ATR).
• A dashed green line links the base and trigger to visually confirm the divergence.
• Resets after triggering, ready for a new divergence cycle.
Inputs:
• SMI %K Length, EMA Smoothing, %D Length
• Oversold Base Level (–70), Trigger Level (–60)
• ATR Length (14), ATR Multiplier (1.0)
• Base Timeout (100 days)
Ideal for any market, this study highlights genuine bullish divergences—oversold momentum crossovers that coincide with significant price reactions—before entering long trades.