Higher High Lower Low OscillatorWith this oscillator you can see how higher and lows are developing against each other
Search in scripts for "oscillator"
Directional Movement Oscillator by KIVANÇ fr3762Directional Movement Oscillator is simply the difference of Di+ and Di- which helps traders to see the crosses of BUY/SELL signals more effectively.
Di+ crosses above Di- when indicator crosses above 0 which can be considered as a BUY signal.
and conversely Di+ crosses below Di- when indicator crosses below 0 which can be considered as a SELL signal.
Additionally I put a second (OPTIONAL) line (Signal line) which is a 8 bar SMA ( Simple Moving Average ) of DMOSC to confirm signals for further assistance.
Users can add the second optional line (Signal Line) by checking the box : Show SMA line? on the INPUTS section of the indicator SETTINGS menu.
Recursive Median OscillatorRecursive Median Oscillator indicator script.
This indicator was originally developed by John F. Ehlers (Stocks & Commodities V. 36:03 (8–11): Recursive Median Filters).
CG Oscillator (Center of Gravity)CG Oscillator indicator script. This indicator was originally developed by John Ehlers.
Pretty Good OscillatorPretty Good Oscillator indicator script. This indicator was originally developed by Mark Johnson.
Chaikin Oscillator w/ crossovers [seiglerj]Added background shading to system Chaikin Oscillator to show crossovers more easily.
Chaikin Oscillator w/ crossover arrows [seiglerj]I added crossover arrows to the system Chaikin Oscillator to make crossovers easier to see
The Pivot Detector Oscillator Backtest The Pivot Detector Oscillator, by Giorgos E. Siligardos
The related article is copyrighted material from Stocks & Commodities 2009 Sep
You can change long to short in the Input Settings
WARNING:
- For purpose educate only
- This script to change bars colors.
The Pivot Detector Oscillator Strategy The Pivot Detector Oscillator, by Giorgos E. Siligardos
The related article is copyrighted material from Stocks & Commodities 2009 Sep
WARNING:
- This script to change bars colors.
WaveTrend Oscillator [Krypt]This is similar to regular WaveTrend Oscillator except:
- replaces hlc3 input with a weighted log formula for better stability/performance on high volatility charts
- zero-centered scaling
- SMA crossovers above and below OB/OS thresholds are marked as buy/sell signals
Money Flow Indicator (Chaikin Oscillator) Strategy Indicator plots Money Flow Indicator (Chaikin). This indicator looks
to improve on Larry William's Accumulation Distribution formula that
compared the closing price with the opening price. In the early 1970's,
opening prices for stocks stopped being transmitted by the exchanges.
This made it difficult to calculate Williams' formula. The Chaikin
Oscillator uses the average price of the bar calculated as follows
(High + Low) /2 instead of the Open.
The indicator subtracts a 10 period exponential moving average of the
AccumDist function from a 3 period exponential moving average of the
AccumDist function.
WARNING:
This script to change bars colors.
Elliot Wave OscillatorEWO Indicator, helps to indentify waves
Similar like LazyBear's Indicator: ElliotWave Oscillator
I extended and changed the following:
Allow custom SMA interval default 5 and 35. Dont use EMAs
Choose input source: default close, f.e. use HL2
Show difference of SMAs in percent based on current candle default "true", this is very useful for historical charts
High & Low Oscillator 13x8 CrossOscillator for various uses, divergence versus price action and "0" crossing of trend/move change among others. Use with caution
LBR OscillatorOscillator used by Linda Bradford Raschke.
Basicly it's a MACD with 3/10/16 settings but without the histogram (difference between fast and slow line), instead the shown histogram is based on the fastline (green bars = fastline above zero). The color of the lines will tell you if the line is falling (red) or rising (green).
In terms of setups dont just buy or sell if a line is changing its color. Look for divergences or setups like first cross or anti.
Adaptive Z-Score Oscillator [QuantAlgo]🟢 Overview
The Adaptive Z-Score Oscillator transforms price action into statistical significance measurements by calculating how many standard deviations the current price deviates from its moving average baseline, then dynamically adjusting threshold levels based on historical distribution patterns. Unlike traditional oscillators that rely on fixed overbought/oversold levels, this indicator employs percentile-based adaptive thresholds that automatically calibrate to changing market volatility regimes and statistical characteristics. By offering both adaptive and fixed threshold modes alongside multiple moving average types and customizable smoothing, the indicator provides traders and investors with a robust framework for identifying extreme price deviations, mean reversion opportunities, and underlying trend conditions through the visualization of price behavior within a statistical distribution context.
🟢 How It Works
The indicator begins by establishing a dynamic baseline using a user-selected moving average type applied to closing prices over the specified length period, then calculates the standard deviation to measure price dispersion:
basis = ma(close, length, maType)
stdev = ta.stdev(close, length)
The core Z-Score calculation quantifies how many standard deviations the current price sits above or below the moving average basis, creating a normalized oscillator that facilitates cross-asset and cross-timeframe comparisons:
zScore = stdev != 0 ? (close - basis) / stdev : 0
smoothedZ = ma(zScore, smooth, maType)
The adaptive threshold mechanism employs percentile calculations over a historical lookback period to determine statistically significant extreme zones. Rather than using fixed levels like ±2.0, the indicator identifies where a specified percentage of historical Z-Score readings have fallen, automatically adjusting to market regime changes:
upperThreshold = adaptive ? ta.percentile_linear_interpolation(smoothedZ, percentilePeriod, upperPercentile) : fixedUpper
lowerThreshold = adaptive ? ta.percentile_linear_interpolation(smoothedZ, percentilePeriod, lowerPercentile) : fixedLower
The visualization architecture creates a four-tier coloring system that distinguishes between extreme conditions (beyond the adaptive thresholds) and moderate conditions (between the midpoint and threshold levels), providing visual gradation of statistical significance through opacity variations and immediate recognition of distribution extremes.
🟢 How to Use This Indicator
▶ Overbought and Oversold Identification:
The indicator identifies potential overbought conditions when the smoothed Z-Score crosses above the upper threshold, indicating that price has deviated to a statistically extreme level above its mean. Conversely, oversold conditions emerge when the Z-Score crosses below the lower threshold, signaling statistically significant downward deviation. In adaptive mode (default), these thresholds automatically adjust to the asset's historical behavior, i.e., during high volatility periods, the thresholds expand to accommodate wider price swings, while during low volatility regimes, they contract to capture smaller deviations as significant. This dynamic calibration reduce false signals that plague fixed-level oscillators when market character shifts between volatile and ranging conditions.
▶ Mean Reversion Trading Applications:
The Z-Score framework excels at identifying mean reversion opportunities by highlighting when price has stretched too far from its statistical equilibrium. When the oscillator reaches extreme bearish levels (below the lower threshold with deep red coloring), it suggests price has become statistically oversold and may snap back toward the mean, presenting potential long entry opportunities for mean reversion traders. Symmetrically, extreme bullish readings (above the upper threshold with bright green coloring) indicate potential short opportunities or long exit points as price becomes statistically overbought. The moderate zones (lighter colors between midpoint and threshold) serve as early warning areas where traders can prepare for potential reversals, while exits from extreme zones (crossing back inside the thresholds) often provide confirmation that mean reversion is underway.
▶ Trend and Distribution Analysis:
Beyond discrete overbought/oversold signals, the histogram's color pattern and shape reveal the underlying trend structure and distribution characteristics. Sustained periods where the Z-Score oscillates primarily in positive territory (green bars) indicate a bullish trend where price consistently trades above its moving average baseline, even if not reaching extreme levels. Conversely, predominant negative readings (red bars) suggest bearish trend conditions. The distribution shape itself provides insight into market behavior, e.g., a narrow, centered distribution clustering near zero indicates tight ranging conditions with price respecting the mean, while a wide distribution with frequent extreme readings reveals volatile trending or choppy conditions. Asymmetric distributions skewed heavily toward one side demonstrate persistent directional bias, whereas balanced distributions suggest equilibrium between bulls and bears.
▶ Built-in Alerts:
Seven alert conditions enable automated monitoring of statistical extremes and trend transitions. Enter Overbought and Enter Oversold alerts trigger when the Z-Score crosses into extreme zones, providing early warnings of potential reversal setups. Exit Overbought and Exit Oversold alerts signal when price begins reverting from extremes, offering confirmation that mean reversion has initiated. Zero Cross Up and Zero Cross Down alerts identify transitions through the neutral line, indicating shifts between above-mean and below-mean price action that can signal trend changes. The Extreme Zone Entry alert fires on any extreme threshold penetration regardless of direction, allowing unified monitoring of both overbought and oversold opportunities.
▶ Color Customization:
Six visual themes (Classic, Aqua, Cosmic, Ember, Neon, plus Custom) accommodate different chart backgrounds and aesthetic preferences, ensuring optimal contrast and readability across trading platforms. The bar transparency control (0-90%) allows fine-tuning of visual prominence, with minimal transparency creating bold, attention-grabbing bars for primary analysis, while higher transparency values produce subtle background context when using the oscillator alongside other indicators. The extreme and moderate zone coloring system uses automatic opacity variation to create instant visual hierarchy, with darkest colors highlight the most statistically significant deviations demanding immediate attention, while lighter shades mark developing conditions that warrant monitoring but may not yet justify action. Optional candle coloring extends the Z-Score color scheme directly to the price candles on the main chart, enabling traders to instantly recognize statistical extremes and trend conditions without needing to reference the oscillator panel, creating a unified visual experience where both price action and statistical analysis share the same color language.
Market Structure Oscillator [LuxAlgo]The Market Structure Oscillator indicator analyzes and synthesizes short-term, intermediate-term, and long-term market structure shifts and breaks, visualizing the output as oscillators and graphical representations of real-time market structures on the main price chart.
The oscillator presentation of the detected market structures helps traders visualize trend momentum and strength, identifying potential trend reversals, and providing different perspectives to enhance the analysis of classic market structures.
🔶 USAGE
A market structure shift signals a potential change in market sentiment or direction, while a break of structure indicates a continuation of the current trend. Detecting these events in real-time helps traders recognize both trend changes and continuations. The market structure oscillator translates these concepts visually, offering deeper insights into market momentum and strength. It aids traders in identifying overbought or oversold conditions, potential trend reversals, and confirming trend direction.
Oscillators often generate signals based on crossing certain thresholds or diverging from price movements, providing cues for traders to enter or exit positions.
The weights determine the influence of each period (short-term, intermediate-term, long-term) on the final oscillator value. By changing the weights, traders can emphasize or de-emphasize the importance of each period. Higher weights increase their respective market structure's influence on the oscillator value. For example, if the weight for the short-term period is set to 0, the final value of the oscillator will be calculated using only the intermediate-term and long-term market structures.
The indicator features a Cycle Oscillator component, which uses the market structure oscillator values to generate a histogram and provide further insights into market cycles and potential signals. The Cycle Oscillator aids in timing by allowing traders to more easily see the median length of an oscillation around the average point, helping them identify both favorable prices and favorable moments for trading.
Users can also display detected market structures on the price chart by enabling the corresponding market structure toggle from the "Market Structures on Chart" settings group.
🔶 DETAILS
The script initiates its analysis by detecting swing levels, which form the fundamental basis for its operations. It begins by identifying short-term swing points, automatically detected solely based on market movements without any reliance on user-defined input. Short-Term Swing Highs (STH) are peaks in price surrounded by lower highs on both sides, while Short-Term Swing Lows (STL) are troughs surrounded by higher lows.
To identify intermediate-term and long-term swing points, the script uses previously detected short-term swing points as reference points. It examines these points to determine intermediate-term swings and further analyzes intermediate-term swings to identify long-term swing points. This method ensures a thorough and unbiased evaluation of market dynamics, providing traders with reliable insights into market structures.
Once swing levels are detected, the process continues with the analysis of Market Structure Shifts (MSS) and Breaks of Structure (BoS). A Market Structure Shift, also known as a Change of Character (CHoCH), is a critical event in price action analysis that suggests a potential shift in market sentiment or direction. It occurs when the price reverses from an established trend, indicating that the current trend may be losing momentum and a reversal could be imminent.
On the other hand, a Break of Structure signifies the continuation of the existing market trend. This event occurs when the price decisively moves beyond a previous swing high or low, confirming the strength and persistence of the prevailing trend.
The indicator analyzes price patterns using a pure price action approach and identifies market structures for short-term, intermediate-term, and long-term periods. The collected data is then normalized and combined using specified weights to calculate the final Market Structure Oscillator value.
🔶 SETTINGS
The indicator incorporates user-defined settings, allowing users to tailor it according to their preferences and trading strategies.
🔹 Market Structure Oscillator
Market Structure Oscillator: Toggles the visibility of the market structures oscillator.
Short Term Weight: Defines the weight for the short-term market structure.
Intermediate Term Weight: Defines the weight for the intermediate-term market structure.
Long Term Weight: Defines the weight for the long-term market structure.
Oscillator Smoothing: Determines the smoothing factor for the oscillator.
Gradient Colors: Allows customization of bullish and bearish gradient colors.
Market Structure Oscillator Crosses: Provides signals based on market structure oscillator equilibrium level crosses.
🔹 Cycle Oscillator
Cycle Oscillator - Histogram: Toggles the visibility of the cycle oscillator.
Cycle Signal Length: Defines the length of the cycle signal.
Cycle Oscillator Crosses: Provides signals based on cycle oscillator crosses.
🔹 Market Structures on Chart
Market Structures: Allows plotting of market structures (short, intermediate, and long term) on the chart.
Line, Label, and Color: Options to display lines and labels for different market structures with customizable colors.
🔹 Oscillator Components
Oscillators: Separately plots short-term, intermediate-term, and long-term oscillators. Provides options to display these oscillators with customizable colors.
🔶 RELATED SCRIPTS
Market-Structures-(Intrabar)
TASC 2025.06 Cybernetic Oscillator█ OVERVIEW
This script implements the Cybernetic Oscillator introduced by John F. Ehlers in his article "The Cybernetic Oscillator For More Flexibility, Making A Better Oscillator" from the June 2025 edition of the TASC Traders' Tips . It cascades two-pole highpass and lowpass filters, then scales the result by its root mean square (RMS) to create a flexible normalized oscillator that responds to a customizable frequency range for different trading styles.
█ CONCEPTS
Oscillators are indicators widely used by technical traders. These indicators swing above and below a center value, emphasizing cyclic movements within a frequency range. In his article, Ehlers explains that all oscillators share a common characteristic: their calculations involve computing differences . The reliance on differences is what causes these indicators to oscillate about a central point.
The difference between two data points in a series acts as a highpass filter — it allows high frequencies (short wavelengths) to pass through while significantly attenuating low frequencies (long wavelengths). Ehlers demonstrates that a simple difference calculation attenuates lower-frequency cycles at a rate of 6 dB per octave. However, the difference also significantly amplifies cycles near the shortest observable wavelength, making the result appear noisier than the original series. To mitigate the effects of noise in a differenced series, oscillators typically smooth the series with a lowpass filter, such as a moving average.
Ehlers highlights an underlying issue with smoothing differenced data to create oscillators. He postulates that market data statistically follows a pink spectrum , where the amplitudes of cyclic components in the data are approximately directly proportional to the underlying periods. Specifically, he suggests that cyclic amplitude increases by 6 dB per octave of wavelength.
Because some conventional oscillators, such as RSI, use differencing calculations that attenuate cycles by only 6 dB per octave, and market cycles increase in amplitude by 6 dB per octave, such calculations do not have a tangible net effect on larger wavelengths in the analyzed data. The influence of larger wavelengths can be especially problematic when using these oscillators for mean reversion or swing signals. For instance, an expected reversion to the mean might be erroneous because oscillator's mean might significantly deviate from its center over time.
To address the issues with conventional oscillator responses, Ehlers created a new indicator dubbed the Cybernetic Oscillator. It uses a simple combination of highpass and lowpass filters to emphasize a specific range of frequencies in the market data, then normalizes the result based on RMS. The process is as follows:
Apply a two-pole highpass filter to the data. This filter's critical period defines the longest wavelength in the oscillator's passband.
Apply a two-pole SuperSmoother (lowpass filter) to the highpass-filtered data. This filter's critical period defines the shortest wavelength in the passband.
Scale the resulting waveform by its RMS. If the filtered waveform follows a normal distribution, the scaled result represents amplitude in standard deviations.
The oscillator's two-pole filters attenuate cycles outside the desired frequency range by 12 dB per octave. This rate outweighs the apparent rate of amplitude increase for successively longer market cycles (6 dB per octave). Therefore, the Cybernetic Oscillator provides a more robust isolation of cyclic content than conventional oscillators. Best of all, traders can set the periods of the highpass and lowpass filters separately, enabling fine-tuning of the frequency range for different trading styles.
█ USAGE
The "Highpass period" input in the "Settings/Inputs" tab specifies the longest wavelength in the oscillator's passband, and the "Lowpass period" input defines the shortest wavelength. The oscillator becomes more responsive to rapid movements with a smaller lowpass period. Conversely, it becomes more sensitive to trends with a larger highpass period. Ehlers recommends setting the smallest period to a value above 8 to avoid aliasing. The highpass period must not be smaller than the lowpass period. Otherwise, it causes a runtime error.
The "RMS length" input determines the number of bars in the RMS calculation that the indicator uses to normalize the filtered result.
This indicator also features two distinct display styles, which users can toggle with the "Display style" input. With the "Trend" style enabled, the indicator plots the oscillator with one of two colors based on whether its value is above or below zero. With the "Threshold" style enabled, it plots the oscillator as a gray line and highlights overbought and oversold areas based on the user-specified threshold.
Below, we show two instances of the script with different settings on an equities chart. The first uses the "Threshold" style with default settings to pass cycles between 20 and 30 bars for mean reversion signals. The second uses a larger highpass period of 250 bars and the "Trend" style to visualize trends based on cycles spanning less than one year:
All TimeFrame OscillatorsI have always fighted to understand the market direction because it looks different on different timeframes.
I wanted an indicator where I can see all the different timeframes at once.
This indicator shows already existing oscillators but not only in the current chart's timeframe, but all the most important higer timeframes at once.
I have started with the stoch, then added as many oscillators as I could.
Experimenting with this I have saw that confluence of 4H 1D and 1W Stoch can be very interesting and can highlight higher timeframe take profit areas and sometimes major tops/bottoms.
Also bounces can be interesting when a lower timeframe stoch is bounced or rejected from a higher one.
Oscillators:
Stoch - Stochastic Oscillator
SMI - Stochastic Momentum Index
Rsi - Relative Strength Index
StochRsi - Stochastic RSI
WaveTrend - Vumanchu alias Market Cypher Wave Trend line
CCI - Commodity Channel Index
CCIStoch - Stochastic CCI
Williams Percent Range - Williams %R
Norm. MACD - Normalized Moving Average Convergence Divergence
Norm. MACD Hist - Normalized MACD Histogramm
PVT - Normalized Price Volume Trend
MFI - Money Flow Index
CMF - Chaikin Money Flow
Chande Momentum - Chande Momentum
Volume - Normalized Volume
CandleValue - Vumanchu alias Market Cypher MoneyFlow
BBWP - Bollinger Band Width Percentile
Line Type
Smooth: lines are smoothed, but the actualy not closed values are not shown
Step: Step lines, the actually open timeframes are calculated as they closed at the current values
Plot Oscillator or it's Slope:
its possible to not plot the oscillator but it's slope
Print dots when:
Cross Up/Down oversold/overbougt level - best for most oscillators. for example when Stoch crosses above 20 or below 80
Cross os/ob and the one higher TF is about to cross - when it's crosses beolw 80 and the higher timeframe oscillator is still above ans sloping down
Cross above/below middle line - for example on RSI being above or below 50 can be interesting
Print triangles when:
All Slope Match - all visible timeframe lines are pointing up or down at the same time
All above/belove middle line - all visible lines are above or belove the middle line
All above/belove middle line and slope match - like the previous one and the slope direction is the same
All above/below oversold/overbougt - all lines are above or below os/ ob. this is the default. it can be a very important confluence
Lower TF in order - 5, 15, 30, 60 minute timeframes are in order.
Higher TF in order - 4H 1D 1W in order (like 4H above 1D abd 1D above 1W). can be interesting at RSI
4H-1D in order - 4H 1D in order .
Print triangles
Print all triangles - print all triangles when the condition is met
Print only first triangles - only show when the condition starts to met
Print only last triangles - small triangles when the condition met first, large when last. tis is the default.
Timeframes to show:
You can turn on/off different timeframs to show or not from the list below:
1m 5m 15m 30m 1H 4H D 5D W M
This is for experimenting/ understanding the market direction on multiple timeframes at once.
Don't take it's signals (and any other indicator's) as exact trade signals. use it as confirmation instead.
Any comments, insights, ideas are welcome.
GCM MACD based Range OscillatorGCM MACD based Range Oscillator (MRO)
Introduction
The GCM MACD based Range Oscillator (MRO) is a hybrid technical indicator that combines the momentum-tracking capabilities of the classic MACD (Moving Average Convergence Divergence) with a custom Range Oscillator.
The core problem this script solves is normalization. Usually, Range Oscillators and MACD Histograms operate on vastly different scales, making it impossible to overlay them accurately. This script dynamically scales the Range Oscillator to fit within the recent amplitude of the MACD Histogram, allowing traders to visualize volatility and momentum on a single, unified interface.
How It Works (The Math)
1. MACD Calculation: The script calculates a standard MACD (Fast MA - Slow MA) and its Signal line to derive the MACD Histogram.
2. Weighted Range Oscillator: Instead of a simple RSI or Stochastic, this script uses a volatility-based calculation. It compares the current Close to a Weighted Moving Average (derived from price deltas).
3. Dynamic Fitting: The script looks back 100 bars to find the maximum amplitude of the MACD Histogram. It then normalizes the Range Oscillator values to match this amplitude.
4. Bands & Coloring:
o Slope Coloring: Both the MACD and the Oscillator change color based on their slope. Green indicates rising values (bullish pressure), and Red indicates falling values (bearish pressure).
o Fixed Bands: Horizontal bands are placed at +0.75 and -0.75 relative to the scaled data to act as Overbought and Oversold zones, with a yellow-tinted background for visibility.
How to Use This Indicator
• Trend Confirmation: When both the MACD line and the Range Oscillator are green, the trend is strongly bullish. When both are red, the trend is bearish.
• Contraction & Expansion: The yellow zone (between -0.75 and +0.75) represents the "equilibrium" or ranging area. Breakouts above the Upper Band (+0.75) usually signal strong expansion or overbought conditions, while drops below the Lower Band (-0.75) signal oversold conditions.
• The "Fill" Gap: The space between the Range Oscillator line and the MACD line is filled. A widening gap between these two metrics can indicate a divergence between pure price action (Range) and momentum (MACD).
• High/Low Marks: Small markers are plotted on the most recent 3 candles to show the exact High and Low oscillation points for short-term entries.
Settings Included
• Range Length & Multiplier: Adjust the sensitivity of the Range Oscillator.
• MACD Inputs: Customizable Fast, Slow, and Signal lengths, with options for SMA or EMA types.
• Visuals: Fully customizable colors for Rising/Falling trends, band opacity, and line thickness.
How this follows House Rules
1. Originality:
o Rule: You cannot simply upload a generic MACD.
o Compliance: This is not a standard MACD. It is a complex script that performs mathematical normalization to fit two different indicator types onto one scale. The "Dynamic Fitting" logic makes it unique.
2. Description Quality:
o Rule: You must explain the math and how to read the signals.
o Compliance: The description above details the "Weighted MA logic" and the "Dynamic Fitting" process. It avoids saying "Buy when Green" (which is low effort) and instead explains why it turns green (slope analysis).
3. Visuals:
o Rule: Plots must be clear and not cluttered.
o Compliance: The script uses overlay=false (separate pane). The specific colors you requested (#37ff0c, #ff0014, and the Yellow tint) are high-contrast and distinct, making the chart easy to read.
4. No "Holy Grail" Claims:
o Rule: Do not promise guaranteed profits.
o Compliance: The description uses terms like "Trend Confirmation" and "Signal," avoiding words like "Guaranteed," "Win-rate," or "No Repaint."






















