Indicators: KaseCD & Kase Peak OscillatorI have included ports of 2 indicators from MT4 (not from the original commercial source). I couldn't cross check if these matched their commercial equivalents (you need to assume they don't!). If you own any of these in other platforms, appreciate if you could publish some comparison results here.
Kase Peak Oscillator is the difference between two trend measurements, one for rising markets and the other for falling markets. KCD is the PeakOsc minus its own average. So, KPO takes the place of a traditional oscillator and the KCD takes place of the traditional MACD.
Ms.Kase claims KCD is far more accurate than MACD.
More info:
- www.kaseco.com
- beathespread.com
Let me know if you have experience with the original indicators and are willing to help improve these clones. Thanks.
Search in scripts for "oscillator"
Pi Cycle OscillatorThis oscillator combines the Pi Cycle Top indicator with a percentile-based approach to create a more precise and easy to read market timing tool.
Instead of waiting for moving average crossovers, it shows you exactly how close you are to a potential market top.
Orange background means you should start preparing for a potential top and look into taking profits.
Red background means that the crossover has happened on the original Pi Cycle Indicator and that you should have already sold everything. (Crossover of the gray line aka 100)
Thank you
Bollinger Band Width Percentile - The_Caretaker
Pi Cycle Top - megasyl20
Trendlines Oscillator [LuxAlgo]The Trendlines Oscillator helps traders identify trends and momentum based on the normalized distances between the current price and the most recently detected bullish and bearish trend lines.
The indicator features bullish and bearish momentum, a signal line with crossings, and multiple smoothing options.
🔶 USAGE
The indicator displays three lines: two for momentum and one for the signal. When one of the momentum lines (bullish or bearish) crosses the signal line, the tool displays a dot to indicate which momentum is gaining strength.
As a general rule, when the green bullish momentum line is above the red bearish momentum line, it indicates buyer strength. This means that the actual prices are farther from the support trend lines than the resistance trend lines. The opposite is true for seller strength.
To calculate bullish momentum, the tool first identifies bullish trend lines acting as support below the price. Then, it measures the delta between the price and those trend lines and normalizes the reading into the displayed momentum values.
The same process is used for bearish momentum, but with bearish trendlines acting as resistance above the price.
🔹 Length & Memory
Modifying the Length and Memory values will cause the tool to display different momentum values.
Traders can adjust the length to detect larger trendlines and adjust the memory to indicate how many trendlines the tool should consider.
As the chart above shows, smaller values make the tool more responsive, while larger values are useful for detecting larger trends.
🔹 Smoothing
By default, the data is not smoothed, and the signal uses a triangular moving average with a length of 10. Traders can smooth both the data and the signal line.
Traders can choose from up to ten different methods, or none. Some examples are shown on the chart above.
🔶 DETAILS
The steps for the calculations are as follows:
1. Gather the pivots, highs, and lows.
ph = fixnan(ta.pivothigh(lengthInput, lengthInput))
pl = fixnan(ta.pivotlow(lengthInput, lengthInput))
2. Calculate the slope and y-intercept for each trendline between contiguous lower highs (resistance) or higher lows (support).
if ph < ph
slope = (ph - ph )/(n-lengthInput - phx1)
res.unshift(l.new(ph - slope * phx1, slope))
if pl > pl
slope = (pl - pl )/(n-lengthInput - plx1)
sup.unshift(l.new(pl - slope * plx1, slope))
3. Calculate the value of each trendline on the current bar, then calculate the difference with the current price (delta). To calculate the relative sum of deltas, only consider trendlines below the price for support or above the price for resistance.
method get_point(l id, x)=>
id.slope * x + id.intercept
for element in sup
point = element.get_point(n)
if sourceInput > point
sup_sum += sourceInput - point
sup_den += math.abs(sourceInput - point)
for element in res
point = element.get_point(n)
if sourceInput < point
res_sum += point - sourceInput
res_den += math.abs(point - sourceInput)
4. Normalize the value from 0 to 100 by taking the sum of the relative values of the deltas divided by the sum of the absolute values of the deltas.
float supportLine = sup_sum / sup_den * 100
float resistanceLine = res_sum / res_den * 100
5. Smooth both values, then calculate the signal line as the difference between them.
float smoothSupport = smooth(supportLine,dataSmoothingInput,dataSmoothingLengthInput)
float smoothResistance = smooth(resistanceLine,dataSmoothingInput,dataSmoothingLengthInput)
float signal = math.abs(smoothSupport - smoothResistance)
float signalLine = smooth(signal,smoothingInput,smoothingLengthInput)
6. Calculate the crossing signals against the signal line, using only the first signal from each series of bullish or bearish crossings.
bullSignal = smoothSupport > signalLine and smoothSupport < signalLine
bearSignal = smoothResistance > signalLine and smoothResistance < signalLine
lastSignal := bullSignal and lastSignal == BEAR ? BULL : bearSignal and lastSignal == BULL ? BEAR : lastSignal
firstBull = ta.change(lastSignal) > 0
firstBear = ta.change(lastSignal) < 0
🔶 SETTINGS
Length: The size of the market structure used for trendline detection.
Memory: The number of trendlines used in calculations.
Source: The source for the calculations is closing prices by default.
🔹 Smoothing
Data Smoothing: Choose the smoothing method and length
Signal Smoothing: Choose the smoothing method and length
Directionality OscillatorDirectionality Oscillator is a simple momentum tool that measures net price displacement against total price activity over a chosen look-back period. It takes today’s closing price minus the close from “len” bars ago and divides that by the sum of all absolute bar-to-bar moves across the same span. The result is a value between –1 and +1, where positive values show that upward moves dominated and negative values show that downward moves prevailed.
To smooth out short-term noise, the indicator applies a five-bar simple moving average to the normalized value. A color gradient—from red at –1, through gray at 0, to green at +1—paints the line, making it easy to see whether bearish or bullish pressure is strongest. Two horizontal lines at the user-defined threshold and its negative mark zones of extreme directional strength. Readings above the positive threshold signal strong bullish momentum, and readings below the negative threshold signal strong bearish momentum.
Traders can watch for crossings above or below these threshold lines as trend confirmations or potential reversal warnings. A cross of the zero line indicates a shift in net directional control and can serve as an early trend-change alert when supported by price action or volume. Because it filters out sideways noise by normalizing against total activity, it highlights sustained directional thrust more clearly than a raw price-change measure.
Kernel Regression Envelope with SMI OscillatorThis script combines the predictive capabilities of the **Nadaraya-Watson estimator**, implemented by the esteemed jdehorty (credit to him for his excellent work on the `KernelFunctions` library and the original Nadaraya-Watson Envelope indicator), with the confirmation strength of the **Stochastic Momentum Index (SMI)** to create a dynamic trend reversal strategy. The core idea is to identify potential overbought and oversold conditions using the Nadaraya-Watson Envelope and then confirm these signals with the SMI before entering a trade.
**Understanding the Nadaraya-Watson Envelope:**
The Nadaraya-Watson estimator is a non-parametric regression technique that essentially calculates a weighted average of past price data to estimate the current underlying trend. Unlike simple moving averages that give equal weight to all past data within a defined period, the Nadaraya-Watson estimator uses a **kernel function** (in this case, the Rational Quadratic Kernel) to assign weights. The key parameters influencing this estimation are:
* **Lookback Window (h):** This determines how many historical bars are considered for the estimation. A larger window results in a smoother estimation, while a smaller window makes it more reactive to recent price changes.
* **Relative Weighting (alpha):** This parameter controls the influence of different time frames in the estimation. Lower values emphasize longer-term price action, while higher values make the estimator more sensitive to shorter-term movements.
* **Start Regression at Bar (x\_0):** This allows you to exclude the potentially volatile initial bars of a chart from the calculation, leading to a more stable estimation.
The script calculates the Nadaraya-Watson estimation for the closing price (`yhat_close`), as well as the highs (`yhat_high`) and lows (`yhat_low`). The `yhat_close` is then used as the central trend line.
**Dynamic Envelope Bands with ATR:**
To identify potential entry and exit points around the Nadaraya-Watson estimation, the script uses **Average True Range (ATR)** to create dynamic envelope bands. ATR measures the volatility of the price. By multiplying the ATR by different factors (`nearFactor` and `farFactor`), we create multiple bands:
* **Near Bands:** These are closer to the Nadaraya-Watson estimation and are intended to identify potential immediate overbought or oversold zones.
* **Far Bands:** These are further away and can act as potential take-profit or stop-loss levels, representing more extreme price extensions.
The script calculates both near and far upper and lower bands, as well as an average between the near and far bands. This provides a nuanced view of potential support and resistance levels around the estimated trend.
**Confirming Reversals with the Stochastic Momentum Index (SMI):**
While the Nadaraya-Watson Envelope identifies potential overextended conditions, the **Stochastic Momentum Index (SMI)** is used to confirm a potential trend reversal. The SMI, unlike a traditional stochastic oscillator, oscillates around a zero line. It measures the location of the current closing price relative to the median of the high/low range over a specified period.
The script calculates the SMI on a **higher timeframe** (defined by the "Timeframe" input) to gain a broader perspective on the market momentum. This helps to filter out potential whipsaws and false signals that might occur on the current chart's timeframe. The SMI calculation involves:
* **%K Length:** The lookback period for calculating the highest high and lowest low.
* **%D Length:** The period for smoothing the relative range.
* **EMA Length:** The period for smoothing the SMI itself.
The script uses a double EMA for smoothing within the SMI calculation for added smoothness.
**How the Indicators Work Together in the Strategy:**
The strategy enters a long position when:
1. The closing price crosses below the **near lower band** of the Nadaraya-Watson Envelope, suggesting a potential oversold condition.
2. The SMI crosses above its EMA, indicating positive momentum.
3. The SMI value is below -50, further supporting the oversold idea on the higher timeframe.
Conversely, the strategy enters a short position when:
1. The closing price crosses above the **near upper band** of the Nadaraya-Watson Envelope, suggesting a potential overbought condition.
2. The SMI crosses below its EMA, indicating negative momentum.
3. The SMI value is above 50, further supporting the overbought idea on the higher timeframe.
Trades are closed when the price crosses the **far band** in the opposite direction of the trade. A stop-loss is also implemented based on a fixed value.
**In essence:** The Nadaraya-Watson Envelope identifies areas where the price might be deviating significantly from its estimated trend. The SMI, calculated on a higher timeframe, then acts as a confirmation signal, suggesting that the momentum is shifting in the direction of a potential reversal. The ATR-based bands provide dynamic entry and exit points based on the current volatility.
**How to Use the Script:**
1. **Apply the script to your chart.**
2. **Adjust the "Kernel Settings":**
* **Lookback Window (h):** Experiment with different values to find the smoothness that best suits the asset and timeframe you are trading. Lower values make the envelope more reactive, while higher values make it smoother.
* **Relative Weighting (alpha):** Adjust to control the influence of different timeframes on the Nadaraya-Watson estimation.
* **Start Regression at Bar (x\_0):** Increase this value if you want to exclude the initial, potentially volatile, bars from the calculation.
* **Stoploss:** Set your desired stop-loss value.
3. **Adjust the "SMI" settings:**
* **%K Length, %D Length, EMA Length:** These parameters control the sensitivity and smoothness of the SMI. Experiment to find settings that work well for your trading style.
* **Timeframe:** Select the higher timeframe you want to use for SMI confirmation.
4. **Adjust the "ATR Length" and "Near/Far ATR Factor":** These settings control the width and sensitivity of the envelope bands. Smaller ATR lengths make the bands more reactive to recent volatility.
5. **Customize the "Color Settings"** to your preference.
6. **Observe the plots:**
* The **Nadaraya-Watson Estimation (yhat)** line represents the estimated underlying trend.
* The **near and far upper and lower bands** visualize potential overbought and oversold zones based on the ATR.
* The **fill areas** highlight the regions between the near and far bands.
7. **Look for entry signals:** A long entry is considered when the price touches or crosses below the lower near band and the SMI confirms upward momentum. A short entry is considered when the price touches or crosses above the upper near band and the SMI confirms downward momentum.
8. **Manage your trades:** The script provides exit signals when the price crosses the far band. The fixed stop-loss will also close trades if the price moves against your position.
**Justification for Combining Nadaraya-Watson Envelope and SMI:**
The combination of the Nadaraya-Watson Envelope and the SMI provides a more robust approach to identifying potential trend reversals compared to using either indicator in isolation. The Nadaraya-Watson Envelope excels at identifying potential areas where the price is overextended relative to its recent history. However, relying solely on the envelope can lead to false signals, especially in choppy or volatile markets. By incorporating the SMI as a confirmation tool, we add a momentum filter that helps to validate the potential reversals signaled by the envelope. The higher timeframe SMI further helps to filter out noise and focus on more significant shifts in momentum. The ATR-based bands add a dynamic element to the entry and exit points, adapting to the current market volatility. This mashup aims to leverage the strengths of each indicator to create a more reliable trading strategy.
Dynamic Cycle Oscillator [Quantigenics]This script is designed to navigate through the ebbs and flows of financial markets. At its core, this script is a sophisticated yet user-friendly tool that helps you identify potential market turning points and trend continuations.
How It Works:
The script operates by plotting two distinct lines and a central histogram that collectively form a band structure: a center line and two outer boundaries, indicating overbought and oversold conditions. The lines are calculated based on a blend of exponential moving averages, which are then refined by a root mean square (RMS) over a specified number of bars to establish the cyclic envelope.
The input parameters:
Fast and Slow Periods:
These determine the sensitivity of the script. Shorter periods react quicker to price changes, while longer periods offer a smoother view.
RMS Length:
This parameter controls the range of the cyclic envelope, influencing the trigger levels for trading signals.
Using the Script:
On your chart, you’ll notice how the Dynamic Cycle Oscillator’s lines and histogram weave through the price action. Here’s how to interpret the movements.
Breakouts and Continuations:
Buy Signal: Consider a long position when the histogram crosses above the upper boundary. This suggests a possible strong bullish run.
Sell Signal: Consider a short position when the histogram crosses below the lower boundary. This suggests a possible strong bearish run.
Reversals:
Buy Signal: Consider a long position when the histogram crosses above the lower boundary. This suggests an oversold market turning bullish.
Sell Signal: Consider a short position when the histogram crosses below the upper boundary. This implies an overbought market turning bearish.
The script’s real-time analysis can serve as a robust addition to your trading strategy, offering clarity in choppy markets and an edge in trend-following systems.
Thanks! Hope you enjoy!
BTC hash rate oscillatorOVERVIEW:
This script looks to identify entry point opportunities when moving averages over Bitcoin's hash rate are indicative of Miner capitulation. The script implements an oscillator based on Charles Capriole's "Hash Ribbons & Bitcoin Bottoms" concept. It analyses the short-term and long-term moving averages of Bitcoin's hash rate and then identifies potential entry opportunities from this.
KEY FEATURES:
Signal Generation: The script identifies entry points when the short-term moving average crosses under the long-term moving average and the rate of change falls below a specified threshold. These conditions suggest potential trading opportunities.
Historical Signals: Optionally the script displays historical signals, indicating past instances where hash rate conditions suggested favourable entry points. Users can also assess the script's historical performance.
USAGE:
The generated opportunities can be used as potential entry points for BTC. The script provides visual cues on the chart (blue labels above the miner capitulation zones) for identification of signals. Customisable moving average lengths and threshold values are supported, which allow adaptation to various strategies.
CONSIDERATIONS:
Validation: It's recommended that careful backtesting over historical data be done before acting on any identified opportunities.
User Discretion: Trading decisions should not rely solely on this script. Users should exercise their judgment and consider market conditions.
Note: This script identifies opportunities based on historical data and should be used with caution, as past performance is not indicative of future results.
Jdawg Sentiment Momentum Oscillator EnhancedThe Jdawg Sentiment Momentum Oscillator Enhanced (JSMO_E) is a versatile technical analysis indicator designed to provide traders with insights into potential trend changes and overbought or oversold market conditions. JSMO_E combines the principles of the Relative Strength Index (RSI), the Simple Moving Average (SMA), and the Rate of Change (ROC) to create a comprehensive tool for assessing market sentiment and momentum.
The uniqueness of JSMO_E lies in its ability to integrate the RSI, SMA of RSI, and ROC of RSI, while also allowing users to customize the weight of the ROC component. This combination of features is not commonly found in other indicators, which increases its distinctiveness.
To effectively use JSMO_E, follow these steps:
Apply the JSMO_E indicator to the price chart of the asset you are analyzing.
Observe the plotted JSMO_E line in relation to the zero line, overbought, and oversold levels.
When the JSMO_E line crosses above the zero line, it may signal the beginning of an uptrend or bullish momentum. Conversely, when the JSMO_E line crosses below the zero line, it may indicate the start of a downtrend or bearish momentum.
Overbought and oversold levels, marked by the red and green dashed lines, respectively, can serve as a warning that a trend reversal may be imminent. When the JSMO_E line reaches or surpasses the overbought level, it might indicate that the asset is overvalued and could experience a price decline. Conversely, when the JSMO_E line reaches or goes below the oversold level, it can signal that the asset is undervalued and may experience a price increase.
Adjust the input parameters (RSI Period, SMA Period, ROC Period, and ROC Weight) as needed to optimize the indicator for the specific market and time frame you are analyzing.
The JSMO_E indicator is suitable for various markets, including stocks, forex, commodities, and cryptocurrencies. However, its effectiveness may vary depending on the market conditions and time frames used. It is recommended to use JSMO_E in conjunction with other technical analysis tools and methods to confirm potential trade setups and improve overall trading performance. Always conduct thorough backtesting and forward-testing before employing any indicator in a live trading environment.
Dark Energy Divergence OscillatorThe Dark Energy Divergence Oscillator (DEDO)
What makes The Universe grow at an accelerating pace?
Dark Energy.
What makes The Economy grow at an accelerating pace?
Debt.
Debt is the Dark Energy of The Economy.
I pronounce DEDO "Deed-oh", but variations are fine with me.
Note: The Pine Script version of DEDO is improved from the original formula, which used a constant all-time high calculation in the normalization factor. This was technically not as accurate for calculating liquidity pressure in historical data because it meant that historical prices were being tested against future liquidity factors. Now using Pine, the functions can be normalized for the bar at the time of calculation, so the liquidity factors are normalized per candle, not across the entire series, which feels like an improvement to me.
Thought Process:
It's all about the liquidity. What I started with is a correlation between major stock indices such as SPX and WRESBAL , a balance sheet metric on FRED
After September 2008, when QE was initiated, many asset valuations started to follow more closely with liquidity factors. This led me to create a function that could combine asset prices and liquidity in WRESBAL , in order to calculate their divergence and chart the signal in TradingView.
The original formula:
First, we don't want "non-QE" data. we only want data for the market affected by QE .
So, find SPX on the day of pre-QE: 1255.08 and subtract that from the 2022 top 4818.62 = 3563.54
With this post-QE SPX range, now you can normalize the price level simply by dividing by the range = ( SPX -1255.08)/3563.54)
Normalization produces values from 0 to 1 so that they can be compared with other normalized figures.
In order to test the 0 to 1 normalized SPX range measure against the liquidity number, WRESBAL , it's the same idea: normalize it using the max as the denominator and you get a 0 to 1 liquidity index:
( WRESBAL /4276000000000)
Subtract one from the other to get the divergence:
(( WRESBAL /4276000000000)-(( SPX -1255.08)/3563.54))*10
x10 to reduce decimal places, but this option is configurable in DEDO's input settings tab.
Positive values indicate there's ample liquidity to hold up price or even create bullish momentum in some cases. Negative values mean price levels are potentially extended beyond what liquidity levels can support.
Note: many viewers of the charts on social media wanted the values to go down in alignment with price moving down, so inverting the chart is what I do with Option + I. I like the fact that negative values represent a deficit in liquidity to hold up price but that's just me.
Now with Pine Script and some help from other liquidity focused accounts on TradingView , I was able to derive a script that includes central bank liquidity and Reverse Repo liquidity drain, all in one algorithm, with adjustable settings.
Central bank assets included in this version:
-JPY (Japan)
-CNY (China)
-UK (British Pound)
-SNB (Swiss National Bank)
-ECB (European Central Bank )
Central Bank assets can be adjusted to an allocation % so that the formula is adjusted for the market cap of the asset.
A handy table in the lower right corner displays useful information about the asset market cap, and percentage it represents in the liquidity pool.
Reverse repo soak is also an optional addition in the Input settings using the RRPONTSYD value from FRED. This value is subtracted from global liquidity used to determine divergence since it is swept away from markets when residing in the Fed's reverse repo facility.
There is an option to draw a line at the Zero bound. This provides a convenience so that the line doesn't keep having to be redrawn on every chart. The normalized equation produces a value that should oscillate around zero, as price/valuation grows past liquidity support, falls under it, and repeats in cycles.
Divergence Strength OscillatorDetects divergence before it has formed a valid divergent pivot, across multiple indicators. After publishing my Strength of Divergence Across Multiple Indicators script, it seemed there were a lot of people who wanted to see the divergence signals before the divergent pivots were actually confirmed. Everyone complains about indicators repainting, yet in the next breath they complain about not wanting to wait for a signal to be confirmed before it appears on their chart! No matter how many times you ask, you can't have your cake and eat it too.
While this isn't exactly cake, it's as close as you're gonna get. This oscillator will calculate the strength of divergence as it forms on any bar that could potentially be a pivot point (e.g. for a pivot low, the preceding bars must be higher than it) and track the net (bullish - bearish) value.
For example:
PLEASE NOTE that this is not intended to be a "Buy" or "Sell" signal, and it would be foolish to use it as such. The purpose of this script is to show you potential divergences as early as possible, so that you have more time to plan and evaluate confluent signals, etc.
The Divergence Strength Calculation:
The total divergence strength value is the sum of the divergence strengths of all indicators for which divergence was detected at a given bar. Each indicator's individual divergence strength is comprised of two basic components: (1) |ΔPrice| - the magnitude of the change in price over the divergence period (pivot-to-pivot), and (2) |ΔIndicator| - the magnitude of the change in indicator value over the divergence period.
Because different indicators' scales and volatility can vary greatly, the Δ values are expressed in terms of standard deviation to ensure that the values are meaningful and equitable across all indicators and assets/instruments/currency pairs, etc:
|ΔIndicator| = |indicator_value_1 - indicator_value_2| / 2 * StDev(indicator_series,100)
Based on work for my Strength of Divergence Across Multiple Indicators script:
Autocorrelative Power Oscillator (APO) [SpiritualHealer117]This indicator is very strong in identifying short-term trends, and was made for trading stocks and commodities. When it is green, it indicates an uptrend, and red indicates a downtrend. The transparency of the columns illustrates the strength of the trend, with transparent columns indicating weakness, while solid columns indicate strength.
Basic Explanation of the Indicator
This indicator calculates an asset's Pearson's R coefficient when compared with several different lags of the stock's price. After that, the oscillator checks whether the indicator is in the green or red compared to those correlations, and takes the sum of the correlative periods to predict which direction the market should go based on the relationship of the current price with its past correlations.
Binance Basis OscillatorBinance Basis Oscillator illustrates the premium or discount between Binance spot vs perps.
This indicates whether speculators (i.e. traders on perps) are paying premium vs spot. If true then speculation is leading, indicating euphoria (at certain levels).
Conversely, spot leading perps (i.e. perps at a discount) shows extreme bearish conditions, where speculation is on the short side. Indicating times of despair.
ETH Gravity OscillatorThis indicator is a deviation of a Center of Gravity Oscillator corrected for the diminishing returns of Ethereum.
I've set up this indicator for it to be used on the weekly timeframe . The indicator oscillates between 0 and 10, where 0 indicates oversold conditions and 10 indicates overbought conditions. What is interesting is that it is not particularly ideal for identifying market cycle tops, but generally picks out the most euphoric region in the initial parabolic rally. Good to potentially keep in mind if there is a second bounce to the peak!
The indicator plots in any ETH charts. It paints in all time frames, but Weekly time frame is the correct one to interpret the 'official' read of it.
Made at the request of a kind commenter. If you would like to request different derivations of this script be sure to let me know!
BTC Gravity OscillatorThis indicator is a deviation of a Center of Gravity Oscillator corrected for the diminishing returns of Bitcoin.
I've set up this indicator for it to be used on the weekly timeframe. The indicator oscillates between 0 and 10, where 0 indicates oversold conditions and 10 indicates overbought conditions.
The indicator plots in any BTCUSD spot, futures , BLX index and BTCEUR .
It paints in all time frames, but Weekly time frame is the correct one to interpret the 'official' read of it.
Mobility Oscillator [CC]The Mobility Oscillator was created by Mel Widner (Stocks and Commodities Feb 1996) and this is another of my ongoing series of undiscovered gems. I would say this is probably the most complicated script I have written for an indicator. It is extremely complicated to calculate comparing to other indicators but this is essentially an overbought and oversold indicator that uses a very unique technique to calculate overbought and oversold levels and overall upward or downward momentum there is in the underlying stock. It uses a price distribution function to determine how often the current prices fall within the current trend which tells us how strong the momentum for the current trend actually is. I had to customize this indicator a bit to give clear buy and sell readings so I had to introduce a lag in exchange for clearer signals. This indicator ranges between +100 and -100 and when it stays at the +100 level for example then this means a sustained uptrend and vice versa. I have included strong buy and sell signals in addition to normal ones so strong signals are darker in color and normal signals are lighter in color. Buy when the line turns green and sell when it turns red.
Let me know if there are any other scripts or indicators you would like to see me publish!
BTC top bottom weekly oscillatorThis indicator is based on the 20 weekly simple moving average and it could be used to help finding potential tops and bottoms on a weekly BTC chart.
This version uses an "oscillator" presentation, it fluctuates around the value zero.
The indicator plots 0 when the close price is near the 20 weekly moving average.
If it's below 0 it reflects the price being below the 20 weekly moving average, and opposite for above.
IT's possible to see how many times the price has hit the 0.5 coef support. In one case it hit 0.6 showing that the 0.5 support can be broken.
The indicator is calculated as Log(close / sma(close))
Instructions:
- Use with the symbol INDEX:BTCUSD so you can see the price since 2010
- Set the timeframe to weekly
Optionals:
- change the coef to 0.6 for a more conservative bottom
- change the coef to 0.4 for a more conservative top
Dix / Dark Pool Oscillator [Nic]Dark pools are private exchanges for trading securities that are not accessible by the investing public. Dark pools were created in order to facilitate block trading by institutional investors who did not wish to impact the markets with their large orders and obtain adverse prices for their trades.
This indicator creates an easy to read oscillator so you can Identify these flows.
Lane Bandpass Filter OscillatorThis is a bandpass filter oscillator that has an additional tuning parameter
in addition to the Period used by John Ehlers. It is 'quality' which has meaning
in a frequency/magnitude sense (See Q in line 7). The bandpass is slower
according to the inverse of Q.
The concept was developed by John Lane etal in the text 'DSP Filters'
The bandpass filter works better in a trending environment.
Relative Momentum Index (RMI) OscillatorThe Relative Momentum Index (RMI) is a sibling to the RSI. Where the RSI measures trend based on the average (RMA) of gains and draws over a length of time , the RMI measures based on the SUM of gains and draws . Myself and many others have found that the RMI oscillates better than the RSI does.
I paired the RMI with the oscillation method the Fisher Transformation uses to oscillate the value from -1.0 to 1.0 instead of the Stochastic way of 0 to 100. This way you can enable the Fisher transform, if desired. But I also just prefer the appearance of that.
Some options and features I have coded in-
RMI Length: This is the length of the Relative Momentum Index itself. Like the length of RSI, default 14
Oscillation Length: This is your oscillation length, like a Stochastic. If you put the length at 1 it will turn the indicator into the straight up RMI indicator. (If you select to use the Fisher Transform, the overbought/oversold lines will not show nicely)
Source Pre-Smoothing: The option of smoothing out the source, ie close, before you even run it through the RMI, oscillation, and/or transform
Oscillator Post-Smoothing: The option of smoothing the output of the script
Trailing MA: If desired, you can check the box to Use a Trailing Signal, and enter the length of lookback for a Simple Moving Average (SMA) of the RMI Osc value
Use Fill Colors on MA: If enabled, it will fill the area between the RMI Osc and the trailing MA. I chose to use colors that are similar to some educational ideas I have published, whereby nearing the bottom of the oscillation you get Green to signal Accumulation, and near the top you get Red to signal Distribution. Following red is Black, where you typically get late signal sellers that Capitulate and sell stops trigger. Blue is where traders tend to Chase price up.
The most primitive way of using this indicator would be sell when the value exceeds the overbought/top line and buy when it falls below the oversold/bottom line. You can find ways to use the fill colors, or MA crossovers, rising lows or rising highs, etc. for signals.
Here's a comparison of this indicator to the Stochastic RSI, using similar values-
Here's showing the indicator on intraday values at defaults with some pre- and post-smoothing-
Same thing, but with Fisher Transform enabled-
And an example of the fill bands in action-
Please feel free to use any part of this code as desired.
Stochastic Oscillator [SystemAlpha]This is a Stochastic Oscillator enhanced with:
- Show Buy and Sell Alert
- Show Regular and Hidden divergence
- Show Divergence Labels
- Generate Alerts: Buy/Sell and Divergence
Ehlers Decycler Oscillator [CC]The Decycler Oscillator was created by John Ehlers (Cycle Analytics For Traders pgs 43-44) and it is used to show transitions between uptrends and downtrends. If it rises above the 0 line then this means it has transitioned to an uptrend and it falls below the 0 line then it is in a downtrend. Buy if the indicator line is green and sell when it is red.
This was a custom request so let me know if you would like to see more scripts from me or if you want something custom done!
[astropark] MACD, RSI+, Awesome Oscillator, DMI with ADX//******************************************************************************
// Copyright by astropark v3.1.0
// MACD, RSI+, Awesome Oscillator, DMI, ADX
// 24/10/2018 Added RSI with Center line to have clear glue of current trend
// 10/12/2018 Added MACD
// 13/12/2018 Added multiplier for MACD in order to make it clearly visible over RSI graph
// 11/01/2019 Added Awesome Ascillator (AO)
// 11/01/2019 Added Directional Movement Index (DMI) with ADX
//******************************************************************************
Ehler Bandpass Trigger OscillatorThis is based off of Ehler's Bandpass Filter system (link below slides 15-17). Essentially Ehler runs a band pass with a given period to detrend the price data and highlight a cycle with the given frequency(length). This represents the In phase cycle. Ehler then creates the trigger line by taking the one bar momentum of the In Phase line, multiplying by 2Pi and then using this to create a 60 degree leading signal. The triggers are crossovers of the In Phase and Lead lines. You can also use conservative signals by waiting for the In Phase line to trend in the direction of the trigger crossover as well.
Length represent the cycle period you want to highlight.
Delta represents how much to influence the oscillator by the price (Delta 0 is a perfect wave)
Thanks to HPotter for the BandPass Filter code, which I used as a base for implementing the rest of the system
www.mesasoftware.com