Multi-Timeframe Trend Detector [Alifer]Here is an easy-to-use and customizable multi-timeframe visual trend indicator.
The indicator combines Exponential Moving Averages (EMA), Moving Average Convergence Divergence (MACD), and Relative Strength Index (RSI) to determine the trend direction on various timeframes: 15 minutes (15M), 30 minutes (30M), 1 hour (1H), 4 hours (4H), 1 day (1D), and 1 week (1W).
EMA Trend : The script calculates two EMAs for each timeframe: a fast EMA and a slow EMA. If the fast EMA is greater than the slow EMA, the trend is considered Bullish; if the fast EMA is less than the slow EMA, the trend is considered Bearish.
MACD Trend : The script calculates the MACD line and the signal line for each timeframe. If the MACD line is above the signal line, the trend is considered Bullish; if the MACD line is below the signal line, the trend is considered Bearish.
RSI Trend : The script calculates the RSI for each timeframe. If the RSI value is above a specified Bullish level, the trend is considered Bullish; if the RSI value is below a specified Bearish level, the trend is considered Bearish. If the RSI value is between the Bullish and Bearish levels, the trend is Neutral, and no arrow is displayed.
Dashboard Display :
The indicator prints arrows on the dashboard to represent Bullish (▲ Green) or Bearish (▼ Red) trends for each timeframe.
You can easily adapt the Dashboard colors (Inputs > Theme) for visibility depending on whether you're using a Light or Dark theme for TradingView.
Usage :
You can adjust the indicator's settings such as theme (Dark or Light), EMA periods, MACD parameters, RSI period, and Bullish/Bearish levels to adapt it to your specific trading strategies and preferences.
Disclaimer :
This indicator is designed to quickly help you identify the trend direction on multiple timeframes and potentially make more informed trading decisions.
You should consider it as an extra tool to complement your strategy, but you should not solely rely on it for making trading decisions.
Always perform your own analysis and risk management before executing trades.
The indicator will only show a Dashboard. The EMAs, RSI and MACD you see on the chart image have been added just to demonstrate how the script works.
DETAILED SCRIPT EXPLANATION
INPUTS:
theme : Allows selecting the color theme (options: "Dark" or "Light").
emaFastPeriod : The period for the fast EMA.
emaSlowPeriod : The period for the slow EMA.
macdFastLength : The fast length for MACD calculation.
macdSlowLength : The slow length for MACD calculation.
macdSignalLength : The signal length for MACD calculation.
rsiPeriod : The period for RSI calculation.
rsiBullishLevel : The level used to determine Bullish RSI condition, when RSI is above this value. It should always be higher than rsiBearishLevel.
rsiBearishLevel : The level used to determine Bearish RSI condition, when RSI is below this value. It should always be lower than rsiBullishLevel.
CALCULATIONS:
The script calculates EMAs on multiple timeframes (15-minute, 30-minute, 1-hour, 4-hour, daily, and weekly) using the request.security() function.
Similarly, the script calculates MACD values ( macdLine , signalLine ) on the same multiple timeframes using the request.security() function along with the ta.macd() function.
RSI values are also calculated for each timeframe using the request.security() function along with the ta.rsi() function.
The script then determines the EMA trends for each timeframe by comparing the fast and slow EMAs using simple boolean expressions.
Similarly, it determines the MACD trends for each timeframe by comparing the MACD line with the signal line.
Lastly, it determines the RSI trends for each timeframe by comparing the RSI values with the Bullish and Bearish RSI levels.
PLOTTING AND DASHBOARD:
Color codes are defined based on the EMA, MACD, and RSI trends for each timeframe. Green for Bullish, Red for Bearish.
A dashboard is created using the table.new() function, displaying the trend information for each timeframe with arrows representing Bullish or Bearish conditions.
The dashboard will appear in the top-right corner of the chart, showing the Bullish and Bearish trends for each timeframe (15M, 30M, 1H, 4H, 1D, and 1W) based on EMA, MACD, and RSI analysis. Green arrows represent Bullish trends, red arrows represent Bearish trends, and no arrows indicate Neutral conditions.
INFO ON USED INDICATORS:
1 — EXPONENTIAL MOVING AVERAGE (EMA)
The Exponential Moving Average (EMA) is a type of moving average (MA) that places a greater weight and significance on the most recent data points.
The EMA is calculated by taking the average of the true range over a specified period. The true range is the greatest of the following:
The difference between the current high and the current low.
The difference between the previous close and the current high.
The difference between the previous close and the current low.
The EMA can be used by traders to produce buy and sell signals based on crossovers and divergences from the historical average. Traders often use several different EMA lengths, such as 10-day, 50-day, and 200-day moving averages.
The formula for calculating EMA is as follows:
Compute the Simple Moving Average (SMA).
Calculate the multiplier for weighting the EMA.
Calculate the current EMA using the following formula:
EMA = Closing price x multiplier + EMA (previous day) x (1-multiplier)
2 — MOVING AVERAGE CONVERGENCE DIVERGENCE (MACD)
The Moving Average Convergence Divergence (MACD) is a popular trend-following momentum indicator used in technical analysis. It helps traders identify changes in the strength, direction, momentum, and duration of a trend in a financial instrument's price.
The MACD is calculated by subtracting a longer-term Exponential Moving Average (EMA) from a shorter-term EMA. The most commonly used time periods for the MACD are 26 periods for the longer EMA and 12 periods for the shorter EMA. The difference between the two EMAs creates the main MACD line.
Additionally, a Signal Line (usually a 9-period EMA) is computed, representing a smoothed version of the MACD line. Traders watch for crossovers between the MACD line and the Signal Line, which can generate buy and sell signals. When the MACD line crosses above the Signal Line, it generates a bullish signal, indicating a potential uptrend. Conversely, when the MACD line crosses below the Signal Line, it generates a bearish signal, indicating a potential downtrend.
In addition to the MACD line and Signal Line crossovers, traders often look for divergences between the MACD and the price chart. Divergence occurs when the MACD is moving in the opposite direction of the price, which can suggest a potential trend reversal.
3 — RELATIVE STRENGHT INDEX (RSI):
The Relative Strength Index (RSI) is another popular momentum oscillator used by traders to assess the overbought or oversold conditions of a financial instrument. The RSI ranges from 0 to 100 and measures the speed and change of price movements.
The RSI is calculated based on the average gain and average loss over a specified period, commonly 14 periods. The formula involves several steps:
Calculate the average gain over the specified period.
Calculate the average loss over the specified period.
Calculate the relative strength (RS) by dividing the average gain by the average loss.
Calculate the RSI using the following formula: RSI = 100 - (100 / (1 + RS))
The RSI oscillates between 0 and 100, where readings above 70 are considered overbought, suggesting that the price may have risen too far and could be due for a correction. Readings below 30 are considered oversold, suggesting that the price may have dropped too much and could be due for a rebound.
Traders often use the RSI to identify potential trend reversals. For example, when the RSI crosses above 30 from below, it may indicate the start of an uptrend, and when it crosses below 70 from above, it may indicate the start of a downtrend. Additionally, traders may look for bullish or bearish divergences between the RSI and the price chart, similar to the MACD analysis, to spot potential trend changes.
Alifer
CCI+EMA Strategy with Percentage or ATR TP/SL [Alifer]This is a momentum strategy based on the Commodity Channel Index (CCI), with the aim of entering long trades in oversold conditions and short trades in overbought conditions.
Optionally, you can enable an Exponential Moving Average (EMA) to only allow trading in the direction of the larger trend. Please note that the strategy will not plot the EMA. If you want, for visual confirmation, you can add to the chart an Exponential Moving Average as a second indicator, with the same settings used in the strategy’s built-in EMA.
The strategy also allows you to set internal Stop Loss and Take Profit levels, with the option to choose between Percentage-based TP/SL or ATR-based TP/SL.
The strategy can be adapted to multiple assets and timeframes:
Pick an asset and a timeframe
Zoom back as far as possible to identify meaningful positive and negative peaks of the CCI
Set Overbought and Oversold at a rough average of the peaks you identified
Adjust TP/SL according to your risk management strategy
Like the strategy? Give it a boost!
Have any questions? Leave a comment or drop me a message.
CAUTIONARY WARNING
Please note that this is a complex trading strategy that involves several inputs and conditions. Before using it in live trading, it is highly recommended to thoroughly test it on historical data and use risk management techniques to safeguard your capital. After backtesting, it's also highly recommended to perform a first live test with a small amount. Additionally, it's essential to have a good understanding of the strategy's behavior and potential risks. Only risk what you can afford to lose .
USED INDICATORS
1 — COMMODITY CHANNEL INDEX (CCI)
The Commodity Channel Index (CCI) is a technical analysis indicator used to measure the momentum of an asset. It was developed by Donald Lambert and first published in Commodities magazine (now Futures) in 1980. Despite its name, the CCI can be used in any market and is not just for commodities. The CCI compares current price to average price over a specific time period. The indicator fluctuates above or below zero, moving into positive or negative territory. While most values, approximately 75%, fall between -100 and +100, about 25% of the values fall outside this range, indicating a lot of weakness or strength in the price movement.
The CCI was originally developed to spot long-term trend changes but has been adapted by traders for use on all markets or timeframes. Trading with multiple timeframes provides more buy or sell signals for active traders. Traders often use the CCI on the longer-term chart to establish the dominant trend and on the shorter-term chart to isolate pullbacks and generate trade signals.
CCI is calculated with the following formula:
(Typical Price - Simple Moving Average) / (0.015 x Mean Deviation)
Some trading strategies based on CCI can produce multiple false signals or losing trades when conditions turn choppy. Implementing a stop-loss strategy can help cap risk, and testing the CCI strategy for profitability on your market and timeframe is a worthy first step before initiating trades.
2 — AVERAGE TRUE RANGE (ATR)
The Average True Range (ATR) is a technical analysis indicator that measures market volatility by calculating the average range of price movements in a financial asset over a specific period of time. The ATR was developed by J. Welles Wilder Jr. and introduced in his book “New Concepts in Technical Trading Systems” in 1978.
The ATR is calculated by taking the average of the true range over a specified period. The true range is the greatest of the following:
The difference between the current high and the current low.
The difference between the previous close and the current high.
The difference between the previous close and the current low.
The ATR can be used to set stop-loss orders. One way to use ATR for stop-loss orders is to multiply the ATR by a factor (such as 2 or 3) and subtract it from the entry price for long positions or add it to the entry price for short positions. This can help traders set stop-loss orders that are more adaptive to market volatility.
3 — EXPONENTIAL MOVING AVERAGE (EMA)
The Exponential Moving Average (EMA) is a type of moving average (MA) that places a greater weight and significance on the most recent data points.
The EMA is calculated by taking the average of the true range over a specified period. The true range is the greatest of the following:
The difference between the current high and the current low.
The difference between the previous close and the current high.
The difference between the previous close and the current low.
The EMA can be used by traders to produce buy and sell signals based on crossovers and divergences from the historical average. Traders often use several different EMA lengths, such as 10-day, 50-day, and 200-day moving averages.
The formula for calculating EMA is as follows:
Compute the Simple Moving Average (SMA).
Calculate the multiplier for weighting the EMA.
Calculate the current EMA using the following formula:
EMA = Closing price x multiplier + EMA (previous day) x (1-multiplier)
STRATEGY EXPLANATION
1 — INPUTS AND PARAMETERS
The strategy uses the Commodity Channel Index (CCI) with additional options for an Exponential Moving Average (EMA), Take Profit (TP) and Stop Loss (SL).
length : The period length for the CCI calculation.
overbought : The overbought level for the CCI. When CCI crosses above this level, it may signal a potential short entry.
oversold : The oversold level for the CCI. When CCI crosses below this level, it may signal a potential long entry.
useEMA : A boolean input to enable or disable the use of Exponential Moving Average (EMA) as a filter for long and short entries.
emaLength : The period length for the EMA if it is used.
2 — CCI CALCULATION
The CCI indicator is calculated using the following formula:
(src - ma) / (0.015 * ta.dev(src, length))
src is the typical price (average of high, low, and close) and ma is the Simple Moving Average (SMA) of src over the specified length.
3 — EMA CALCULATION
If the useEMA option is enabled, an EMA is calculated with the given emaLength .
4 — TAKE PROFIT AND STOP LOSS METHODS
The strategy offers two methods for TP and SL calculations: percentage-based and ATR-based.
tpSlMethod_percentage : A boolean input to choose the percentage-based method.
tpSlMethod_atr : A boolean input to choose the ATR-based method.
5 — PERCENTAGE-BASED TP AND SL
If tpSlMethod_percentage is chosen, the strategy calculates the TP and SL levels based on a percentage of the average entry price.
tp_percentage : The percentage value for Take Profit.
sl_percentage : The percentage value for Stop Loss.
6 — ATR-BASED TP AND SL
If tpSlMethod_atr is chosen, the strategy calculates the TP and SL levels based on Average True Range (ATR).
atrLength : The period length for the ATR calculation.
atrMultiplier : A multiplier applied to the ATR to set the SL level.
riskRewardRatio : The risk-reward ratio used to calculate the TP level.
7 — ENTRY CONDITIONS
The strategy defines two conditions for entering long and short positions based on CCI and, optionally, EMA.
Long Entry: CCI crosses below the oversold level, and if useEMA is enabled, the closing price should be above the EMA.
Short Entry: CCI crosses above the overbought level, and if useEMA is enabled, the closing price should be below the EMA.
8 — TP AND SL LEVELS
The strategy calculates the TP and SL levels based on the chosen method and updates them dynamically.
For the percentage-based method, the TP and SL levels are calculated as a percentage of the average entry price.
For the ATR-based method, the TP and SL levels are calculated using the ATR value and the specified multipliers.
9 — EXIT CONDITIONS
The strategy defines exit conditions for both long and short positions.
If there is a long position, it will be closed either at TP or SL levels based on the chosen method.
If there is a short position, it will be closed either at TP or SL levels based on the chosen method.
Additionally, positions will be closed if CCI crosses back above oversold in long positions or below overbought in short positions.
10 — PLOTTING
The script plots the CCI line along with overbought and oversold levels as horizontal lines.
The CCI line is colored red when above the overbought level, green when below the oversold level, and white otherwise.
The shaded region between the overbought and oversold levels is plotted as well.
Average True Range Trailing Mean [Alifer]Upgrade of the Average True Range default indicator by TradingView. It adds and plots a trailing mean to show periods of increased volatility more clearly.
ATR TRAILING MEAN
A trailing mean, also known as a moving average, is a statistical calculation used to smooth out data over time and identify trends or patterns in a time series.
In our indicator, it clearly shows when the ATR value spikes outside of it's average range, making it easier to identify periods of increased volatility.
Here's how the ATR Trailing Mean (atr_mean) is calculated:
atr_mean = ta.cum(atr) / (bar_index + 1) * atr_mult
The ta.cum() function calculates the cumulative sum of the ATR over all bars up to the current bar.
(bar_index + 1) represents the number of bars processed up to the current bar, including the current one.
By dividing the cumulative ATR ta.cum(atr) by (bar_index + 1) and then multiplying it by atr_mult (Multiplier), we obtain the ATR Trailing Mean value.
If atr_mult is set to 1.0, the ATR Trailing Mean will be equal to the simple average of the ATR values, and it will follow the ATR's general trend.
However, if atr_mult is increased, the ATR Trailing Mean will react more strongly to the ATR's recent changes, making it more sensitive to short-term fluctuations.
On the other hand, reducing atr_mult will make the ATR Trailing Mean less responsive to recent changes in ATR, making it smoother and less prone to reacting to short-term volatility.
In summary, adjusting the atr_mult input allows traders to fine-tune the ATR Trailing Mean's responsiveness based on their preferred level of sensitivity to recent changes in market volatility.
IMPLEMENTATION IN A STRATEGY
You can easily implement this indicator in an existing strategy, to only enter positions when the ATR is above the ATR Trailing Mean (with Multiplier-adjusted sensitivity). To do so, add the following lines of codes.
Under Inputs:
length = input.int(title="Length", defval=20, minval=1)
atr_mult = input.float(defval=1.0, step = 0.1, title = "Multiplier", tooltip = "Adjust the sensitivity of the ATR Trailing Mean line.")
smoothing = input.string(title="Smoothing", defval="RMA", options= )
ma_function(source, length) =>
switch smoothing
"RMA" => ta.rma(source, length)
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
=> ta.wma(source, length)
This will allow you to define the Length of the ATR (lookback length over which the ATR is calculated), the Multiplier to adjust the Trailing Mean's sensitivity and the type of Smoothing to be used for the ATR.
Under Calculations:
atr= ma_function(ta.tr(true), length)
atr_mean = ta.cum(atr) / (bar_index+1) * atr_mult
This will calculate the ATR based on Length and Smoothing, and the resulting ATR Trailing Mean.
Under Entry Conditions, add the following to your existing conditions:
and atr > atr_mean
This will make it so that entries are only triggered when the ATR is above the ATR Trailing Mean (adjusted by the Multiplier value you defined earlier).
ATR - DEFINITION AND HISTORY
The Average True Range (ATR) is a technical indicator used to measure market volatility, regardless of the direction of the price. It was developed by J. Welles Wilder and introduced in his book "New Concepts in Technical Trading Systems" in 1978. ATR provides valuable insights into the degree of price movement or volatility experienced by a financial asset, such as a stock, currency pair, commodity, or cryptocurrency, over a specific period.
ATR - CALCULATION AND USAGE
The ATR calculation involves three components:
1 — True Range (TR): The True Range is a measure of the asset's price movement for a given period. It takes into account the following factors:
The difference between the high and low prices of the current period.
The absolute value of the difference between the high price of the current period and the closing price of the previous period.
The absolute value of the difference between the low price of the current period and the closing price of the previous period.
Mathematically, the True Range (TR) for the current period is calculated as follows:
TR = max(high - low, abs(high - previous_close), abs(low - previous_close))
2 — ATR Calculation: The ATR is calculated as a Moving Average (MA) of the True Range over a specified period.
The ATR is calculated as follows:
ATR = MA(TR, length)
3 — ATR Interpretation: The ATR value represents the average volatility of the asset over the chosen period. Higher ATR values indicate higher volatility, while lower ATR values suggest lower volatility.
Traders and investors can use ATR in various ways:
Setting Stop Loss and Take Profit Levels: ATR can help determine appropriate stop-loss and take-profit levels in trading strategies. A larger ATR value might require wider stop-loss levels to allow for the asset's natural price fluctuations, while a smaller ATR value might allow for tighter stop-loss levels.
Identifying Market Volatility: A sharp increase in ATR might indicate heightened market uncertainty or the potential for significant price movements. Conversely, a decreasing ATR might suggest a period of low volatility and possible consolidation.
Comparing Volatility Between Assets: Since ATR uses absolute values, it shouldn't be used to compare volatility between different assets, as assets with higher prices will consistently have higher ATR values, while assets with lower prices will consistently have lower ATR values. However, the addition of a trailing mean makes such a comparison possible. An asset whose ATR is consistently close to its ATR Trailing Mean will have a lower volatility than an asset whose ATR continuously moves far above and below its ATR Trailing Mean. This can help traders and investors decide which markets to trade based on their risk tolerance and trading strategies.
Determining Position Size: ATR can be used to adjust position sizes, taking into account the asset's volatility. Smaller position sizes might be appropriate for more volatile assets to manage risk effectively.