SOXL Trend Surge v3.0.2 – Profit-Only RunnerSOXL Trend Surge v3.0.2 – Profit-Only Runner
This is a trend-following strategy built for leveraged ETFs like SOXL, designed to ride high-momentum waves with minimal interference. Unlike most short-term scalping scripts, this model allows trades to develop over multiple days to even several months, capitalizing on the full power of extended directional moves — all without using a stop-loss.
🔍 How It Works
Entry Logic:
Price is above the 200 EMA (long-term trend confirmation)
Supertrend is bullish (momentum confirmation)
ATR is rising (volatility expansion)
Volume is above its 20-bar average (liquidity filter)
Price is outside a small buffer zone from the 200 EMA (to avoid whipsaws)
Trades are restricted to market hours only (9 AM to 2 PM EST)
Cooldown of 15 bars after each exit to prevent overtrading
Exit Strategy:
Takes partial profit at +2× ATR if held for at least 2 bars
Rides the remaining position with a trailing stop at 1.5× ATR
No hard stop-loss — giving space for volatile pullbacks
⚙️ Strategy Settings
Initial Capital: $500
Risk per Trade: 100% of equity (fully allocated per entry)
Commission: 0.1%
Slippage: 1 tick
Recalculate after order is filled
Fill orders on bar close
Timeframe Optimized For: 45-minute chart
These parameters simulate an aggressive, high-volatility trading model meant for forward-testing compounding potential under realistic trading costs.
✅ What Makes This Unique
No stop-loss = fewer premature exits
Partial profit-taking helps lock in early wins
Trailing logic gives room to ride large multi-week moves
Uses strict filters (volume, ATR, EMA bias) to enter only during high-probability windows
Ideal for leveraged ETF swing or position traders looking to hold longer than the typical intraday or 2–3 day strategies
⚠️ Important Note
This is a high-risk, high-reward strategy meant for educational and testing purposes. Without a stop-loss, trades can experience deep drawdowns that may take weeks or even months to recover. Always test thoroughly and adjust position sizing to suit your risk tolerance. Past results do not guarantee future returns. Backtest range: May 8, 2020 – May 23, 2025
Cari dalam skrip untuk "Volatility"
DEMA Trend Oscillator Strategy📌 Overview
The DEMA Trend Oscillator Strategy is a dynamic trend-following approach based on the Normalized DEMA Oscillator SD.
It adapts in real-time to market volatility with the goal of improving entry accuracy and optimizing risk management.
⚠️ This strategy is provided for educational and research purposes only.
Past performance does not guarantee future results.
🎯 Strategy Objectives
The main goal of this strategy is to respond quickly to sudden price movements and trend reversals,
by combining momentum-based signals with volatility filters.
It is designed to be user-friendly for traders of all experience levels.
✨ Key Features
Normalized DEMA Oscillator: A momentum indicator that normalizes DEMA values on a 0–100 scale, allowing intuitive identification of trend strength
Two-Bar Confirmation Filter: Requires two consecutive bullish or bearish candles to reduce noise and enhance entry reliability
ATR x2 Trailing Stop: In addition to fixed stop-loss levels, a trailing stop based on 2× ATR is used to maximize profits during strong trends
📊 Trading Rules
Long Entry:
Normalized DEMA > 55 (strong upward momentum)
Candle low is above the upper SD band
Two consecutive bullish candles appear
Short Entry:
Normalized DEMA < 45 (downward momentum)
Candle high is below the lower SD band
Two consecutive bearish candles appear
Exit Conditions:
Take-profit at a risk-reward ratio of 1.5
Stop-loss triggered if price breaks below (long) or above (short) the SD band
Trailing stop activated based on 2× ATR to secure and extend profits
💰 Risk Management Parameters
Symbol & Timeframe: Any (AUDUSD 5M example)
Account size (virtual): $3000
Commission: 0.4PIPS(0.0004)
Slippage: 2 pips
Risk per trade: 5%
Number of trades (backtest):534
All parameters can be adjusted based on broker specifications and individual trading profiles.
⚙️ Trading Parameters & Considerations
Indicator: Normalized DEMA Oscillator SD
Parameter settings:
DEMA Period (len_dema): 40
Base Length: 20
Long Threshold: 55
Short Threshold: 45
Risk-Reward Ratio: 1.5
ATR Multiplier for Trailing Stop: 2.0
🖼 Visual Support
The chart displays the following visual elements:
Upper and lower SD bands (±2 standard deviations)
Entry signals shown as directional arrows
🔧 Strategy Improvements & Uniqueness
This strategy is inspired by “Normalized DEMA Oscillator SD” by QuantEdgeB,
but introduces enhancements such as a two-bar confirmation filter and an ATR-based trailing stop.
Compared to conventional trend-following strategies, it offers superior noise filtering and profit optimization.
✅ Summary
The DEMA Trend Oscillator Strategy is a responsive and practical trend-following method
that combines momentum detection with adaptive risk management.
Its visual clarity and logical structure make it a powerful and repeatable tool
for traders seeking consistent performance in trending markets.
⚠️ Always apply appropriate risk management. This strategy is based on historical data and does not guarantee future results.
Liquidity Zones Alerts"Liquidity Zones Alerts" is a powerful smart-money-based indicator designed to detect key liquidity grabs and provide high-probability reversal signals using a combination of market structure, volume, volatility, and candlestick confirmation.
🧠 How It Works
The core logic of this indicator is built around the Smart Money Concepts:
🔺 Liquidity Sweeps: Detects when price takes out previous daily or weekly highs/lows, suggesting stop hunts or engineered liquidity moves by institutional players.
📈 Volume Filter: Ensures signals only appear during above-average volume, filtering out noise and low-interest moves.
⚡ Volatility Filter: Flags high-range candles relative to the average, catching flash crashes/spikes that often precede strong reversals.
🔄 Engulfing Candle Confirmation: Confirms entry with a bullish or bearish engulfing pattern after liquidity is taken — increasing signal reliability.
🧭 Premium/Discount Zone Logic: Trades are filtered to ensure longs are only taken in discount zones, and shorts in premium zones, using a 20-period market range for context.
📌 Features
✅ Daily & Weekly liquidity zones toggle
✅ Visual signals with clean 🔻(short) & 🔺(long) arrows
✅ Auto-detection of flash crashes
✅ Alerts on both long and short setups
✅ Optional previous high/low level plotting for context
✅ Background highlighting of valid signal candles
✅ Multi-timeframe friendly and compatible with any asset
🛠️ Use Case
Whether you're a scalper or a swing trader, this tool helps you spot institutional entry zones before the move happens. It works especially well when combined with your existing bias or supply/demand zones.
💬 “Price doesn't move randomly — it hunts liquidity. This indicator shows you where and when it happens.”
Volatility ContractionA very simple indicator which calculates the range of a definable period (the default is 5 bars) using a percentage range between the highest and lowest prices calculated from the candle bodies (i.e. open and close values). The plotted line makes it easy to see when price movement is tightening (volatility contraction). The dashed threshold line (default 10%) provides a reference point for setting alerts, helping to identify periods of low volatility (e.g. for stocks in your watchlist) that could signal upcoming market action.
Nef33 Forex & Crypto Trading Signals PRO
1. Understanding the Indicator's Context
The indicator generates signals based on confluence (trend, volume, key zones, etc.), but it does not include predefined SL or TP levels. To establish them, we must:
Use dynamic or static support/resistance levels already present in the script.
Incorporate volatility (such as ATR) to adjust the levels based on market conditions.
Define a risk/reward ratio (e.g., 1:2).
2. Options for Determining SL and TP
Below, I provide several ideas based on the tools available in the script:
Stop Loss (SL)
The SL should protect you from adverse movements. You can base it on:
ATR (Volatility): Use the smoothed ATR (atr_smooth) multiplied by a factor (e.g., 1.5 or 2) to set a dynamic SL.
Buy: SL = Entry Price - (atr_smooth * atr_mult).
Sell: SL = Entry Price + (atr_smooth * atr_mult).
Key Zones: Place the SL below a support (for buys) or above a resistance (for sells), using Order Blocks, Fair Value Gaps, or Liquidity Zones.
Buy: SL below the nearest ob_lows or fvg_lows.
Sell: SL above the nearest ob_highs or fvg_highs.
VWAP: Use the daily VWAP (vwap_day) as a critical level.
Buy: SL below vwap_day.
Sell: SL above vwap_day.
Take Profit (TP)
The TP should maximize profits. You can base it on:
Risk/Reward Ratio: Multiply the SL distance by a factor (e.g., 2 or 3).
Buy: TP = Entry Price + (SL Distance * 2).
Sell: TP = Entry Price - (SL Distance * 2).
Key Zones: Target the next resistance (for buys) or support (for sells).
Buy: TP at the next ob_highs, fvg_highs, or liq_zone_high.
Sell: TP at the next ob_lows, fvg_lows, or liq_zone_low.
Ichimoku: Use the cloud levels (Senkou Span A/B) as targets.
Buy: TP at senkou_span_a or senkou_span_b (whichever is higher).
Sell: TP at senkou_span_a or senkou_span_b (whichever is lower).
3. Practical Implementation
Since the script does not automatically draw SL/TP, you can:
Calculate them manually: Observe the chart and use the levels mentioned.
Modify the code: Add SL/TP as labels (label.new) at the moment of the signal.
Here’s an example of how to modify the code to display SL and TP based on ATR with a 1:2 risk/reward ratio:
Modified Code (Signals Section)
Find the lines where the signals (trade_buy and trade_sell) are generated and add the following:
pinescript
// Calculate SL and TP based on ATR
atr_sl_mult = 1.5 // Multiplier for SL
atr_tp_mult = 3.0 // Multiplier for TP (1:2 ratio)
sl_distance = atr_smooth * atr_sl_mult
tp_distance = atr_smooth * atr_tp_mult
if trade_buy
entry_price = close
sl_price = entry_price - sl_distance
tp_price = entry_price + tp_distance
label.new(bar_index, low, "Buy: " + str.tostring(math.round(bull_conditions, 1)), color=color.green, textcolor=color.white, style=label.style_label_up, size=size.tiny)
label.new(bar_index, sl_price, "SL: " + str.tostring(math.round(sl_price, 2)), color=color.red, textcolor=color.white, style=label.style_label_down, size=size.tiny)
label.new(bar_index, tp_price, "TP: " + str.tostring(math.round(tp_price, 2)), color=color.blue, textcolor=color.white, style=label.style_label_up, size=size.tiny)
if trade_sell
entry_price = close
sl_price = entry_price + sl_distance
tp_price = entry_price - tp_distance
label.new(bar_index, high, "Sell: " + str.tostring(math.round(bear_conditions, 1)), color=color.red, textcolor=color.white, style=label.style_label_down, size=size.tiny)
label.new(bar_index, sl_price, "SL: " + str.tostring(math.round(sl_price, 2)), color=color.red, textcolor=color.white, style=label.style_label_up, size=size.tiny)
label.new(bar_index, tp_price, "TP: " + str.tostring(math.round(tp_price, 2)), color=color.blue, textcolor=color.white, style=label.style_label_down, size=size.tiny)
Code Explanation
SL: Calculated by subtracting/adding sl_distance to the entry price (close) depending on whether it’s a buy or sell.
TP: Calculated with a double distance (tp_distance) for a 1:2 risk/reward ratio.
Visualization: Labels are added to the chart to display SL (red) and TP (blue).
4. Practical Strategy Without Modifying the Code
If you don’t want to modify the script, follow these steps manually:
Entry: Take the trade_buy or trade_sell signal.
SL: Check the smoothed ATR (atr_smooth) on the chart or calculate a fixed level (e.g., 1.5 times the ATR). Also, review nearby key zones (OB, FVG, VWAP).
TP: Define a target based on the next key zone or multiply the SL distance by 2 or 3.
Example:
Buy at 100, ATR = 2.
SL = 100 - (2 * 1.5) = 97.
TP = 100 + (2 * 3) = 106.
5. Recommendations
Test in Demo: Apply this logic in a demo account to adjust the multipliers (atr_sl_mult, atr_tp_mult) based on the market (forex or crypto).
Combine with Zones: If the ATR-based SL is too wide, use the nearest OB or FVG as a reference.
Risk/Reward Ratio: Adjust the TP based on your tolerance (1:1, 1:2, 1:3)
MLB Momentum IndicatorMLB Momentum Indicator is a no‐lookahead technical indicator designed to signal intraday trend shifts and potential reversal points. It combines several well‐known technical components—Moving Averages, MACD, RSI, and optional ADX & Volume filters—to deliver high‐probability buy/sell signals on your chart.
Below is an overview of how it works and what each part does:
1. Moving Average Trend Filter
The script uses two moving averages (fast and slow) to determine the primary trend:
isUpTrend if Fast MA > Slow MA
isDownTrend if Fast MA < Slow MA
You can select the MA method—SMA, EMA, or WMA—and customize lengths.
Why it matters: The indicator only gives bullish signals if the trend is up, and bearish signals if the trend is down, helping avoid trades that go against the bigger flow.
2. MACD Confirmation (Momentum)
Uses MACD (with user‐defined Fast, Slow, and Signal lengths) to check momentum:
macdBuySignal if the MACD line crosses above its signal line (bullish)
macdSellSignal if the MACD line crosses below its signal line (bearish)
Why it matters: MACD crossovers confirm an emerging momentum shift, aligning signals with actual price acceleration rather than random fluctuation.
3. RSI Overbought/Oversold Filter
RSI (Relative Strength Index) is calculated with a chosen length, plus Overbought & Oversold thresholds:
For long signals: the RSI must be below the Overbought threshold (e.g. 70).
For short signals: the RSI must be above the Oversold threshold (e.g. 30).
Why it matters: Prevents buying when price is already overbought or shorting when price is too oversold, filtering out possible poor‐risk trades.
4. Optional ADX Filter (Trend Strength)
If enabled, ADX must exceed a chosen threshold (e.g., 20) for a signal to be valid:
This ensures you’re only taking trades in markets that have sufficient directional momentum.
Why it matters: It weeds out choppy, sideways conditions where signals are unreliable.
5. Optional Volume Filter (High‐Participation Moves)
If enabled, the indicator checks whether current volume is above a certain multiple of its moving average (e.g., 1.5× average volume).
Why it matters: High volume often indicates stronger institutional interest, validating potential breakouts or reversals.
6. ATR & Chandelier (Visual Reference)
For reference only, the script can display ATR‐based stop levels or a Chandelier Exit line:
ATR (Average True Range) helps gauge volatility and can inform stop‐loss distances.
Chandelier Exit is a trailing stop technique that adjusts automatically as price moves.
Why it matters: Though this version of the script doesn’t execute trades, these lines help you see how far to place stops or how to ride a trend.
7. Final Bullish / Bearish Signal
When all conditions (trend, MACD, RSI, optional ADX, optional Volume) line up for a long, a green “Long” arrow appears.
When all conditions line up for a short, a red “Short” arrow appears.
Why it matters: You get a clear, on‐chart signal for each potential entry, rather than needing to check multiple indicators manually.
8. Session & Date Filtering
The script allows choosing a start/end date and an optional session window (e.g. 09:30–16:00).
Why it matters: Helps limit signals to a specific historical backtest range or trading hours, which can be crucial for day traders (e.g., stock market hours only).
Putting It All Together
Primary Trend → ensures you trade in line with the bigger direction.
MACD & RSI → confirm momentum and avoid overbought/oversold extremes.
ADX & Volume → optional filters for strong trend strength & genuine interest.
Arrows → each potential buy (Long) or sell (Short) signal is clearly shown on your chart.
Use Cases
5‐Minute Scalping: Shorter RSI/MACD lengths to catch small, frequent intraday moves.
Swing Trading: Larger MAs, bigger RSI thresholds, and using ADX to filter only major trends.
Cautious Approach: Enable volume & ADX filters to reduce false signals in choppy markets.
Benefits & Limitations
Benefits:
Consolidates multiple indicators into one overlay.
Clear buy/sell signals with optional dynamic volatility references.
Flexible user inputs adapt to different trading styles/timeframes.
Limitations:
Like all technical indicators, it can produce false signals in sideways or news‐driven markets.
Success depends heavily on user settings and the particular market’s behavior.
Summary
The MLB Momentum Indicator combines a trend filter (MAs), momentum check (MACD), overbought/oversold gating (RSI), and optional ADX/Volume filters to create clear buy/sell arrows on your chart. This approach encourages trading in sync with both trend and momentum, and helps avoid suboptimal entries when volume or trend strength is lacking. It can be tailored to scalp micro‐moves on lower timeframes or used for higher‐timeframe swing trading by adjusting the input settings.
ATR Stop LossThe ATR Stop Loss indicator is designed to assist traders in managing risk by calculating dynamic stop loss levels based on the Average True Range (ATR). By considering market volatility, this tool helps identify optimal stop loss placements for both long and short positions, making it easier for traders to protect their investments and avoid premature exits.
Features:
Customizable ATR period and multiplier to adapt to different trading strategies and market conditions.
Displays stop loss levels directly on the chart for quick decision-making.
Works across various timeframes and assets, offering flexible application in diverse trading scenarios.
How It Works: The indicator calculates the ATR over a specified period and multiplies it by a user-defined value to plot stop loss levels above or below the current closing price. For long positions, the stop loss level is set below the price, while for short positions, it is set above. These levels help traders set stops that account for current market volatility, reducing the likelihood of getting stopped out by minor fluctuations.
Usage: Add the ATR Stop Loss indicator to your chart, customize the ATR period and multiplier as needed, and use the visualized stop loss levels to manage your trades with greater precision and confidence.
Disclaimer: The ATR Stop Loss indicator is provided for educational and informational purposes only and should not be construed as financial or investment advice. Trading involves substantial risk and is not suitable for every investor. Users are solely responsible for any trading decisions they make based on the use of this indicator. Past performance is not indicative of future results. Always conduct your own analysis and consult with a qualified financial professional before making any trading decisions. EdgeLab and its creator bear no liability for any financial losses or other damages resulting from the use of this indicator.
Half Trend Regression [AlgoAlpha]Introducing the Half Trend Regression indicator by AlgoAlpha, a cutting-edge tool designed to provide traders with precise trend detection and reversal signals. This indicator uniquely combines linear regression analysis with ATR-based channel offsets to deliver a dynamic view of market trends. Ideal for traders looking to integrate statistical methods into their analysis to improve trade timing and decision-making.
Key Features
🎨 Customizable Appearance : Adjust colors for bullish (green) and bearish (red) trends to match your charting preferences.
🔧 Flexible Parameters : Configure amplitude, channel deviation, and linear regression length to tailor the indicator to different time frames and trading styles.
📈 Dynamic Trend Line : Utilizes linear regression of high, low, and close prices to calculate a trend line that adapts to market movements.
🚀 Trend Direction Signals : Provides clear visual signals for potential trend reversals with plotted arrows on the chart.
📊 Adaptive Channels : Incorporates ATR-based channel offsets to account for market volatility and highlight potential support and resistance zones.
🔔 Alerts : Set up alerts for bullish or bearish trend changes to stay informed of market shifts in real-time.
How to Use
🛠 Add the Indicator : Add the Half Trend Regression indicator to your chart from the TradingView library. Access the settings to customize parameters such as amplitude, channel deviation, and linear regression length to suit your trading strategy.
📊 Analyze the Trend : Observe the plotted trend line and the filled areas under it. A green fill indicates a bullish trend, while a red fill indicates a bearish trend.
🔔 Set Alerts : Use the built-in alert conditions to receive notifications when a trend reversal is detected, allowing you to react promptly to market changes.
How It Works
The Half Trend Regression indicator calculates linear regression lines for the high, low, and close prices over a specified period to determine the general direction of the market. It then computes moving averages and identifies the highest and lowest points within these regression lines to establish a dynamic trend line. The trend direction is determined by comparing the moving averages and previous price levels, updating as new data becomes available. To account for market volatility, the indicator calculates channels above and below the trend line, offset by a multiple of half the Average True Range (ATR). These channels help visualize potential support and resistance zones. The area under the trend line is filled with color corresponding to the current trend direction—green for bullish and red for bearish. When the trend direction changes, the indicator plots arrows on the chart to signal a potential reversal, and alerts can be set up to notify you. By integrating linear regression and ATR-based channels, the indicator provides a comprehensive view of market trends and potential reversal points, aiding traders in making informed decisions.
Enhance your trading strategy with the Half Trend Regression indicator by AlgoAlpha and gain a statistical edge in the markets! 🌟📊
Sortino RatioThe Sortino ratio is a variation of the Sharpe ratio that differentiates harmful volatility from total overall volatility by using the asset's standard deviation of negative portfolio returns—downside deviation—instead of the total standard deviation of portfolio returns. The Sortino ratio takes an asset or portfolio's return and subtracts the risk-free rate, and then divides that amount by the asset's downside deviation. The ratio was named after Frank A. Sortino.
Volume True Range (VTR) and Volume Average True Range (VATR)This indicator uses lower-timeframe cumulative volume delta (CVD) candles to calculate the Volume True Range (VTR) of your instrument. The VTR is calculated similarly to the traditional true range, but uses volume instead (no price is involved in the calculation other than in the lower timeframe bar delta assignments). I haven't seen this concept developed before on TradingView or frankly the Internet, but I thought it seemed fairly intuitive; we can calculate the lower timeframe volume delta candles, so it makes sense to calculate a volume true range, which could show divergences in volume and price.
The VTR is calculated by the following code which uses the lower-timeframe CVD candles:
volumeTR = math.max(cvd_high - cvd_low, math.abs(cvd_high - nz(cvd_close )), math.abs(cvd_low - nz(cvd_close )))
The Volume Average True Range (VATR) is calculated by taking the RMA of the VTR, similarly to the ATR.
I would like to thank TradingView for the calculation of up/down intrabar volumes, which I referenced from their 'CVD - Cumulative Volume Delta Candles' indicator.
How to Use
The VTR and VATR can be used to identify price-volume trends and volatility divergences. A strong VTR (above the VATR of your specified length) can indicate the start or continuation of a trend, which you can identify via the VTR color (determined via price candle colors). Similarly, a rising VATR with most VTR bars of a specific color (green or red) will show that volume is moving in a specific price direction.
Additionally, the VATR plotted next to the ATR of the same length will show you volume volatility divergences. A strong VATR next to a muted/flat ATR indicates strong volume movement, which price might follow in the upcoming bars. Or, for trend reversals, a decreasing ATR after a strong trend combined with a rising VATR of the opposite trend may show a possible reversal.
Hope you all enjoy this.
-wbburgin
* Quick note: lower timeframe analysis returns only so much data. If you are on a high timeframe and the indicator is showing only a limited amount of bars, raise the lower timeframe (but still keep it below your current timeframe) so that the arrays can return more bars for you.
Effort Versus ResultsThis indicator, named "Effort Versus Results" (CCB), is designed to visually highlight price bars on a TradingView chart based on user-defined criteria. The purpose of this indicator is to identify potential trading opportunities or signal areas of interest for further analysis.
Once the inputs are specified, the indicator calculates the ratio of the first ATR to the average volume and compares it to the product of the multiplier and the ratio of the second ATR to the average volume. If the calculated condition is met, indicating that the first ATR relative to volume is greater than the second ATR relative to volume multiplied by the specified multiplier, the indicator colors the corresponding price bars red.
By customizing the parameters, traders can adapt the indicator to suit their trading strategies, risk tolerance, and market conditions. The highlighted bars may signify potential areas of increased volatility or trading activity, prompting traders to further investigate potential trading opportunities. However, as with any technical indicator, it is essential to use this tool in conjunction with other analysis techniques and risk management strategies for informed decision-making.
The indicator utilizes three main inputs that users can customize:
1. **ATR Length 1 (`atr_length_1`)**: This parameter allows users to specify the length of the first Average True Range (ATR) period. ATR is a measure of market volatility and represents the average range of price movement over a specified period.
2. **ATR Length 2 (`atr_length_2`)**: Users can set the length of the second ATR period, allowing for comparison between two different ATR values.
3. **Volume Length (`volume_length`)**: This input enables users to define the length of the volume period. Volume is a measure of the number of shares or contracts traded during a given period and is often used to confirm price movements.
4. **Multiplier (`multiplier`)**: Users can specify a multiplier value to adjust the threshold for comparison between the two ATR values divided by volume. This parameter allows for flexibility in setting the sensitivity of the indicator.
Volatility Adjusted EMA - by CrunchsterApplies recent volatility adjustment to the exponential moving average, where the smoothing factor is 2/(N + 1) - N being the lookback period or span
Volatility of recent 30 days returns is calculated using standard deviation with a thirty day lookback.
Increased smoothing compared to a standard EMA, which also adjusts to market conditions, as first described by Chande in 1991.
Exponentially Weighted Moving Average Oscillator [BackQuant]Exponentially Weighted Moving Average (EWMA)
The Exponentially Weighted Moving Average (EWMA) is a quantitative or statistical measure used to model or describe a time series. The EWMA is widely used in finance, the main applications being technical analysis and volatility modeling.
The moving average is designed as such that older observations are given lower weights. The weights fall exponentially as the data point gets older – hence the name exponentially weighted.
Applications of the EWMA
The EWMA is widely used in technical analysis. It may not be used directly, but it is used in conjunction with other indicators to generate trading signals. A well-known example is the Negative Volume Index (NVI), which is used in conjunction with its EWMA.
Why is it different from the In-Built TradingView EWMA
Adaptive Algorithms: If your strategy requires the alpha parameter to change adaptively based on certain conditions (for example, based on market volatility), a for loop can be used to adjust the weights dynamically within the loop as opposed to the fixed decay rate in the standard EWMA.
Customization: A for loop allows for more complex and nuanced calculations that may not be directly supported by built-in functions. For example, you might want to adjust the weights in a non-standard way that the typical EWMA calculation doesn't allow for.
Use of the Oscillator
This mainly comes from 3 main premises, this is something I like to do personally since it is easier to work with them in the context of my system. E.g. Using them to spot clear trends without noise on longer timeframes.
Clarity: Plotting the EWMA as an oscillator provides a clear visual representation of the momentum or trend strength. It allows traders to see overbought or oversold conditions relative to a normalized range.
Comparison: An oscillator can make it easier to compare different securities or timeframes on a similar scale, especially when normalized. This is because the oscillator values are typically bounded within a range (like -1 to 1 or 0 to 100), whereas the actual price series can vary significantly.
Focus on Change: When plotted as an oscillator, the focus is on the rate of change or the relative movement of the EWMA, not on the absolute price levels. This can help traders spot divergences or convergences that may not be as apparent when the EWMA is plotted directly on the price chart. This is also one reason there is a conditional plotting on the chart.
Trend Strength: When normalized, the distance of the oscillator from its midpoint can be interpreted as the strength of the trend, providing a quantitative measure that can be used to make systematic trading decisions.
Here are the backtests on the 1D Timeframe for
BITSTAMP:BTCUSD
BITSTAMP:ETHUSD
COINBASE:SOLUSD
When using this script the user is able to define a source and period, which by extension calculates the alpha. An option to colour the bars accord to trend.
This makes it super easy to use in a system.
I recommend using this as above the midline (0) for a positive trend and below the midline for negative trend.
Hence why I put a label on the last bar to ensure it is easier for traders to read.
Lastly, The decreasing colour relative to RoC, this also helps traders to understand the strength of the indicator and gain insight into when to potentially reduce position size.
This indicator is best used in the medium timeframe.
Sessions Lite [TradingFinder] New York, London, Asia, NYSE Forex🔵 Introduction
A trading session is one of the basic concepts in the financial market that refers to specific time periods. In fact, a session means hours during the day and night, during which traders in a certain part of the world conduct their transactions.
Although the "Forex" and "CFDs" market is open 24 hours a day and it is possible to trade in it, but in some hours the activity in this market decreases so much that many traders prefer not to trade and only watch the market. On the other hand, there are specific times when the market is very busy and dynamic, and many traders tend to trade during these hours of the day and night.
Trading sessions are usually divided into three main categories, which are "Asian", "European" and "North American" sessions. These trading sessions are also called the "Tokyo", "London" and "New York" sessions, respectively. But they also categorized these sessions in more detailed ways such as "Sydney session", "Shanghai session" or "NYSE session".
🔵 Tokyo trading session (Asian session)
After the weekend that happens on Saturday and Sunday, the Forex market starts with the Asian session. In this continent, most of the transactions are done in the Tokyo session, and for this reason, it is usually called the Asian session or the Tokyo session. However, other countries such as Australia, China and Singapore also do a lot of trading in this session.
The Tokyo session has a lower volume of transactions compared to the London and New York sessions, and therefore the liquidity is lower. In this session, most of the Forex currency pairs move in a price range. For this reason, different people use the ups and downs with the trading strategy in the range and get profit.
The low liquidity of the Tokyo session means that trading spreads are also higher during these hours. Besides, most of the transactions of this session are done in the early hours and at the same time as the planned news release.
In the Tokyo or Asia session, the best currency pairs to trade are the "Japanese yen", the "Australian dollar", and the "New Zealand dollar".
"Nikkei" index is also a good option for trading. If you trade in the Tokyo session, you should also be aware of the release of economic news and data from Australian, New Zealand and Japanese financial institutions.
🔵 London trading session (European session)
After the Asian session, it is time for the European session. In this period of time, transactions are very large and many European markets are involved. However, the European session is usually known as the London session.
Because of its specific time zone, London is not only known as the Forex trading center in Europe, but it is also known as the Forex trading center in the world. The London session overlaps with two other major trading sessions in the world, Asia and America. This means that most of the Forex transactions are done in this session. According to the latest statistics, 32% of Forex transactions are related to the London session, which shows that about a third of the activity performed in Forex takes place during this period.
This will increase the volume of Forex transactions and increase liquidity. An event that causes the spread of transactions to decrease. Of course, high liquidity also leads to greater volatility, which is desirable for many traders.
In the European session, the pound and euro currencies and the "DAX", "FTSE100", and "CAC40" indices are known as the best tradable assets. Also, traders of this session should pay attention to the news and data published by the "European Central Bank" and the "Bank of England". The news of countries like Germany, France and Italy are also very important.
🔵 American trading session (New York session)
When the New York session begins, several hours have passed since the end of the Tokyo session, but the European session is in the middle. In this session, they usually affect the financial activities carried out in America, but they also affect other countries such as Canada, Mexico and several South American countries.
The "US dollar" and stock indices such as "S&P", "Dow Jones" and "Nasdaq" are the most important assets that are traded in this session.
The early hours of the American session have a lot of liquidity and volatility due to the overlap with the European session, but with the end of the European session, the activity in the American session also decreases.
You can trade all major Forex currency pairs in the New York trading session. In this session, the "Federal Reserve", as the most important central bank in the world, is the institution that you should pay attention to its news and data.
The trading session indicator is an analytical tool in the financial markets that is used to display and analyze specific trading periods during a day. These indicators are generally useful for determining support and resistance levels during any trading session and for detecting different trading patterns.
For example, usually these indicators display the open and close price levels, the highest and lowest prices during a trading session. Also, you may notice various price patterns such as price channels, price phase phases and market trend changes during different trading sessions using these indicators.
🔵 cause of construction
In particular, the session light indicator version is designed and built for those traders who use many different tools on their chart at the same time. These traders can include "Volume Traders", "ICT traders", "Day Traders" and... These individuals can use "Session Lite" without disturbing the display of their other trading tools such as "Order Blocks", "Liquidity", "Zigzag", "FVG" etc.
But in general, there are several reasons for making tools like trading session indicators in financial markets, some of which include the following :
1. Analysis of specific time frames : Some traders and investors like to consider specific time frames for price analysis and review. For example, analyzing price changes during each trading session can help analyze trading patterns and identify trading opportunities.
2. Recognize different price patterns : Different price patterns may be observed during trading sessions. Trading session indicators can help to make better trading decisions by analyzing these patterns and their strengths and weaknesses.
3. Identifying Support and Resistance Levels : These tools may help to identify support and resistance levels during any trading session which can be helpful in deciding whether to enter or exit the market.
🔵 How to use
The Session Lite indicator displays 8 sessions by default. Asia session, Sydney session, Tokyo session, Shanghai session, Europe session, London session, New York session and New York Stock Exchange (NYSE) session are the sessions that are displayed.
You can activate or deactivate the display of each session by using the tick button next to the name of each session.
Two gray vertical dashes are also displayed by default, which indicate the beginning of the European session and the New York session. This feature is available for all sessions, but it is enabled by default only for these two sessions, and you can activate it for the rest of the session. You can enable or disable the display of this line by using the Start Session tick key.
Likewise, the information table is displayed by default, which includes the open or closed information of each session and the start and end times of each session. These timings are based on the UTC time zone.
Accordingly, the schedule of trading sessions is as follows :
Asia session from 23:00 to 06:00
Sydney session from 23:00 to 05:00
Tokyo session from 00:00 to 00:06
Shanghai session from 01:30 to 06:57
European session from 07:00 to 16:30
London session from 08:00 to 16:30
New York session from 13:00 to 22:00
New York Stock Exchange (NYSE) session from 14:30 to T 22:00
Important note : the beginning of the European session coincides with the opening of the Frankfurt market.
🔵 Settings
• In the settings section, there are customization capabilities according to the type of use of each user. The settings related to showing or not showing the box of each session, the start indicator of each session, setting the start and end time of the session and choosing the desired color to display each session are among the things that can be set from this section.
• At the end of the settings, you will see the "Info Table" option; By disabling this option, the "sessions" clock table displayed on the upper right side will be disabled.
IU Average move How The Script Works :
1. This script calculate the average movement of the price in a user defined custom session and plot the data in a table from on top left corner of the chart.
2. The script takes highest and lowest value of that custom session and store their difference into an array.
3. Then the script average the array thus gets the average price.
4. Addition to that the script converter the price pip change into percentage in order to calculate the value in percentage form.
5. This script is pure price action based the script only take price value and doesn't take any indicator for calculation.
6. The script works on every type of market.
7. If the session is invalid it returns nothing
8. The background color, text color and transparency is changeable.
How User Can Benefit From This Script:
1. User can understand the volatility of any session that he/she wish to trade.
2. It can be helpful for understanding the average price moment of any tradeble asset.
3. It will give the average price movement both in percentage and points bases.
4. By understanding the volatility user can adjust his stop loss or take profit with respect his risk management.
Supertrend Targets [ChartPrime]The Supertrend Targets indicator combines the concepts of trend-following with dynamic volatility-based target levels. It takes core simple and classical concepts and provides actionable insights. The core of this indicator revolves around the "Supertrend" algorithm, which essentially uses the Average True Range (ATR) and a multiplier to determine if the price of a financial instrument is in an uptrend or downtrend. The indicator generates various plot points on the trading chart, which traders can use to make informed trading decisions.
Users can set several input parameters such as the source price, custom levels, multiplier scale, length of the average true range, and the window length. Traders can also opt to enable a table that shows numeric target data by percentiles, risk ratio, take profit and stop loss points.
The generated plots and fills on the chart represent various levels of potential gains and drawdowns, acting as potential targets for taking profit or stopping losses. These include the 25th, 50th, 75th, 90th, and 100th percentiles, which are adjustable by scale. There are also plots for average gain and drawdown levels, enhanced by standard deviation curves if enabled.
The Supertrend line indicators are color-coded for ease of understanding: blue for bullish performance and orange for bearish performance. The "Center Line" represents the point at which traders might consider entering a position.
Lastly, the script presents a summary table (when enabled) at the right side of the chart displaying numeric data of the plotted targets. This data provides additional insights on the risk-reward balance for each percentile, helping traders to execute their strategies more effectively.
Here's a comprehensive breakdown of its functionalities and features:
Inputs:
Source: Determines the price series type (e.g., Close, Open, High, Low, etc.).
Show Trailing Stop: Option to display the trailing stop on the chart.
Levels: Sets the number of target levels you want to display. Can range from -5 to 5.
Scale: A scaling factor for adjusting targets, can be between 1 to 100.
Window Length: Length for the target computation, determines how many bars will be considered.
Unique: Ensures every data point used in calculations is unique.
Multiplier: Multiplier for the ATR (Average True Range) to compute the SuperTrend.
ATR Length: Period for the ATR computation.
Custom Level: Allows users to set their own levels using various statistics like Average, Average + STDEV, Percentile, or can be disabled.
Percent Rank: Determines the percentile rank for targeting.
Enable Table: Enables or disables a table display.
Methods:
Flag: Identifies bullish and bearish trend reversals.
Target Percent: Determines the expected price movement (both gains and drawdowns) based on historical trend reversals.
Value Percent: Computes the percentage difference between the current price and the entry price during trend reversals.
Plots:
Multiple target lines are plotted on the chart to visualize potential gain and drawdown levels. These levels are adjusted based on user settings. Additionally, the main Supertrend line is plotted to indicate the prevailing trend direction.
Gain Levels: Target levels which show potential upside from the current price.
Drawdown Levels: Target levels which represent potential downside from the current price.
SuperTrend Line: A line that adjusts based on price volatility and trend direction, acting as a dynamic support or resistance.
In conclusion, the "Supertrend Targets " indicator is a powerful tool that combines the principle of trend-following with dynamic targets, providing traders with insights into potential future price movements. The range of customization options allows traders to adapt the indicator to different trading strategies and market conditions.
ATR InfoWhat Is the Average True Range (ATR)?
The average true range (ATR) is a technical analysis indicator, introduced by market technician J. Welles Wilder Jr. in his book New Concepts in Technical Trading Systems, that measures market volatility by decomposing the entire range of an asset price for that period.
Each instrument per unit of time passes its average value of the true range, but there are moments when the volatility explodes or abruptly decays, these phenomena introduce large distortions into the average value of the true range.
The ATR_WPB function calculates the average value of the true range for the specified number of bars, while excluding paranormally large and paranormally small bars from the calculation of the average.
For example, if the instrument has passed a small ATR value, then it has many chances to continue moving, but if the instrument has passed its ATR value, then the chances of continuing to move are extremely low.
Volatility Capture RSI-Bollinger - Strategy [presentTrading]- Introduction and how it is different
The 'Volatility Capture RSI-Bollinger - Strategy ' is a trading strategy that combines the concepts of Bollinger Bands (BB), Relative Strength Index (RSI), and Simple Moving Average (SMA) to generate trading signals. The uniqueness of this strategy is it calculates which is a dynamic level between the upper and lower Bollinger Bands based on the closing price. This unique feature allows the strategy to adapt to market volatility and price movements.
The market in Crypto and Stock are highly volatile, making them suitable for a strategy that uses Bollinger Bands. The RSI can help identify overbought or oversold conditions in this often speculative market.
BTCUSD 4hr chart
(700.hk) 3hr chart
Remember, the effectiveness of a trading strategy also depends on other factors such as the timeframe used, the specific settings of the indicators, and the overall market conditions. It's always recommended to backtest and paper trade a strategy before using it in live trading.
- Strategy, How it Works
Dynamic Bollinger Band: The strategy works by first calculating the upper and lower Bollinger Bands based on the user-defined length and multiplier. It then uses the Bollinger Bands and the closing price to dynamically adjust the presentBollingBand value. In the end, it generates a long signal when the price crosses over the present Bolling Band and a short signal when the price crosses under the present Bolling Band.
RSI: If the user has chosen to use RSI for signals, the strategy also calculates the RSI and its SMA, and uses these to generate additional long and short signals. The RSI-based signals are only used if the 'Use RSI for signals' option is set to true.
The strategy then checks the chosen trading direction and enters a long or short position accordingly. If the trading direction is set to 'Both', the strategy can enter both long and short positions.
Finally, the strategy exits a position when the close price crosses under the present Bolling Band for a long position, or crosses over the present Bolling Band for a short position.
- Trade direction
The strategy also includes a trade direction parameter, allowing the user to choose whether to enter long trades, short trades, or both. This makes the strategy adaptable to different market conditions and trading styles.
- Usage
1. Set the input parameters as per your trading preferences. You can choose the price source, the length of the moving average, the multiplier for the ATR, whether to use RSI for signals, the RSI and SMA periods, the bought and sold range levels, and the trading direction.
2. The strategy will then generate buy and sell signals based on these parameters. You can use these signals to enter and exit trades.
- Default settings
1. Source: hlc3
2. Length: 50
3. Multiplier: 2.7183
4. Use RSI for signals: True
5. RSI Period: 10
6. SMA Period: 5
7. Bought Range Level: 55
8. Sold Range Level: 50
9. Trade Direction: Both
- Strategy's default Properties
1. Default Quantity Type: 'strategy.percent_of_equity'
2. commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1: These parameters set the commission and slippage for the strategy. The commission is set to 0.1% of the trade value, and the slippage (the difference between the expected price of a trade and the price at which the trade is executed) is set to 1.
3. default_qty_type = strategy.percent_of_equity, default_qty_value = 15: These parameters set the default quantity for trades. The default_qty_type is set to strategy.percent_of_equity, which means that the size of each trade will be a percentage of the account equity. The default_qty_value is set to 15, which means that each trade will be 15% of the account equity.
4. initial_capital= 10000: This parameter sets the initial capital for the strategy to $10,000.
StdDev ChannelsThis script draws two sets of standard deviation channels on the price chart, providing a nuanced view of price volatility over different lengths.
The script starts by declaring a set of user-defined inputs allowing traders to customize the tool according to their individual requirements. The price input sets the source of the price data, defaulting to the closing price but customizable to use open, high, or low prices. The deviations parameter defines the width of the channels, with larger numbers resulting in wider channels. The length and length2 inputs represent the number of periods (in bars) that the script considers when calculating the regression line and standard deviation. Traders can also personalize the visual aspects of the indicator on the chart using the color, linewidth, and linestyle parameters.
Calculation of Standard Deviation:
The core of this script lies in calculating the regression line and standard deviation. This is where the InertiaAll function comes into play. This function calculates the linear regression line, which serves as the middle line of each channel. The function takes in two parameters: y (price data) and n (length for calculation). It returns an array containing the values for the regression line (InertiaTS), counter variable (x), slope of the line (a), and y-intercept (b). The standard deviation is then calculated using the built-in function ta.stdev, which measures the amount of variation or dispersion from the average.
After the calculation, the script proceeds to draw the channels. It creates two sets of lines (upper, middle, and lower) for each channel. These lines are initialized at the lowest price point on the chart (low). The coordinates for these lines get updated in the last section of the script, which runs only on the last bar on the chart (if barstate.islast). The functions line.set_xy1 and line.set_xy2 are used to adjust the starting and ending points for each line, forming the channels.
If the "full range" toggle is enabled, the script uses the maximum number of bars available on the chart to calculate the regression and standard deviation. This can give a broader perspective of the price's volatility over the entire available data range.
A Basic Strategy
The channels generated by this script may inform your trading decisions. If the price hits the upper line of a channel, it could suggest an 'overbought' condition indicating a potential selling opportunity. Conversely, if the price hits the lower line, it might signal an 'oversold' condition, suggesting a buying opportunity. The second channel, calculated over a different length, may serve to confirm these signals or identify longer-term trends.
Typical Price Difference - TPD © with reversal zones and signalsv1.0 NOTE: The maths have been tested only for BTC and weekly time frame.
This is a concept that I came through after long long hours of VWAP trading and scalping.
The idea is pretty simple:
1) Typical Price is calculated by (h+l+c) / 3. If we take this price and adjust it to volume we get the VWAP value. The difference between this value and the close value, i call it " Typical Price Difference - TPD ".
2) We get the Historical Volatility as calculated by TradingView script and we add it up to TPD and divide it by two (average). This is what I call " The Source - TS ".
3) We apply the CCI formula to TS .
4) We calculate the Rate of Change (roc) of the CCI formula.
5) We apply the VIX FIX of Larry Williams (script used is from ChrisMoody - CM_Williams_Vix_Fix Finds Market Bottoms) *brilliant script!!!
How to use it:
a) When the (3) is over the TPD we have a bullish bias (green area). When it's under we have a bearish bias (red area).
b) If the (1) value goes over or under a certain value (CAUTION!!! it varies in different assets or timeframes) we get a Reversal Zone (RZ). Red/Green background.
c) If we are in a RZ and the VIX FIX gives a strong value (look for green bars in histogram) and roc (4) goes in the opposite direction, we get a reversal signal that works for the next week(s).
I applied this to BTC on a weekly time frame and after some corrections, it gives pretty good reversal zones and signals. Especially bottoms. Also look for divergences in the zones/signals.
As I said I have tested and confirmed it only on BTC/weekly. I need more time with the maths and pine to automatically adjust it to other time frames. You can play with it in different assets or time frames to find best settings by hand.
Feel free to share your thoughts or ideas on this.
P.S. I realy realy realy try to remember when or how or why I came up with the idea to combine typical price with historical volatility and CCI. I can't! It doesn't make any sense LOL
Volatility Adjusted EMA (VAEMA) The pine script shown in the code is an indicator that calculates the volatility-adjusted exponential moving average (VAEMA) of a given data series. The VAEMA indicator uses a variable alpha value in the EMA calculation, with the alpha value being inversely proportional to the volatility of the data. This allows the VAEMA indicator to provide a more accurate representation of the data's trend. The user can specify the length of the data series, the alpha value, and whether to invert the proportionality of the alpha value in the calculation. The resulting VAEMA line is plotted on the chart.
inverted alpha proportions
long lookback regular
long lookback inverted
Elevated Leverage index System - ELiSELEVATED LEVERAGE index SYSTEM (ELiS) tries to solve the problem of adjusting meaningful leverage in futures and margin trading.
The biggest problem for traders is adjusting the leverage level manually.
Concerning about the volatilities it's very hard to set a meaningful leverage level.
ELiS includes 4 different volatility component which are:
1- nATR: Normalized Average True Range which is actually ATR/price to stabilize ATR's value differences when price changes are high on long term periods.
2- Standard Deviation
3- Kairi based nATR
4- Bollinger %B
which are scaled from 0 to 100 and takes different averages with different combinations & ratios and combines them as an index.
This index calculates an average volatility to set the true leverage level when trading futures especially in Crypto and FX markets.
There are 5 risk levels of "GEARS" like on automobiles to set the max leverage for risk management.
Gear 1 - CONSERVATIVE: max leverage level can be 20 for swing traders and beginners
Gear 2 - STANDARD: max leverage level can be 25 (default) for day traders
Gear 3 - AVERAGE: max leverage level can be 33 for day traders
Gear 4 - RISKY: max leverage level can be 50 for scalpers
Gear 5 - AGRESSIVE: max leverage level can be 100 for advanced scalpers
default length for ATR, Standard Deviation and %B are all 50
Simply:
When markets aren't volatile: ELiS indicateshigher leverage values to maximize profits.
When markets are volatile enough: ELiS indicates lower values to reduce risk level.
hope you all enjoy ELiS on profitable trades.
Keltner Channel With User Selectable Moving AvgKeltner Channel with user options to calculate the moving average basis and envelopes from a variety of different moving averages.
The user selects their choice of moving average, and the envelopes automatically adjust. The user may select a MA that reacts faster to volatility or slower/smoother.
Added additional options to color the envelopes or basis based on the current trend and alternate candle colors for envelope touches. The script has a rainbow gradient by default based on RSI.
Options (generally from slower/smoother to faster/more responsive to volatility):
SMMA,
SMA,
Donchian, (Note: Selecting Donchian will just convert this indicator to a regular Donchian Channel)
Tillson T3,
EMA,
VWMA,
WMA,
EHMA,
ALMA,
LSMA,
HMA,
TEMA
Value Added:
Allows Keltner Channel to be calculated from a variety of moving averages other than EMA/SMA, including ones that are well liked by traders such as Tillson T3, ALMA, Hull MA, and TEMA.
Glossary:
The Hull Moving Average ( HMA ), developed by Alan Hull, is an extremely fast and smooth moving average . In fact, the HMA almost eliminates lag altogether and manages to improve smoothing at the same time.
The Exponential Hull Moving Average is similar to the standard Hull MA, but with superior smoothing. The standard Hull Moving Average is derived from the weighted moving average ( WMA ). As other moving average built from weighted moving averages it has a tendency to exaggerate price movement.
Weighted Moving Average: A Weighted Moving Average ( WMA ) is similar to the simple moving average ( SMA ), except the WMA adds significance to more recent data points.
Arnaud Legoux Moving Average: ALMA removes small price fluctuations and enhances the trend by applying a moving average twice, once from left to right, and once from right to left. At the end of this process the phase shift (price lag) commonly associated with moving averages is significantly reduced. Zero-phase digital filtering reduces noise in the signal. Conventional filtering reduces noise in the signal, but adds a delay.
Least Squares: Based on sum of least squares method to find a straight line that best fits data for the selected period. The end point of the line is plotted and the process is repeated on each succeeding period.
Triple EMA (TEMA) : The triple exponential moving average (TEMA) was designed to smooth price fluctuations, thereby making it easier to identify trends without the lag associated with traditional moving averages (MA). It does this by taking multiple exponential moving averages (EMA) of the original EMA and subtracting out some of the lag.
Running (SMoothed) Moving Average: A Modified Moving Average (MMA) (otherwise known as the Running Moving Average (RMA), or SMoothed Moving Average (SMMA)) is an indicator that shows the average value of a security's price over a period of time. It works very similar to the Exponential Moving Average, they are equivalent but for different periods (e.g., the MMA value for a 14-day period will be the same as EMA-value for a 27-days period).
Volume-Weighted Moving Average: The Volume-weighted Moving Average (VWMA) emphasizes volume by weighing prices based on the amount of trading activity in a given period of time. Users can set the length, the source and an offset. Prices with heavy trading activity get more weight than prices with light trading activity.
Tillson T3: The Tillson moving average a.k.a. the Tillson T3 indicator is one of the smoothest moving averages and is both composite and adaptive.