NormalizedOscillatorsLibrary "NormalizedOscillators"
Collection of some common Oscillators. All are zero-mean and normalized to fit in the -1..1 range. Some are modified, so that the internal smoothing function could be configurable (for example, to enable Hann Windowing, that John F. Ehlers uses frequently). Some are modified for other reasons (see comments in the code), but never without a reason. This collection is neither encyclopaedic, nor reference, however I try to find the most correct implementation. Suggestions are welcome.
rsi2(upper, lower) RSI - second step
Parameters:
upper : Upwards momentum
lower : Downwards momentum
Returns: Oscillator value
Modified by Ehlers from Wilder's implementation to have a zero mean (oscillator from -1 to +1)
Originally: 100.0 - (100.0 / (1.0 + upper / lower))
Ignoring the 100 scale factor, we get: upper / (upper + lower)
Multiplying by two and subtracting 1, we get: (2 * upper) / (upper + lower) - 1 = (upper - lower) / (upper + lower)
rms(src, len) Root mean square (RMS)
Parameters:
src : Source series
len : Lookback period
Based on by John F. Ehlers implementation
ift(src) Inverse Fisher Transform
Parameters:
src : Source series
Returns: Normalized series
Based on by John F. Ehlers implementation
The input values have been multiplied by 2 (was "2*src", now "4*src") to force expansion - not compression
The inputs may be further modified, if needed
stoch(src, len) Stochastic
Parameters:
src : Source series
len : Lookback period
Returns: Oscillator series
ssstoch(src, len) Super Smooth Stochastic (part of MESA Stochastic) by John F. Ehlers
Parameters:
src : Source series
len : Lookback period
Returns: Oscillator series
Introduced in the January 2014 issue of Stocks and Commodities
This is not an implementation of MESA Stochastic, as it is based on Highpass filter not present in the function (but you can construct it)
This implementation is scaled by 0.95, so that Super Smoother does not exceed 1/-1
I do not know, if this the right way to fix this issue, but it works for now
netKendall(src, len) Noise Elimination Technology by John F. Ehlers
Parameters:
src : Source series
len : Lookback period
Returns: Oscillator series
Introduced in the December 2020 issue of Stocks and Commodities
Uses simplified Kendall correlation algorithm
Implementation by @QuantTherapy:
rsi(src, len, smooth) RSI
Parameters:
src : Source series
len : Lookback period
smooth : Internal smoothing algorithm
Returns: Oscillator series
vrsi(src, len, smooth) Volume-scaled RSI
Parameters:
src : Source series
len : Lookback period
smooth : Internal smoothing algorithm
Returns: Oscillator series
This is my own version of RSI. It scales price movements by the proportion of RMS of volume
mrsi(src, len, smooth) Momentum RSI
Parameters:
src : Source series
len : Lookback period
smooth : Internal smoothing algorithm
Returns: Oscillator series
Inspired by RocketRSI by John F. Ehlers (Stocks and Commodities, May 2018)
rrsi(src, len, smooth) Rocket RSI
Parameters:
src : Source series
len : Lookback period
smooth : Internal smoothing algorithm
Returns: Oscillator series
Inspired by RocketRSI by John F. Ehlers (Stocks and Commodities, May 2018)
Does not include Fisher Transform of the original implementation, as the output must be normalized
Does not include momentum smoothing length configuration, so always assumes half the lookback length
mfi(src, len, smooth) Money Flow Index
Parameters:
src : Source series
len : Lookback period
smooth : Internal smoothing algorithm
Returns: Oscillator series
lrsi(src, in_gamma, len) Laguerre RSI by John F. Ehlers
Parameters:
src : Source series
in_gamma : Damping factor (default is -1 to generate from len)
len : Lookback period (alternatively, if gamma is not set)
Returns: Oscillator series
The original implementation is with gamma. As it is impossible to collect gamma in my system, where the only user input is length,
an alternative calculation is included, where gamma is set by dividing len by 30. Maybe different calculation would be better?
fe(len) Choppiness Index or Fractal Energy
Parameters:
len : Lookback period
Returns: Oscillator series
The Choppiness Index (CHOP) was created by E. W. Dreiss
This indicator is sometimes called Fractal Energy
er(src, len) Efficiency ratio
Parameters:
src : Source series
len : Lookback period
Returns: Oscillator series
Based on Kaufman Adaptive Moving Average calculation
This is the correct Efficiency ratio calculation, and most other implementations are wrong:
the number of bar differences is 1 less than the length, otherwise we are adding the change outside of the measured range!
For reference, see Stocks and Commodities June 1995
dmi(len, smooth) Directional Movement Index
Parameters:
len : Lookback period
smooth : Internal smoothing algorithm
Returns: Oscillator series
Based on the original Tradingview algorithm
Modified with inspiration from John F. Ehlers DMH (but not implementing the DMH algorithm!)
Only ADX is returned
Rescaled to fit -1 to +1
Unlike most oscillators, there is no src parameter as DMI works directly with high and low values
fdmi(len, smooth) Fast Directional Movement Index
Parameters:
len : Lookback period
smooth : Internal smoothing algorithm
Returns: Oscillator series
Same as DMI, but without secondary smoothing. Can be smoothed later. Instead, +DM and -DM smoothing can be configured
doOsc(type, src, len, smooth) Execute a particular Oscillator from the list
Parameters:
type : Oscillator type to use
src : Source series
len : Lookback period
smooth : Internal smoothing algorithm
Returns: Oscillator series
Chande Momentum Oscillator (CMO) is RSI without smoothing. No idea, why some authors use different calculations
LRSI with Fractal Energy is a combo oscillator that uses Fractal Energy to tune LRSI gamma, as seen here: www.prorealcode.com
doPostfilter(type, src, len) Execute a particular Oscillator Postfilter from the list
Parameters:
type : Oscillator type to use
src : Source series
len : Lookback period
Returns: Oscillator series
Cerca negli script per "adx"
Kahlman HullMA / WT Cross StrategyA strategy created using Hull Moving Average and WT Cross .
Hull Moving Average turns green and WT Cross crossover this is a long. Otherwise short.
Stop Loss and Take Profit settings are available. You can set it to the level you want or turn it off.
According to my measurements, it shows the best performance in the 4-hour period. But you can find the best settings that are correct from the Strategy settings.
CapX Core SignalsThis is an indicator that generates Long and Short Signals on multiple marketable instruments such as Indices, Stocks and Crypto. This indicator has almost everything for intraday and Swing trading. Works perfectly on multiple timeframe and give signal on real time. Tested on Indices.
We make use of Relative Strength and Moving Averages to Generate Signal but at the same time, a signal is confirmed by Volatility Indicators and trend. This way we are able generate a few signals but more precise one. While generating a signal, system gives us Stop Loss Level Instantly which is calculated from Average Ture Range.
MACD Level Modified - The Smooth Line help reduce false break out
RSI is confirmed with Crossover of RSI and EMA
ADX level used to Identify Volatility ,
ATR Multiplied with float factor to give Stop Loss Range. - User get option to input ATR Float Value
EMA 9, EMA 14 and EMA 21 Used to Identify Short trend in market
DEMA 100 and DEMA 200 used to find Long Trend in Market
Support Resistance Levels marked
What makes this Indicator Unique is that it is free from clutters, indicators and signals. Less Number of signals but precise one are only generated. Charts are not cluttered with many drawing or indicators so you get a clear view of price actions and you can further work on chart and candle Pattern.
We have placed a Information Dashboard on top right corner that work real time to give you exact trend checked with EMA and Confirmed by other moving averages. The Dashboard also informs about On Going Market volatility in simple words and gives faster signal in color coded cells.
sma RSI & sudden buy and sell Strategy v1This strategy uses mostly three things:-
1. average RSI (sma rsi over a period)
2. sudden buy and sudden sell (usually to infer the change in trend or direction)
3. various EMAs ( used as a filter)
I mostly build it to work on a 3min crypto chart but it should work on any timeframe or any symbol.
Settings - Length -RSI length (hardly needed to be changed but sometimes it doubles the net profit)(+/-2)
instant length - a sudden increase or decrease in the price calculated by the length of RSI (+/-10)
Bars - No of candles to verify before starting /closing the strategy (+/-20)
Lookbackno2 - another variable to verify ema opening/closing (hardly needed to change)
emas - values of different EMAs (you can change if you want but I don't recommend it though)
over40 and over60 - the value of overbuying and overselling(+/-10)
In future, I will probably add ADX or use machine learning to filter out results
It works well considering 0.05% commission per entry and exit (total of 1% per trade)
you can message me for any query or suggestions.
_3_Period_Dashboard_A Dashboard to check the current and previous two bar values of some commonly used indicators:
==> RSI
==> ADX
==> DI +
==> DI -
==> MACD
==> MACD Signal
==> Stochastic k
==> Stochastic d
NSDT Indicator PanelThis indicator places a table on the bottom of the chart where each section changes color based on settings in each individual indicator. It provides a way to quickly glance at the chart and see the overall direction of the market with the combination of indicators.
All settings for each individual indicator are editable, so you can customize them to your unique specifications.
NSDT HAMA Candles STRATThis is a STRATEGY based on our popular HAMA Candles Indicator.
It is an "Always On" strategy, meaning it will stay in a Long position until the Short criteria shows up, and then it will close the Long position and immediately enter a Short position.
Since this is a strategy, we added a few more components. The most notable one is the grid at the top right that shows the statistics of whatever the current settings are. The user can change the MA lengths and see the potential results update in real time.
Since this is Always On and uses Moving Averages, we added an ADX setting to help filter our trades in a ranging/choppy market.
The settings will need to be adjusted to find the best fit for your instrument, chart time, and risk management plan.
Volume Zone Oscillator (VZO)My interpretation of Walid Khalil's Volume Zone Oscillator (VZO) as published in the 2009 International Federation of Technical Analysis Journal.
This VZO indicator is also the same as Danielle Shay's popular Simpler Trading TurboVZO indicator.
ABOUT:
The oscillator breaks up volume activity into positive and negative categories. It is positive when the current closing price is greater than the prior closing price and negative when it's lower than the prior closing price. The resulting curve plots through relative percentage levels that yield a series of buy and sell signals, depending on level and indicator direction.
HOW TO USE THE INDICATOR:
The default period is 14 but can be adjusted after backtesting.
The VZO points to a positive trend when it rises above and maintains the 5% level, and a negative trend when it falls below the 5% level and fails to turn higher. Oscillations between the 5% and 40% levels mark a bullish trend zone, while oscillations between -40% and 5% mark a bearish trend zone. Meanwhile, readings above 40% signal an overbought condition, while readings above 60% signal an extremely overbought condition. Alternatively, readings below -40% indicate an oversold condition, which becomes extremely oversold below -60%.
Kahlil recommends confirming VZO signals with a 14-period average directional index (ADX), with values greater than 18 pointing to a trending market - search Tradingview's built-in indicators for the Directional Movement Index (DMI).
INTRADAY SCALPING:
Whilst the VZO is already smoothed with an exponential moving average, the indicator settings include an additional 'smoothing' function to remove any excess 'noise' in the plots for intraday use.
Mazuuma Churn IndicatorThis indicator was specifically made to confirm a periode of sideways movement (churn) on Bitcoin. It can probably be used for other cryptocurrencies as well. I use it on the daily timeframe.
Yellow means "Unconfirmed".
Orange means "Partially Confirmed".
Red means "Confirmed"
The indicator is not perfect, so use your common sense.
Churn starts when at least 2 of the conditions below are met (use also your common sense):
1. ATR < MA 20 on ATR
2. Distance to EMA 200 must be ≤ 16% at “Open churn”
3. EMA 12 on RSI between 40 and 60
4. ADX < 25
The above are weighted. Meaning no 1 has most significance. The numbers can be tweaked.
Reversal coming
* The indicators above break out, especially the ATR
* Color shift of the Heikin Ashi candle on weekly timeframe
* Engulfing candle on weekly timeframe
Because of the offset of the EMA 200, the precision of the Churn predictor can be off after a VERY big spike up or down, e.g. dec 2017. After such a spike use your common sense.
Personally I use this for bot trading, i.e. turn off trend following bots when in sideways market and use grid bots or other means of trading instead.
Price Action [Morty]This price action indicator uses the higher timeframe SSL channel to identify trends.
The long entry signal is a bullish candlestick pattern when the price retraces to EMA20 in an uptrend.
The short entry signal is a bearish candlestick pattern when the price retraces to the EMA20 in a downrend.
Currently, this indicator shows engulfing patterns, pin bar patterns, 2 bar reversal patterns and harami patterns.
It also shows a volatility squeeze signal when the Bollinger bands is within the Kelter channels.
The buy and sell signal can also be filter by the ADX indicator greater than a threshold.
You can set your stoploss to the previous low/high when you go long/short.
The risk/reward ratio could be 1 to 1.5.
This indicator can be used in any market.
DMI (Multi timeframe) DI Strategy [KL]Directional Movement Index Strategy
Entry conditions:
- (a) when DI+ > DI- on timeframe #1, and
- (b) Confirmation: when DI+ > DI- on timeframe #2
In the shown example, timeframe1 was same as the chart (1H) and timeframe2 was 1D.
Stop Loss: ATR based trailing stop
About DMI
Can refer to Investopedia for general understanding.
Applications of DMI in this strategy:
- Assumes uptrend when DI+ is above DI- (when green DI+ lines above red DI-), vice versa for downtrend. This is checked in two different timeframes that can be set by user in settings.
- DX is ignored, it doesn't give a direction of the trend. But if DX was applied, it would be a good indicator for quantifying the strength of uptrend/downtrend. This measurement would typically be read along a threshold (i.e. if below 20, then market is likely consolidating). All of these have been commented out (ignored by pinescript's interpreter via //) in the codes, as said; we are not using DX for sake of simplicity.
Visualizations
To make the chart look cleaner, DMI plots have been simplified to just down/up arrows placed at bottom of the chart.
Referring to the example chart:
- Green arrows : when DI+ > DI- for both timeframes, implies uptrend
- Red arrows: other way around (DI+ < DI-), implies downtrend
MTFindicatorsQuite recently TradingView added the possibility to create and use Libraries in PineScript. With this feature PineScript became higher quality of coding language overnight. Libraries enable splitting your code into multiple files, providing easier access to code reusability.
I was working on a script which included 3000 lines of code, which was recompiling 1:30 min, and recalculating over 1 minute as well. So I split it into 2 parts: main part + library containing "main logic", which I reuse in variety of scripts, but don't change too often. Result? Now recompilation of my main script takes 10 and recalculation 8 seconds!!!. I instantly fell in love with libraries.
Having said that, and being dedicated hater of security() calls, I have decided to publish a library of MTF indicators created with my own approach: "dig into formula". I have explained reasons for such approach in desription to this script:
So this library script will be a set of indicators reaching to higher timeframes. Just include one line at the beginning of the script you are creating:
import Peter_O/MTFindicators/1 as LIB
and then somewhere is the code add this line:
rsimtf=LIB.rsi_mtf(close,5,14)
All of a sudden you have access to rsimtf from 5x higher timeframe without any hassle :)
I start with RSI MTF, next ones will be ADX, Stochastic and some more. I will update this library with them here as well. Feel free to request particular indicators in comments. Maybe PSAR? Maybe Bollinger Bands?
TASC 2021.12 Directional Movement w/Hann█ OVERVIEW
Presented here is code for the "Directional Movement w/Hann" indicator originally conceived by John Ehlers. The code is also published in the December 2021 issue of Trader's Tips by Technical Analysis of Stocks & Commodities (TASC) magazine.
Ehlers continues here his exploration of the application of Hann windowing to conventional trading indicators.
█ FEATURES
The rolling length can be modified in the script's inputs, as well as the width of the line.
█ NOTES
Calculations
The calculation starts with the classic definition of PlusDM and MinusDM. These directional movements are summed in an exponential moving average (EMA). Then, this EMA is further smoothed in a finite impulse response (FIR) filter using Hann window coefficients over the calculation period.
Background
The DMI and ADX indicators were designed by J. Welles Wilder and presented in his "New Concepts in Technical Trading Systems" book published in 1978.
Join TradingView!
RSI Trend StrategyThis script uses the logic that within a trending market, there is no such thing as overbought and oversold..
BUY / SELL alert triggers when ADX > 100, and RSI is > 70 (buy) or < 30 (sell). I only consider taking a trade when BUY / SELL alert is triggered, but also only when there is a clear strong trend (you can use MA or Price Action for this). The logic does not work when market is not trending!
Test it out and let me know how it is working for you.
DI Crossing Daily Straregy HulkTradingSimple strategy based on crossing DI+ and DI- and Average True Range.
Long entry when DI+ crossover DI-
Short entry when DI+ crossunder DI-
Stop Loss and Take Profits based on Average True Range.
Default values are 1*ATR(14) for stop loss and 2*ATR(14) for Take Profit.
Risk reward 1 to 2 ratio.
Recommended default values, but you can change it if you want.
Recommended timeframe - 1D.
Script was tested on BTCUSDT pair and have a 2.4 profit factor.
Bulu BreakoutI designed this indicator to trade 52 weeks high breakout. It tests three conditions 1)close above 52weeks high 2)close above upper Bollinger band 3) adx <30. any candle that satisfies all these condition will change its color to black. i also added 44sma to this script to find high probable trade. if the black candle is near 44 sma it is more reliable.
Trend System Oscillator Averages RatingThis is a trend system made with multiple oscillator averages designed especially for trending markets such as stocks or crypto.
It can be used with any timeframe.
Its made of multiple moving oscillators such as
RSI
Stochastic
ADX
CCI
AO
MACD
MOM
STOCH RSI
WPR
BP
UO
Avg of all oscillators
It has also a rating, making an avg from all of the oscillators , going from -100 (all ma's are telling to go short ) to 100 ( all ma are telling to go long).
If you have any questions let me know !
Zigzag Trend/Divergence DetectorPullbacks are always hardest part of the trade and when it happen, we struggle to make decision on whether to continue the trade and wait for recovery or cut losses. Similarly, when an instrument is trending well, it is often difficult decision to make if we want to take some profit off the table. This indicator is aimed to make these decisions easier by providing a combined opinion of sentiment based on trend and possible divergence.
⬜ Process
▶ Use any indicator to find trend bias. Here we are using simple supertrend
▶ Use any oscillator. I have added few inbuilt oscillators as option. Default used is RSI.
▶ Find divergence by using zigzag to detect pivot high/low of price and observing indicator movement difference between subsequent pivots in the same direction.
▶ Combine divregence type, divergence bias and trend bias to derive overall sentiment.
Complete details of all the possible combinations are present here along with table legend
⬜Chart Legend
C - Continuation
D - Divergence
H - Hidden Divergence
I - Indeterminate
⬜ Settings
▶ Zigzag parameters : These let you chose zigzag properties. If you check "Use confirmed pivots", then unconfirmed pivot will be ignored in the table and in the chart
▶ Oscillator parameters : Lets you select different oscillators and settings. Available oscillators involve
CCI - Commodity Channel Index
CMO - Chande Momentum Oscillator
COG - Center Of Gravity
DMI - Directional Movement Index (Only ADX is used here)
MACD - Moving average convergence divergence (Can chose either histogram or MACD line)
MFI - Money Flow Index
MOM - Momentum oscillator
ROC - Rate Of Change
RSI - Relative Strength Index
TSI - Total Strength Index
WPR - William Percent R
BB - Bollinger Percent B
KC - Keltner Channel Percent K
DC - Donchian Channel Percent D
ADC - Adoptive Donchian Channel Percent D ( Adoptive-Donchian-Channel )
▶ Trend bias : Supertrend is used for trend bias. Coloring option color candles in the direction of supertrend. More option for trend bias can be added in future.
▶ Stats : Enables you to display history in tabular format.
Overview of settings present here:
⬜ Notes
Trend detection is done only with respect to previous pivot in the same direction. Hence, if chart has too many zigzags in short period, try increasing the zigzag length or chart timeframe. Similarly, if there is a steep trend, use lower timeframe charts to dig further.
Oscillators does not always make pivots at same bar as price. Due to this some the divergence calculation may not be correct. Hence visual inspection is always recommended.
⬜ Possible future enhancements
More options for trend bias
Enhance divergence calculation. Possible options include using oscillator based zigzag as primary or using close prices based zigzag instead of high/low.
Multi level zigzag option - Can be messy to include more than one zigzag. Option can be added to chose either Level1 or Level2 zigzags.
Alerts - Alerts can only be added for confirmed pivots - otherwise it will generate too many unwanted alerts. Will think about it :)
If I get time, I will try to make a video.
DMI - VisualBasically, when the background is:
White = no defined direction
Light blue = up.
Dark blue = well defined up
Light red = down
Dark red = well defined down
Blue/red centered circle = change of direction
Red circle on top = possible short entry
Blue circle at the bottom = possible long entry
//Português
Basicamente, quando o fundo é:
Branco = sem direção definida
Azul claro = alta
Azul escuro = alta bem definida
Vermelho claro = baixa
Vermelho escuro = baixa bem definida
Círculo azul/vermelho centrado = mudança da direção
Círculo vermelho no topo = possível entrada de short
Círculo azul na parte inferior = possível entrada de long
DMI + HMA - No Risk ManagementDMI (Directional Movement Index) and HMA (Hull Moving Average)
The DMI and HMA make a great combination, The DMI will gauge the market direction, while the HMA will add confirmation to the trend strength.
What is the DMI?
The DMI is an indicator that was developed by J. Welles Wilder in 1978. The Indicator was designed to identify in which direction the price is moving. This is done by comparing previous highs and lows and drawing 2 lines.
1. A Positive movement line
2. A Negative movement line
A third line can be added, which would be known as the ADX line or Average Directional Index. This can also be used to gauge the strength in which direction the market is moving.
When the Positive movement line (DI+) is above the Negative movement line (DI-) there is more upward pressure. Ofcourse visa versa, when the DI- is above the DI+ that would indicate more downwards pressure.
Want to know more about HMA? Check out one of our other published scripts
What is this strategy doing?
We are first waiting for the DMI to cross in our favoured direction, after that, we wait for the HMA to signal the entry. Without both conditions being true, no trade will be made.
Long Entries
1. DI+ crosses above DI-
2. HMA line 1 is above HMA line 2
Short Entries
1. DI- Crosses above DI+
2. HMA line 1 is below HMA lilne 2
Its as simple as that.
Conclusion
While this strategy does have its downsides, that can be reduced by adding some risk manegment into the script. In general the trade profitability is above average, And the max drawdown is at a minimum.
The settings have been optimised to suite BTCUSDT PERP markets. Though with small adjustments it can be used on many assets!
Trend Momentum with Buyers / Sellers PowerHi there!
With this indicator, you can hunt big trends before they start.
This indicator is combined with RSI and Momentum indicators
It can show you the power of trend and which side it wants to go
It can help you to open a position at the first point of a new trend or at the safe and proven point of the trend, also it can help you to close your position before the trend change its direction (it's not recommended to use it to close your positon, but sometimes it can help you to find the ending point of big pumps)
Rules:
* Baseline is ZERO ( 0 ) line
* When gray line crossover red line, it shows us a powerful uptrend
* When the gray line crossunder the red line it shows us a powerful upward trend
Signals:
* Only use Buy signals(Long) when they are above or crossing-up baseline
* Only use Sell signals(Short) when they are under or crossing-down baseline
* If they both (red and gray lines) are too high and they suddenly starting to come back to baseline, it shows we have a range trend, the trend is weak or a reversal trend is coming!!
!! WARNING: DO NOT USE THIS INDICATOR ALONE !!
Suggestions :
-Use 1H, 4H, daily, or Weekly timeframes
-Use ADX and DI or three WMA's
-Use divergence
-You can use it for scalping but you need to change the inputs (not recommended)
If you have any idea about making new indicators(what information do you want from the chart?), comment please, then I can research and make it for all of us! =)
Vortex HeikinThis indicator use macd crossover plus vortex and heikin candle to find the best spot entry.
There a lot to improve if you want, it's only a starting point.
You can change Vortex indicator with ADX indicator to find a better spot, but there could be more false entry.
Natural Directional Index [CC]The Natural Directional Index was created by Jim Sloman and this is another indicator that I'm publishing from the collection of Ocean indicators. I want to make sure his legacy is covered by as many eyes as possible. This is his version of the directional index indicator but he uses his weighting method to use the square root of time and you can see that the signals are very smooth. Big thanks of course to @altcoinz and @tmac87 for helping me get the full source code and files for all of his work. This indicator captures the current trend and I have used my strong buy and sell signals to let you know the strength of the current trend. Darker colors are for strong signals and lighter colors are for normal ones. Buy when the line turns green and sell when it turns red.
Let me know if there are any other indicators you would like to see me publish!