RSI Buy & Sell Trading ScriptThis is my first attempt at a trading script using the RSI indicator for Buy & Sell signals (so please be nice but would appreciate any constructive comments).
Starting with $100 initial capital and using 10% per trade
You can select which month the backtesting starts
There is also a monthly table (sorry can’t remember who I got this from) that shows the total monthly profits, but you’ll need to turn it on by going into settings, Properties and in the Recalculate section tick the “On every tick” box
It should do the following:
Open Buy order if the RSI > 68 and the current Moving Average is greater than the previous Moving average
• TP1 = 50% of Order at 0.4%
• TP2 = 50% of order at 0.8%
• SL = 2% below entry
• Close Buy order if the RSI < 30
Open Sell order if the RSI < 28 and the current Moving Average is less than the previous Moving average
• TP1 = 50% of Order at 0.4%
• TP2 = 50% of order at 0.8%
• SL = 2% above entry
• Close Buy order if the RSI < 60
I would like to build on this if you have any ideas/ code that could help like the following:
• Move the SL to break even when it hits TP1
• Move the SL to TP1 when TP2 hits
• Moving take profit code so I can let the some of the trade stay in play (activate if it hits 1% profit and close trade if price retracts 0.5%)
Indicators
Big Money Flow & Drift Oscillator [Spiritualhealer117]An easy way to track what big money and market makers are doing in the markets. The Big Money Flow & Drift Oscillator is best suited as a trend indicator, estimating what way the market will drift on low volume and what way it will move on large volume.
This oscillator is composed of two lines, the Big Money Flow and Drift Oscillator. The Big Money Flow line gives the average percentage return of the asset when the volume is greater than the EMA of volume, showing that big money is making moves in the market. The Drift Oscillator gives the average percentage return of the asset when the volume is less than the EMA of volume, where pricing is done by small money and market makers.
By default, between the two lines, there is a color fill, determined based on the following logic:
BMF > drift and BMF > 0: Yellow
drift > BMF and drift > 0: Beige
BMF > drift and BMF < 0: Orange
drift > BMF and drift < 0: Red
Crypto Force IndexIntroduction
The Crypto Force Index (CFI) indicator helps us understand the current strength and weakness of the price. It is very useful when used on high timeframes for investment purposes and not for short term trading.
To determine the strength and weakness of the price, a level grid based on the RSI indicator is used.
Based on the RSI value, red circles (oversold condition) and green circles (overbought condition) appear under the price candles. The more intense the color of the circles, the more that the current price is in an overbought or oversold condition.
The signal levels are all configurable to adapt the indicator across multiple instruments and markets.
The default configuration have been designed to obtain more accurate signals on Ethereum and Bitcoin, using the weekly timeframe.
Why Crypto Force Index?
The Crypto Force Index (CFI) is the consequence of my study of investments based on the accumulation plan. I wanted to demonstrate that I am improving the returns of the classic DCA ( dollar cost averaging ) and VA ( value averaging ).
After finding my own model of an accumulation plan, I decided to create the Crypto Force Index to help me visually enter the market.
The formulas of the indicator are very simple, but my studies confirm the power of this tool.
How are the signals to be interpreted?
The Crypto Force Index helps us to highlight the overbought and oversold areas, with the use of circles under the price of candles and with a thermometer inserted at the base of the graph, where all the phases of strength and weakness are highlighted.
As soon as the red circles start to appear on the chart, that may be a good time to enter LONG to the market and start accumulating. If the circles are green, we can consider decreasing the current exposure by selling part of your portfolio, or decide to stay flat.
I personally use these signals on the weekly timeframe, to decide to feed my accumulation plan at the beginning of each month.
I hope it can be of help to you! Please help me improve the Crypto Force Index! :)
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.
Opens, Closes, Highs and Lows.Hello Traders, the script below is designed to display the monthly, weekly, previous days' and current days' open, close, high and low.
I designed it to assist in top down analysis by knowing the monthly and weekly opens and closes it makes it a lot easier to make trading decisions on the lower timeframes.
As the user you can choose which price values you'd like displayed on the chart by selecting them in the user inputs.
Enjoy!!
Squeeze Momentum Indicator [LazyBear] added Alerting + webhookA modified version of Squeeze Momentum Indicator visualizing on Price Chart.
author: @LazyBear, modified by @KivancOzbilgic, and by @dgtrd
I took in all of the information as the script below is based on the V2 Script that @LazyBear posted and then added Alerting based on the math and the conditions that @dgtrd added.
Per the description here:
The Squeeze Indicator measures the relationship between Bollinger Bands and Keltner's Channels to help identify consolidations and signal when prices are likely to break out (whether up or down).
The Squeeze Indicator finds sections of the Bollinger Bands which fall inside the Keltner's Channels, and in this case, the market is said to be in a squeeze (indicator turns off, displayed with grey diamond shapes in this study).
When the volatility increases, so does the distance between the bands. Conversely, when the volatility declines, the distance also decreases, and in such cases, the squeeze is said to be released (indicator turns on, displayed with triangle up or triangle down shapes)
Taking the above information and what was in the script was able to base the alert conditions:
So when the condition:
Squeeze On or No Squeeze = In Squeeze
Squeeze Off = Squeeze Release Long or Squeeze Release Long based off conditions.
There are 2 separate alert Types.
1. App, Pop-up, eMail, play sound and Send email to SMS
2. It Is dedicated to Webhook for your various applications.
Alerting Options
i.imgur.com
App Notification
i.imgur.com
i.imgur.com
Webhook test into Discord
i.imgur.com
Volume [Educational]Hello All,
This is an educational work and it's developed to show how to write scripts that will work like built-in volume indicator.
We have new features in Pine Script™ Language, such chart.bg_color, chart.fg_color, chart.left_visible_bar_time, chart.right_visible_bar_time and many more. Many Thanks to Tradingview and Pine Team for such great additions!
You can find more information about these new functions here .
How the script works?
- At the first step it calculates how many visible bar on the chart by using chart.right_visible_bar_time and chart.left_visible_bar_time functions.
- Calculates the zero line for the volume
- Finds maximum volume on visible area and normalize all volume values
- Draws volume bars
- Shows volume info as indicator value. in this step it uses chart.fg_color and plotarrow() commands to show the values in optimum color.
In order to place the indicator at the bottom of the chart, Please set Bottom Margin = 0 as shown in the following screenshot:
You can change the volume bar colors optionally.
An Example screenshot with different volume bar colors:
Enjoy!
RSI, Stoch Rsi, EMA, SMA, & ROCThis indicator is simply an enhanced version of the RSI followed up by a few extra indicators that pair strongly with the RSI. This indicator allows the user to interact with various inputs based off the indicators provided. All indicators include moving average, relative strength index, stochastic relative strength index, simple moving average, exponential moving average, and rate of change. This program is unique as it is very versatile allowing the user to use as little or as many indicators as needed interchangeably.
Realtime Divergence for Any IndicatorThis indicator is an addon to any oscillating indicator. It shows divergences. It shows realtime divergences too. Realtime divergences are potential divergences because the actual pivot is not fully formed.
It shows:
Regular Bullish Divergences
Hidden Bullish Divergences
Regular Bearish Divergences
Hidden Bearish Divergences
Reatime divergence lines are dashed lines while non-reatime are solid.
This script also offers a fair bit of control over what you can accept as a legitimate divergence.
Also note that functions tend to not work properly in conditional and loop structures so I couldn't use a lot of functions and consequently my script is really big. Sorry.
Sherry on cryptoIf the price is above the 200 EMA, you are allowed to open only long positions and avoid shorts.
If the price is below the 200 EMA, you are allowed to open only short position and avoid longs. Don't use this indicator alone, use RSI, Stochastic RSI etc. Do not use this indicator like a bot, do TA and FA as well. This is just an indicator, do not always rely on it. It requires experience. This indicator has different winrate in different timeframes. Set its value accordingly.
T.I.P. Hoffman's scalp indicatorThis script is based on Rob Hoffman's trading strategy. I do my best to implement and cover all necessary parts for the complete strategy, including multiple moving averages and Hoffman's retracement strategy according to bars (45%).
Difference that I do on my own is that my script follow the trend, based on SMA50, so script will not give you Long signals, including bar retracement signals, if price is not above the SMA50, while for Short signal is opposite rule. Long/Short signal will always show only in case if complete bar is away of SMA5, which means completely above for Long, or completely below SMA5 for Short. In that case SL will be on SMA5.
There is two ways to control take profit and stop loss lines, one with auto calculated - according to SMA5, and the other way is to put your desired % for SL and TP. First-Auto way is always calculate % differences between open position and SMA5, so in that case position of SMA5 will be SL while TP will be in size 1:1.5 .
I hope this script means something to someone. If there is some more tips-ways to improve it do not hesitate to contact me.
Best Regards to All of You!
Infiten's Return Candle OscillatorInfiten's Return Candle Oscillator is an oscillator which shows the percentage return on the open, high, close and low over a customizable period in the form of candlesticks. It may be helpful for seeing volatility, swing trading, or mean reversion trading.
The RCO consists of two plotted elements :
RCO Candles (short length): candlesticks which are plotted with low = the product of the percentage changes in the low over a period, high = the product of the percentage changes in the high over a period, close = the product of the percent changes in close over a period, and open = the product of the percentage changes in return over a period. Similarly to with standard candlesticks, if the percentage change on the close is higher than the percentage change on the open, the candlestick is green, otherwise it is red.
Smoothed RCO Line (long length) : a moving average of the average of the low, close, open and high calculated for the RCO Candles. The line's transparency is determined by the percentage difference between the RCO and the highest or lowest RCO over the long length. A more transparent line means that the RCO is closer to the highest or lowest RCO, and may be indicative of a reversal, or weakening trend.
EMA Slope HistogramThe script shows change in a single EMA over a specified period as a histogram. The period of EMA as well as Change period can be specified. Moreover, it also shows change in direction of EMA. The change can be negative for a downward trend and positive for an upward trend.
Dynamic ADX - [The Pine Guru]Dynamic ADX by The Pine Guru
What is the Dynamic ADX?
The Dynamic ADX is an indicator created using the regular ADX, Line, and additional ADX Moving Average. This MA allows the script to calculate the ADX differently to the original ADX, providing greater input and accessibility to the user. As the ADX is a volatility indicator, it is communicates to trend strength in the markets. The Dynamic ADX displays these trending Periods through user controlled visualizers like Fills, Background Color, and Bar Color.
How do I use the Dynamic ADX?
This indicator has 4 different "versions" or "conditions" in which it displays trend strength. These are achieved by checking and unchecking ADX, ADX MA and Line. Different combinations of these 3 inputs will result in a change of true condition that the script outputs.
Dynamic ADX Achieved by checking the ADX and ADX MA, results in an ADX similar to an MA Crossover, with the ADX being over the MA indicating a true or strong trend condition.
Regular ADX Achieved by Checking the ADX and Line. Results in the regular calculation of the ADX.
Mixture Achieved by Checking all three sections, which results in the calculation a normal ADX as well as the MA. Provides and extra condition or confluence into the ADX.
MA and Line Achieved by checking the ADX MA and Line. Results in a similar calculation to an original ADX but with a smoother MA.
Recommendations
This indicator will work typically in all markets with high volume and volatility. It is recommended that it is used as a confluence in a trading system, and not as an outright indicator. As always do your own testing before live use with this indicator. Do your own Research and refinements.
Please Leave a like if you enjoy this Indicator
RSI Swing Trading Setup (2-Period)A simple script that adjusts the RSI visibly in order to better accommodate swing trading and certain swing trading setups/strategies.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Best used in conjunction with "Linear Regression Channel by LonesomeTheBlue" with 2.2σ (std.dev) and Show Fib Levels.
^Click image for a redirect to that script.
--------------------------------------------------------------------------------------------------------------------------------------------------------
In certain price action patterns:
A bearish reversal from a previously bullish move can indicate tops of a rally if the RSI moves from 0-40 to 60 (1)
A bullish reversal from a previously bearish move can indicate bottoms of a pullback if the RSI moves from 60-100 to 40 (2)
(USE THE LINEAR REGRESSION CHANNEL TO VALIDIFY THE RETRACEMENTS)
--------------------------------------------------------------------------------------------------------------------------------------------------------
(1)
--------------------------------------------------------------------------------------------------------------------------------------------------------
(2)
--------------------------------------------------------------------------------------------------------------------------------------------------------
Multi Asset + Correlation OverlayFrom time to time, you may want to overlay multiple assets on the same chart instead of using multi-chart views. This can be a much cleaner way of viewing and comparing multiple assets. There is some functionality built into TradingView that lets you do this to a certain extent, but I wanted additional options, correlation labeling and ways to adjust the overlay location. So, today I am releasing to the community my Multi-Asset + Correlation Overlay script / indicator.
What is does: This script allows you to overlay the price of any ticker onto your chart. It also labels the line with the ticker name, and calculates / labels the correlation coefficient of your newly overlayed asset.
How to use it: Add the indicator to your chart. Then, go into the indicator settings to set the ticker of the asset you want to pull in along with how you want to "offset" it. Your 2 tickers may not be priced near each-other, so the offset setting allows you to pull the ticker you added up/down to better visually align with your chart's price range/layout. For instance, if the asset you added is priced $400 higher than the underlying chart price, you may want to set the offset to -400.
If you would like to add multiple tickers and multiple overlays, you can do that by just adding the indicator to your chart more than once. The color is adjustable, and the ticker of the asset will print to the right of the line representing the asset price. The script also calculates the correlation coefficient between the ticker overlay and the underlying chart asset. The correlation coefficient prints to the right of the ticker.
Indicators OverlayHello All,
This script shows the indicators in separate windows on the main chart. Included indicators are RSI, CCI, OBV, Stochastic, Money Flow Index, Average True Range and Chande Momentum Oscillator. indicator windows are located at the top or bottom of the chart according to last moves of the Closing price. Different colors are used for each indicator. Horizontal levels are shown as dashed line and label as well.
Using the options;
You can enable/disable the indicators you want to see or not
You can change source and length for each indicator
You can set window length. using this length indicator windows are located on the chart
After you added this indicator to your chart I recommend: right click on any of the indicator windows => "Visual Order" => "Bring to front" as seen screenshot below:
in this example only 3 indicators enabled and period is set as 80:
indicator windows moves to the top or bottom of the chart according to the close price:
P.S. if you want to see any other indicator in the options then leave a comment under the indicator ;)
Enjoy!
taLibrary "ta"
█ OVERVIEW
This library holds technical analysis functions calculating values for which no Pine built-in exists.
Look first. Then leap.
█ FUNCTIONS
cagr(entryTime, entryPrice, exitTime, exitPrice)
It calculates the "Compound Annual Growth Rate" between two points in time. The CAGR is a notional, annualized growth rate that assumes all profits are reinvested. It only takes into account the prices of the two end points — not drawdowns, so it does not calculate risk. It can be used as a yardstick to compare the performance of two instruments. Because it annualizes values, the function requires a minimum of one day between the two end points (annualizing returns over smaller periods of times doesn't produce very meaningful figures).
Parameters:
entryTime : The starting timestamp.
entryPrice : The starting point's price.
exitTime : The ending timestamp.
exitPrice : The ending point's price.
Returns: CAGR in % (50 is 50%). Returns `na` if there is not >=1D between `entryTime` and `exitTime`, or until the two time points have not been reached by the script.
█ v2, Mar. 8, 2022
Added functions `allTimeHigh()` and `allTimeLow()` to find the highest or lowest value of a source from the first historical bar to the current bar. These functions will not look ahead; they will only return new highs/lows on the bar where they occur.
allTimeHigh(src)
Tracks the highest value of `src` from the first historical bar to the current bar.
Parameters:
src : (series int/float) Series to track. Optional. The default is `high`.
Returns: (float) The highest value tracked.
allTimeLow(src)
Tracks the lowest value of `src` from the first historical bar to the current bar.
Parameters:
src : (series int/float) Series to track. Optional. The default is `low`.
Returns: (float) The lowest value tracked.
█ v3, Sept. 27, 2022
This version includes the following new functions:
aroon(length)
Calculates the values of the Aroon indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
Returns: ( [float, float ]) A tuple of the Aroon-Up and Aroon-Down values.
coppock(source, longLength, shortLength, smoothLength)
Calculates the value of the Coppock Curve indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
longLength (simple int) : (simple int) Number of bars for the fast ROC value (length).
shortLength (simple int) : (simple int) Number of bars for the slow ROC value (length).
smoothLength (simple int) : (simple int) Number of bars for the weigted moving average value (length).
Returns: (float) The oscillator value.
dema(source, length)
Calculates the value of the Double Exponential Moving Average (DEMA).
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The double exponentially weighted moving average of the `source`.
dema2(src, length)
An alternate Double Exponential Moving Average (Dema) function to `dema()`, which allows a "series float" length argument.
Parameters:
src : (series int/float) Series of values to process.
length : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The double exponentially weighted moving average of the `src`.
dm(length)
Calculates the value of the "Demarker" indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
Returns: (float) The oscillator value.
donchian(length)
Calculates the values of a Donchian Channel using `high` and `low` over a given `length`.
Parameters:
length (int) : (series int) Number of bars (length).
Returns: ( [float, float, float ]) A tuple containing the channel high, low, and median, respectively.
ema2(src, length)
An alternate ema function to the `ta.ema()` built-in, which allows a "series float" length argument.
Parameters:
src : (series int/float) Series of values to process.
length : (series int/float) Number of bars (length).
Returns: (float) The exponentially weighted moving average of the `src`.
eom(length, div)
Calculates the value of the Ease of Movement indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
div (simple int) : (simple int) Divisor used for normalzing values. Optional. The default is 10000.
Returns: (float) The oscillator value.
frama(source, length)
The Fractal Adaptive Moving Average (FRAMA), developed by John Ehlers, is an adaptive moving average that dynamically adjusts its lookback period based on fractal geometry.
Parameters:
source (float) : (series int/float) Series of values to process.
length (int) : (series int) Number of bars (length).
Returns: (float) The fractal adaptive moving average of the `source`.
ft(source, length)
Calculates the value of the Fisher Transform indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Number of bars (length).
Returns: (float) The oscillator value.
ht(source)
Calculates the value of the Hilbert Transform indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
Returns: (float) The oscillator value.
ichimoku(conLength, baseLength, senkouLength)
Calculates values of the Ichimoku Cloud indicator, including tenkan, kijun, senkouSpan1, senkouSpan2, and chikou. NOTE: offsets forward or backward can be done using the `offset` argument in `plot()`.
Parameters:
conLength (int) : (series int) Length for the Conversion Line (Tenkan). The default is 9 periods, which returns the mid-point of the 9 period Donchian Channel.
baseLength (int) : (series int) Length for the Base Line (Kijun-sen). The default is 26 periods, which returns the mid-point of the 26 period Donchian Channel.
senkouLength (int) : (series int) Length for the Senkou Span 2 (Leading Span B). The default is 52 periods, which returns the mid-point of the 52 period Donchian Channel.
Returns: ( [float, float, float, float, float ]) A tuple of the Tenkan, Kijun, Senkou Span 1, Senkou Span 2, and Chikou Span values. NOTE: by default, the senkouSpan1 and senkouSpan2 should be plotted 26 periods in the future, and the Chikou Span plotted 26 days in the past.
ift(source)
Calculates the value of the Inverse Fisher Transform indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
Returns: (float) The oscillator value.
kvo(fastLen, slowLen, trigLen)
Calculates the values of the Klinger Volume Oscillator.
Parameters:
fastLen (simple int) : (simple int) Length for the fast moving average smoothing parameter calculation.
slowLen (simple int) : (simple int) Length for the slow moving average smoothing parameter calculation.
trigLen (simple int) : (simple int) Length for the trigger moving average smoothing parameter calculation.
Returns: ( [float, float ]) A tuple of the KVO value, and the trigger value.
pzo(length)
Calculates the value of the Price Zone Oscillator.
Parameters:
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
rms(source, length)
Calculates the Root Mean Square of the `source` over the `length`.
Parameters:
source (float) : (series int/float) Series of values to process.
length (int) : (series int) Number of bars (length).
Returns: (float) The RMS value.
rwi(length)
Calculates the values of the Random Walk Index.
Parameters:
length (simple int) : (simple int) Lookback and ATR smoothing parameter length.
Returns: ( [float, float ]) A tuple of the `rwiHigh` and `rwiLow` values.
stc(source, fast, slow, cycle, d1, d2)
Calculates the value of the Schaff Trend Cycle indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
fast (simple int) : (simple int) Length for the MACD fast smoothing parameter calculation.
slow (simple int) : (simple int) Length for the MACD slow smoothing parameter calculation.
cycle (simple int) : (simple int) Number of bars for the Stochastic values (length).
d1 (simple int) : (simple int) Length for the initial %D smoothing parameter calculation.
d2 (simple int) : (simple int) Length for the final %D smoothing parameter calculation.
Returns: (float) The oscillator value.
stochFull(periodK, smoothK, periodD)
Calculates the %K and %D values of the Full Stochastic indicator.
Parameters:
periodK (simple int) : (simple int) Number of bars for Stochastic calculation. (length).
smoothK (simple int) : (simple int) Number of bars for smoothing of the %K value (length).
periodD (simple int) : (simple int) Number of bars for smoothing of the %D value (length).
Returns: ( [float, float ]) A tuple of the slow %K and the %D moving average values.
stochRsi(lengthRsi, periodK, smoothK, periodD, source)
Calculates the %K and %D values of the Stochastic RSI indicator.
Parameters:
lengthRsi (simple int) : (simple int) Length for the RSI smoothing parameter calculation.
periodK (simple int) : (simple int) Number of bars for Stochastic calculation. (length).
smoothK (simple int) : (simple int) Number of bars for smoothing of the %K value (length).
periodD (simple int) : (simple int) Number of bars for smoothing of the %D value (length).
source (float) : (series int/float) Series of values to process. Optional. The default is `close`.
Returns: ( [float, float ]) A tuple of the slow %K and the %D moving average values.
supertrend(factor, atrLength, wicks)
Calculates the values of the SuperTrend indicator with the ability to take candle wicks into account, rather than only the closing price.
Parameters:
factor (float) : (series int/float) Multiplier for the ATR value.
atrLength (simple int) : (simple int) Length for the ATR smoothing parameter calculation.
wicks (simple bool) : (simple bool) Condition to determine whether to take candle wicks into account when reversing trend, or to use the close price. Optional. Default is false.
Returns: ( [float, int ]) A tuple of the superTrend value and trend direction.
szo(source, length)
Calculates the value of the Sentiment Zone Oscillator.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
t3(source, length, vf)
Calculates the value of the Tilson Moving Average (T3).
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
vf (simple float) : (simple float) Volume factor. Affects the responsiveness.
Returns: (float) The Tilson moving average of the `source`.
t3Alt(source, length, vf)
An alternate Tilson Moving Average (T3) function to `t3()`, which allows a "series float" `length` argument.
Parameters:
source (float) : (series int/float) Series of values to process.
length (float) : (series int/float) Length for the smoothing parameter calculation.
vf (simple float) : (simple float) Volume factor. Affects the responsiveness.
Returns: (float) The Tilson moving average of the `source`.
tema(source, length)
Calculates the value of the Triple Exponential Moving Average (TEMA).
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The triple exponentially weighted moving average of the `source`.
tema2(source, length)
An alternate Triple Exponential Moving Average (TEMA) function to `tema()`, which allows a "series float" `length` argument.
Parameters:
source (float) : (series int/float) Series of values to process.
length (float) : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The triple exponentially weighted moving average of the `source`.
trima(source, length)
Calculates the value of the Triangular Moving Average (TRIMA).
Parameters:
source (float) : (series int/float) Series of values to process.
length (int) : (series int) Number of bars (length).
Returns: (float) The triangular moving average of the `source`.
trima2(src, length)
An alternate Triangular Moving Average (TRIMA) function to `trima()`, which allows a "series int" length argument.
Parameters:
src : (series int/float) Series of values to process.
length : (series int) Number of bars (length).
Returns: (float) The triangular moving average of the `src`.
trix(source, length, signalLength, exponential)
Calculates the values of the TRIX indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
signalLength (simple int) : (simple int) Length for smoothing the signal line.
exponential (simple bool) : (simple bool) Condition to determine whether exponential or simple smoothing is used. Optional. The default is `true` (exponential smoothing).
Returns: ( [float, float, float ]) A tuple of the TRIX value, the signal value, and the histogram.
uo(fastLen, midLen, slowLen)
Calculates the value of the Ultimate Oscillator.
Parameters:
fastLen (simple int) : (series int) Number of bars for the fast smoothing average (length).
midLen (simple int) : (series int) Number of bars for the middle smoothing average (length).
slowLen (simple int) : (series int) Number of bars for the slow smoothing average (length).
Returns: (float) The oscillator value.
vhf(source, length)
Calculates the value of the Vertical Horizontal Filter.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Number of bars (length).
Returns: (float) The oscillator value.
vi(length)
Calculates the values of the Vortex Indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
Returns: ( [float, float ]) A tuple of the viPlus and viMinus values.
vzo(length)
Calculates the value of the Volume Zone Oscillator.
Parameters:
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
williamsFractal(period)
Detects Williams Fractals.
Parameters:
period (int) : (series int) Number of bars (length).
Returns: ( [bool, bool ]) A tuple of an up fractal and down fractal. Variables are true when detected.
wpo(length)
Calculates the value of the Wave Period Oscillator.
Parameters:
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
█ v7, Nov. 2, 2023
This version includes the following new and updated functions:
atr2(length)
An alternate ATR function to the `ta.atr()` built-in, which allows a "series float" `length` argument.
Parameters:
length (float) : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The ATR value.
changePercent(newValue, oldValue)
Calculates the percentage difference between two distinct values.
Parameters:
newValue (float) : (series int/float) The current value.
oldValue (float) : (series int/float) The previous value.
Returns: (float) The percentage change from the `oldValue` to the `newValue`.
donchian(length)
Calculates the values of a Donchian Channel using `high` and `low` over a given `length`.
Parameters:
length (int) : (series int) Number of bars (length).
Returns: ( [float, float, float ]) A tuple containing the channel high, low, and median, respectively.
highestSince(cond, source)
Tracks the highest value of a series since the last occurrence of a condition.
Parameters:
cond (bool) : (series bool) A condition which, when `true`, resets the tracking of the highest `source`.
source (float) : (series int/float) Series of values to process. Optional. The default is `high`.
Returns: (float) The highest `source` value since the last time the `cond` was `true`.
lowestSince(cond, source)
Tracks the lowest value of a series since the last occurrence of a condition.
Parameters:
cond (bool) : (series bool) A condition which, when `true`, resets the tracking of the lowest `source`.
source (float) : (series int/float) Series of values to process. Optional. The default is `low`.
Returns: (float) The lowest `source` value since the last time the `cond` was `true`.
relativeVolume(length, anchorTimeframe, isCumulative, adjustRealtime)
Calculates the volume since the last change in the time value from the `anchorTimeframe`, the historical average volume using bars from past periods that have the same relative time offset as the current bar from the start of its period, and the ratio of these volumes. The volume values are cumulative by default, but can be adjusted to non-accumulated with the `isCumulative` parameter.
Parameters:
length (simple int) : (simple int) The number of periods to use for the historical average calculation.
anchorTimeframe (simple string) : (simple string) The anchor timeframe used in the calculation. Optional. Default is "D".
isCumulative (simple bool) : (simple bool) If `true`, the volume values will be accumulated since the start of the last `anchorTimeframe`. If `false`, values will be used without accumulation. Optional. The default is `true`.
adjustRealtime (simple bool) : (simple bool) If `true`, estimates the cumulative value on unclosed bars based on the data since the last `anchor` condition. Optional. The default is `false`.
Returns: ( [float, float, float ]) A tuple of three float values. The first element is the current volume. The second is the average of volumes at equivalent time offsets from past anchors over the specified number of periods. The third is the ratio of the current volume to the historical average volume.
rma2(source, length)
An alternate RMA function to the `ta.rma()` built-in, which allows a "series float" `length` argument.
Parameters:
source (float) : (series int/float) Series of values to process.
length (float) : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The rolling moving average of the `source`.
supertrend2(factor, atrLength, wicks)
An alternate SuperTrend function to `supertrend()`, which allows a "series float" `atrLength` argument.
Parameters:
factor (float) : (series int/float) Multiplier for the ATR value.
atrLength (float) : (series int/float) Length for the ATR smoothing parameter calculation.
wicks (simple bool) : (simple bool) Condition to determine whether to take candle wicks into account when reversing trend, or to use the close price. Optional. Default is `false`.
Returns: ( [float, int ]) A tuple of the superTrend value and trend direction.
vStop(source, atrLength, atrFactor)
Calculates an ATR-based stop value that trails behind the `source`. Can serve as a possible stop-loss guide and trend identifier.
Parameters:
source (float) : (series int/float) Series of values that the stop trails behind.
atrLength (simple int) : (simple int) Length for the ATR smoothing parameter calculation.
atrFactor (float) : (series int/float) The multiplier of the ATR value. Affects the maximum distance between the stop and the `source` value. A value of 1 means the maximum distance is 100% of the ATR value. Optional. The default is 1.
Returns: ( [float, bool ]) A tuple of the volatility stop value and the trend direction as a "bool".
vStop2(source, atrLength, atrFactor)
An alternate Volatility Stop function to `vStop()`, which allows a "series float" `atrLength` argument.
Parameters:
source (float) : (series int/float) Series of values that the stop trails behind.
atrLength (float) : (series int/float) Length for the ATR smoothing parameter calculation.
atrFactor (float) : (series int/float) The multiplier of the ATR value. Affects the maximum distance between the stop and the `source` value. A value of 1 means the maximum distance is 100% of the ATR value. Optional. The default is 1.
Returns: ( [float, bool ]) A tuple of the volatility stop value and the trend direction as a "bool".
Removed Functions:
allTimeHigh(src)
Tracks the highest value of `src` from the first historical bar to the current bar.
allTimeLow(src)
Tracks the lowest value of `src` from the first historical bar to the current bar.
trima2(src, length)
An alternate Triangular Moving Average (TRIMA) function to `trima()`, which allows a
"series int" length argument.
Technical Analyst by DGTWho needs a Technical Analyst?
yes I can hear someone is asking for, and here is one that can help you with technical analysis
The analyst will present a technical anlaysis report at a glance calculated by the most popular technical indicators , and the good part, the anlayst will do it voluntarily
technical skills of the analyst:
- experienced an all markets
- ability to interpret moving averages
- ability to interpret volume changes
- ability to interpret trend folowing indicators such as:
* directional movement index (dmi), identify trend strength and trend direction
* complex ichimoku cloud , identify trend stregth, and tk crosses
- ability to interpret oscillators such as:
* relative strength index, identify oversold overbought levels, identify the rsi flow
* commodity channel index, identify oversold overbought levels
* awesome identify if grawing or falling
* macd if bullish or bearish, and macd histogram if grawing or falling
- ability to calculate probability and its trend
- non-stop hardworker,
- available 7/24,
- highly dedicated always on duty,
- open for new ideas and willing to learn
- upon request the analyst will create reports with custom settings of your choise
the analyst is not a decition maker, trading success is all about following your trading strategy and the analyst aims to help with the presented reports calculated by the most popular technical indicators
the analyst supports 9 of the popular technical indicators and is willing to learn more , please share your comments and feedbacks and help the analyst improve skills
cheers!
Disclaimer : The script is for informational and educational purposes only. Use of the script does not constitutes professional and/or financial advice. You alone the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script
Team TemaTema highlights bars based on the triple ema ( tema ) with two different length qualifiers.
The tema is believed to react quicker to price fluctuations than the simple moving average ( sma ), the exponential moving average ( ema ), and the double ema ( dema ). The shorter length tema crossing over the longer one is believed to indicate a bullish trend ahead, highlighted in green. The shorter length crossing below the longer one may indicate a bearish trend is on the way.
Benefits.
It has been found that most traders lose money because they panic early, and don't let profits run. Tema helps me to filter out trading noise , reduce stress and stay in profitable trades longer . Highlighting the candle wicks reveals trends in highs and lows that may be difficult to see otherwise. I like being able to adjust the settings and look back to see how much noise would have been good to filter out.
Things to watch out for.
Like other moving averages, the tema is a lagging indicator , vulnerable to false signals, especially during a large move up or down . Use with other indicators that are better designed for detecting tops and bottoms. Adjust the lengths to filter out what you think may be wrong signals. The settings are subjective , and it depends on the security and the time period. Manually create a note or reminder with your favorite settings for each. You may choose how much price fluctuation to filter out by going into settings, marked with the gear icon.
Unconfirmed sentiment arrow.
Tema draws an arrow of current sentiment , based on the unconfirmed price action of the faster tema. It shows where it thinks prices are presently going, barring other factors. Its main purpose is to extend a line from the end of the tema, so it is not difficult to see. Remember, it is probably wrong until the last bar closes. And even then, buyers or sellers could come along at any moment and change the outlook.