EMA 9/21 with Target Price [SS]Hey everyone,
Coming back with my EMA 9/21 indicator.
My original one was removed a long time ago because I didn't really realize that there were already plenty of similar indicators (my bad!) but this one is my unique, Steversteves edition haha.
About the Indicator:
Essentially, it just combines the 2 only EMA's I ever really use (the 9 and 21) with an ATR based analysis to calculate the average range a ticker undergoes after an EMA 9 / 21 Cross-over and Cross-under.
You can see the major example being in the chart above. I use this for dramatic effect as SPY just happened to have topped at the second expected bull target on the daily. But obviously the intention for this indicator is to be used on the smaller timeframes. Let's take a look at some examples with various tickers.
TSLA:
So let's just use the previous day as example (which was Friday). If we look to the chart below:
TSLA did an EMA 9/21 crossover (bullish) in premarket. This put the immediate TP at 234.59. If we play out the chart:
We shot right to it at open.
We then did a cross under with a TP of 225.93, but that was not realized as the sentiment was too bullish. We then cross back over to the upside, putthing next TP at 238.88 which was realized:
NVDA:
On Friday, NVDA was a bit of a mess, lots of whipsaw off open. But once we finally had a cross under with 3 consecutive closes below the EMA9/21 on the 5 minute chart, it solidified the likelihood of a short:
And this was the result:
We came down to the first target, held it actually as support before finally crossing back over, setting the next TP at 475.05. We got 3 consecutive closes above the EMA 9/21, so let's see what happened:
Nothing really, we closed before we got there, but we did make progress towards it.
And last but not least SPY:
We opened the day with a bullish crossover and 3 consecutive closes above the EMA9/21, making our TP 441.38 (chart above). Let's see what happened:
We came just shy of it after the fed release volatility slammed it down, where we got a crossunder (bearish) to a TP of 436.21:
This ended up playing out, we did get a bullish crossover later in the day and so let's see what happened then:
So those are the real examples, most recent examples of trading using this. They are not all perfect, which is intentional because you need to use a bit of your own analysis, of course, when you are using this type of strategy or indicator. The EMA 9/21 is not sufficient generally on its own, but it is very helpful to gauge the immediate PA and whether the expected move aligns with your overall thesis on the day in terms of realistic target prices.
Customizability:
In terms of the customizability, this is a very basic indicator aside from the assessment of ranges. So there really is not a lot to customize.
You can toggle off and on the labels if you do not want them, you can also adjust the lookback length for the ATR assessment. The lookback length is defaulted to 500, I do really highly suggest you leave it at 500 because this has worked well for me and in back-testing, it has performed above my own expectations.
But, that said, you can take this and back-test as you wish with whatever parameters you feel are most appropriate. I haven't back-tested this on every stock known to man, my go to's are SPY, QQQ, sometimes MSFT and so it works well on those. But perhaps some others will have differing results.
Final Thoughts:
That is the indicator in a nutshell! It is really self explanatory and its likely a strategy most of you already know. This just helps to add realistic price targets and context to those cross-overs and cross-unders.
It also works fine on larger timeframes. We can see it on the 1 hour with MSFT:
On the 2 hour hour with QQQ:
And I am sure you can find other examples!
That's it everyone, safe trades!
In den Scripts nach "spy" suchen
Baseline Indicator [SS]Hello,
This is the Baseline Indicator. I modelled it after one of my favourite Tradingview chart types, the baseline type (shown in image below):
I really love this chart, but I wanted a way for it to:
a) Be static and not move with the chart; and
b) Auto calculate the baseline average for a specified period of time.
So I created this indicator which does essentially that.
What it does:
The indicator will calculate the average between the high and low of a user defined timeframe. The timeframe is customizable, but it defaults to daily. It will then plot the average (or baseline) of the high and low over that specified timeframe. The default plot is a candle plot. It will change the colours of the candles to green (for above the baseline) and red (for below the baseline). The chart below shows an example of the indicator with candles on SPY. The Baseline timeframe is set to 1 hour:
You can choose whether you want to plot the current baseline average or the previous.
The advantage to plotting the previous is that this provide a static reference point and can be helpful on the 30 and 60 minute timeframe. Here is an example:
In this example on SPY, the indicator is plotting the previous average. You can see SPY is using this as support and creating a "staircase" pattern. This is indicative of a trend.
The example above is using the previous day average on the daily timeframe during a sideways day. You can see that the price action accumulates and is consistently drawn to this point.
Inversely, you can manually select your own baseline price if you want a static, self-calculated baseline reference point.
Options and Settings:
Below is an outline of the menu as well as a brief explanation of the options and settings:
To view your chart as a baseline chart, make sure you select the "Line" input and then hide the candles on your chart using your chart settings (see image below):
The purple arrow shows how to hide the candles. You select the "Eye" Icon which should then become greyed out and you will be left with the baseline chart from the indicator.
Why use baseline average?
The average between the high and low of a designated timeframe is a very helpful value. In choppy markets, this acts as a key point of frequent return. In trendy markets, this acts as a reference point of trend direction and strength. I encourage you to play around with the indicator and review some historical charts using it, and you will see some patterns emerge!
Final thoughts:
I have also done a quick tutorial video on the indicator for your reference, you can check that out below:
Thanks for checking out the indicator and I hope you like it!
ATR - Average True Range + Dynamic Trend w/ Signals | by Octopu$↕ ATR - Average True Range + Dynamic Trend w/ Signals | by Octopu$
What is ATR?
ATR stands for Average True Range
A Technical Analysis Indicator that measures market volatility by decomposing the range of a Security Price in a specific period.
The ATR can be used as a High Low Spectrum,
As well as a variation of a Moving Average, considering the ranges on a timeframe, generally this being 14 days.
Shorter periods can be used (will generate more signals) or longer periods for steadier trends (for fewer signals)
A ticker on a high volatility has a high ATR.
A ticker on a low volatility has a low ATR.
It is an useful resource for a trading system:
Can be used to enter or exit trades and/or also measure the daily spectrum of a stock.
Does not necessarily points price direction, but takes into account gaps and strong legs.
Can also be used as trading positions confirmation,
Rather be it for stop losses or take profits,
As well as setting trailing stops or limit orders.
This tool offers a great Risk to Reward Ratio, considering the fact you will be aware of the possible moves that an asset can perform.
This indicator should not be used as a standalone tool.
(The combination of factors relies on your own knowledge about Confluence Factors along with your Due Diligence)
This indicator is not an advice to buy or sell securities.
www.tradingview.com
SPY
ANY Ticker. ANY Timeframe.
(Used SPY 5m as Example only)
Features:
• ATR ( Average True Range )
• Range UP and DOWN
• Movement from Price Line
• Dynamic ATR
• Cross/Test Signals
• Live and Last Close
Options:
• Specific Factors Setup
• Length Customization
• Toggle On/Off
• Color PIcker
• Styling Options
Notes:
v1.0
Indicator release.
Changes and updates can come in the future for additional functionalities or per requests. Follow and Stay Tuned!
Did you like it? Please Support and Shoot me a message! I'd appreciate if you dropped by to say thanks! Thank you.
- Octopu$
🐙
Capital Asset Pricing Model (CAPM) [Loxx]Capital Asset Pricing Model (CAPM) demonstrates how to calculate the Cost of Equity for an underlying asset using Pine Script. This script will only work on the monthly timeframe. While you can change the default inputs, you should study what CAPM is and how this works before doing so. This indicator pulls various types of data from SPY from various timeframes to calculate risk-free rates, market premiums, and log returns. Alpha and Beta are computed using the regression between underlying asset and SPY. This indicator only calculates on the most recent data. If you wish to change this, you'll have to save the script and make adjustments. A few examples where CAPM is used:
Used as the mu factor Geometric Brownian Motion models for options pricing and forecasting price ranges and decay
Calculating the Weighted Average Cost of Capital
Asset pricing
Efficient frontier
Risk and diversification
Security market line
Discounted Cashflow Analysis
Investment bankers use CAPM to value deals
Account firms use CAPM to verify asset prices and assumptions
Real estate firms use variations of CAPM to value properties
... and more
Details of the calculations used here
Rm is calculated using yearly simple returns data from SPY, typically this is just hard coded as 10%.
Rf is pulled from US 10 year bond yields
Beta and Alpha are pulled form monthly returns data of the asset and SPY
In the past, typically this data is purchased from investments banks whose research arms produce values for beta, alpha, risk free rate, and risk premiums. In 2022 ,you can find free estimates for each parameter but these values might not reflect the most current data or research.
History
The CAPM was introduced by Jack Treynor (1961, 1962), William F. Sharpe (1964), John Lintner (1965) and Jan Mossin (1966) independently, building on the earlier work of Harry Markowitz on diversification and modern portfolio theory. Sharpe, Markowitz and Merton Miller jointly received the 1990 Nobel Memorial Prize in Economics for this contribution to the field of financial economics. Fischer Black (1972) developed another version of CAPM, called Black CAPM or zero-beta CAPM, that does not assume the existence of a riskless asset. This version was more robust against empirical testing and was influential in the widespread adoption of the CAPM.
Usage
The CAPM is used to calculate the amount of return that investors need to realize to compensate for a particular level of risk. It subtracts the risk-free rate from the expected rate and weighs it with a factor – beta – to get the risk premium. It then adds the risk premium to the risk-free rate of return to get the rate of return an investor expects as compensation for the risk. The CAPM formula is expressed as follows:
r = Rf + beta (Rm – Rf) + Alpha
Therefore,
Alpha = R – Rf – beta (Rm-Rf)
Where:
R represents the portfolio return
Rf represents the risk-free rate of return
Beta represents the systematic risk of a portfolio
Rm represents the market return, per a benchmark
For example, assuming that the actual return of the fund is 30, the risk-free rate is 8%, beta is 1.1, and the benchmark index return is 20%, alpha is calculated as:
Alpha = (0.30-0.08) – 1.1 (0.20-0.08) = 0.088 or 8.8%
The result shows that the investment in this example outperformed the benchmark index by 8.8%.
The alpha of a portfolio is the excess return it produces compared to a benchmark index. Investors in mutual funds or ETFs often look for a fund with a high alpha in hopes of getting a superior return on investment (ROI).
The alpha ratio is often used along with the beta coefficient, which is a measure of the volatility of an investment. The two ratios are both used in the Capital Assets Pricing Model (CAPM) to analyze a portfolio of investments and assess its theoretical performance.
To see CAPM in action in terms of calculate WACC, see here for an example: finbox.com
Further reading
en.wikipedia.org
Automatic Fibonacci Retracement + Golden Ratio | by Octopu$👑 Automatic Fibonacci Retracement on Specific Timeframes + Golden Ratio | by Octopu$
Fibonacci Retracement is a method of technical analysis for determining support and resistance levels.
It is named after the famous Fibonacci sequence of numbers: 23.6%, 38.2%, 61.8%, and 78.6%
These ratios provide price levels to which markets tend to retrace a portion of a move.
Also used as a potential spot before a trend continues (or reverses) original direction.
While not officially a Fibonacci ratio, 50% is also used.
Fibonacci Levels can be drawn between any two significant price points or time frames.
(Such as a High and a Low or also on Daily and Weekly charts)
The indicator will then Automatically create the levels between those selected points.
Golden ratio, also known as the divine proportion, in mathematics, is the irrational number:
(1 + Square root of√5)/2, often denoted by the Greek letter ϕ or τ
Which is approximately equal to 1.618.
(Two quantities are in the golden ratio if their ratio is the same as the ratio of their sum to the larger of the two quantities.)
That's The Magic of the Fibonaccis, as well the Golden Ratio itself.
And this is exactly where this Indicator by Octopu$ kicks in:
This indicator Automatically sets all the Fibonacci Levels within the Retracement selected.
On top of that, it Highlights the Golden Ratio for the Fibonacci Levels drawn.
Additionally, it sets the Golden Ratio as possible Support or Resistance level,
Doing so by having visual identification to the Up or Down side.
This changes the game! Along with Price Action, Trend Direction, Chart Analysis and other Indicators as well.
(The combination relies on your own knowledge about Confluence Factors along with your Due Diligence)
www.tradingview.com
SPY
ANY Ticker. ANY Timeframe.
(SPY 5m as an example only)
Features:
• Multiple Timeframes
• Automatic Lines
• Fibonacci Setup
• Golden Ratio
• S/R Highlight
Options:
• Timeframe Selection
• Fibonacci Rates
• Line Customization
• Color Pickers
• Toggle On/Off
Notes:
v1.0
Indicator release.
Changes and updates can come in the future for additional functionalities or per requests. Follow and Stay Tuned!
Did you like it? Please Support and Shoot me a message! I'd appreciate if you dropped by to say thanks! Thank you.
- Octopu$
🐙
Engulfing Candles (Bullish and Bearish) + Trend | by Octopu$⛳ Engulfing Candles (Bullish and Bearish ) with Trend Recognition | by Octopu$
This Indicator identifies and plots Engulfing Candlestick Patterns.
Engulfing Candles are a combination of two bars on a price chart.
They are used to indicate/anticipate a market reversal.
The second candlestick must be bigger than the first, so it 'engulfs' the previous bar.
This indicator identifies both Price Movements:
Bullish stands for Upside
Bearish stands for Downside
These are NOT entry/exit signals to buy or sell securities*
(*The combination of your understanding and analysis as well as other Indicators and Factors as Confluence, you can improve your Charting Analysis.)
www.tradingview.com
SPY
ANY Ticker. ANY Timeframe.
( SPY 5m as an example only.)
Features:
• Engulfing Candles
• Bullish Setups
• Bearish Setups
• Symbol Signals
Options:
• Color Picker
• Symbol Selector
• Toggle On/Off
• Show name
• Trend Direction
Notes:
v1.0
Indicator release.
Changes and updates can come in the future for additional functionalities or per requests. Follow and Stay Tuned!
Did you like it? Please Support and Shoot me a message! I'd appreciate if you dropped by to say thanks! Thank you.
- Octopu$
🐙
Donchian Channels with Limits and Shadows | by Octopu$ 🌊 Donchian Channels with Middle Line, Limits and Shadows | by Octopu$
Donchian Channels are three lines generated by Moving Average calculations.
These lines formed by upper and lower bands around a midrange or median band.
The Upper Band marks the Highest price of a security over X periods of time.
While the Lower Band marks the Lowest price over the same period.
Now, the Limit bands are the High and Low prices over a Y period of time (different than X)
The difference about using Limits with the Bands on Donchian Channels is the time length:
By using different time comparisons (X and Y) you are able to identify previous Highs and Lows.
This is very useful for Support and Resistance levels regarding the Price Action
As well as Pivot Points, considering the possibility off Breakouts or Bounces.
Usually - as a General Rule - the Price tends to navigate in-between these channels
That's where DC Channels + Limits w/ Shadows come into play!
Highs and Lows serve as Supply and Demand Zones as well.
The Middle Line can be used as a spot for Reversal/Continuation.
All of this also makes the Donchian Channels a great tool for Trend Identification.
The combination of your understanding and analysis as well as other Indicators and Factors as Confluence, you can improve your Charting Analysis.
www.tradingview.com
AMEX:SPY
ANY Ticker. ANY Timeframe.
( SPY 5m as an example only.)
Features:
• Upper Channel
• Lower Channel
• Limit High
• Limit Low
• Middle Line
• Shadow
Options:
• Color Picker
• Line Styling
• Toggle On/Off
• Length Customization
• Background Transparency
Notes:
v1.0
Indicator release.
Changes and updates can come in the future for additional functionalities or per requests. Follow and Stay Tuned!
Did you like it? Please Support and Shoot me a message! I'd appreciate if you dropped by to say thanks! Thank you.
- Octopu$
🐙
Mind the GAP! (Automatic Intraday GAP Overnight) | by Octopu$🤏 Mind the GAP! (Automatic Intraday GAP Overnight) | by Octopu$
Gaps are areas on a chart where the price of a stock moves sharply up or down, with little or no trading in between.
When it happens overnight (not considering Extended Hours), it is just considered as Price Level, for possible revisit.
A Gap is defined when the Open current Candle is Higher or Lower than the Close of the Last Candle:
When the Open of the current Candle is Higher than the Close of the Last Candle it is considered a Gap UP;
When the Open of the current Candle is Lower than the Close of the Last Candle it is considered a Gap DOWN;
Something interesting about Gap is that:
1. The Price Action can travel fast between these levels (Volatility);
2. One (or both) of these levels (Hi/Lo) can act as Support (or Breakout);
3. One (or both) of these levels (Hi/Lo) can act as Resistance (or Breakout).
This Indicator includes these Gaps added Automatically to your Chart.
It is also built-in with a Shadow between the lines for easy visualization.
Colors are also customizable and the Lines are also editable according t your preferences.
Any Time Frame. Any Ticker.
(Using SPY 5m just as an example:)
www.tradingview.com
AMEX:SPY
Features:
• Identifies Gaps on MC/MO
• Automatically adds Lines to these levels
• Includes shadow for easy visualization
Options:
• Customizable: Colors and Lines
• On/Off Switches for the Levels
• Show/Hide Previous Days
Notes:
v1.0
Indicator release
Changes and updates can come in the future for additional functionalities or per requests.
Did you like it? Boost it. Shoot a message! I'd appreciate if you dropped by to say thanks.
- Octopu$
🐙
⚖ Volume BUYxSELL Pressure | by Octopu$⚖ Volume BUYxSELL Pressure | by Octopu$
Volume is the number of shares traded in a particular stock, index, or other investment over a specific period of time.
It can indicate market strength, as rising markets on increasing volume are typically viewed as strong and healthy.
In fact, the more, the better. Institutions tend to get more involved in a stock with daily dollar volume in the hundreds of millions or more
But also, when prices fall on increasing volume, the trend is gathering strength to the downside.
That's where BUYxSELL Pressure | by Octopu$ comes in.
Typically, Volume bars follow the candles.
If the Candle is Green (Close > Open), the Volume Bar is also Green.
Now if the Candle is Red (Close < Open) the Volume Bar is also Red.
You never know if it is being Bought or Sold.
This changes the game: along with Price Action, Trend Direction, and other factors. This is possible!
This indicator is composed of:
Volume itself (all of it), displayed by Gray bars;
Identifies Buying Pressure on Green Bars;
And Selling Pressure with Red Bars.
Volume Average as a White Line, for the last "X" Days
Additionally,
It presents a Yellow Triangle as and indication of when the Volume is above the Average in the current TF you are in.
Additionally, this can be set up via an Input: Means if you like to watch it 10% above Average, you got it. 25%? 50%?... You name it.
On top of that,
Includes an indication for Volume Spike as well. So if informs you visually on the Volume Bars of any surges on the TF you are in.
For example: 2x the Volume from the last Candle. Or maybe 3x? 5x... The way you like it the best.
This way, with the combination of your understanding as well as other Indicator and Factor as Confluence, you can improve your analysis and figure out what is going on.
www.tradingview.com
(SPY 5m as an example only)
SPY
Features:
• Total Volume
• Average Volume
• Buying Pressure
• Selling Pressure
• % Above Average
• Volume Spike/Surge (Multiplier)
• Custom Settings
Options:
• Show/Hide Average Line
• Change Length of Average (Days)
• Select/Personalize % of Above Avg
• Add Personalized X Multiplier
• Fully customizable on Style and Colors
• Change shapes and Location
Notes:
v1.0
Indicator release.
Changes and updates can come in the future for additional functionalities or per requests. Follow and Stay Tuned!
Did you like it? Please Support and Shoot me a message! I'd appreciate if you dropped by to say thanks! Thank you.
- Octopu$
🐙
The $trat | by Octopu$1️⃣2️⃣3️⃣ The $trat | by Octopu$
The $trat: The Strat by Octopu$
Absolute Solution for The Strat Traders!
The Strat is a Strategy created by Rob Smith's and is well known by being an innovative trading system.
Continues to grow in popularity as more traders discover this method.
It is a simplified way to understand Price Action. It is based on three principles: Types of candles, 1, 2, and 3.
Other things to be known about The Strat are Actionable Signals and Time Frame Continuity.
The $trat has it all.
This Indicator includes Bar Types (1, 2 and 3) also known as Inside Bars, Twos (Up or Down) and Outside Bars.
It is also well crafted with a built-in Time Frame Continuity (TFC) which shows Price Movement at a glimpse.
On top of that, in the best of both worlds, also comes with information about the Bars Status for other TFs as well.
It means that you can know how another TF of you preference is performing. Right there.
Works in Any Time Frame.
On Any Ticker.
(Using SPY 5m just as an example:)
www.tradingview.com
SPY
Features:
• Candle Types (1, 2 and 3) IB, 2U & 2D and OB.
• Time Frame Continuity (TFC) for Price Movement/Trend Check
• Bar Status shortcut. So you can know Price Action/Direction fast.
• Reversal indicators for Action-taking and Situational Awareness
• Combos Labels. So nothing ever goes unnoticed.
Options:
• Absolutely fully Customizable: Colors, Sizes, Numbers. Everything.
• On/Off Switches for most of the Information and Optionable Selections
• Hammer/Shooter Indicator automatically inserted to Chart
• Candle/Bars Coloring for ease of reading.
• Highlight options for specific setups
Notes:
v1.0
$trat Indicator release
Changes and updates can come in the future for additional functionalities or per requests.
Did you like it? Boost it. Shoot a message! I'd appreciate if you dropped by to say thanks.
- Octopu$
🐙
ORBox | by Octopu$📈 ORBox | by Octopu$
ORBox is a Box for the Opening Range Breakout
The Box is added automatically according to the User preferences through GUI
This Indicator includes a Dropdown selection for which Range for the Breakout you want to use
ORBox has built-in Alerts for when the Breakout happens according to your preferences
Works in any Timeframe with any Ticker
(Using SPY 5m just as an example:)
www.tradingview.com
SPY
Features:
• Opening Breakout Range (ORB)
• Dropdown menu selection to choose which TF to watch
• Built-in Alerts for Momentum Awareness
Options:
• Customization for Box Colors and Sizes
• Display ORB for Current Day or Previous
Notes:
v1.0
ORBox Indicator release
Changes and updates can come in the future for additional functionalities or per requests.
Did you like it? Shoot me a message! I'd appreciate if you dropped by to say thanks.
- Octopu$
🐙
Previous Day/Week High & Low + 50% w/ Alerts| by Octopu$
📈 Previous Day/Week High & Low + 50% w/ Alerts| by Octopu$
This Indicator includes Previous Day High and Low Levels and 50% (Half of High & Low)
As well as Previous Week High and Low Levels ((Half of High & Low))
And also Pre-Market Session High and Low.
All of them with Built-in alerts.
Can be used in any timeframe with any ticker.
(Using SPY 5m just as an example:)
www.tradingview.com
SPY
Features:
• D High: Green Top Line
• D Low: Red Bottom Line
• D 50%: White 50% Line
• Week High and Low: Blue Top and Bottom Lines
• Pre-Market and Afterhours Session: Gray Lines
• Labels for Identification
Options:
• Toggle on/off for Day High, Low and 50%
• Toggle on/off for DWeek High, Low and 50%
• Toggle on/off for PM and AH Sessions
• Show/Hide the Labels with names
• Show/Hide the Lines themselves
• Fully Customizable Style and Color
Alerts:
• Triggers for Day (above or below level)
• Triggers for Week (above or below level)
Notes:
v1.0
Release of the Indicator
Changes and updates can come in the future for additional functionalities or per requests.
Did you like it? Shoot me a message! I'd appreciate if you dropped by to say thanks.
- Octopu$
🐙
FANGMANT Performance TableThis is a simple performance table for QQQ, SPY and the main FANGMANT stocks shown left to right by current order of weighting.
Importantly, the performance is intraday from session open time.
It is NOT a daily change - credit to ShadowTrader for this distinction.
Credit also to PineCoders for their string manipluation instructions for Pine Script.
Each of the 12 symbols in the table can be set by the user.
For publication purposes I have included QQQ, SPY, VXN and TNX as these are all relevant to Nasdaq performance too
The table can be placed Top or Bottom, Left or Right
The user will need to set the cell width and height and transparency and bulilsh/bearish colors to best suit their own displays.
There are two color gradients built in to help illustrate which symbols are leading or lagging
I will also publish one for the SPY sectors that will otherwise be very similar to this
NEXT Stochastic 3xVW (Triple Volume Weighted)Overview:
This responsive version of the Stochastic oscillator modifies and extends the original to incorporate volume. It does so on 2 levels: by using Volume-Weighted Moving Average (VWMA) as input and applying a triple volume weighting filter within the internal algorithm, intelligently blending volume with what is otherwise pure momentum/distribution analysis. The result is more binary-like curve behavior (%K and %D oscillator lines), whose polarizing movement acts as both a signal and filter.
Below is a screenshot comparing NEXT Stochastic 3xVW with default settings to the original Stochastic oscillator on NQ M1 chart.
Application and Strategy Ideas:
NEXT Stochastic 3xVW is intended to be used like the original Stochastic oscillator within the context of technical analysis: identifying overvalued (above upper limit) and undervalued (below lower limit) price action, as well as establishing a bias baseline (bullish if over 50; bearish if under 50). Higher NEXT Stochastic 3xVW bottoms compared to lower price bottoms signify bullish divergence; lower NEXT Stochastic 3xVW tops compared to higher price tops signify bearish divergence. Trading %K/%D line crossing is also a popular strategy, with %K crossing over %D indicating bullish sentiment and %K crossing under %D indicating bearish sentiment.
Below is a screenshot showing NEXT Stochastic 3xVW overbought/oversold intraday strategy on SPY M1 chart. NEXT Stochastic 3xVW is set to 5,10,1,3 with long signal issued at lower limit of 30 and short at upper limit of 70.
Input Parameters:
VWMA Length - controls the averaging length of the volume-weighted moving average (based on close price and volume); used as Stochastic input
%K Length - volume-driven averaging length of the %K oscillator line - this is the faster of the two Stochastic lines
%K Smoothing - volume-driven smoothing factor of the %K line
%D Smoothing - volume-driven averaging length of the %D oscillator line (a %K derivative, post smoothing) - this is the slower of the two Stochastic lines
Upper Limit - the NEXT Stochastic 3xVW level above which market is considered overbought, default is 80
Base Bias - the NEXT Stochastic 3xVW level above which market bias is considered bullish, and below bearish
Lower Limit - the NEXT Stochastic 3xVW level below which market is considered oversold, default is 20
Signals and Alerts:
Discover and visualize NEXT Stochastic 3xVW strategies using the companion NEXT Strategy Visualizer indicator. While the %K/%D cross alerts can be set via NEXT Stochastic 3xVW indicator, the Strategy Visualizer will only plot long/short signals when %K or %D cross over or under overbought/oversold levels (as hown in the above SPY M1 screenshot). That being said, the next version of the Strategy Visualizer will also support %K/%D crosses.
Here is how to set NEXT Stochastic 3xVW %K/%D crossing alerts: open a chart, attach NEXT Stochastic 3xVW, and right-click on chart -> Add Alert. Condition: Next Stochastic >> %K >> Crossing >> Next Stochastic >> %D
Waindrops [Makit0]█ OVERALL
Plot waindrops (custom volume profiles) on user defined periods, for each period you get high and low, it slices each period in half to get independent vwap, volume profile and the volume traded per price at each half.
It works on intraday charts only, up to 720m (12H). It can plot balanced or unbalanced waindrops, and volume profiles up to 24H sessions.
As example you can setup unbalanced periods to get independent volume profiles for the overnight and cash sessions on the futures market, or 24H periods to get the full session volume profile of EURUSD
The purpose of this indicator is twofold:
1 — from a Chartist point of view, to have an indicator which displays the volume in a more readable way
2 — from a Pine Coder point of view, to have an example of use for two very powerful tools on Pine Script:
• the recently updated drawing limit to 500 (from 50)
• the recently ability to use drawings arrays (lines and labels)
If you are new to Pine Script and you are learning how to code, I hope you read all the code and comments on this indicator, all is designed for you,
the variables and functions names, the sometimes too big explanations, the overall structure of the code, all is intended as an example on how to code
in Pine Script a specific indicator from a very good specification in form of white paper
If you wanna learn Pine Script form scratch just start HERE
In case you have any kind of problem with Pine Script please use some of the awesome resources at our disposal: USRMAN , REFMAN , AWESOMENESS , MAGIC
█ FEATURES
Waindrops are a different way of seeing the volume and price plotted in a chart, its a volume profile indicator where you can see the volume of each price level
plotted as a vertical histogram for each half of a custom period. By default the period is 60 so it plots an independent volume profile each 30m
You can think of each waindrop as an user defined candlestick or bar with four key values:
• high of the period
• low of the period
• left vwap (volume weighted average price of the first half period)
• right vwap (volume weighted average price of the second half period)
The waindrop can have 3 different colors (configurable by the user):
• GREEN: when the right vwap is higher than the left vwap (bullish sentiment )
• RED: when the right vwap is lower than the left vwap (bearish sentiment )
• BLUE: when the right vwap is equal than the left vwap ( neutral sentiment )
KEY FEATURES
• Help menu
• Custom periods
• Central bars
• Left/Right VWAPs
• Custom central bars and vwaps: color and pixels
• Highly configurable volume histogram: execution window, ticks, pixels, color, update frequency and fine tuning the neutral meaning
• Volume labels with custom size and color
• Tracking price dot to be able to see the current price when you hide your default candlesticks or bars
█ SETTINGS
Click here or set any impar period to see the HELP INFO : show the HELP INFO, if it is activated the indicator will not plot
PERIOD SIZE (max 2880 min) : waindrop size in minutes, default 60, max 2880 to allow the first half of a 48H period as a full session volume profile
BARS : show the central and vwap bars, default true
Central bars : show the central bars, default true
VWAP bars : show the left and right vwap bars, default true
Bars pixels : width of the bars in pixels, default 2
Bars color mode : bars color behavior
• BARS : gets the color from the 'Bars color' option on the settings panel
• HISTOGRAM : gets the color from the Bearish/Bullish/Neutral Histogram color options from the settings panel
Bars color : color for the central and vwap bars, default white
HISTOGRAM show the volume histogram, default true
Execution window (x24H) : last 24H periods where the volume funcionality will be plotted, default 5
Ticks per bar (max 50) : width in ticks of each histogram bar, default 2
Updates per period : number of times the histogram will update
• ONE : update at the last bar of the period
• TWO : update at the last bar of each half period
• FOUR : slice the period in 4 quarters and updates at the last bar of each of them
• EACH BAR : updates at the close of each bar
Pixels per bar : width in pixels of each histogram bar, default 4
Neutral Treshold (ticks) : delta in ticks between left and right vwaps to identify a waindrop as neutral, default 0
Bearish Histogram color : histogram color when right vwap is lower than left vwap, default red
Bullish Histogram color : histogram color when right vwap is higher than left vwap, default green
Neutral Histogram color : histogram color when the delta between right and left vwaps is equal or lower than the Neutral treshold, default blue
VOLUME LABELS : show volume labels
Volume labels color : color for the volume labels, default white
Volume Labels size : text size for the volume labels, choose between AUTO, TINY, SMALL, NORMAL or LARGE, default TINY
TRACK PRICE : show a yellow ball tracking the last price, default true
█ LIMITS
This indicator only works on intraday charts (minutes only) up to 12H (720m), the lower chart timeframe you can use is 1m
This indicator needs price, time and volume to work, it will not work on an index (there is no volume), the execution will not be allowed
The histogram (volume profile) can be plotted on 24H sessions as limit but you can plot several 24H sessions
█ ERRORS AND PERFORMANCE
Depending on the choosed settings, the script performance will be highly affected and it will experience errors
Two of the more common errors it can throw are:
• Calculation takes too long to execute
• Loop takes too long
The indicator performance is highly related to the underlying volatility (tick wise), the script takes each candlestick or bar and for each tick in it stores the price and volume, if the ticker in your chart has thousands and thousands of ticks per bar the indicator will throw an error for sure, it can not calculate in time such amount of ticks.
What all of that means? Simply put, this will throw error on the BITCOIN pair BTCUSD (high volatility with tick size 0.01) because it has too many ticks per bar, but lucky you it will work just fine on the futures contract BTC1! (tick size 5) because it has a lot less ticks per bar
There are some options you can fine tune to boost the script performance, the more demanding option in terms of resources consumption is Updates per period , by default is maxed out so lowering this setting will improve the performance in a high way.
If you wanna know more about how to improve the script performance, read the HELP INFO accessible from the settings panel
█ HOW-TO SETUP
The basic parameters to adjust are Period size , Ticks per bar and Pixels per bar
• Period size is the main setting, defines the waindrop size, to get a better looking histogram set bigger period and smaller chart timeframe
• Ticks per bar is the tricky one, adjust it differently for each underlying (ticker) volatility wise, for some you will need a low value, for others a high one.
To get a more accurate histogram set it as lower as you can (min value is 1)
• Pixels per bar allows you to adjust the width of each histogram bar, with it you can adjust the blank space between them or allow overlaping
You must play with these three parameters until you obtain the desired histogram: smoother, sharper, etc...
These are some of the different kind of charts you can setup thru the settings:
• Balanced Waindrops (default): charts with waindrops where the two halfs are of same size.
This is the default chart, just select a period (30m, 60m, 120m, 240m, pick your poison), adjust the histogram ticks and pixels and watch
• Unbalanced Waindrops: chart with waindrops where the two halfs are of different sizes.
Do you trade futures and want to plot a waindrop with the first half for the overnight session and the second half for the cash session? you got it;
just adjust the period to 1860 for any CME ticker (like ES1! for example) adjust the histogram ticks and pixels and watch
• Full Session Volume Profile: chart with waindrops where only the first half plots.
Do you use Volume profile to analize the market? Lucky you, now you can trick this one to plot it, just try a period of 780 on SPY, 2760 on ES1!, or 2880 on EURUSD
remember to adjust the histogram ticks and pixels for each underlying
• Only Bars: charts with only central and vwap bars plotted, simply deactivate the histogram and volume labels
• Only Histogram: charts with only the histogram plotted (volume profile charts), simply deactivate the bars and volume labels
• Only Volume: charts with only the raw volume numbers plotted, simply deactivate the bars and histogram
If you wanna know more about custom full session periods for different asset classes, read the HELP INFO accessible from the settings panel
EXAMPLES
Full Session Volume Profile on MES 5m chart:
Full Session Unbalanced Waindrop on MNQ 2m chart (left side Overnight session, right side Cash Session):
The following examples will have the exact same charts but on four different tickers representing a futures contract, a forex pair, an etf and a stock.
We are doing this to be able to see the different parameters we need for plotting the same kind of chart on different assets
The chart composition is as follows:
• Left side: Volume Labels chart (period 10)
• Upper Right side: Waindrops (period 60)
• Lower Right side: Full Session Volume Profile
The first example will specify the main parameters, the rest of the charts will have only the differences
MES :
• Left: Period size: 10, Bars: uncheck, Histogram: uncheck, Execution window: 1, Ticks per bar: 2, Updates per period: EACH BAR,
Pixels per bar: 4, Volume labels: check, Track price: check
• Upper Right: Period size: 60, Bars: check, Bars color mode: HISTOGRAM, Histogram: check, Execution window: 2, Ticks per bar: 2,
Updates per period: EACH BAR, Pixels per bar: 4, Volume labels: uncheck, Track price: check
• Lower Right: Period size: 2760, Bars: uncheck, Histogram: check, Execution window: 1, Ticks per bar: 1, Updates per period: EACH BAR,
Pixels per bar: 2, Volume labels: uncheck, Track price: check
EURUSD :
• Upper Right: Ticks per bar: 10
• Lower Right: Period size: 2880, Ticks per bar: 1, Pixels per bar: 1
SPY :
• Left: Ticks per bar: 3
• Upper Right: Ticks per bar: 5, Pixels per bar: 3
• Lower Right: Period size: 780, Ticks per bar: 2, Pixels per bar: 2
AAPL :
• Left: Ticks per bar: 2
• Upper Right: Ticks per bar: 6, Pixels per bar: 3
• Lower Right: Period size: 780, Ticks per bar: 1, Pixels per bar: 2
█ THANKS TO
PineCoders for all they do, all the tools and help they provide and their involvement in making a better community
scarf for the idea of coding a waindrops like indicator, I did not know something like that existed at all
All the Pine Coders, Pine Pros and Pine Wizards, people who share their work and knowledge for the sake of it and helping others, I'm very grateful indeed
I'm learning at each step of the way from you all, thanks for this awesome community;
Opensource and shared knowledge: this is the way! (said with canned voice from inside my helmet :D)
█ NOTE
This description was formatted following THIS guidelines
═════════════════════════════════════════════════════════════════════════
I sincerely hope you enjoy reading and using this work as much as I enjoyed developing it :D
GOOD LUCK AND HAPPY TRADING!
Short in Bollinger Band Down trend (Weekly and Daily) // © PlanTradePlanMM
// 6/14/2020
// ---------------------------------------------------
// Name: Short in Bollinger Band Down trend (Weekly and Daily)
// ---------------------------------------------------
// Key Points in this study:
// 1. Short in BB Lower band, probability of price going down is more than 50%
// 2. Short at the top 1/4 of Lower band (EMA - Lower line), Stop is EMA, tartget is Lower line; it matches risk:/reward=1:3 naturally
//
// Draw Lines:
// BB Lower : is the Target (Black line)
// BB EMA : is the initial Stop (Black line)
// ShortLine : EMA - 1/4 of (Stop-target), which matches risk:/reward=1:3
// Prepare Zone : between EMA and ShortLine
// shortPrice : Blue dot line only showing when has Short position, Which shows entry price.
// StopPrice : Black dot line only showing when has Short position, Which shows updated stop price.
//
// Add SMA50 to filter the trend. Price <= SMA, allow to short
//
// What (Condition): in BB down trend band
// When (Price action): Price cross below ShortLine;
// How (Trading Plan): Short at ShortLine;
// Initial Stop is EMA;
// Initial Target is BB Lower Line;
// FollowUp: if price moves down first, and EMA is below Short Price. Move stop to EMA, At least "make even" in this trade;
// if Price touched Short Line again and goes down, new EMA will be the updated stop
//
// Exit: 1. Initial stop -- "Stop" when down first, Close above stop
// 2. Target reached -- "TR" when down quickly, Target reached
// 3. make even -- "ME" when small down and up, Exit at Entry Price
// 4. Small Winner -- "SM" when EMA below Entry price, Exit when Close above EMA
//
// --------------
// Because there are too many flags in up trend study already, I created this down trend script separately.
// Uptrend study is good for SPY, QQQ, and strong stocks.
// Downtrend Study is good for weak ETF, stock, and (-2x, -3x) ETFs, such as FAZ, UVXY, USO, XOP, AAL, CCL
// -----------------------------------------------------------------------------------------------------------------
// Back test Weekly and daily chart for SPY, QQQ, XOP, AAL, BA, MMM, FAZ, UVXY
// The best sample is FAZ Weekly chart.
// When SPY and QQQ are good in long term up trend, these (-2x, -3x) ETFs are always going down in long term.
// Some of them are not allowed to short. I used option Put/Put spread for the short entry.
//
Buy in Bollinger Band uptrend (Weekly and Daily) // © PlanTradePlanMM 6/14/2020
// ---------------------------------------------------
// Name: Buy in Bollinger Band uptrend (Weekly and Daily)
// ---------------------------------------------------
// Key Points in this study:
// 1. Long in BB Upper band, probability of price going up is more than 50%
// 2. Buy at the bottom 1/4 of upper band (Upper line - EMA), Stop is EMA, tartget is Upper line; it matches risk:reward=1:3;
//
// Draw Lines:
// BB Upper : is the Target (Black line)
// BB EMA : is the initial Stop (Black line)
// BuyLine : EMA20 + 1/4 of (Target-Stop), which matches risk:/reward=1:3 naturally
// Prepare Zone : between EMA and BuyLine
// buyPrice : Blue dot line only showing when has long position, Which shows entry price.
// StopPrice : Black dot line only showing when has long position, Which shows updated stop price.
//
// Add SMA(50) to filter the trend. Price >= SMA, allow to long
//
// What (Condition): in BB uptrend band
// When (Price action): Price cross over BuyLine;
// How (Trading Plan): Buy at BuyLine;
// Initial Stop is EMA;
// Initial Target is BB Upper Line;
//
// FollowUp: if price moves up first, and the EMA is higher than Entry point, Use EMA as new stop. At least "make even" in this trade;
//
// Exit: 1. Initial stop -- "Stop" when down first, close below stop price.
// 2. Target reached -- "TR" when up quickly, Target reached
// 3. make even -- "ME" when small up and down, Exit at entry Price
// 4. Small Winner -- "SM" when EMA above Entry price, Exit when close below EMA, and higher than entry Price
//
// --------------
// Because there are too many flags in up trend study already, I will create a down trend script separately.
// Uptrend study is good for SPY, QQQ, and strong stocks.
// Downtrend Study is good for weak ETF, stock, and (-2x, -3x) ETFs, such as FAZ, UVXY, USO, XOP, AAL, CCL
// -----------------------------------------------------------------------------------------------------------------
// Back test Weekly and daily chart for SPY, QQQ
// If it will be a big Gap down or a big down move, stop at close price could be a big loss; But this way could avoid may noise, to stay in a trending position longer.
// When buy in trending move, the position could be hold for a big range.
// The best samples are SPY and QQQ daily chart.
//
// Better to use another way to verify the long term up trend first.
// For single stock, it is better shows more relative strength than SPY.
VIX Term Structure Pro [v7.0 Enhanced]# VIX Term Structure Pro v7.0
[! (img.shields.io)](www.tradingview.com)
[! (img.shields.io)](www.tradingview.com)
[! (img.shields.io)](LICENSE)
**Professional VIX-based Market Sentiment & Timing Indicator**
专业的 VIX 市场情绪与择时指标
---
## 🌟 Overview / 概述
VIX Term Structure Pro is an advanced multi-factor market timing indicator that analyzes the VIX futures term structure, volatility regime, and market breadth to generate actionable buy/sell signals.
VIX Term Structure Pro 是一款高级多因子市场择时指标,通过分析 VIX 期货期限结构、波动率区间及市场广度,生成可操作的买卖信号。
---
## 🚀 Key Features / 核心功能
### 📊 Multi-Factor Scoring System / 多因子评分系统
- **Term Structure Z-Score**: Measures deviation from historical mean / 期限结构 Z 分数:衡量与历史均值的偏离
- **VIX/VX1 Basis**: Spot premium detection for panic signals / VIX 现货溢价:恐慌信号检测
- **Contango Analysis**: Futures curve shape insights / 期货升水分析
- **SKEW Integration**: Options skew for tail risk / SKEW 整合:尾部风险监测
- **Put/Call Ratio**: Sentiment extremes / 看跌/看涨比率:情绪极端
- **VVIX Support**: Volatility of volatility (optional) / VVIX 支持:波动率的波动率
### 🎯 Three-Tier Signal System / 三级信号系统
| Signal | Score | Description |
|--------|-------|-------------|
| 🚨 **CRASH BUY** | ≥ 6 | Extreme panic, rare opportunity / 极端恐慌,罕见机会 |
| 🟢 **STRONG BUY** | ≥ 5 | Multi-factor confluence / 多因子共振 |
| 🟡 **BUY DIP** | ≥ 4 | Accumulate on weakness / 逢低吸纳 |
| 🟠 **SELL/HEDGE** | ≤ -2 | Consider reducing risk / 考虑减仓对冲 |
| 🔴 **STRONG SELL** | ≤ -5 | Strong bearish signals / 强烈看跌信号 |
| 🔥 **EUPHORIA SELL** | ≤ -6 | Extreme greed, sell signal / 极度贪婪,卖出信号 |
### 📈 Dashboard Indicators / 仪表盘指标解读
| Indicator | Bullish 🟢 | Bearish 🔴 |
|-----------|------------|------------|
| Overall Bias | STRONG BUY / BUY DIP | STRONG SELL / SELL/HEDGE |
| AI Score | ≥ 5 (Extreme Fear) | ≤ -5 (Extreme Greed) |
| Market Trend | 🟢SPX 🟢NDX (Above MA200) | 🔴SPX 🔴NDX (Below MA200) |
| VIX Regime | LOW VOL (<15) | HIGH VOL (>25) |
| Term Struct Z | < -2.0 (Panic) | > 2.0 (Complacency) |
---
## ⚙️ Configuration / 配置选项
### 📡 Data Sources / 数据源
- **VIX Symbol**: Default `CBOE:VIX` (Alternative: `TVC:VIX`)
- **Put/Call Ratio**: Default `INDEX:CPCI` (Index P/C)
- **Timeframe**: Daily (stable) or Chart (real-time)
### ⚠️ Strategy Mode / 策略模式
- **High (Scalping)**: Sensitive, for short-term trades / 高敏感,短线
- **Normal (Swing)**: Balanced approach / 平衡模式
- **Low (Trend/Safe)**: Conservative, trend-following / 保守,趋势跟踪
### 🔬 Backtest Mode / 回测模式
- **OFF (Real-time)**: Shows current day data, suitable for live monitoring / 显示当日数据,适合实盘监控
- **ON (Historical)**: Uses only confirmed data, avoids look-ahead bias / 仅使用已确认数据,避免未来函数
---
## 📖 Usage Guide / 使用指南
### Best Practices / 最佳实践
1. **Apply to SPX/SPY/QQQ daily charts** for optimal signal accuracy
在 SPX/SPY/QQQ 日线图上使用,信号准确度最佳
2. **Wait for next trading day** to execute signals (signals trigger on daily close)
信号触发后在下一交易日执行(信号基于日线收盘)
3. **Use in conjunction with price action** for confirmation
结合价格走势确认信号
4. **Enable Market Trend Filter** (MA200) for safer entries in uncertain markets
开启趋势过滤(MA200)以在不确定市场中更安全入场
### Signal Interpretation / 信号解读
```
🚨 CRASH BUY (Score ≥ 6)
→ Rare extreme panic event
→ Historical average return: significant positive over 2 months
→ Consider aggressive positioning
🟢 STRONG BUY (Score ≥ 5)
→ Multiple indicators align
→ Historical average return: positive over 1 month
→ Consider building positions
🟡 BUY DIP (Score ≥ 4)
→ Moderate fear detected
→ Suitable for adding to existing positions
→ Filtered out in bear markets if Trend Filter is ON
```
---
## 📊 Historical Statistics / 历史统计
The indicator tracks signal frequency and average subsequent returns:
- **CRASH BUY**: 40-day return period (~2 months)
- **STRONG BUY**: 20-day return period (~1 month)
- **BUY DIP**: 10-day return period (~2 weeks)
指标追踪信号频率和后续平均收益,可在仪表盘中查看历史统计。
---
## 🔔 Alerts / 警报
Built-in alert conditions with cooldown mechanism to prevent spam:
| Alert | Condition |
|-------|-----------|
| Crash Buy Alert | Score ≥ 6, extreme panic |
| Strong Buy Alert | Score ≥ 5, multi-factor confluence |
| Buy Dip Alert | Score ≥ threshold |
| Euphoria Sell Alert | Score ≤ -6, extreme greed |
| Strong Sell Alert | Score ≤ -5 |
| VIX Basis Panic | VIX spot premium spike |
---
## 📋 Changelog / 更新日志
### v7.0 (Current)
- ✨ Three-tier buy/sell signal system
- 📊 Signal statistics with average return tracking
- 🔬 Backtest Mode toggle for historical testing
- 🎨 Configurable ±1 Z-Score reference lines
- ⚡ Modular scoring functions
- 🛡️ Dual index trend display (SPX + NDX)
- 📱 Compact & Full dashboard modes
---
## ⚠️ Disclaimer / 免责声明
**English:**
This indicator is for educational and informational purposes only. It does not constitute financial advice. Past performance does not guarantee future results. Always do your own research and consider your risk tolerance before trading.
**中文:**
本指标仅供教育和信息参考,不构成投资建议。过往表现不代表未来收益。交易前请自行研究并评估风险承受能力。
---
## 📄 License / 许可证
MIT License - Feel free to use, modify, and share.
---
## 🤝 Contributing / 贡献
Issues and pull requests are welcome!
欢迎提交问题和贡献代码!
---
**Made with ❤️ for the trading community**
**为交易社区用心打造**
VX Levels and Ranch Ranges with Price ConverterThis is a indicator for all Vexly subscribers to plot the following:
1. Plot SPY/SPX levels on your ES chart. Or QQQ levels on your NQ chart
2. VX levels obtained from vx_levels command. SPY on ES chart and QQQ on NQ chart
3. Ranch Range levels from the discord channel for ES and NQ chart.
You can enable/disable any of them at your discretion.
MenthorQ Levels ConversionLevels Conversion helps traders accurately overlay price levels from spot/index ETFs and indices (like SPX, SPY, QQQ, NDX) onto futures charts (like ES, NQ, etc.).
Because futures and spot/index prices don’t trade at the same price, your levels will be misaligned if you plot them directly. Futures typically trade at a spread or ratio versus their related index/ETF. This indicator solves that by calculating the conversion ratio automatically, so your levels stay aligned on the futures chart.
How it works
This script calculates the ratio between Asset A and Asset B and applies it to convert levels from one instrument to the other (for example, SPX → ES, QQQ → NQ).
Ratio options (3 modes)
You can choose one of three ratio sources:
✅ T1 Ratio (Morning Snapshot)
Select a specific time to “lock” the ratio.
Default: 10:00 AM ET (morning session snapshot)
✅ T2 Ratio (Afternoon Snapshot)
Select a second time to “lock” the ratio.
Default: 3:30 PM ET (afternoon snapshot)
✅ Last Price Ratio (Live)
Uses the last traded price of both assets to compute the ratio.
Note: To refresh the “Last Price” baseline, simply remove and re-add the indicator.
Learn more about Levels Conversions: menthorq.com
Common levels conversions
Some popular use-cases include:
- SPX Gamma Levels → ES
- SPY Gamma Levels → ES
- QQQ Gamma Levels → NQ
- NDX Gamma Levels → NQ
- SPX Intraday Gamma Levels → ES
- QQQ Intraday Gamma Levels → NQ
- SPX Swing Trading Levels → ES
- QQQ Swing Trading Levels → NQ
- GLD Levels → GC
- DIA Levels → YM
- USO Levels → CL
- NVDA / MAG7 Levels → QQQ
Adaptive Genesis Engine [AGE]ADAPTIVE GENESIS ENGINE (AGE)
Pure Signal Evolution Through Genetic Algorithms
Where Darwin Meets Technical Analysis
🧬 WHAT YOU'RE GETTING - THE PURE INDICATOR
This is a technical analysis indicator - it generates signals, visualizes probability, and shows you the evolutionary process in real-time. This is NOT a strategy with automatic execution - it's a sophisticated signal generation system that you control .
What This Indicator Does:
Generates Long/Short entry signals with probability scores (35-88% range)
Evolves a population of up to 12 competing strategies using genetic algorithms
Validates strategies through walk-forward optimization (train/test cycles)
Visualizes signal quality through premium gradient clouds and confidence halos
Displays comprehensive metrics via enhanced dashboard
Provides alerts for entries and exits
Works on any timeframe, any instrument, any broker
What This Indicator Does NOT Do:
Execute trades automatically
Manage positions or calculate position sizes
Place orders on your behalf
Make trading decisions for you
This is pure signal intelligence. AGE tells you when and how confident it is. You decide whether and how much to trade.
🔬 THE SCIENCE: GENETIC ALGORITHMS MEET TECHNICAL ANALYSIS
What Makes This Different - The Evolutionary Foundation
Most indicators are static - they use the same parameters forever, regardless of market conditions. AGE is alive . It maintains a population of competing strategies that evolve, adapt, and improve through natural selection principles:
Birth: New strategies spawn through crossover breeding (combining DNA from fit parents) plus random mutation for exploration
Life: Each strategy trades virtually via shadow portfolios, accumulating wins/losses, tracking drawdown, and building performance history
Selection: Strategies are ranked by comprehensive fitness scoring (win rate, expectancy, drawdown control, signal efficiency)
Death: Weak strategies are culled periodically, with elite performers (top 2 by default) protected from removal
Evolution: The gene pool continuously improves as successful traits propagate and unsuccessful ones die out
This is not curve-fitting. Each new strategy must prove itself on out-of-sample data through walk-forward validation before being trusted for live signals.
🧪 THE DNA: WHAT EVOLVES
Every strategy carries a 10-gene chromosome controlling how it interprets market data:
Signal Sensitivity Genes
Entropy Sensitivity (0.5-2.0): Weight given to market order/disorder calculations. Low values = conservative, require strong directional clarity. High values = aggressive, act on weaker order signals.
Momentum Sensitivity (0.5-2.0): Weight given to RSI/ROC/MACD composite. Controls responsiveness to momentum shifts vs. mean-reversion setups.
Structure Sensitivity (0.5-2.0): Weight given to support/resistance positioning. Determines how much price location within swing range matters.
Probability Adjustment Genes
Probability Boost (-0.10 to +0.10): Inherent bias toward aggressive (+) or conservative (-) entries. Acts as personality trait - some strategies naturally optimistic, others pessimistic.
Trend Strength Requirement (0.3-0.8): Minimum trend conviction needed before signaling. Higher values = only trades strong trends, lower values = acts in weak/sideways markets.
Volume Filter (0.5-1.5): Strictness of volume confirmation. Higher values = requires strong volume, lower values = volume less important.
Risk Management Genes
ATR Multiplier (1.5-4.0): Base volatility scaling for all price levels. Controls whether strategy uses tight or wide stops/targets relative to ATR.
Stop Multiplier (1.0-2.5): Stop loss tightness. Lower values = aggressive profit protection, higher values = more breathing room.
Target Multiplier (1.5-4.0): Profit target ambition. Lower values = quick scalping exits, higher values = swing trading holds.
Adaptation Gene
Regime Adaptation (0.0-1.0): How much strategy adjusts behavior based on detected market regime (trending/volatile/choppy). Higher values = more reactive to regime changes.
The Magic: AGE doesn't just try random combinations. Through tournament selection and fitness-weighted crossover, successful gene combinations spread through the population while unsuccessful ones fade away. Over 50-100 bars, you'll see the population converge toward genes that work for YOUR instrument and timeframe.
📊 THE SIGNAL ENGINE: THREE-LAYER SYNTHESIS
Before any strategy generates a signal, AGE calculates probability through multi-indicator confluence:
Layer 1 - Market Entropy (Information Theory)
Measures whether price movements exhibit directional order or random walk characteristics:
The Math:
Shannon Entropy = -Σ(p × log(p))
Market Order = 1 - (Entropy / 0.693)
What It Means:
High entropy = choppy, random market → low confidence signals
Low entropy = directional market → high confidence signals
Direction determined by up-move vs down-move dominance over lookback period (default: 20 bars)
Signal Output: -1.0 to +1.0 (bearish order to bullish order)
Layer 2 - Momentum Synthesis
Combines three momentum indicators into single composite score:
Components:
RSI (40% weight): Normalized to -1/+1 scale using (RSI-50)/50
Rate of Change (30% weight): Percentage change over lookback (default: 14 bars), clamped to ±1
MACD Histogram (30% weight): Fast(12) - Slow(26), normalized by ATR
Why This Matters: RSI catches mean-reversion opportunities, ROC catches raw momentum, MACD catches momentum divergence. Weighting favors RSI for reliability while keeping other perspectives.
Signal Output: -1.0 to +1.0 (strong bearish to strong bullish)
Layer 3 - Structure Analysis
Evaluates price position within swing range (default: 50-bar lookback):
Position Classification:
Bottom 20% of range = Support Zone → bullish bounce potential
Top 20% of range = Resistance Zone → bearish rejection potential
Middle 60% = Neutral Zone → breakout/breakdown monitoring
Signal Logic:
At support + bullish candle = +0.7 (strong buy setup)
At resistance + bearish candle = -0.7 (strong sell setup)
Breaking above range highs = +0.5 (breakout confirmation)
Breaking below range lows = -0.5 (breakdown confirmation)
Consolidation within range = ±0.3 (weak directional bias)
Signal Output: -1.0 to +1.0 (bearish structure to bullish structure)
Confluence Voting System
Each layer casts a vote (Long/Short/Neutral). The system requires minimum 2-of-3 agreement (configurable 1-3) before generating a signal:
Examples:
Entropy: Bullish, Momentum: Bullish, Structure: Neutral → Signal generated (2 long votes)
Entropy: Bearish, Momentum: Neutral, Structure: Neutral → No signal (only 1 short vote)
All three bullish → Signal generated with +5% probability bonus
This is the key to quality. Single indicators give too many false signals. Triple confirmation dramatically improves accuracy.
📈 PROBABILITY CALCULATION: HOW CONFIDENCE IS MEASURED
Base Probability:
Raw_Prob = 50% + (Average_Signal_Strength × 25%)
Then AGE applies strategic adjustments:
Trend Alignment:
Signal with trend: +4%
Signal against strong trend: -8%
Weak/no trend: no adjustment
Regime Adaptation:
Trending market (efficiency >50%, moderate vol): +3%
Volatile market (vol ratio >1.5x): -5%
Choppy market (low efficiency): -2%
Volume Confirmation:
Volume > 70% of 20-bar SMA: no change
Volume below threshold: -3%
Volatility State (DVS Ratio):
High vol (>1.8x baseline): -4% (reduce confidence in chaos)
Low vol (<0.7x baseline): -2% (markets can whipsaw in compression)
Moderate elevated vol (1.0-1.3x): +2% (trending conditions emerging)
Confluence Bonus:
All 3 indicators agree: +5%
2 of 3 agree: +2%
Strategy Gene Adjustment:
Probability Boost gene: -10% to +10%
Regime Adaptation gene: scales regime adjustments by 0-100%
Final Probability: Clamped between 35% (minimum) and 88% (maximum)
Why These Ranges?
Below 35% = too uncertain, better not to signal
Above 88% = unrealistic, creates overconfidence
Sweet spot: 65-80% for quality entries
🔄 THE SHADOW PORTFOLIO SYSTEM: HOW STRATEGIES COMPETE
Each active strategy maintains a virtual trading account that executes in parallel with real-time data:
Shadow Trading Mechanics
Entry Logic:
Calculate signal direction, probability, and confluence using strategy's unique DNA
Check if signal meets quality gate:
Probability ≥ configured minimum threshold (default: 65%)
Confluence ≥ configured minimum (default: 2 of 3)
Direction is not zero (must be long or short, not neutral)
Verify signal persistence:
Base requirement: 2 bars (configurable 1-5)
Adapts based on probability: high-prob signals (75%+) enter 1 bar faster, low-prob signals need 1 bar more
Adjusts for regime: trending markets reduce persistence by 1, volatile markets add 1
Apply additional filters:
Trend strength must exceed strategy's requirement gene
Regime filter: if volatile market detected, probability must be 72%+ to override
Volume confirmation required (volume > 70% of average)
If all conditions met for required persistence bars, enter shadow position at current close price
Position Management:
Entry Price: Recorded at close of entry bar
Stop Loss: ATR-based distance = ATR × ATR_Mult (gene) × Stop_Mult (gene) × DVS_Ratio
Take Profit: ATR-based distance = ATR × ATR_Mult (gene) × Target_Mult (gene) × DVS_Ratio
Position: +1 (long) or -1 (short), only one at a time per strategy
Exit Logic:
Check if price hit stop (on low) or target (on high) on current bar
Record trade outcome in R-multiples (profit/loss normalized by ATR)
Update performance metrics:
Total trades counter incremented
Wins counter (if profit > 0)
Cumulative P&L updated
Peak equity tracked (for drawdown calculation)
Maximum drawdown from peak recorded
Enter cooldown period (default: 8 bars, configurable 3-20) before next entry allowed
Reset signal age counter to zero
Walk-Forward Tracking:
During position lifecycle, trades are categorized:
Training Phase (first 250 bars): Trade counted toward training metrics
Testing Phase (next 75 bars): Trade counted toward testing metrics (out-of-sample)
Live Phase (after WFO period): Trade counted toward overall metrics
Why Shadow Portfolios?
No lookahead bias (uses only data available at the bar)
Realistic execution simulation (entry on close, stop/target checks on high/low)
Independent performance tracking for true fitness comparison
Allows safe experimentation without risking capital
Each strategy learns from its own experience
🏆 FITNESS SCORING: HOW STRATEGIES ARE RANKED
Fitness is not just win rate. AGE uses a comprehensive multi-factor scoring system:
Core Metrics (Minimum 3 trades required)
Win Rate (30% of fitness):
WinRate = Wins / TotalTrades
Normalized directly (0.0-1.0 scale)
Total P&L (30% of fitness):
Normalized_PnL = (PnL + 300) / 600
Clamped 0.0-1.0. Assumes P&L range of -300R to +300R for normalization scale.
Expectancy (25% of fitness):
Expectancy = Total_PnL / Total_Trades
Normalized_Expectancy = (Expectancy + 30) / 60
Clamped 0.0-1.0. Rewards consistency of profit per trade.
Drawdown Control (15% of fitness):
Normalized_DD = 1 - (Max_Drawdown / 15)
Clamped 0.0-1.0. Penalizes strategies that suffer large equity retracements from peak.
Sample Size Adjustment
Quality Factor:
<50 trades: 1.0 (full weight, small sample)
50-100 trades: 0.95 (slight penalty for medium sample)
100 trades: 0.85 (larger penalty for large sample)
Why penalize more trades? Prevents strategies from gaming the system by taking hundreds of tiny trades to inflate statistics. Favors quality over quantity.
Bonus Adjustments
Walk-Forward Validation Bonus:
if (WFO_Validated):
Fitness += (WFO_Efficiency - 0.5) × 0.1
Strategies proven on out-of-sample data receive up to +10% fitness boost based on test/train efficiency ratio.
Signal Efficiency Bonus (if diagnostics enabled):
if (Signals_Evaluated > 10):
Pass_Rate = Signals_Passed / Signals_Evaluated
Fitness += (Pass_Rate - 0.1) × 0.05
Rewards strategies that generate high-quality signals passing the quality gate, not just profitable trades.
Final Fitness: Clamped at 0.0 minimum (prevents negative fitness values)
Result: Elite strategies typically achieve 0.50-0.75 fitness. Anything above 0.60 is excellent. Below 0.30 is prime candidate for culling.
🔬 WALK-FORWARD OPTIMIZATION: ANTI-OVERFITTING PROTECTION
This is what separates AGE from curve-fitted garbage indicators.
The Three-Phase Process
Every new strategy undergoes a rigorous validation lifecycle:
Phase 1 - Training Window (First 250 bars, configurable 100-500):
Strategy trades normally via shadow portfolio
All trades count toward training performance metrics
System learns which gene combinations produce profitable patterns
Tracks independently: Training_Trades, Training_Wins, Training_PnL
Phase 2 - Testing Window (Next 75 bars, configurable 30-200):
Strategy continues trading without any parameter changes
Trades now count toward testing performance metrics (separate tracking)
This is out-of-sample data - strategy has never seen these bars during "optimization"
Tracks independently: Testing_Trades, Testing_Wins, Testing_PnL
Phase 3 - Validation Check:
Minimum_Trades = 5 (configurable 3-15)
IF (Train_Trades >= Minimum AND Test_Trades >= Minimum):
WR_Efficiency = Test_WinRate / Train_WinRate
Expectancy_Efficiency = Test_Expectancy / Train_Expectancy
WFO_Efficiency = (WR_Efficiency + Expectancy_Efficiency) / 2
IF (WFO_Efficiency >= 0.55): // configurable 0.3-0.9
Strategy.Validated = TRUE
Strategy receives fitness bonus
ELSE:
Strategy receives 30% fitness penalty
ELSE:
Validation deferred (insufficient trades in one or both periods)
What Validation Means
Validated Strategy (Green "✓ VAL" in dashboard):
Performed at least 55% as well on unseen data compared to training data
Gets fitness bonus: +(efficiency - 0.5) × 0.1
Receives priority during tournament selection for breeding
More likely to be chosen as active trading strategy
Unvalidated Strategy (Orange "○ TRAIN" in dashboard):
Failed to maintain performance on test data (likely curve-fitted to training period)
Receives 30% fitness penalty (0.7x multiplier)
Makes strategy prime candidate for culling
Can still trade but with lower selection probability
Insufficient Data (continues collecting):
Hasn't completed both training and testing periods yet
OR hasn't achieved minimum trade count in both periods
Validation check deferred until requirements met
Why 55% Efficiency Threshold?
If a strategy earned 10R during training but only 5.5R during testing, it still proved an edge exists beyond random luck. Requiring 100% efficiency would be unrealistic - market conditions change between periods. But requiring >50% ensures the strategy didn't completely degrade on fresh data.
The Protection: Strategies that work great on historical data but fail on new data are automatically identified and penalized. This prevents the population from being polluted by overfitted strategies that would fail in live trading.
🌊 DYNAMIC VOLATILITY SCALING (DVS): ADAPTIVE STOP/TARGET PLACEMENT
AGE doesn't use fixed stop distances. It adapts to current volatility conditions in real-time.
Four Volatility Measurement Methods
1. ATR Ratio (Simple Method):
Current_Vol = ATR(14) / Close
Baseline_Vol = SMA(Current_Vol, 100)
Ratio = Current_Vol / Baseline_Vol
Basic comparison of current ATR to 100-bar moving average baseline.
2. Parkinson (High-Low Range Based):
For each bar: HL = log(High / Low)
Parkinson_Vol = sqrt(Σ(HL²) / (4 × Period × log(2)))
More stable than close-to-close volatility. Captures intraday range expansion without overnight gap noise.
3. Garman-Klass (OHLC Based):
HL_Term = 0.5 × ²
CO_Term = (2×log(2) - 1) × ²
GK_Vol = sqrt(Σ(HL_Term - CO_Term) / Period)
Most sophisticated estimator. Incorporates all four price points (open, high, low, close) plus gap information.
4. Ensemble Method (Default - Median of All Three):
Ratio_1 = ATR_Current / ATR_Baseline
Ratio_2 = Parkinson_Current / Parkinson_Baseline
Ratio_3 = GK_Current / GK_Baseline
DVS_Ratio = Median(Ratio_1, Ratio_2, Ratio_3)
Why Ensemble?
Takes median to avoid outliers and false spikes
If ATR jumps but range-based methods stay calm, median prevents overreaction
If one method fails, other two compensate
Most robust approach across different market conditions
Sensitivity Scaling
Scaled_Ratio = (Raw_Ratio) ^ Sensitivity
Sensitivity 0.3: Cube root - heavily dampens volatility impact
Sensitivity 0.5: Square root - moderate dampening
Sensitivity 0.7 (Default): Balanced response to volatility changes
Sensitivity 1.0: Linear - full 1:1 volatility impact
Sensitivity 1.5: Exponential - amplified response to volatility spikes
Safety Clamps: Final DVS Ratio always clamped between 0.5x and 2.5x baseline to prevent extreme position sizing or stop placement errors.
How DVS Affects Shadow Trading
Every strategy's stop and target distances are multiplied by the current DVS ratio:
Stop Loss Distance:
Stop_Distance = ATR × ATR_Mult (gene) × Stop_Mult (gene) × DVS_Ratio
Take Profit Distance:
Target_Distance = ATR × ATR_Mult (gene) × Target_Mult (gene) × DVS_Ratio
Example Scenario:
ATR = 10 points
Strategy's ATR_Mult gene = 2.5
Strategy's Stop_Mult gene = 1.5
Strategy's Target_Mult gene = 2.5
DVS_Ratio = 1.4 (40% above baseline volatility - market heating up)
Stop = 10 × 2.5 × 1.5 × 1.4 = 52.5 points (vs. 37.5 in normal vol)
Target = 10 × 2.5 × 2.5 × 1.4 = 87.5 points (vs. 62.5 in normal vol)
Result:
During volatility spikes: Stops automatically widen to avoid noise-based exits, targets extend for bigger moves
During calm periods: Stops tighten for better risk/reward, targets compress for realistic profit-taking
Strategies adapt risk management to match current market behavior
🧬 THE EVOLUTIONARY CYCLE: SPAWN, COMPETE, CULL
Initialization (Bar 1)
AGE begins with 4 seed strategies (if evolution enabled):
Seed Strategy #0 (Balanced):
All sensitivities at 1.0 (neutral)
Zero probability boost
Moderate trend requirement (0.4)
Standard ATR/stop/target multiples (2.5/1.5/2.5)
Mid-level regime adaptation (0.5)
Seed Strategy #1 (Momentum-Focused):
Lower entropy sensitivity (0.7), higher momentum (1.5)
Slight probability boost (+0.03)
Higher trend requirement (0.5)
Tighter stops (1.3), wider targets (3.0)
Seed Strategy #2 (Entropy-Driven):
Higher entropy sensitivity (1.5), lower momentum (0.8)
Slight probability penalty (-0.02)
More trend tolerant (0.6)
Wider stops (1.8), standard targets (2.5)
Seed Strategy #3 (Structure-Based):
Balanced entropy/momentum (0.8/0.9), high structure (1.4)
Slight probability boost (+0.02)
Lower trend requirement (0.35)
Moderate risk parameters (1.6/2.8)
All seeds start with WFO validation bypassed if WFO is disabled, or must validate if enabled.
Spawning New Strategies
Timing (Adaptive):
Historical phase: Every 30 bars (configurable 10-100)
Live phase: Every 200 bars (configurable 100-500)
Automatically switches to live timing when barstate.isrealtime triggers
Conditions:
Current population < max population limit (default: 8, configurable 4-12)
At least 2 active strategies exist (need parents)
Available slot in population array
Selection Process:
Run tournament selection 3 times with different seeds
Each tournament: randomly sample active strategies, pick highest fitness
Best from 3 tournaments becomes Parent 1
Repeat independently for Parent 2
Ensures fit parents but maintains diversity
Crossover Breeding:
For each of 10 genes:
Parent1_Fitness = fitness
Parent2_Fitness = fitness
Weight1 = Parent1_Fitness / (Parent1_Fitness + Parent2_Fitness)
Gene1 = parent1's value
Gene2 = parent2's value
Child_Gene = Weight1 × Gene1 + (1 - Weight1) × Gene2
Fitness-weighted crossover ensures fitter parent contributes more genetic material.
Mutation:
For each gene in child:
IF (random < mutation_rate):
Gene_Range = GENE_MAX - GENE_MIN
Noise = (random - 0.5) × 2 × mutation_strength × Gene_Range
Mutated_Gene = Clamp(Child_Gene + Noise, GENE_MIN, GENE_MAX)
Historical mutation rate: 20% (aggressive exploration)
Live mutation rate: 8% (conservative stability)
Mutation strength: 12% of gene range (configurable 5-25%)
Initialization of New Strategy:
Unique ID assigned (total_spawned counter)
Parent ID recorded
Generation = max(parent generations) + 1
Birth bar recorded (for age tracking)
All performance metrics zeroed
Shadow portfolio reset
WFO validation flag set to false (must prove itself)
Result: New strategy with hybrid DNA enters population, begins trading in next bar.
Competition (Every Bar)
All active strategies:
Calculate their signal based on unique DNA
Check quality gate with their thresholds
Manage shadow positions (entries/exits)
Update performance metrics
Recalculate fitness score
Track WFO validation progress
Strategies compete indirectly through fitness ranking - no direct interaction.
Culling Weak Strategies
Timing (Adaptive):
Historical phase: Every 60 bars (configurable 20-200, should be 2x spawn interval)
Live phase: Every 400 bars (configurable 200-1000, should be 2x spawn interval)
Minimum Adaptation Score (MAS):
Initial MAS = 0.10
MAS decays: MAS × 0.995 every cull cycle
Minimum MAS = 0.03 (floor)
MAS represents the "survival threshold" - strategies below this fitness level are vulnerable.
Culling Conditions (ALL must be true):
Population > minimum population (default: 3, configurable 2-4)
At least one strategy has fitness < MAS
Strategy's age > culling interval (prevents premature culling of new strategies)
Strategy is not in top N elite (default: 2, configurable 1-3)
Culling Process:
Find worst strategy:
For each active strategy:
IF (age > cull_interval):
Fitness = base_fitness
IF (not WFO_validated AND WFO_enabled):
Fitness × 0.7 // 30% penalty for unvalidated
IF (Fitness < MAS AND Fitness < worst_fitness_found):
worst_strategy = this_strategy
worst_fitness = Fitness
IF (worst_strategy found):
Count elite strategies with fitness > worst_fitness
IF (elite_count >= elite_preservation_count):
Deactivate worst_strategy (set active flag = false)
Increment total_culled counter
Elite Protection:
Even if a strategy's fitness falls below MAS, it survives if fewer than N strategies are better. This prevents culling when population is generally weak.
Result: Weak strategies removed from population, freeing slots for new spawns. Gene pool improves over time.
Selection for Display (Every Bar)
AGE chooses one strategy to display signals:
Best fitness = -1
Selected = none
For each active strategy:
Fitness = base_fitness
IF (WFO_validated):
Fitness × 1.3 // 30% bonus for validated strategies
IF (Fitness > best_fitness):
best_fitness = Fitness
selected_strategy = this_strategy
Display selected strategy's signals on chart
Result: Only the highest-fitness (optionally validated-boosted) strategy's signals appear as chart markers. Other strategies trade invisibly in shadow portfolios.
🎨 PREMIUM VISUALIZATION SYSTEM
AGE includes sophisticated visual feedback that standard indicators lack:
1. Gradient Probability Cloud (Optional, Default: ON)
Multi-layer gradient showing signal buildup 2-3 bars before entry:
Activation Conditions:
Signal persistence > 0 (same directional signal held for multiple bars)
Signal probability ≥ minimum threshold (65% by default)
Signal hasn't yet executed (still in "forming" state)
Visual Construction:
7 gradient layers by default (configurable 3-15)
Each layer is a line-fill pair (top line, bottom line, filled between)
Layer spacing: 0.3 to 1.0 × ATR above/below price
Outer layers = faint, inner layers = bright
Color transitions from base to intense based on layer position
Transparency scales with probability (high prob = more opaque)
Color Selection:
Long signals: Gradient from theme.gradient_bull_mid to theme.gradient_bull_strong
Short signals: Gradient from theme.gradient_bear_mid to theme.gradient_bear_strong
Base transparency: 92%, reduces by up to 8% for high-probability setups
Dynamic Behavior:
Cloud grows/shrinks as signal persistence increases/decreases
Redraws every bar while signal is forming
Disappears when signal executes or invalidates
Performance Note: Computationally expensive due to linefill objects. Disable or reduce layers if chart performance degrades.
2. Population Fitness Ribbon (Optional, Default: ON)
Histogram showing fitness distribution across active strategies:
Activation: Only draws on last bar (barstate.islast) to avoid historical clutter
Visual Construction:
10 histogram layers by default (configurable 5-20)
Plots 50 bars back from current bar
Positioned below price at: lowest_low(100) - 1.5×ATR (doesn't interfere with price action)
Each layer represents a fitness threshold (evenly spaced min to max fitness)
Layer Logic:
For layer_num from 0 to ribbon_layers:
Fitness_threshold = min_fitness + (max_fitness - min_fitness) × (layer / layers)
Count strategies with fitness ≥ threshold
Height = ATR × 0.15 × (count / total_active)
Y_position = base_level + ATR × 0.2 × layer
Color = Gradient from weak to strong based on layer position
Line_width = Scaled by height (taller = thicker)
Visual Feedback:
Tall, bright ribbon = healthy population, many fit strategies at high fitness levels
Short, dim ribbon = weak population, few strategies achieving good fitness
Ribbon compression (layers close together) = population converging to similar fitness
Ribbon spread = diverse fitness range, active selection pressure
Use Case: Quick visual health check without opening dashboard. Ribbon growing upward over time = population improving.
3. Confidence Halo (Optional, Default: ON)
Circular polyline around entry signals showing probability strength:
Activation: Draws when new position opens (shadow_position changes from 0 to ±1)
Visual Construction:
20-segment polyline forming approximate circle
Center: Low - 0.5×ATR (long) or High + 0.5×ATR (short)
Radius: 0.3×ATR (low confidence) to 1.0×ATR (elite confidence)
Scales with: (probability - min_probability) / (1.0 - min_probability)
Color Coding:
Elite (85%+): Cyan (theme.conf_elite), large radius, minimal transparency (40%)
Strong (75-85%): Strong green (theme.conf_strong), medium radius, moderate transparency (50%)
Good (65-75%): Good green (theme.conf_good), smaller radius, more transparent (60%)
Moderate (<65%): Moderate green (theme.conf_moderate), tiny radius, very transparent (70%)
Technical Detail:
Uses chart.point array with index-based positioning
5-bar horizontal spread for circular appearance (±5 bars from entry)
Curved=false (Pine Script polyline limitation)
Fill color matches line color but more transparent (88% vs line's transparency)
Purpose: Instant visual probability assessment. No need to check dashboard - halo size/brightness tells the story.
4. Evolution Event Markers (Optional, Default: ON)
Visual indicators of genetic algorithm activity:
Spawn Markers (Diamond, Cyan):
Plots when total_spawned increases on current bar
Location: bottom of chart (location.bottom)
Color: theme.spawn_marker (cyan/bright blue)
Size: tiny
Indicates new strategy just entered population
Cull Markers (X-Cross, Red):
Plots when total_culled increases on current bar
Location: bottom of chart (location.bottom)
Color: theme.cull_marker (red/pink)
Size: tiny
Indicates weak strategy just removed from population
What It Tells You:
Frequent spawning early = population building, active exploration
Frequent culling early = high selection pressure, weak strategies dying fast
Balanced spawn/cull = healthy evolutionary churn
No markers for long periods = stable population (evolution plateaued or optimal genes found)
5. Entry/Exit Markers
Clear visual signals for selected strategy's trades:
Long Entry (Triangle Up, Green):
Plots when selected strategy opens long position (position changes 0 → +1)
Location: below bar (location.belowbar)
Color: theme.long_primary (green/cyan depending on theme)
Transparency: Scales with probability:
Elite (85%+): 0% (fully opaque)
Strong (75-85%): 10%
Good (65-75%): 20%
Acceptable (55-65%): 35%
Size: small
Short Entry (Triangle Down, Red):
Plots when selected strategy opens short position (position changes 0 → -1)
Location: above bar (location.abovebar)
Color: theme.short_primary (red/pink depending on theme)
Transparency: Same scaling as long entries
Size: small
Exit (X-Cross, Orange):
Plots when selected strategy closes position (position changes ±1 → 0)
Location: absolute (at actual exit price if stop/target lines enabled)
Color: theme.exit_color (orange/yellow depending on theme)
Transparency: 0% (fully opaque)
Size: tiny
Result: Clean, probability-scaled markers that don't clutter chart but convey essential information.
6. Stop Loss & Take Profit Lines (Optional, Default: ON)
Visual representation of shadow portfolio risk levels:
Stop Loss Line:
Plots when selected strategy has active position
Level: shadow_stop value from selected strategy
Color: theme.short_primary with 60% transparency (red/pink, subtle)
Width: 2
Style: plot.style_linebr (breaks when no position)
Take Profit Line:
Plots when selected strategy has active position
Level: shadow_target value from selected strategy
Color: theme.long_primary with 60% transparency (green, subtle)
Width: 2
Style: plot.style_linebr (breaks when no position)
Purpose:
Shows where shadow portfolio would exit for stop/target
Helps visualize strategy's risk/reward ratio
Useful for manual traders to set similar levels
Disable for cleaner chart (recommended for presentations)
7. Dynamic Trend EMA
Gradient-colored trend line that visualizes trend strength:
Calculation:
EMA(close, trend_length) - default 50 period (configurable 20-100)
Slope calculated over 10 bars: (current_ema - ema ) / ema × 100
Color Logic:
Trend_direction:
Slope > 0.1% = Bullish (1)
Slope < -0.1% = Bearish (-1)
Otherwise = Neutral (0)
Trend_strength = abs(slope)
Color = Gradient between:
- Neutral color (gray/purple)
- Strong bullish (bright green) if direction = 1
- Strong bearish (bright red) if direction = -1
Gradient factor = trend_strength (0 to 1+ scale)
Visual Behavior:
Faint gray/purple = weak/no trend (choppy conditions)
Light green/red = emerging trend (low strength)
Bright green/red = strong trend (high conviction)
Color intensity = trend strength magnitude
Transparency: 50% (subtle, doesn't overpower price action)
Purpose: Subconscious awareness of trend state without checking dashboard or indicators.
8. Regime Background Tinting (Subtle)
Ultra-low opacity background color indicating detected market regime:
Regime Detection:
Efficiency = directional_movement / total_range (over trend_length bars)
Vol_ratio = current_volatility / average_volatility
IF (efficiency > 0.5 AND vol_ratio < 1.3):
Regime = Trending (1)
ELSE IF (vol_ratio > 1.5):
Regime = Volatile (2)
ELSE:
Regime = Choppy (0)
Background Colors:
Trending: theme.regime_trending (dark green, 92-93% transparency)
Volatile: theme.regime_volatile (dark red, 93% transparency)
Choppy: No tint (normal background)
Purpose:
Subliminal regime awareness
Helps explain why signals are/aren't generating
Trending = ideal conditions for AGE
Volatile = fewer signals, higher thresholds applied
Choppy = mixed signals, lower confidence
Important: Extremely subtle by design. Not meant to be obvious, just subconscious context.
📊 ENHANCED DASHBOARD
Comprehensive real-time metrics in single organized panel (top-right position):
Dashboard Structure (5 columns × 14 rows)
Header Row:
Column 0: "🧬 AGE PRO" + phase indicator (🔴 LIVE or ⏪ HIST)
Column 1: "POPULATION"
Column 2: "PERFORMANCE"
Column 3: "CURRENT SIGNAL"
Column 4: "ACTIVE STRATEGY"
Column 0: Market State
Regime (📈 TREND / 🌊 CHAOS / ➖ CHOP)
DVS Ratio (current volatility scaling factor, format: #.##)
Trend Direction (▲ BULL / ▼ BEAR / ➖ FLAT with color coding)
Trend Strength (0-100 scale, format: #.##)
Column 1: Population Metrics
Active strategies (count / max_population)
Validated strategies (WFO passed / active total)
Current generation number
Total spawned (all-time strategy births)
Total culled (all-time strategy deaths)
Column 2: Aggregate Performance
Total trades across all active strategies
Aggregate win rate (%) - color-coded:
Green (>55%)
Orange (45-55%)
Red (<45%)
Total P&L in R-multiples - color-coded by positive/negative
Best fitness score in population (format: #.###)
MAS - Minimum Adaptation Score (cull threshold, format: #.###)
Column 3: Current Signal Status
Status indicator:
"▲ LONG" (green) if selected strategy in long position
"▼ SHORT" (red) if selected strategy in short position
"⏳ FORMING" (orange) if signal persisting but not yet executed
"○ WAITING" (gray) if no active signal
Confidence percentage (0-100%, format: #.#%)
Quality assessment:
"🔥 ELITE" (cyan) for 85%+ probability
"✓ STRONG" (bright green) for 75-85%
"○ GOOD" (green) for 65-75%
"- LOW" (dim) for <65%
Confluence score (X/3 format)
Signal age:
"X bars" if signal forming
"IN TRADE" if position active
"---" if no signal
Column 4: Selected Strategy Details
Strategy ID number (#X format)
Validation status:
"✓ VAL" (green) if WFO validated
"○ TRAIN" (orange) if still in training/testing phase
Generation number (GX format)
Personal fitness score (format: #.### with color coding)
Trade count
P&L and win rate (format: #.#R (##%) with color coding)
Color Scheme:
Panel background: theme.panel_bg (dark, low opacity)
Panel headers: theme.panel_header (slightly lighter)
Primary text: theme.text_primary (bright, high contrast)
Secondary text: theme.text_secondary (dim, lower contrast)
Positive metrics: theme.metric_positive (green)
Warning metrics: theme.metric_warning (orange)
Negative metrics: theme.metric_negative (red)
Special markers: theme.validated_marker, theme.spawn_marker
Update Frequency: Only on barstate.islast (current bar) to minimize CPU usage
Purpose:
Quick overview of entire system state
No need to check multiple indicators
Trading decisions informed by population health, regime state, and signal quality
Transparency into what AGE is thinking
🔍 DIAGNOSTICS PANEL (Optional, Default: OFF)
Detailed signal quality tracking for optimization and debugging:
Panel Structure (3 columns × 8 rows)
Position: Bottom-right corner (doesn't interfere with main dashboard)
Header Row:
Column 0: "🔍 DIAGNOSTICS"
Column 1: "COUNT"
Column 2: "%"
Metrics Tracked (for selected strategy only):
Total Evaluated:
Every signal that passed initial calculation (direction ≠ 0)
Represents total opportunities considered
✓ Passed:
Signals that passed quality gate and executed
Green color coding
Percentage of evaluated signals
Rejection Breakdown:
⨯ Probability:
Rejected because probability < minimum threshold
Most common rejection reason typically
⨯ Confluence:
Rejected because confluence < minimum required (e.g., only 1 of 3 indicators agreed)
⨯ Trend:
Rejected because signal opposed strong trend
Indicates counter-trend protection working
⨯ Regime:
Rejected because volatile regime detected and probability wasn't high enough to override
Shows regime filter in action
⨯ Volume:
Rejected because volume < 70% of 20-bar average
Indicates volume confirmation requirement
Color Coding:
Passed count: Green (success metric)
Rejection counts: Red (failure metrics)
Percentages: Gray (neutral, informational)
Performance Cost: Slight CPU overhead for tracking counters. Disable when not actively optimizing settings.
How to Use Diagnostics
Scenario 1: Too Few Signals
Evaluated: 200
Passed: 10 (5%)
⨯ Probability: 120 (60%)
⨯ Confluence: 40 (20%)
⨯ Others: 30 (15%)
Diagnosis: Probability threshold too high for this strategy's DNA.
Solution: Lower min probability from 65% to 60%, or allow strategy more time to evolve better DNA.
Scenario 2: Too Many False Signals
Evaluated: 200
Passed: 80 (40%)
Strategy win rate: 45%
Diagnosis: Quality gate too loose, letting low-quality signals through.
Solution: Raise min probability to 70%, or increase min confluence to 3 (all indicators must agree).
Scenario 3: Regime-Specific Issues
⨯ Regime: 90 (45% of rejections)
Diagnosis: Frequent volatile regime detection blocking otherwise good signals.
Solution: Either accept fewer trades during chaos (recommended), or disable regime filter if you want signals regardless of market state.
Optimization Workflow:
Enable diagnostics
Run 200+ bars
Analyze rejection patterns
Adjust settings based on data
Re-run and compare pass rate
Disable diagnostics when satisfied
⚙️ CONFIGURATION GUIDE
🧬 Evolution Engine Settings
Enable AGE Evolution (Default: ON):
ON: Full genetic algorithm (recommended for best results)
OFF: Uses only 4 seed strategies, no spawning/culling (static population for comparison testing)
Max Population (4-12, Default: 8):
Higher = more diversity, more exploration, slower performance
Lower = faster computation, less exploration, risk of premature convergence
Sweet spot: 6-8 for most use cases
4 = minimum for meaningful evolution
12 = maximum before diminishing returns
Min Population (2-4, Default: 3):
Safety floor - system never culls below this count
Prevents population extinction during harsh selection
Should be at least half of max population
Elite Preservation (1-3, Default: 2):
Top N performers completely immune to culling
Ensures best genes always survive
1 = minimal protection, aggressive selection
2 = balanced (recommended)
3 = conservative, slower gene pool turnover
Historical: Spawn Interval (10-100, Default: 30):
Bars between spawning new strategies during historical data
Lower = faster evolution, more exploration
Higher = slower evolution, more evaluation time per strategy
30 bars = ~1-2 hours on 15min chart
Historical: Cull Interval (20-200, Default: 60):
Bars between culling weak strategies during historical data
Should be 2x spawn interval for balanced churn
Lower = aggressive selection pressure
Higher = patient evaluation
Live: Spawn Interval (100-500, Default: 200):
Bars between spawning during live trading
Much slower than historical for stability
Prevents population chaos during live trading
200 bars = ~1.5 trading days on 15min chart
Live: Cull Interval (200-1000, Default: 400):
Bars between culling during live trading
Should be 2x live spawn interval
Conservative removal during live trading
Historical: Mutation Rate (0.05-0.40, Default: 0.20):
Probability each gene mutates during breeding (20% = 2 out of 10 genes on average)
Higher = more exploration, slower convergence
Lower = more exploitation, faster convergence but risk of local optima
20% balances exploration vs exploitation
Live: Mutation Rate (0.02-0.20, Default: 0.08):
Mutation rate during live trading
Much lower for stability (don't want population to suddenly degrade)
8% = mostly inherits parent genes with small tweaks
Mutation Strength (0.05-0.25, Default: 0.12):
How much genes change when mutated (% of gene's total range)
0.05 = tiny nudges (fine-tuning)
0.12 = moderate jumps (recommended)
0.25 = large leaps (aggressive exploration)
Example: If gene range is 0.5-2.0, 12% strength = ±0.18 possible change
📈 Signal Quality Settings
Min Signal Probability (0.55-0.80, Default: 0.65):
Quality gate threshold - signals below this never generate
0.55-0.60 = More signals, accept lower confidence (higher risk)
0.65 = Institutional-grade balance (recommended)
0.70-0.75 = Fewer but higher-quality signals (conservative)
0.80+ = Very selective, very few signals (ultra-conservative)
Min Confluence Score (1-3, Default: 2):
Required indicator agreement before signal generates
1 = Any single indicator can trigger (not recommended - too many false signals)
2 = Requires 2 of 3 indicators agree (RECOMMENDED for balance)
3 = All 3 must agree (very selective, few signals, high quality)
Base Persistence Bars (1-5, Default: 2):
Base bars signal must persist before entry
System adapts automatically:
High probability signals (75%+) enter 1 bar faster
Low probability signals (<68%) need 1 bar more
Trending regime: -1 bar (faster entries)
Volatile regime: +1 bar (more confirmation)
1 = Immediate entry after quality gate (responsive but prone to whipsaw)
2 = Balanced confirmation (recommended)
3-5 = Patient confirmation (slower but more reliable)
Cooldown After Trade (3-20, Default: 8):
Bars to wait after exit before next entry allowed
Prevents overtrading and revenge trading
3 = Minimal cooldown (active trading)
8 = Balanced (recommended)
15-20 = Conservative (position trading)
Entropy Length (10-50, Default: 20):
Lookback period for market order/disorder calculation
Lower = more responsive to regime changes (noisy)
Higher = more stable regime detection (laggy)
20 = works across most timeframes
Momentum Length (5-30, Default: 14):
Period for RSI/ROC calculations
14 = standard (RSI default)
Lower = more signals, less reliable
Higher = fewer signals, more reliable
Structure Length (20-100, Default: 50):
Lookback for support/resistance swing range
20 = short-term swings (day trading)
50 = medium-term structure (recommended)
100 = major structure (position trading)
Trend EMA Length (20-100, Default: 50):
EMA period for trend detection and direction bias
20 = short-term trend (responsive)
50 = medium-term trend (recommended)
100 = long-term trend (position trading)
ATR Period (5-30, Default: 14):
Period for volatility measurement
14 = standard ATR
Lower = more responsive to vol changes
Higher = smoother vol calculation
📊 Volatility Scaling (DVS) Settings
Enable DVS (Default: ON):
Dynamic volatility scaling for adaptive stop/target placement
Highly recommended to leave ON
OFF only for testing fixed-distance stops
DVS Method (Default: Ensemble):
ATR Ratio: Simple, fast, single-method (good for beginners)
Parkinson: High-low range based (good for intraday)
Garman-Klass: OHLC based (sophisticated, considers gaps)
Ensemble: Median of all three (RECOMMENDED - most robust)
DVS Memory (20-200, Default: 100):
Lookback for baseline volatility comparison
20 = very responsive to vol changes (can overreact)
100 = balanced adaptation (recommended)
200 = slow, stable baseline (minimizes false vol signals)
DVS Sensitivity (0.3-1.5, Default: 0.7):
How much volatility affects scaling (power-law exponent)
0.3 = Conservative, heavily dampens vol impact (cube root)
0.5 = Moderate dampening (square root)
0.7 = Balanced response (recommended)
1.0 = Linear, full 1:1 vol response
1.5 = Aggressive, amplified response (exponential)
🔬 Walk-Forward Optimization Settings
Enable WFO (Default: ON):
Out-of-sample validation to prevent overfitting
Highly recommended to leave ON
OFF only for testing or if you want unvalidated strategies
Training Window (100-500, Default: 250):
Bars for in-sample optimization
100 = fast validation, less data (risky)
250 = balanced (recommended) - about 1-2 months on daily, 1-2 weeks on 15min
500 = patient validation, more data (conservative)
Testing Window (30-200, Default: 75):
Bars for out-of-sample validation
Should be ~30% of training window
30 = minimal test (fast validation)
75 = balanced (recommended)
200 = extensive test (very conservative)
Min Trades for Validation (3-15, Default: 5):
Required trades in BOTH training AND testing periods
3 = minimal sample (risky, fast validation)
5 = balanced (recommended)
10+ = conservative (slow validation, high confidence)
WFO Efficiency Threshold (0.3-0.9, Default: 0.55):
Minimum test/train performance ratio required
0.30 = Very loose (test must be 30% as good as training)
0.55 = Balanced (recommended) - test must be 55% as good
0.70+ = Strict (test must closely match training)
Higher = fewer validated strategies, lower risk of overfitting
🎨 Premium Visuals Settings
Visual Theme:
Neon Genesis: Cyberpunk aesthetic (cyan/magenta/purple)
Carbon Fiber: Industrial look (blue/red/gray)
Quantum Blue: Quantum computing (blue/purple/pink)
Aurora: Northern lights (teal/orange/purple)
⚡ Gradient Probability Cloud (Default: ON):
Multi-layer gradient showing signal buildup
Turn OFF if chart lags or for cleaner look
Cloud Gradient Layers (3-15, Default: 7):
More layers = smoother gradient, more CPU intensive
Fewer layers = faster, blockier appearance
🎗️ Population Fitness Ribbon (Default: ON):
Histogram showing fitness distribution
Turn OFF for cleaner chart
Ribbon Layers (5-20, Default: 10):
More layers = finer fitness detail
Fewer layers = simpler histogram
⭕ Signal Confidence Halo (Default: ON):
Circular indicator around entry signals
Size/brightness scales with probability
Minimal performance cost
🔬 Evolution Event Markers (Default: ON):
Diamond (spawn) and X (cull) markers
Shows genetic algorithm activity
Minimal performance cost
🎯 Stop/Target Lines (Default: ON):
Shows shadow portfolio stop/target levels
Turn OFF for cleaner chart (recommended for screenshots/presentations)
📊 Enhanced Dashboard (Default: ON):
Comprehensive metrics panel
Should stay ON unless you want zero overlays
🔍 Diagnostics Panel (Default: OFF):
Detailed signal rejection tracking
Turn ON when optimizing settings
Turn OFF during normal use (slight performance cost)
📈 USAGE WORKFLOW - HOW TO USE THIS INDICATOR
Phase 1: Initial Setup & Learning
Add AGE to your chart
Recommended timeframes: 15min, 30min, 1H (best signal-to-noise ratio)
Works on: 5min (day trading), 4H (swing trading), Daily (position trading)
Load 1000+ bars for sufficient evolution history
Let the population evolve (100+ bars minimum)
First 50 bars: Random exploration, poor results expected
Bars 50-150: Population converging, fitness improving
Bars 150+: Stable performance, validated strategies emerging
Watch the dashboard metrics
Population should grow toward max capacity
Generation number should advance regularly
Validated strategies counter should increase
Best fitness should trend upward toward 0.50-0.70 range
Observe evolution markers
Diamond markers (cyan) = new strategies spawning
X markers (red) = weak strategies being culled
Frequent early activity = healthy evolution
Activity slowing = population stabilizing
Be patient. Evolution takes time. Don't judge performance before 150+ bars.
Phase 2: Signal Observation
Watch signals form
Gradient cloud builds up 2-3 bars before entry
Cloud brightness = probability strength
Cloud thickness = signal persistence
Check signal quality
Look at confidence halo size when entry marker appears
Large bright halo = elite setup (85%+)
Medium halo = strong setup (75-85%)
Small halo = good setup (65-75%)
Verify market conditions
Check trend EMA color (green = uptrend, red = downtrend, gray = choppy)
Check background tint (green = trending, red = volatile, clear = choppy)
Trending background + aligned signal = ideal conditions
Review dashboard signal status
Current Signal column shows:
Status (Long/Short/Forming/Waiting)
Confidence % (actual probability value)
Quality assessment (Elite/Strong/Good)
Confluence score (2/3 or 3/3 preferred)
Only signals meeting ALL quality gates appear on chart. If you're not seeing signals, population is either still learning or market conditions aren't suitable.
Phase 3: Manual Trading Execution
When Long Signal Fires:
Verify confidence level (dashboard or halo size)
Confirm trend alignment (EMA sloping up, green color)
Check regime (preferably trending or choppy, avoid volatile)
Enter long manually on your broker platform
Set stop loss at displayed stop line level (if lines enabled), or use your own risk management
Set take profit at displayed target line level, or trail manually
Monitor position - exit if X marker appears (signal reversal)
When Short Signal Fires:
Same verification process
Confirm downtrend (EMA sloping down, red color)
Enter short manually
Use displayed stop/target levels or your own
AGE tells you WHEN and HOW CONFIDENT. You decide WHETHER and HOW MUCH.
Phase 4: Set Up Alerts (Never Miss a Signal)
Right-click on indicator name in legend
Select "Add Alert"
Choose condition:
"AGE Long" = Long entry signal fired
"AGE Short" = Short entry signal fired
"AGE Exit" = Position reversal/exit signal
Set notification method:
Sound alert (popup on chart)
Email notification
Webhook to phone/trading platform
Mobile app push notification
Name the alert (e.g., "AGE BTCUSD 15min Long")
Save alert
Recommended: Set alerts for both long and short, enable mobile push notifications. You'll get alerted in real-time even if not watching charts.
Phase 5: Monitor Population Health
Weekly Review:
Check dashboard Population column:
Active count should be near max (6-8 of 8)
Validated count should be >50% of active
Generation should be advancing (1-2 per week typical)
Check dashboard Performance column:
Aggregate win rate should be >50% (target: 55-65%)
Total P&L should be positive (may fluctuate)
Best fitness should be >0.50 (target: 0.55-0.70)
MAS should be declining slowly (normal adaptation)
Check Active Strategy column:
Selected strategy should be validated (✓ VAL)
Personal fitness should match best fitness
Trade count should be accumulating
Win rate should be >50%
Warning Signs:
Zero validated strategies after 300+ bars = settings too strict or market unsuitable
Best fitness stuck <0.30 = population struggling, consider parameter adjustment
No spawning/culling for 200+ bars = evolution stalled (may be optimal or need reset)
Aggregate win rate <45% sustained = system not working on this instrument/timeframe
Health Check Pass:
50%+ strategies validated
Best fitness >0.50
Aggregate win rate >52%
Regular spawn/cull activity
Selected strategy validated
Phase 6: Optimization (If Needed)
Enable Diagnostics Panel (bottom-right) for data-driven tuning:
Problem: Too Few Signals
Evaluated: 200
Passed: 8 (4%)
⨯ Probability: 140 (70%)
Solutions:
Lower min probability: 65% → 60% or 55%
Reduce min confluence: 2 → 1
Lower base persistence: 2 → 1
Increase mutation rate temporarily to explore new genes
Check if regime filter is blocking signals (⨯ Regime high?)
Problem: Too Many False Signals
Evaluated: 200
Passed: 90 (45%)
Win rate: 42%
Solutions:
Raise min probability: 65% → 70% or 75%
Increase min confluence: 2 → 3
Raise base persistence: 2 → 3
Enable WFO if disabled (validates strategies before use)
Check if volume filter is being ignored (⨯ Volume low?)
Problem: Counter-Trend Losses
⨯ Trend: 5 (only 5% rejected)
Losses often occur against trend
Solutions:
System should already filter trend opposition
May need stronger trend requirement
Consider only taking signals aligned with higher timeframe trend
Use longer trend EMA (50 → 100)
Problem: Volatile Market Whipsaws
⨯ Regime: 100 (50% rejected by volatile regime)
Still getting stopped out frequently
Solutions:
System is correctly blocking volatile signals
Losses happening because vol filter isn't strict enough
Consider not trading during volatile periods (respect the regime)
Or disable regime filter and accept higher risk
Optimization Workflow:
Enable diagnostics
Run 200+ bars with current settings
Analyze rejection patterns and win rate
Make ONE change at a time (scientific method)
Re-run 200+ bars and compare results
Keep change if improvement, revert if worse
Disable diagnostics when satisfied
Never change multiple parameters at once - you won't know what worked.
Phase 7: Multi-Instrument Deployment
AGE learns independently on each chart:
Recommended Strategy:
Deploy AGE on 3-5 different instruments
Different asset classes ideal (e.g., ES futures, EURUSD, BTCUSD, SPY, Gold)
Each learns optimal strategies for that instrument's personality
Take signals from all 5 charts
Natural diversification reduces overall risk
Why This Works:
When one market is choppy, others may be trending
Different instruments respond to different news/catalysts
Portfolio-level win rate more stable than single-instrument
Evolution explores different parameter spaces on each chart
Setup:
Same settings across all charts (or customize if preferred)
Set alerts for all
Take every validated signal across all instruments
Position size based on total account (don't overleverage any single signal)
⚠️ REALISTIC EXPECTATIONS - CRITICAL READING
What AGE Can Do
✅ Generate probability-weighted signals using genetic algorithms
✅ Evolve strategies in real-time through natural selection
✅ Validate strategies on out-of-sample data (walk-forward optimization)
✅ Adapt to changing market conditions automatically over time
✅ Provide comprehensive metrics on population health and signal quality
✅ Work on any instrument, any timeframe, any broker
✅ Improve over time as weak strategies are culled and fit strategies breed
What AGE Cannot Do
❌ Win every trade (typical win rate: 55-65% at best)
❌ Predict the future with certainty (markets are probabilistic, not deterministic)
❌ Work perfectly from bar 1 (needs 100-150 bars to learn and stabilize)
❌ Guarantee profits under all market conditions
❌ Replace your trading discipline and risk management
❌ Execute trades automatically (this is an indicator, not a strategy)
❌ Prevent all losses (drawdowns are normal and expected)
❌ Adapt instantly to regime changes (re-learning takes 50-100 bars)
Performance Realities
Typical Performance After Evolution Stabilizes (150+ bars):
Win Rate: 55-65% (excellent for trend-following systems)
Profit Factor: 1.5-2.5 (realistic for validated strategies)
Signal Frequency: 5-15 signals per 100 bars (quality over quantity)
Drawdown Periods: 20-40% of time in equity retracement (normal trading reality)
Max Consecutive Losses: 5-8 losses possible even with 60% win rate (probability says this is normal)
Evolution Timeline:
Bars 0-50: Random exploration, learning phase - poor results expected, don't judge yet
Bars 50-150: Population converging, fitness climbing - results improving
Bars 150-300: Stable performance, most strategies validated - consistent results
Bars 300+: Mature population, optimal genes dominant - best results
Market Condition Dependency:
Trending Markets: AGE excels - clear directional moves, high-probability setups
Choppy Markets: AGE struggles - fewer signals generated, lower win rate
Volatile Markets: AGE cautious - higher rejection rate, wider stops, fewer trades
Market Regime Changes:
When market shifts from trending to choppy overnight
Validated strategies can become temporarily invalidated
AGE will adapt through evolution, but not instantly
Expect 50-100 bar re-learning period after major regime shifts
Fitness may temporarily drop then recover
This is NOT a holy grail. It's a sophisticated signal generator that learns and adapts using genetic algorithms. Your success depends on:
Patience during learning periods (don't abandon after 3 losses)
Proper position sizing (risk 0.5-2% per trade, not 10%)
Following signals consistently (cherry-picking defeats statistical edge)
Not abandoning system prematurely (give it 200+ bars minimum)
Understanding probability (60% win rate means 40% of trades WILL lose)
Respecting market conditions (trending = trade more, choppy = trade less)
Managing emotions (AGE is emotionless, you need to be too)
Expected Drawdowns:
Single-strategy max DD: 10-20% of equity (normal)
Portfolio across multiple instruments: 5-15% (diversification helps)
Losing streaks: 3-5 consecutive losses expected periodically
No indicator eliminates risk. AGE manages risk through:
Quality gates (rejecting low-probability signals)
Confluence requirements (multi-indicator confirmation)
Persistence requirements (no knee-jerk reactions)
Regime awareness (reduced trading in chaos)
Walk-forward validation (preventing overfitting)
But it cannot prevent all losses. That's inherent to trading.
🔧 TECHNICAL SPECIFICATIONS
Platform: TradingView Pine Script v5
Indicator Type: Overlay indicator (plots on price chart)
Execution Type: Signals only - no automatic order placement
Computational Load:
Moderate to High (genetic algorithms + shadow portfolios)
8 strategies × shadow portfolio simulation = significant computation
Premium visuals add additional load (gradient cloud, fitness ribbon)
TradingView Resource Limits (Built-in Caps):
Max Bars Back: 500 (sufficient for WFO and evolution)
Max Labels: 100 (plenty for entry/exit markers)
Max Lines: 150 (adequate for stop/target lines)
Max Boxes: 50 (not heavily used)
Max Polylines: 100 (confidence halos)
Recommended Chart Settings:
Timeframe: 15min to 1H (optimal signal/noise balance)
5min: Works but noisier, more signals
4H/Daily: Works but fewer signals
Bars Loaded: 1000+ (ensures sufficient evolution history)
Replay Mode: Excellent for testing without risk
Performance Optimization Tips:
Disable gradient cloud if chart lags (most CPU intensive visual)
Disable fitness ribbon if still laggy
Reduce cloud layers from 7 to 3
Reduce ribbon layers from 10 to 5
Turn off diagnostics panel unless actively tuning
Close other heavy indicators to free resources
Browser/Platform Compatibility:
Works on all modern browsers (Chrome, Firefox, Safari, Edge)
Mobile app supported (full functionality on phone/tablet)
Desktop app supported (best performance)
Web version supported (may be slower on older computers)
Data Requirements:
Real-time or delayed data both work
No special data feeds required
Works with TradingView's standard data
Historical + live data seamlessly integrated
🎓 THEORETICAL FOUNDATIONS
AGE synthesizes advanced concepts from multiple disciplines:
Evolutionary Computation
Genetic Algorithms (Holland, 1975): Population-based optimization through natural selection metaphor
Tournament Selection: Fitness-based parent selection with diversity preservation
Crossover Operators: Fitness-weighted gene recombination from two parents
Mutation Operators: Random gene perturbation for exploration of new parameter space
Elitism: Preservation of top N performers to prevent loss of best solutions
Adaptive Parameters: Different mutation rates for historical vs. live phases
Technical Analysis
Support/Resistance: Price structure within swing ranges
Trend Following: EMA-based directional bias
Momentum Analysis: RSI, ROC, MACD composite indicators
Volatility Analysis: ATR-based risk scaling
Volume Confirmation: Trade activity validation
Information Theory
Shannon Entropy (1948): Quantification of market order vs. disorder
Signal-to-Noise Ratio: Directional information vs. random walk
Information Content: How much "information" a price move contains
Statistics & Probability
Walk-Forward Analysis: Rolling in-sample/out-of-sample optimization
Out-of-Sample Validation: Testing on unseen data to prevent overfitting
Monte Carlo Principles: Shadow portfolio simulation with realistic execution
Expectancy Theory: Win rate × avg win - loss rate × avg loss
Probability Distributions: Signal confidence quantification
Risk Management
ATR-Based Stops: Volatility-normalized risk per trade
Volatility Regime Detection: Market state classification (trending/choppy/volatile)
Drawdown Control: Peak-to-trough equity measurement
R-Multiple Normalization: Performance measurement in risk units
Machine Learning Concepts
Online Learning: Continuous adaptation as new data arrives
Fitness Functions: Multi-objective optimization (win rate + expectancy + drawdown)
Exploration vs. Exploitation: Balance between trying new strategies and using proven ones
Overfitting Prevention: Walk-forward validation as regularization
Novel Contribution:
AGE is the first TradingView indicator to apply genetic algorithms to real-time indicator parameter optimization while maintaining strict anti-overfitting controls through walk-forward validation.
Most "adaptive" indicators simply recalibrate lookback periods or thresholds. AGE evolves entirely new strategies through competitive selection - it's not parameter tuning, it's Darwinian evolution of trading logic itself.
The combination of:
Genetic algorithm population management
Shadow portfolio simulation for realistic fitness evaluation
Walk-forward validation to prevent overfitting
Multi-indicator confluence for signal quality
Dynamic volatility scaling for adaptive risk
...creates a system that genuinely learns and improves over time while avoiding the curse of curve-fitting that plagues most optimization approaches.
🏗️ DEVELOPMENT NOTES
This project represents months of intensive development, facing significant technical challenges:
Challenge 1: Making Genetics Actually Work
Early versions spawned garbage strategies that polluted the gene pool:
Random gene combinations produced nonsensical parameter sets
Weak strategies survived too long, dragging down population
No clear convergence toward optimal solutions
Solution:
Comprehensive fitness scoring (4 factors: win rate, P&L, expectancy, drawdown)
Elite preservation (top 2 always protected)
Walk-forward validation (unproven strategies penalized 30%)
Tournament selection (fitness-weighted breeding)
Adaptive culling (MAS decay creates increasing selection pressure)
Challenge 2: Balancing Evolution Speed vs. Stability
Too fast = population chaos, no convergence. Too slow = can't adapt to regime changes.
Solution:
Dual-phase timing: Fast evolution during historical (30/60 bar intervals), slow during live (200/400 bar intervals)
Adaptive mutation rates: 20% historical, 8% live
Spawn/cull ratio: Always 2:1 to prevent population collapse
Challenge 3: Shadow Portfolio Accuracy
Needed realistic trade simulation without lookahead bias:
Can't peek at future bars for exits
Must track multiple portfolios simultaneously
Stop/target checks must use bar's high/low correctly
Solution:
Entry on close (realistic)
Exit checks on current bar's high/low (realistic)
Independent position tracking per strategy
Cooldown periods to prevent unrealistic rapid re-entry
ATR-normalized P&L (R-multiples) for fair comparison across volatility regimes
Challenge 4: Pine Script Compilation Limits
Hit TradingView's execution limits multiple times:
Too many array operations
Too many variables
Too complex conditional logic
Solution:
Optimized data structures (single DNA array instead of 8 separate arrays)
Minimal visual overlays (only essential plots)
Efficient fitness calculations (vectorized where possible)
Strategic use of barstate.islast to minimize dashboard updates
Challenge 5: Walk-Forward Implementation
Standard WFO is difficult in Pine Script:
Can't easily "roll forward" through historical data
Can't re-optimize strategies mid-stream
Must work in real-time streaming environment
Solution:
Age-based phase detection (first 250 bars = training, next 75 = testing)
Separate metric tracking for train vs. test
Efficiency calculation at fixed interval (after test period completes)
Validation flag persists for strategy lifetime
Challenge 6: Signal Quality Control
Early versions generated too many signals with poor win rates:
Single indicators produced excessive noise
No trend alignment
No regime awareness
Instant entries on single-bar spikes
Solution:
Three-layer confluence system (entropy + momentum + structure)
Minimum 2-of-3 agreement requirement
Trend alignment checks (penalty for counter-trend)
Regime-based probability adjustments
Persistence requirements (signals must hold multiple bars)
Volume confirmation
Quality gate (probability + confluence thresholds)
The Result
A system that:
Truly evolves (not just parameter sweeps)
Truly validates (out-of-sample testing)
Truly adapts (ongoing competition and breeding)
Stays within TradingView's platform constraints
Provides institutional-quality signals
Maintains transparency (full metrics dashboard)
Development time: 3+ months of iterative refinement
Lines of code: ~1500 (highly optimized)
Test instruments: ES, NQ, EURUSD, BTCUSD, SPY, AAPL
Test timeframes: 5min, 15min, 1H, Daily
🎯 FINAL WORDS
The Adaptive Genesis Engine is not just another indicator - it's a living system that learns, adapts, and improves through the same principles that drive biological evolution. Every bar it observes adds to its experience. Every strategy it spawns explores new parameter combinations. Every strategy it culls removes weakness from the gene pool.
This is evolution in action on your charts.
You're not getting a static formula locked in time. You're getting a system that thinks , that competes , that survives through natural selection. The strongest strategies rise to the top. The weakest die. The gene pool improves generation after generation.
AGE doesn't claim to predict the future - it adapts to whatever the future brings. When markets shift from trending to choppy, from calm to volatile, from bullish to bearish - AGE evolves new strategies suited to the new regime.
Use it on any instrument. Any timeframe. Any market condition. AGE will adapt.
This indicator gives you the pure signal intelligence. How you choose to act on it - position sizing, risk management, execution discipline - that's your responsibility. AGE tells you when and how confident . You decide whether and how much .
Trust the process. Respect the evolution. Let Darwin work.
"In markets, as in nature, it is not the strongest strategies that survive, nor the most intelligent - but those most responsive to change."
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
— Happy Holiday's
FAIR VALUE CEDEARSFair Value CEDEARS y ETFs
Important: load together with the CEDEARdata library.
Returns the “Fair Value” of CEDEAR and CEDEAR-based ETF prices traded on ByMA, using as a reference the price of the underlying ordinary share or ETF traded on the NYSE or NASDAQ. It multiplies the NYSE/NASDAQ price by the CEDEAR or ETF conversion ratio and converts the currency to ARS or Dólar MEP using the exchange rate implied by the AL30/AL30C ratio for tickers quoted in ARS (e.g., AAPL) and AL30D/AL30C for tickers quoted in Dólar MEP (e.g., AAPLD).
If the CEDEAR or ETF quote is higher than Fair Value, it highlights the difference in red; if it is lower, it highlights it in green. If any of the markets is closed or in an auction period, it notifies the user and changes the background color.
By default, the CEDEAR or ETF quote used is the last price, but the user may choose to use the BID or OFFER instead. This allows CEDEAR and ETF buyers to compare Fair Value against the OFFER, while sellers may prefer to measure Fair Value against the BID of the local instrument.
BCBA:AAPL
BCBA:AAPLD
NASDAQ:AAPL
BCBA:SPY
BCBA:TSLA
BCBA:TSLAD
CEDEARS
ETFs
ByMA
Nexural ORB Nexural ORB - Multi-Timeframe Opening Range Breakout Indicator
Introduction
This indicator was built out of frustration. After testing dozens of ORB tools, both free and paid, I found that most of them either did too little or cluttered the chart with unnecessary information. The Opening Range Breakout is one of the oldest and most reliable intraday strategies, yet most indicators treat it as an afterthought - just a box on the chart with no context.
This is not that kind of indicator.
The Nexural Ultimate ORB tracks the Opening Range across three timeframes simultaneously, provides quality scoring to help you identify high-probability setups, detects when multiple levels align for confluence, and now includes historical ORB data so you can scroll back and review previous sessions. It does not tell you when to buy or sell. It does not promise profits. What it does is give you clean, accurate levels with the context you need to make informed decisions.
I am going to be completely transparent about what this indicator does, how it works, what it does well, and where it falls short. If you are looking for a magic solution that prints money, this is not it. If you are looking for a professional-grade tool that will become a permanent part of your charting setup, keep reading.
What Is The Opening Range Breakout
Before diving into the indicator itself, let me explain the strategy it is built around.
The Opening Range is simply the high and low price established during the first portion of the trading session. For US equities and futures, this typically begins at 9:30 AM Eastern Time. The theory behind trading the Opening Range is straightforward: the first 15, 30, or 60 minutes of trade often sets the tone for the rest of the day. Institutional traders, algorithms, and market makers are all actively positioning during this window, and the levels they establish become reference points for the remainder of the session.
When price breaks above the Opening Range High, it suggests bullish momentum and the potential for continuation higher. When price breaks below the Opening Range Low, it suggests bearish momentum and the potential for continuation lower. The strategy has been used by floor traders for decades and remains relevant today because the underlying market dynamics have not changed - the open is when the most information gets priced in, and the levels established during that period matter.
This indicator does not trade the ORB for you. It identifies the levels, tracks multiple timeframes, and provides context. The actual trading decisions are yours.
How The Opening Range Is Calculated
The indicator calculates the Opening Range for three timeframes:
The 15-Minute ORB captures the high and low from 9:30 AM to 9:45 AM. This is the shortest timeframe and typically produces the tightest range. Breakouts from the 15-minute ORB tend to occur earliest in the session and can provide early directional signals, though they are also more prone to false breakouts due to the narrow range.
The 30-Minute ORB captures the high and low from 9:30 AM to 10:00 AM. This is considered by many institutional traders to be the most significant timeframe. The 30-minute window allows enough time for the initial volatility to settle while still capturing the core opening activity. Many professional trading desks reference the 30-minute ORB as their primary intraday framework.
The 60-Minute ORB captures the high and low from 9:30 AM to 10:30 AM. This is the widest range and produces fewer signals, but those signals tend to be more reliable. The 60-minute ORB is particularly useful on high-volatility days when the 15 and 30-minute ranges get quickly violated.
The calculation itself is simple. As each bar completes during the opening period, the indicator compares the current high and low to the stored values and updates them if new extremes are reached. Once the timeframe completes, the levels lock in and do not change for the rest of the session.
I want to be absolutely clear about one thing: there is no repainting. The ORB levels are calculated in real-time as the opening period develops. Once a timeframe completes, those levels are final. You will not look back at your chart and see different levels than what appeared in real-time. This is critically important for any indicator you use for actual trading decisions.
Visual Hierarchy and Line Styles
One of the main problems with multi-timeframe indicators is visual clutter. When you have six lines on the chart representing three different ORBs, it becomes difficult to quickly identify which level belongs to which timeframe.
This indicator solves that problem through a clear visual hierarchy. Each timeframe has its own color, line width, and line style, all of which are fully customizable.
By default, the 15-Minute ORB uses solid lines with the heaviest weight. This makes it the most prominent on the chart because it is typically the first level to be tested and often the most actively traded.
The 30-Minute ORB uses dashed lines with a medium weight. This keeps it visible but clearly secondary to the 15-minute levels.
The 60-Minute ORB uses dotted lines with a medium weight. This places it in the background as a reference level rather than an active trading zone.
You can change any of these settings. If you prefer to trade the 30-minute ORB exclusively, you can make it solid and bold while keeping the others subtle. If you only want to see the 60-minute ORB, you can disable the other two entirely. The flexibility is there because every trader has different preferences.
The dashboard in the top right corner of the chart displays the corresponding line style next to each timeframe, so you always know which line on the chart matches which row in the dashboard.
The Quality Scoring System
Not every Opening Range is worth trading. Some days produce tight, clean ranges with strong follow-through. Other days produce wide, choppy ranges that lead to multiple false breakouts. One of the most valuable features of this indicator is the Quality Score, which grades each session from A-plus down to C.
The Quality Score is calculated based on several factors:
Range Size is the most important factor. The indicator compares the current ORB range to the average daily range over the past 20 sessions. A tight range, defined as less than 40 percent of the average daily range, receives the highest score. The logic here is simple: tight ranges indicate consolidation, and consolidation often precedes expansion. When the ORB is tight, a breakout has more room to run.
A normal range, between 40 and 80 percent of the average daily range, receives a moderate score. These are typical trading days without any particular edge from a range perspective.
A wide range, greater than 80 percent of the average daily range, receives the lowest score. When the ORB is already wide, much of the day's move may have already occurred during the opening period, leaving less opportunity for breakout continuation.
Volume is the second factor. Above-average volume during the opening period indicates genuine institutional participation. The indicator compares the current volume to the 20-bar average. Significantly elevated volume adds to the quality score, while below-average volume does not penalize the score but does not help it either.
Day of Week matters more than most traders realize. Statistical studies of market behavior consistently show that Tuesday, Wednesday, and Thursday produce cleaner trending days than Monday or Friday. Monday mornings often see erratic price action as the market digests weekend news and repositions. Friday afternoons often see reduced participation as traders close out positions before the weekend. The quality score reflects these tendencies by adding points for mid-week sessions and subtracting points for Monday mornings and Friday afternoons.
Overnight Activity is relevant primarily for futures traders. If the overnight session produced a significant range, defined as greater than half of the average true range, it suggests that institutions were active during the overnight hours. This often leads to more directional behavior during the regular session.
The quality score is displayed in the dashboard as a letter grade. A-plus indicates excellent conditions across multiple factors. A indicates good conditions. B indicates average conditions. C indicates below-average conditions that warrant caution.
I want to be honest about the limitations of this system. The quality score is a guideline, not a guarantee. A C-rated day can still produce a profitable breakout. An A-plus day can still result in a failed breakout that reverses. The score helps you calibrate your expectations and position sizing, but it does not predict the future.
Confluence Detection
Confluence occurs when multiple significant price levels cluster together within a tight range. When the 15-minute ORB high aligns with the overnight high, or when the ORB low sits right at the session opening price, you have confluence. These zones tend to produce stronger reactions because multiple types of traders are watching the same level.
The indicator automatically detects confluence using a tolerance-based system. By default, the tolerance is set to 0.15 percent of price. This means that if two levels are within 0.15 percent of each other, they are considered confluent.
The levels that are checked for confluence include the Session Opening Price, which is the exact price at 9:30 AM. This level matters because it represents the point where the market transitioned from overnight to regular session trading. Many traders reference the opening print throughout the day.
The Overnight High and Low are also checked. For futures markets, this includes all trading from 6:00 PM the previous evening through 9:29 AM. For stocks, this includes extended hours trading. These levels represent the extremes established before the regular session began.
Finally, the indicator checks whether the ORB levels from different timeframes align with each other. When the 15-minute high matches the 30-minute high, that level gains additional significance.
When confluence is detected, two things happen on the chart. First, the affected ORB line changes color to gold, making it visually obvious that this level has additional significance. Second, the dashboard displays a Confluence row at the bottom, alerting you to the condition.
The Confluence label also appears directly on the chart, positioned within the ORB zone so you can immediately see where the confluence exists.
Smart Label System
A common problem with indicators that display multiple price levels is label overlap. When you have six ORB levels plus auxiliary levels like the session open and overnight high and low, the right side of the chart can become a cluttered mess of overlapping text.
This indicator solves that problem with a smart labeling system that combines matching levels. If the 15-minute low, 30-minute low, and 60-minute low are all at the same price, instead of displaying three separate labels, the indicator displays a single label that reads 15L/30L/60L followed by the price.
The system uses a tolerance of 2 percent of the ORB range to determine whether levels are close enough to combine. This keeps the labels clean while still displaying separate labels when levels are meaningfully different.
The labels are positioned to the right of the current price action, extending beyond the last bar so they remain visible as new bars form. Each label includes the level identifier and the exact price value.
Historical ORB Display
This feature addresses one of the most common limitations of ORB indicators: the inability to see previous sessions when scrolling back through your chart.
With the history feature enabled, the indicator stores ORB data for up to 20 previous sessions. When you scroll back in time, you will see the ORB levels for each historical session, drawn from the session start to the session end.
Historical ORBs are displayed with slightly faded colors, using 50 percent transparency compared to the current session. This creates a clear visual distinction between current and historical levels while still allowing you to analyze past price action relative to those levels.
The history depth is configurable. You can set it anywhere from 1 to 20 days depending on your needs. If you primarily care about the current session and the previous day for context, set it to 1 or 2. If you want to analyze an entire week or more of ORB behavior, increase the setting.
You can also disable the history feature entirely by enabling Current Session Only mode. This returns the indicator to showing only the active session, which some traders prefer for a cleaner chart during live trading.
Breakout Detection and Filters
The indicator marks breakouts with triangle signals. A green triangle below the bar indicates a bullish breakout above the ORB high. A red triangle above the bar indicates a bearish breakout below the ORB low.
However, not every crossing of an ORB level represents a valid breakout worth acting on. The indicator includes several filters to reduce false signals.
The Volume Filter requires that volume on the breakout bar be at least 1.2 times the 20-bar average volume. You can adjust this multiplier in the settings. The logic is straightforward: breakouts on weak volume are more likely to fail. A genuine breakout that is going to follow through should be accompanied by above-average participation.
The Time Filter prevents breakout signals after a specified hour. The default is 2:00 PM Eastern. The rationale is that late-session breakouts often lack follow-through because there is not enough trading time remaining for the move to develop. You can adjust or disable this filter based on your trading style.
The Single Trigger mechanism ensures that each breakout fires exactly once per session. If price crosses above the ORB high, you will see one bullish signal on the bar where the crossing occurred. If price subsequently pulls back and crosses above again, you will not see a second signal. This prevents signal spam and keeps your chart clean.
The indicator also includes Reclaim Detection. If price breaks out and then returns back inside the ORB zone, you will see a warning signal marked with an X. This condition often indicates a failed breakout and potential reversal. It is not a trade signal, but rather information that the breakout you just witnessed may not be valid.
Range Extensions
Once the ORB is established, many traders look for profit targets based on the range itself. The indicator includes extension levels that project multiples of the ORB range above and below the extremes.
By default, two extension levels are shown: 1.0 times the range and 1.5 times the range. If the 15-minute ORB is 50 points, the 1.0 extension above the high would be 50 points above the high, and the 1.5 extension would be 75 points above the high.
These extensions serve as potential profit targets for breakout trades. The 1.0 extension represents a measured move equal to the ORB itself. The 1.5 extension represents a slightly more ambitious target.
You can adjust the extension multipliers in the settings. Some traders prefer 0.5 and 1.0. Others prefer 1.0 and 2.0. The flexibility is there to match your trading approach.
The extension lines are displayed as faint dotted lines so they do not compete visually with the ORB levels themselves. The labels show the multiplier value along with the exact price.
## The Midline
The 50 percent level of the ORB, known as the midline, is displayed as a dashed line within the ORB zone. This level matters because it often acts as short-term support or resistance during consolidation periods within the range.
When price is trading inside the ORB and approaches the midline, you may see a reaction. The midline can also serve as a reference for whether price is showing strength or weakness within the range. If price is spending most of its time above the midline, that suggests a bullish bias even before a breakout occurs. If price is spending most of its time below the midline, that suggests a bearish bias.
The midline can be disabled in the settings if you prefer a cleaner chart.
The Dashboard
The dashboard is positioned in the top right corner of the chart and provides all relevant ORB information at a glance.
The header row displays the indicator name, the current Quality Score grade, the Range Classification, and the Session Status.
The Range Classification shows whether the current 15-minute ORB is Tight, Normal, or Wide compared to the 20-day average. This gives you immediate context about whether the range is unusual in either direction.
The Session Status shows whether the market is currently in session or closed. A green Live indicator means the session is active. A red Closed indicator means the session has ended.
Below the header, each timeframe row displays the following information:
The Timeframe column shows 15m, 30m, or 60m along with a visual indicator of the line style you have selected for that timeframe.
The High column displays the ORB high price for that timeframe.
The Low column displays the ORB low price for that timeframe.
The Range column displays the distance between high and low.
The Status column shows the current state. Before the ORB completes, this shows a countdown of minutes remaining. After completion, it shows whether the price has broken out bullish, broken out bearish, or remains in range.
Below the timeframe rows, the Distance row shows how far the current price is from the nearest ORB level. This helps you gauge whether price is approaching a potential breakout zone.
If confluence is detected, a highlighted row appears at the bottom of the dashboard indicating that significant level alignment exists.
Supported Markets and Sessions
The indicator supports multiple market types with appropriate session times:
US Stocks use a session from 9:30 AM to 4:00 PM Eastern.
US Futures use a session from 9:30 AM to 4:00 PM Eastern, with overnight tracking from 6:00 PM the previous evening.
Forex uses a 24-hour session since the market trades continuously.
Crypto uses a 24-hour session since the market trades continuously.
Custom allows you to define your own session times for markets not covered by the presets.
The timezone is configurable. The default is America/New_York, but you can change it to Chicago, Los Angeles, London, Tokyo, or UTC depending on your location and preference.
Settings Overview
The settings are organized into logical groups:
General settings include the market type, current session only toggle, and history days.
Session settings include custom session times and timezone selection.
ORB Timeframes settings include individual toggles for showing or hiding each timeframe, color selection, line width, and line style. This is where you customize the visual appearance of each ORB level.
Quality Scoring settings include the ATR period and range comparison lookback. These affect how the quality score is calculated.
Confluence Detection settings include the tolerance percentage and toggles for the session open and overnight high and low levels.
Breakout Settings include the volume filter toggle and multiplier, time filter toggle and cutoff hour, and reclaim detection toggle.
Visuals settings include toggles for the fill zone, labels, dashboard, distance display, and midline.
Extensions settings include toggles for showing extensions and the multiplier values for each extension level.
How I Use This Indicator
I will share my personal approach, though you should adapt it to your own style.
First, I wait for the ORB to complete. I do not trade during the first 15 to 30 minutes of the session. The levels are still forming, and the price action during this window is often erratic. I let the dust settle and the range establish itself.
Second, I check the Quality Score. If it is an A or A-plus day with a tight range and good volume, I am more aggressive. If it is a C day with a wide range on a Friday afternoon, I am either sitting on my hands or trading with reduced size.
Third, I look for confluence. If the 15-minute high is sitting right at the overnight high, that level has additional significance. Breakouts through confluence zones tend to be more decisive.
Fourth, I confirm with volume. Even though the indicator filters for volume, I still glance at the volume bars. I want to see that breakout candle have conviction.
Fifth, I manage expectations based on range type. If the ORB is tight, I expect an explosive move and give the trade room to develop. If the ORB is wide, I expect choppier action and tighten my parameters.
Sixth, I use the distance reading. If price is already 50 points beyond the ORB high and the range was only 40 points, I have missed the move. Chasing extended price is not smart trading.
Honest Pros and Cons
What this indicator does well:
It provides clean, accurate ORB levels that do not repaint. This is the foundation, and it is done correctly.
It offers multi-timeframe tracking with clear visual differentiation. You can see all three ORBs at once without confusion.
The quality scoring system helps you avoid low-probability setups. It is not perfect, but it adds valuable context.
The confluence detection highlights significant level alignment automatically. This saves you from manually checking multiple levels.
The smart label system prevents visual clutter. Labels combine when appropriate and remain readable.
The historical ORB display allows you to scroll back and review previous sessions. This is valuable for analysis and pattern recognition.
The customization is extensive. Every visual element can be adjusted to match your preferences.
It works across stocks, futures, forex, and crypto with appropriate session handling.
What this indicator does not do:
It does not give you buy and sell signals with entries and exits. This is a levels and analysis tool, not a trading system.
It does not include backtesting or performance tracking. You need a separate strategy tester for that.
It does not guarantee that breakouts will follow through. The filters help, but failed breakouts still occur.
The quality score is a guideline, not a prediction. Low-quality days can still produce good trades. High-quality days can still produce losing trades.
The confluence detection is proximity-based. It identifies when levels are near each other but does not know if those levels are actually significant to other traders.
Technical limitations to be aware of:
On chart timeframes larger than 15 minutes, the ORB calculation becomes less precise because you have fewer bars in the opening period. This indicator works best on 1 to 15 minute charts.
The overnight high and low tracking works best on futures. Stocks do not have true overnight sessions in the same way.
If your chart does not have volume data, the volume filter will not function properly.
Risk Management
This section is not about the indicator. It is about trading.
No indicator, no matter how well designed, can protect you from poor risk management. Before you trade any ORB breakout, you need to define your risk.
Where is your stop? A common approach is to place the stop on the opposite side of the ORB zone. If you are taking a bullish breakout above the high, your stop goes below the low. This means your risk is the full ORB range plus any slippage.
Is that risk acceptable? If the ORB range is 100 points and you are trading a 50 dollar per point contract, your risk is 5000 dollars plus commissions. Can you afford that loss? If not, either reduce your size or skip the trade.
Where is your target? The extensions provide potential targets, but you need to decide in advance where you will take profits. Hoping for an unlimited run while watching your profits evaporate is not a strategy.
What is your win rate? ORB breakouts do not work every time. Depending on the market and conditions, you might win 50 to 60 percent of the time. That means you will have losing trades. Are you prepared for a string of three or four losers in a row? It will happen.
None of this is specific to this indicator. It applies to all trading. But I include it here because I see too many traders focus on the indicator while ignoring the fundamentals of risk management. The indicator can help you identify setups. It cannot manage your risk for you.
Final Thoughts
I built this indicator for my own trading, then refined it to the point where I felt comfortable sharing it. It is not a holy grail. It will not make you profitable if you do not already have a trading process. What it will do is give you clean, accurate ORB levels with context that most indicators do not provide.
The Opening Range Breakout works because institutions and algorithms reference these same levels. When the first 30 or 60 minutes of trading establishes a range, that becomes a reference point for the rest of the session. This indicator makes those levels visible and adds intelligence around when they are worth paying attention to.
Use it as a tool, not a crutch. Combine it with your own analysis. Manage your risk properly. And please, do not trade with money you cannot afford to lose.
If you have questions or feedback, I am actively maintaining this indicator and will consider feature requests for future updates.
Trade well.
Tags
ORB, Opening Range Breakout, Intraday, Day Trading, Futures, Stocks, Multi-Timeframe, Breakout, Support Resistance, Session, NQ, ES, SPY, QQQ, Opening Range, Institutional Levels
Recommended Timeframes
This indicator works best on 1-minute, 2-minute, 3-minute, 5-minute, 10-minute, and 15-minute charts. It can be used on higher timeframes, but the ORB calculation becomes less precise.
Recommended Markets
US Stock Indices and Futures including ES, NQ, YM, RTY, SPY, QQQ, DIA, IWM. Individual stocks with sufficient liquidity. Forex major pairs. Cryptocurrency with defined trading sessions.






















