TrendicatorThis is a very simple crossover script that looks at a exponential moving average with a standard length set at 20, which may be redefined by the user. A (Uptrend) buy signal is given once a candle closes above the moving average, coloring the exponential average green, and a sell signal is given once a candle closes below the moving average, coloring the exponential average red.
The goal of this indicator is to provide the user with a rather robust idea of whether the market is trending upwards or downwards, more so than providing definitive buy or sell signals. It works with symbols that do not change drastically in shorter time periods (I only trade XAU/USD). FXOPEN:XAUUSD
Komut dosyalarını "Exponential" için ara
Bitcoin Power Law Bands (BTC Power Law) Indicator█ OVERVIEW
The 'Bitcoin Power Law Bands' indicator is a set of three US dollar price trendlines and two price bands for bitcoin , indicating overall long-term trend, support and resistance levels as well as oversold and overbought conditions. The magnitude and growth of the middle (Center) line is determined by double logarithmic (log-log) regression on the entire USD price history of bitcoin . The upper (Resistance) and lower (Support) lines follow the same trajectory but multiplied by respective (fixed) factors. These two lines indicate levels where the price of bitcoin is expected to meet strong long-term resistance or receive strong long-term support. The two bands between the three lines are price levels where bitcoin may be considered overbought or oversold.
All parameters and visuals may be customized by the user as needed.
█ CONCEPTS
Long-term models
Long-term price models have many challenges, the most significant of which is getting the growth curve right overall. No one can predict how a certain market, asset class, or financial instrument will unfold over several decades. In the case of bitcoin , price history is very limited and extremely volatile, and this further complicates the situation. Fortunately for us, a few smart people already had some bright ideas that seem to have stood the test of time.
Power law
The so-called power law is the only long-term bitcoin price model that has a chance of survival for the years ahead. The idea behind the power law is very simple: over time, the rapid (exponential) initial growth cannot possibly be sustained (see The seduction of the exponential curve for a fun take on this). Year-on-year returns, therefore, must decrease over time, which leads us to the concept of diminishing returns and the power law. In this context, the power law translates to linear growth on a chart with both its axes scaled logarithmically. This is called the log-log chart (as opposed to the semilog chart you see above, on which only one of the axes - price - is logarithmic).
Log-log regression
When both price and time are scaled logarithmically, the power law leads to a linear relationship between them. This in turn allows us to apply linear regression techniques, which will find the best-fitting straight line to the data points in question. The result of performing this log-log regression (i.e. linear regression on a log-log scaled dataset) is two parameters: slope (m) and intercept (b). These parameters fully describe the relationship between price and time as follows: log(P) = m * log(T) + b, where P is price and T is time. Price is measured in US dollars , and Time is counted as the number of days elapsed since bitcoin 's genesis block.
DPC model
The final piece of our puzzle is the Dynamic Power Cycle (DPC) price model of bitcoin . DPC is a long-term cyclic model that uses the power law as its foundation, to which a periodic component stemming from the block subsidy halving cycle is applied dynamically. The regression parameters of this model are re-calculated daily to ensure longevity. For the 'Bitcoin Power Law Bands' indicator, the slope and intercept parameters were calculated on publication date (March 6, 2022). The slope of the Resistance Line is the same as that of the Center Line; its intercept was determined by fitting the line onto the Nov 2021 cycle peak. The slope of the Support Line is the same as that of the Center Line; its intercept was determined by fitting the line onto the Dec 2018 trough of the previous cycle. Please see the Limitations section below on the implications of a static model.
█ FEATURES
Inputs
• Parameters
• Center Intercept (b) and Slope (m): These log-log regression parameters control the behavior of the grey line in the middle
• Resistance Intercept (b) and Slope (m): These log-log regression parameters control the behavior of the red line at the top
• Support Intercept (b) and Slope (m): These log-log regression parameters control the behavior of the green line at the bottom
• Controls
• Plot Line Fill: N/A
• Plot Opportunity Label: Controls the display of current price level relative to the Center, Resistance and Support Lines
Style
• Visuals
• Center: Control, color, opacity, thickness, price line control and line style of the Center Line
• Resistance: Control, color, opacity, thickness, price line control and line style of the Resistance Line
• Support: Control, color, opacity, thickness, price line control and line style of the Support Line
• Plots Background: Control, color and opacity of the Upper Band
• Plots Background: Control, color and opacity of the Lower Band
• Labels: N/A
• Output
• Labels on price scale: Controls the display of current Center, Resistance and Support Line values on the price scale
• Values in status line: Controls the display of current Center, Resistance and Support Line values in the indicator's status line
█ HOW TO USE
The indicator includes three price lines:
• The grey Center Line in the middle shows the overall long-term bitcoin USD price trend
• The red Resistance Line at the top is an indication of where the bitcoin USD price is expected to meet strong long-term resistance
• The green Support Line at the bottom is an indication of where the bitcoin USD price is expected to receive strong long-term support
These lines envelope two price bands:
• The red Upper Band between the Center and Resistance Lines is an area where bitcoin is considered overbought (i.e. too expensive)
• The green Lower Band between the Support and Center Lines is an area where bitcoin is considered oversold (i.e. too cheap)
The power law model assumes that the price of bitcoin will fluctuate around the Center Line, by meeting resistance at the Resistance Line and finding support at the Support Line. When the current price is well below the Center Line (i.e. well into the green Lower Band), bitcoin is considered too cheap (oversold). When the current price is well above the Center Line (i.e. well into the red Upper Band), bitcoin is considered too expensive (overbought). This idea alone is not sufficient for profitable trading, but, when combined with other factors, it could guide the user's decision-making process in the right direction.
█ LIMITATIONS
The indicator is based on a static model, and for this reason it will gradually lose its usefulness. The Center Line is the most durable of the three lines since the long-term growth trend of bitcoin seems to deviate little from the power law. However, how far price extends above and below this line will change with every halving cycle (as can be seen for past cycles). Periodic updates will be needed to keep the indicator relevant. The user is invited to adjust the slope and intercept parameters manually between two updates of the indicator.
█ RAMBLINGS
The 'Bitcoin Power Law Bands' indicator is a useful tool for users wishing to place bitcoin in a macro context. As described above, the price level relative to the three lines is a rough indication of whether bitcoin is over- or undervalued. Users wishing to gain more insight into bitcoin price trends may follow the author's periodic updates of the DPC model (contact information below).
█ NOTES
The author regularly posts on Twitter using the @DeFi_initiate handle.
█ THANKS
Many thanks to the following individuals, who - one way or another - made the 'Bitcoin Power Law Bands' indicator possible:
• TradingView user 'capriole_charles', whose open-source 'Bitcoin Power Law Corridor' script was the basis for this indicator
• Harold Christopher Burger, whose Bitcoin’s natural long-term power-law corridor of growth article (2019) was the basis for the 'Bitcoin Power Law Corridor' script
• Bitcoin Forum user "Trololo", who posted the original power law model at Logarithmic (non-linear) regression - Bitcoin estimated value (2014)
HIGH and LOW Optimized Trend Tracker HOTT LOTTAnıl Özekşi's latest development on his precious OTT - Optimized Trend Tracker:
In this version, there are two lines of OTT which are derived from HIGHEST price values (HOTT) and LOVEST price values (LOTT) which were originally sourced to CLOSE values on default OTT.
Another significant difference is there is no Support Line (Moving Average) in this version.
The area between HOTT and LOTT is FLAT ZONE which developer advises to do nothing.
Bars will be highlighted to Turquoise when candles close over HOTT, means an UPTREND SIGNAL
and to Fuchia when candles begin closing under LOTT line to indicate a DOWNTREND SIGNAL.
FLAT ZONE is highlighted also to have the maximum concentration on sideways market conditions.
There are three quantitative parameters in this indicator:
The first parameter in the OTT indicator set by the two parameters is the period/length.
OTT lines will be much sensitive to trend movements if it is smaller.
And vice versa, will be less sensitive when it is longer.
As the period increases it will become less sensitive to little trends and price actions.
In this way, your choice of period, will be closely related to which of the sort of trends you are interested in.
The OTT percent parameter in OTT is an optimization coefficient. Just like in the period
small values are better at capturing short term fluctuations, while large values
will be more suitable for long-term trends.
The final adjustable quantitative parameter is HIGHEST and LOWEST length which is the source of calculations.
Anıl Özekşi generally works on 1 minute charts so I personally advise traders to optimize parameters to have more accurate signals. Just concentrate on FLAT price zones and indicator will do the rest in trends.
Built in Moving Average type defaultly set as VAR but users can choose from 10 different Moving Average types like:
SMA : Simple Moving Average
EMA : Exponential Moving Average
DEMA : Double Exponential Moving Average
WMA : Weighted Moving Average
TMA : Triangular Moving Average
VAR : Variable Index Dynamic Moving Average a.k.a. VIDYA
WWMA : Welles Wilder's Moving Average
ZLEMA : Zero Lag Exponential Moving Average
TSF : True Strength Force
HULL : Hull Moving Average
pandas_taLibrary "pandas_ta"
Level: 3
Background
Today is the first day of 2022 and happy new year every tradingviewers! May health and wealth go along with you all the time. I use this chance to publish my 1st PINE v5 lib : pandas_ta
This is not a piece of cake like thing, which cost me a lot of time and efforts to build this lib. Beyond 300 versions of this script was iterated in draft.
Function
Library "pandas_ta"
PINE v5 Counterpart of Pandas TA - A Technical Analysis Library in Python 3 at github.com
The Original Pandas Technical Analysis (Pandas TA) is an easy to use library that leverages the Pandas package with more than 130 Indicators and Utility functions and more than 60 TA Lib Candlestick Patterns.
I realized most of indicators except Candlestick Patterns because tradingview built-in Candlestick Patterns are even more powerful!
I use this to verify pandas_ta python version indicators for myself, but I realize that maybe many may need similar lib for pine v5 as well.
Function Brief Descriptions (Pls find details in script comments)
bton --> Binary to number
wcp --> Weighted Closing Price (WCP)
counter --> Condition counter
xbt --> Between
ebsw --> Even Better SineWave (EBSW)
ao --> Awesome Oscillator (AO)
apo --> Absolute Price Oscillator (APO)
xrf --> Dynamic shifted values
bias --> Bias (BIAS)
bop --> Balance of Power (BOP)
brar --> BRAR (BRAR)
cci --> Commodity Channel Index (CCI)
cfo --> Chande Forcast Oscillator (CFO)
cg --> Center of Gravity (CG)
cmo --> Chande Momentum Oscillator (CMO)
coppock --> Coppock Curve (COPC)
cti --> Correlation Trend Indicator (CTI)
dmi --> Directional Movement Index(DMI)
er --> Efficiency Ratio (ER)
eri --> Elder Ray Index (ERI)
fisher --> Fisher Transform (FISHT)
inertia --> Inertia (INERTIA)
kdj --> KDJ (KDJ)
kst --> 'Know Sure Thing' (KST)
macd --> Moving Average Convergence Divergence (MACD)
mom --> Momentum (MOM)
pgo --> Pretty Good Oscillator (PGO)
ppo --> Percentage Price Oscillator (PPO)
psl --> Psychological Line (PSL)
pvo --> Percentage Volume Oscillator (PVO)
qqe --> Quantitative Qualitative Estimation (QQE)
roc --> Rate of Change (ROC)
rsi --> Relative Strength Index (RSI)
rsx --> Relative Strength Xtra (rsx)
rvgi --> Relative Vigor Index (RVGI)
slope --> Slope
smi --> SMI Ergodic Indicator (SMI)
sqz* --> Squeeze (SQZ) * NOTE: code sufferred from very strange error, code was commented.
sqz_pro --> Squeeze PRO(SQZPRO)
xfl --> Condition filter
stc --> Schaff Trend Cycle (STC)
stoch --> Stochastic (STOCH)
stochrsi --> Stochastic RSI (STOCH RSI)
trix --> Trix (TRIX)
tsi --> True Strength Index (TSI)
uo --> Ultimate Oscillator (UO)
willr --> William's Percent R (WILLR)
alma --> Arnaud Legoux Moving Average (ALMA)
xll --> Dynamic rolling lowest values
dema --> Double Exponential Moving Average (DEMA)
ema --> Exponential Moving Average (EMA)
fwma --> Fibonacci's Weighted Moving Average (FWMA)
hilo --> Gann HiLo Activator(HiLo)
hma --> Hull Moving Average (HMA)
hwma --> HWMA (Holt-Winter Moving Average)
ichimoku --> Ichimoku Kinkō Hyō (ichimoku)
jma --> Jurik Moving Average Average (JMA)
kama --> Kaufman's Adaptive Moving Average (KAMA)
linreg --> Linear Regression Moving Average (linreg)
mgcd --> McGinley Dynamic Indicator
rma --> wildeR's Moving Average (RMA)
sinwma --> Sine Weighted Moving Average (SWMA)
ssf --> Ehler's Super Smoother Filter (SSF) © 2013
supertrend --> Supertrend (supertrend)
xsa --> X simple moving average
swma --> Symmetric Weighted Moving Average (SWMA)
t3 --> Tim Tillson's T3 Moving Average (T3)
tema --> Triple Exponential Moving Average (TEMA)
trima --> Triangular Moving Average (TRIMA)
vidya --> Variable Index Dynamic Average (VIDYA)
vwap --> Volume Weighted Average Price (VWAP)
vwma --> Volume Weighted Moving Average (VWMA)
wma --> Weighted Moving Average (WMA)
zlma --> Zero Lag Moving Average (ZLMA)
entropy --> Entropy (ENTP)
kurtosis --> Rolling Kurtosis
skew --> Rolling Skew
xev --> Condition all
zscore --> Rolling Z Score
adx --> Average Directional Movement (ADX)
aroon --> Aroon & Aroon Oscillator (AROON)
chop --> Choppiness Index (CHOP)
xex --> Condition any
cksp --> Chande Kroll Stop (CKSP)
dpo --> Detrend Price Oscillator (DPO)
long_run --> Long Run
psar --> Parabolic Stop and Reverse (psar)
short_run --> Short Run
vhf --> Vertical Horizontal Filter (VHF)
vortex --> Vortex
accbands --> Acceleration Bands (ACCBANDS)
atr --> Average True Range (ATR)
bbands --> Bollinger Bands (BBANDS)
donchian --> Donchian Channels (DC)
kc --> Keltner Channels (KC)
massi --> Mass Index (MASSI)
natr --> Normalized Average True Range (NATR)
pdist --> Price Distance (PDIST)
rvi --> Relative Volatility Index (RVI)
thermo --> Elders Thermometer (THERMO)
ui --> Ulcer Index (UI)
ad --> Accumulation/Distribution (AD)
cmf --> Chaikin Money Flow (CMF)
efi --> Elder's Force Index (EFI)
ecm --> Ease of Movement (EOM)
kvo --> Klinger Volume Oscillator (KVO)
mfi --> Money Flow Index (MFI)
nvi --> Negative Volume Index (NVI)
obv --> On Balance Volume (OBV)
pvi --> Positive Volume Index (PVI)
dvdi --> Dual Volume Divergence Index (DVDI)
xhh --> Dynamic rolling highest values
pvt --> Price-Volume Trend (PVT)
Remarks
I also incorporated func descriptions and func test script in commented mode, you can test the functino with the embedded test script and modify them as you wish.
This is a Level 3 free and open source indicator library.
Feedbacks are appreciated.
This is not the end of pandas_ta lib publication, but it is start point with pine v5 lib function and I will add more and more funcs into this lib for my own indicators.
Function Name List:
bton()
wcp()
count()
xbt()
ebsw()
ao()
apo()
xrf()
bias()
bop()
brar()
cci()
cfo()
cg()
cmo()
coppock()
cti()
dmi()
er()
eri()
fisher()
inertia()
kdj()
kst()
macd()
mom()
pgo()
ppo()
psl()
pvo()
qqe()
roc()
rsi()
rsx()
rvgi()
slope()
smi()
sqz_pro()
xfl()
stc()
stoch()
stochrsi()
trix()
tsi()
uo()
willr()
alma()
wcx()
xll()
dema()
ema()
fwma()
hilo()
hma()
hwma()
ichimoku()
jma()
kama()
linreg()
mgcd()
rma()
sinwma()
ssf()
supertrend()
xsa()
swma()
t3()
tema()
trima()
vidya()
vwap()
vwma()
wma()
zlma()
entropy()
kurtosis()
skew()
xev()
zscore()
adx()
aroon()
chop()
xex()
cksp()
dpo()
long_run()
psar()
short_run()
vhf()
vortex()
accbands()
atr()
bbands()
donchian()
kc()
massi()
natr()
pdist()
rvi()
thermo()
ui()
ad()
cmf()
efi()
ecm()
kvo()
mfi()
nvi()
obv()
pvi()
dvdi()
xhh()
pvt()
MLActivationFunctionsLibrary "MLActivationFunctions"
Activation functions for Neural networks.
binary_step(value) Basic threshold output classifier to activate/deactivate neuron.
Parameters:
value : float, value to process.
Returns: float
linear(value) Input is the same as output.
Parameters:
value : float, value to process.
Returns: float
sigmoid(value) Sigmoid or logistic function.
Parameters:
value : float, value to process.
Returns: float
sigmoid_derivative(value) Derivative of sigmoid function.
Parameters:
value : float, value to process.
Returns: float
tanh(value) Hyperbolic tangent function.
Parameters:
value : float, value to process.
Returns: float
tanh_derivative(value) Hyperbolic tangent function derivative.
Parameters:
value : float, value to process.
Returns: float
relu(value) Rectified linear unit (RELU) function.
Parameters:
value : float, value to process.
Returns: float
relu_derivative(value) RELU function derivative.
Parameters:
value : float, value to process.
Returns: float
leaky_relu(value) Leaky RELU function.
Parameters:
value : float, value to process.
Returns: float
leaky_relu_derivative(value) Leaky RELU function derivative.
Parameters:
value : float, value to process.
Returns: float
relu6(value) RELU-6 function.
Parameters:
value : float, value to process.
Returns: float
softmax(value) Softmax function.
Parameters:
value : float array, values to process.
Returns: float
softplus(value) Softplus function.
Parameters:
value : float, value to process.
Returns: float
softsign(value) Softsign function.
Parameters:
value : float, value to process.
Returns: float
elu(value, alpha) Exponential Linear Unit (ELU) function.
Parameters:
value : float, value to process.
alpha : float, default=1.0, predefined constant, controls the value to which an ELU saturates for negative net inputs. .
Returns: float
selu(value, alpha, scale) Scaled Exponential Linear Unit (SELU) function.
Parameters:
value : float, value to process.
alpha : float, default=1.67326324, predefined constant, controls the value to which an SELU saturates for negative net inputs. .
scale : float, default=1.05070098, predefined constant.
Returns: float
exponential(value) Pointer to math.exp() function.
Parameters:
value : float, value to process.
Returns: float
function(name, value, alpha, scale) Activation function.
Parameters:
name : string, name of activation function.
value : float, value to process.
alpha : float, default=na, if required.
scale : float, default=na, if required.
Returns: float
derivative(name, value, alpha, scale) Derivative Activation function.
Parameters:
name : string, name of activation function.
value : float, value to process.
alpha : float, default=na, if required.
scale : float, default=na, if required.
Returns: float
Moving Average Multitool CrossoverAs per request, this is a moving average crossover version of my original moving average multitool script .
It allows you to easily access and switch between different types of moving averages, without having to continuously add and remove different moving averages from your chart. This should make backtesting moving average crossovers much, much more easier. It also has the option to show buy and sell signals for the crossovers of the chosen moving averages.
It contains the following moving averages:
Exponential Moving Average (EMA)
Simple Moving Average (SMA)
Weighted Moving Average (WMA)
Double Exponential Moving Average (DEMA)
Triple Exponential Moving Average (TEMA)
Triangular Moving Average (TMA)
Volume-Weighted Moving Average (VWMA)
Smoothed Moving Average (SMMA)
Hull Moving Average (HMA)
Least Squares Moving Average (LSMA)
Kijun-Sen line from the Ichimoku Kinko-Hyo system (Kijun)
McGinley Dynamic (MD)
Rolling Moving Average (RMA)
Jurik Moving Average (JMA)
Arnaud Legoux Moving Average (ALMA)
Vector Autoregression Moving Average (VAR)
Welles Wilder Moving Average (WWMA)
Sine Weighted Moving Average (SWMA)
Leo Moving Average (LMA)
Variable Index Dynamic Average (VIDYA)
Fractal Adaptive Moving Average (FRAMA)
Variable Moving Average (VAR)
Geometric Mean Moving Average (GMMA)
Corrective Moving Average (CMA)
Moving Median (MM)
Quick Moving Average (QMA)
Kaufman's Adaptive Moving Average (KAMA)
Volatility-Adjusted Moving Average (VAMA)
Modular Filter (MF)
InterpolationLibrary "Interpolation"
Functions for interpolating values. Can be useful in signal processing or applied as a sigmoid function.
linear(k, delta, offset, unbound) Returns the linear adjusted value.
Parameters:
k : A number (float) from 0 to 1 representing where the on the line the value is.
delta : The amount the value should change as k reaches 1.
offset : The start value.
unbound : When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
quadIn(k, delta, offset, unbound) Returns the quadratic (easing-in) adjusted value.
Parameters:
k : A number (float) from 0 to 1 representing where the on the curve the value is.
delta : The amount the value should change as k reaches 1.
offset : The start value.
unbound : When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
quadOut(k, delta, offset, unbound) Returns the quadratic (easing-out) adjusted value.
Parameters:
k : A number (float) from 0 to 1 representing where the on the curve the value is.
delta : The amount the value should change as k reaches 1.
offset : The start value.
unbound : When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
quadInOut(k, delta, offset, unbound) Returns the quadratic (easing-in-out) adjusted value.
Parameters:
k : A number (float) from 0 to 1 representing where the on the curve the value is.
delta : The amount the value should change as k reaches 1.
offset : The start value.
unbound : When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
cubicIn(k, delta, offset, unbound) Returns the cubic (easing-in) adjusted value.
Parameters:
k : A number (float) from 0 to 1 representing where the on the curve the value is.
delta : The amount the value should change as k reaches 1.
offset : The start value.
unbound : When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
cubicOut(k, delta, offset, unbound) Returns the cubic (easing-out) adjusted value.
Parameters:
k : A number (float) from 0 to 1 representing where the on the curve the value is.
delta : The amount the value should change as k reaches 1.
offset : The start value.
unbound : When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
cubicInOut(k, delta, offset, unbound) Returns the cubic (easing-in-out) adjusted value.
Parameters:
k : A number (float) from 0 to 1 representing where the on the curve the value is.
delta : The amount the value should change as k reaches 1.
offset : The start value.
unbound : When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
expoIn(k, delta, offset, unbound) Returns the exponential (easing-in) adjusted value.
Parameters:
k : A number (float) from 0 to 1 representing where the on the curve the value is.
delta : The amount the value should change as k reaches 1.
offset : The start value.
unbound : When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
expoOut(k, delta, offset, unbound) Returns the exponential (easing-out) adjusted value.
Parameters:
k : A number (float) from 0 to 1 representing where the on the curve the value is.
delta : The amount the value should change as k reaches 1.
offset : The start value.
unbound : When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
expoInOut(k, delta, offset, unbound) Returns the exponential (easing-in-out) adjusted value.
Parameters:
k : A number (float) from 0 to 1 representing where the on the curve the value is.
delta : The amount the value should change as k reaches 1.
offset : The start value.
unbound : When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
using(fn, k, delta, offset, unbound) Returns the adjusted value by function name.
Parameters:
fn : The name of the function. Allowed values: linear, quadIn, quadOut, quadInOut, cubicIn, cubicOut, cubicInOut, expoIn, expoOut, expoInOut.
k : A number (float) from 0 to 1 representing where the on the curve the value is.
delta : The amount the value should change as k reaches 1.
offset : The start value.
unbound : When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
MACD-EDT "EMA DEMA TEMA" [DM]Greetings to all colleagues
Today I share a MACD with the EMA , DEMA , TEMA variants.
The aim is that they can see how the signals vary from a normal MACD to one with the averages created by Patrick Mulloy (1994)
Variables of this MACD:
EMA = Exponential Moving Average
DEMA = Double Exponential Moving Average
TOPIC = Triple Exponential Moving Average
He also has in the arsenal:
SMA Simple Moving Average
WMA Weighted Moving Average
Plus...:
Volume-weighted variant in all of them
Visual options:
Points at the crossroads
Shadows on the body of the signals
All colors are customizable
Histogram and shadow are gradients at 15 steps
It has switches for:
Shadow
Histogram
Macd and signal
Crosses
Some minor details remain to be incorporated in the next few days.
Pre-cross calculation.
Alerts
Bar color
Enjoy!!! ;-)
SirSeff's EMA RainbowThis strategy uses divergences between three exponential moving averages and their slope directions as well as crosses between the price and these moving averages to switch between a long or short position. The strategy is non-stop in the market and always either long or short.\
This trend trading strategy uses exponential moving averages of 10, 20, 50, 100, 150, 200 to gauge the price action cycle if it is on Stage 2 aka Mark up famously coined by Dr.Wykcoff.
It opens a position when the closing price crosses above the 10ema and all the exponential moving averages are stacked up together. Stacked-up Moving averages are used by Mark Minervini and Oliver Kell.
I close a position at an 8% trailing stop from the opened position which makes the succeeding buy orders as scaling up or averaging up from an established bullish trend.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
User Selectable Moving Average GuppyA version of the popular "Moving Average Ribbon" or "Guppy" indicators, except nearly everything about it is user selectable. The user can change the source, period, and type of moving average used for every single line on the chart. Note: The visuals are fairly intensive and may take a moment to catch up after adjusting settings.
Credit: This script utilizes the "Color Gradient Framework" tutorial by LucF (PineCoders) to create gradient visuals, which are also customizable for the user.
Moving Average Options:
Running (SMoothed) Moving Average (RMA or SMMA) - Slowest
Simple Moving Average (SMA) - Slow
Exponential Moving Average (EMA) - Responds faster to price than SMA
Weighted Moving Average (WMA)
Volume-Weighted Moving Average (VWMA)
Triple EMA (TEMA)
Exponential Hull Moving Average (EHMA) - Hull with Smoothing (Slower than Hull)
Least Squares Moving Average (LSMA) - Simple Linear Regression
Arnaud Legoux Moving Average (ALMA) - Adjustable, set offset=1 to be current, offset=0.85 for good smoothing (Slower)
Hull Moving Average (HMA) - Normally responds fastest to price of all options
Value Added :
This script is unique in that it allows the user to chart the "Guppy", except nearly everything about it is customizable. The user can change the source, period, and type of moving average used for every single line.
Typically, the Guppy is plotted with simple moving average or exponential moving average, which respond much slower to price than the Hull Moving Average, which this indicator uses as default. (Elimination of lag)
The Hull MA settings for the highest time frame moving averages should work well for assessing the overall macro trend, with a nice visual presentation. Additional labels and alerts for the macro trend are available.
Furthermore, this script provides many more options for type of moving average than is typical for a moving average indicator that provides the user with options, including advanced options such as Hull, TEMA, and ALMA.
The visual presentation is customizable and should provide some entertainment for users who want to create pretty charts.
MACD PRO by LDZ1LANDZZ1 MACD Pro was developed to show the first signs of reversal, direction, and also trend strength.
Unlike normal MACD, this indicator has 3 lines as information. A white line (short EMA), a purple line (sign), and a yellow line (long EMA).
The Purple Line "Signal" is a 17-period Exponential Moving Average.
The White Line "Short EMA" is a 34-period Exponential Moving Average.
The Yellow Line "Long EMA" is a 72-Period Exponential Moving Average.
When the background color turns green it indicates that we are above 0 (positive trend) and above the Signal line (positive trend)
When the background color turns Yellow it indicates that we are above 0 (positive trend) but below the Signal line (Indicating Attention to a possible trend reversal or price correction)
When the background color turns Red it indicates that we are below 0 (negative trend) and below the Signal line (negative trend)
When the background color turns Orange it indicates that we are below 0 (negative trend) and above the signal line (Indicating attention to a possible trend reversal or price correction)
The Yellow line is like a watershed, when the White Line "Short EMA" crosses above or below it, it indicates that a stronger price movement may occur.
Tip:
Only enter Long Positions when the background color turns green and the Short EMA (White line) is above the yellow line and/or the white dotted horizontal line.
Only enter Short Positions when the background color turns red and the Long EMA (Yellow line) is below the white dotted horizontal line.
Note the difference of MACD Pro by LANDZZ1 as the traditional MACD.
----------------------------------------------------------
Description in Portuguese-BR
MACD Pro by LANDZZ1 foi desenvolvido para mostrar os primeiros sinais de reversão, direção e também força da tendência.
Diferente do MACD normal, este indicador tem como informação 3 linhas. Uma linha branca (short EMA), uma linha roxa(signal) e uma linha amarela (long EMA).
A Linha Roxa "Signal" é uma Média Móvel Exponencial de 17 períodos.
A Linha branca "Short EMA" é uma Média Móvel Exponencial de 34 períodos.
A Linha Amarela "Long EMA" é uma Média Móvel Exponencial de 72 Períodos.
Quando a cor de fundo ficar verde indica que estamos acima de 0 (tendência positiva) e acima da linha de Sinal (tendência positiva)
Quando a cor de fundo ficar Amarelo indica que estamos acima de 0 (tendência positiva) porém abaixo da linha de Sinal (Indicando Atenção a uma possível reversão de tendência ou correção de preço)
Quando a cor de fundo ficar vermelho indica que estamos abaixo de 0 (tendência negativa) e abaixo da linha de Sinal (tendência negativa)
Quando a cor de fundo ficar laranja indica que estamos abaixo de 0 (tendência negativa) e acima da linha de sinal (Indicando atenção a uma possível reversão de tendência ou correção do preço)
A linha amarela é como um divisor de águas, quando a linha branca (Short EMA) cruza para cima ou para baixo dela, indica que um movimento mais forte forte de preço poderá ocorrer.
Dica:
Apenas entre em Long Positions quando a cor de fundo ficar verde e se a Short EMA (linha Branca) estiver acima da linha amarela e/ou da linha horizontal pontilhada branca.
Apenas entre em Short Positions quando a cor de fundo ficar Vermelha e se a Long EMA (linha Amarela) estiver abaixo da linha horizontal pontilhada branca.
Repare a diferença do MACD Pro by LANDZZ1 como o MACD tradicional.
4-Hour Stochastic EMA TrendThis trading strategy relies heavily on catching the trend. You
may have success using this strategy on as low as the one hour
chart or as high as the daily chart; however, I’ve had most
success trading it on the four hour chart. This strategy consists
of four indicators, which are:
1. 5 Period Exponential Moving Average (closed)
2. 15 Period Exponential Moving Average (closed)
3. 50 Period Exponential Moving Average (closed)
4. Stochastic indicator K=13 D=5 Smooth=5 (13,5,5) 80/20
Levels
Refer
Triple EMA Scalper low lag stratHi all,
This strategy is based on the Amazing scalper for majors with risk management by SoftKill21
The change is in lines 11-20 where the sma's are replaced with Triple ema's to
lower the lag.
The original author is SoftKill21. His explanation is repeated below:
Best suited for 1M time frame and majors currency pairs.
Note that I tried it at 3M time frame.
Its made of :
Ema ( exponential moving average ) , long period 25
Ema ( exponential moving average ) Predictive, long period 50,
Ema ( exponential moving average ) Predictive, long period 100
Risk management , risking % of equity per trade using stop loss and take profits levels.
Long Entry:
When the Ema 25 cross up through the 50 Ema and 100 EMA . and we are in london or new york session( very important the session, imagine if we have only american or european currencies, its best to test it)
Short Entry:
When the Ema 25 cross down through the 50 Ema and 100 EMA , and we are in london or new york session( very important the session, imagine if we have only american or european currencies, its best to test it)
Exit:
TargetPrice: 5-10 pips
Stop loss: 9-12 pips
Amazing scalper for majors with risk managementHello,
Today I am glad to bring you an amazing simple and efficient scalper strategy.
Best suited for 1M time frame and majors currency pairs.
Its made of :
Ema (exponential moving average) , long period 25
Ema(exponential moving average) Predictive, long period 50,
Ema(exponential moving average) Predictive, long period 100
Risk management , risking % of equity per trade using stop loss and take profits levels.
Long Entry:
When the Ema 25 cross up through the 50 Ema and 100 EMA. and we are in london or new york session( very important the session, imagine if we have only american or european currencies, its best to test it)
Short Entry:
When the Ema 25 cross down through the 50 Ema and 100 EMA, and we are in london or new york session( very important the session, imagine if we have only american or european currencies, its best to test it)
Exit:
TargetPrice: 5-10 pips
Stop loss: 9-12 pips
Hope you enjoy it :)
OSCAR Oscillator by GenZai - NNFXOSCAR Oscillator by GenZai
Green line is the Oscar Rough
Red line is the Oscar
By default based on the 8 last candles and smoothed using RMA
Purple line is the Slow Oscar
By default based on the 16 last candles and smoothed using WMA
HOW TO USE
Exit signaling
This indicator can be used as an exit indicator when line cross each other.
Entry signaling
When the green line crosses up, it indicates a long entry
When the red line crosses up, it indicates a short entry
Overbought/Oversold
When the indicator crosses the dashed grey lines it indicates Overbought Oversold
Slow Oscar Add-on
This is an Add-on to the orignal Oscar indicator
Can be hidden if you want the original experience of the Oscar indicator.
Can be used as a confirmation indicator by looking at the direction of the slope to verify is your are trending long or trending short.
Can be used as a baseline to confirm signals given by Oscar
Can be used to tweak your signals and test different settings.
Stock or Forex?
The program was originally written for stocks, but works equally well with the Forex market.
How this indicator is calculated ?
This is the formula we use to calculate the Oscar:
let A = the highest high of the last eight days (including today)
let B = the lowest low of the past eight days (including today)
let C = today's closing price
let X = yesterday's oscillator figure (Oscar)
Today's "rough" oscillator equals (C-B) divided by (A-B) times 100.
Next we "smooth" our rough number (let's call it Y) like this:
Final oscillator number = ((X divided by 3) times 2), plus (Y divided by 3).
SETTINGS:
You can choose between different smoothing options:
RMA: Moving average used in RSI. It is the Adjusted exponential moving averages (also known as Wilder's exponential moving average)
SMA : Simple moving average
EMA : Exponential moving average
WMA : Weighted moving average
[LunaOwl] 11 kinds of Adaptive MA Model作品: 11種自適應性平滑模型
It integrates eleven kinds of adaptive moving average method. At first, I just wanted to make a ATR. Later, the price series ±N*ATR mult, to form two series. Then use the concept of support/resistance breakthrough to design it, and then two adaptive series formation channels were formed. Take the average of the two series as the signal. When the price crosses the signal, it's judged to be long or short.
整合了十一種能夠自適應性的移動平均模型。起初只是想要做一個基本款ATR指標,後來將價格加減N個ATR倍數,形成兩條序列形成通道,再使用支撐阻力突破的概念去設計它,再形成兩條自適應性的序列形成通道,再取中間值當成信號。當價格與信號交叉,則判斷作多或者作空。
--------------------------*
Parameter 設置參數
Resolution: The default is "the same as the variety". Is a named constant for resolution input type of input function.
商品分辨率:預設與品種相同。是input函數的時間周期輸入類型的命名常量。
Smoothing: The default is Recursive Moving Average(RMA). It can choose other methods, the table is as follows.
平滑類型:預設是「遞回平均」,可以選擇其它方法,列表如下。
列表 / The table of moving averages is as follows:
//****中英對照表*****##______________________________________
1. 遞回平均 || Recursive Moving Average
2. 簡單平均 || Simple Moving Average
3. 指數平均 || Exponential Moving Average
4. 加權平均 || Weighted Moving Average
5. 船體平均 || Hull Moving Average
6. 成交量加權 || Volume Weighted Moving Average
7. 對稱加權 || Symmetric Weighted Moving Average
8. 雙重指數 || Double Exponential Moving Average
9. 三重指數 || Triple Exponential Moving Average
10. 高斯分佈 || Arnaud Legoux Moving Average
11. 提爾森T3 || Tillson T3 Moving Average
//##_________________________________________________________
Candle Mode: There are three versions, original, two-color and four-color.
燭台模式:預設模式只區分趨勢,可以改成原版蠟燭或四種顏色版本。
Length: The default is 14, usually no need to adjust.
平滑期數:預設值是14,基本上不用理它。
Occurrence: The default is 1. The range is 0~10. The larger the value, the more delayed. If zero will become too sensitive and noise.
滯後性:預設值是1。調整範圍是0~10,數值愈大信號愈延遲,如果值為0,會變得過於敏捷,那將會失去平滑的意義。
N multiple: The default is 0.618, can be set to 1. The range is 0.382~3.000.
倍數N:預設值是0.618,也可以設定1,最低是0.382,最大是3。
--------------------------*
1. Candle Mode can set the original candle, cancel candle trend color changes. However, the background will still be filled.
可以設定顯示原版的蠟燭線,背景與線並不會消失。
2. Four-color version of candles. It shows changes in trends and prices.
四色版本的蠟燭線,可以顯示趨勢與每日收盤價的變化。
Trend AnalyzerA simple script that plots difference between 2 moving averages and depicts convergance/divergance in color coded format.
Anything <= 0 is red and shows a bearish trend whereas > 0 is green and shows bullish trend.
Adjust the input parameters as following for your preferred time frame :
4-Hr: Exponential, 15, 30
Daily: Exponential, 10, 20
Weekly: Exponential, 5, 10
DEMA Strategy with MACDThe Double Exponential Moving Average (DEMA) indicator was introduced in January 1994 by Patrick G. Mulloy, in an article in the "Technical Analysis of Stocks & Commodities" magazine: "Smoothing Data with Faster Moving Averages"
It attempts to remove the inherent lag associated to Moving Averages by placing more weight on recent values. The name suggests this is achieved by applying a double exponential smoothing which is not the case. The name double comes from the fact that the value of an EMA (Exponential Moving Average) is doubled. To keep it in line with the actual data and to remove the lag the value "EMA of EMA" is subtracted from the previously doubled ema.
DEMA is a very responsive system. A lot of signals can be generated only when trading with DEMA. In this strategy, I combined Dema buy-sell signals with MACD indicator. When you activate MACD confirmation from settings; When DEMA comes to long situation, the MACD histogram is checked to be positive.
Noro's CrossMASimple strategy. Price and moving average crossing. There is a choice of type of moving average.
Moving average types
SMA = Simple Moving Average
EMA = Exponential Moving Average
VWMA = Volume-Weighted Moving Average
DEMA = Double Exponential Moving Average
TEMA = Triple Exponential Moving Average
KAMA = Kaufman's Adaptive Moving Average
PCMA = Central line of price channel (Donchian channel)
Non Parametric Adaptive Moving AverageIntroduction
Not be confused with non-parametric statistics, i define a "non-parametric" indicator as an indicator who does not have any parameter input. Such indicators can be useful since they don't need to go through parameter optimization. I present here a non parametric adaptive moving average based on exponential averaging using a modified ratio of open-close to high-low range indicator as smoothing variable.
The Indicator
The ratio of open-close to high-low range is a measurement involving calculating the ratio between the absolute close/open price difference and the range (high - low) , now the relationship between high/low and open/close price has been studied in econometrics for some time but there are no reason that the ohlc range ratio may be an indicator of volatility, however we can make the hypothesis that trending markets contain less indecision than ranging market and that indecision is measured by the high/low movements, this is an idea that i've heard various time.
Since the range is always greater than the absolute close/open difference we have a scaled smoothing variable in a range of 0/1, this allow to perform exponential averaging. The ratio of open-close to high-low range is calculated using the vwap of the close/high/low/open price in order to increase the smoothing effect. The vwap tend to smooth more with low time frames than higher ones, since the indicator use vwap for the calculation of its smoothing variable, smoothing may differ depending on the time frame you are in.
1 minute tf
1 hour tf
Conclusion
Making non parametric indicators is quite efficient, but they wont necessarily outperform classical parametric indicators. I also presented a modified version of the ratio of open-close to high-low range who can provide a smoothing variable for exponential averaging. I hope the indicator can help you in any way.
Thanks for reading !
WillSpread IndexDescription Source: www.instaforex.com
The technical indicator Will-Spread was developed by Larry Williams and described in his book Long-Term Secrets to Short-Term Trading. Will-Spread is one of the strongest financial indicators, which measures the flow of price between the primary market and a secondary market. The purpose of this comparison is to highlight signals for opening/closing positions of a financial asset through market signals that have influence on this particular asset. Once the Will Spread turns positive, look for the next bar to be above bar when Will spread turned positive to get long.
Indicator Use
Trading use The main method of using Will-Spread is watching the way it crossing the zero line. If the indicator crosses the zero line upward, rising trend is likely to continue. When the indicator falls below the zero line, there is an obvious downtrend. The author offered to use the indicator in trading from the standpoint of a filter: when Will-Spread crosses the zero line, a trader should wait for the formation of the bar that follows after the signal. In case the new bar generates a high/low above/below the previous one, a trader should open position. It is not recommended to open position if the bar does not form a new high/low.
The spread (A/B *100) takes two underlyings, get the exponential average creating exponential period (5) and subtract from another exponential period (20). The example he gives is that bonds move stocks, so we take the S&P and bonds. Get a will spread of SPY & TLT.
Relative Strength Index of Moving Average MTF alertsAll credit to this study is for chris jhoncic , this is MTF version with alert of his study
basic idea is hybrid of RSI and different MA
You can choose which MA from the following list:
Tillson Moving Average (T3)
Double Exponential Moving Average ( DEMA )
Arnaud Legoux Moving Average ( ALMA )
Least Squares Moving Average ( LSMA )
Simple Moving Average ( SMA )
Exponential Moving Average ( EMA )
Weighted Moving Average ( WMA )
Smoothed Moving Average ( SMMA )
Triple Exponential Moving Average ( TEMA )
Hull Moving Average ( HMA )
Adaptive moving average (AMA)
Fractal Adaptive Moving Average (FAMA)
Variable Index Dynamic Average ( VIDYA )
Triangular Moving Average (TRIMA)
to change the time frame change int2 to what you desire
Relative Strength Index of Moving AveragePine script version 3
Author CryptoJoncis
RSIOMA is the abbreviation for Relative Strength index (RSI) of moving averages (MA). This custom built indicator is based on calculating the relative strength of two moving averages and the smoothes out the RSI using a moving average. Combined, the RSIOMA oscillator depicts trend changes in prices relative to the time frame. The RSIOMA can be used as a signal generator by itself. (www.ProfitF.com)
There are some minor things which you can use to modify this version of RSIOMA:
Choose 2 levels of Over Sold and Over Bought for RSI
Set the middle level to easier visualize the trend
Set x% wider MA line to avoid too many fake signals and gain higher precision
You can choose which MA would you like to use from the following list:
Tillson Moving Average (T3)
Double Exponential Moving Average ( DEMA )
Arnaud Legoux Moving Average ( ALMA )
Least Squares Moving Average ( LSMA )
Simple Moving Average ( SMA )
Exponential Moving Average ( EMA )
Weighted Moving Average ( WMA )
Smoothed Moving Average ( SMMA )
Triple Exponential Moving Average ( TEMA )
Hull Moving Average ( HMA )
Adaptive moving average (AMA)
Fractal Adaptive Moving Average (FAMA)
Variable Index Dynamic Average ( VIDYA )
Triangular Moving Average (TRIMA)
Any questions/suggestions/errors or spelling mistakes? Please leave a comment and let me know.
You can use,publish,modify this code in any way as you wish, but only if you reference me after.
You are not allowed to sell it as it is.
If this code is useful to you, then consider to buy me a coffee 2.17% (or better a pint of beer) by donating Bitcoin 0.64% or Etherium to:
BTC: 3FiBnveHo3YW6DSiPEmoCFCyCnsrWS3JBR
ETH: 0xac290B4A721f5ef75b0971F1102e01E1942A4578
References:
www.profitf.com