OPEN-SOURCE SCRIPT

Refracted EMA

Updated
Refracted EMA is a price based indicator with bands that is built on moving average.
The price range between the bands directly depends on relationship of Average True Range to Moving Average. This gives us very valuable variable constant that changes with the market moves.
So the bands expand and contract due to changes in volatility of the market, which makes this tool very flexible exposing psychological levels.
Release Notes
Small change in formula to increase graphic representation of Volatility
Release Notes
Added more bands
Release Notes
High Low levels
TF based Support and Resistance
Release Notes
Removed unnecessary lines
Release Notes
Increased responsiveness of bands
Release Notes
UPD: Main EMA colors denote the direction of the trend
snapshot
Release Notes
UPD:
⚠️ Now the indicator is based exceptionally on Buying & Selling Pressure instead of ATR.
This means that when price goes up the buying pressure determines the width of the upper "hot color" channels, whereas selling pressure set the width of lower "cold color" channels on decline.[/b
Added bool. Color of Original EMA also depends on Buying and Selling Pressure and price change.
Release Notes
Fixed default settings upon update.
Release Notes
Added VWAP based bar colors which plays a role of another layer of visualized confirmation.
Release Notes
UPDATE: Eliminated VWAP and changed design.
Release Notes
Redesign of BG Trending colors. Fast MA carries a signal that colors bars. It should be at least twice less than inputs of Base EMA. I usually use same values of BSP and Base EMA.
If you want to use higher values, say 360 for BASE EMA and BSP, then you must increase proportionally the input of Fast EMA and and set Factor accordingly.
If you have no idea what's BSP, please go to my scrips and find "Buying & Selling Pressure" or just add it to the chart.
Release Notes
Had to remove Bar Coloring. It's a crime against trading.
Added extended lines of the bands and highlights of Buying and Selling Pressure relationship. They can also create intersections which determine levels of market conditions.
Added historic Traces within our system.
Release Notes
Highlights Color grouped.
Release Notes
Altered conditions of firing the highlights
Release Notes
LT version update:
Fixed once for all background highlight signals by incorporating NET BSP.
Now we have signals based on change of NET BSP and EMA. 2 confirming trend different instruments.
Release Notes
  • Fixing my silly mistake on wicks. (facepalm)
  • incorporated ST based on BSP.

Release Notes
Added no wick mode. Where certain wicks depending on whether we're dealing with Buying or Selling Pressure.
In this mode bands shrink and expand faster in correlation to trend condition.
When we're at uptrend cold color zones shrink faster while hot color zones expand according to candle metrics.
Release Notes
In this update I added a switch to the following visual tools inside FREMA:

Zones: (Horizontal areas filled):
snapshot
Highlights: (Vertical timing of trades):
snapshot
Traces (Tracks price movements inside different zones separately):
snapshot
Release Notes
  • Changed default formula of bands
  • Rearranged user inputs
Release Notes
Update:
  • Ability to alter the averaging of buying/selling pressure and their factors separately
  • Assigning custom ranges enables targeting certain trend conditions

Default for both:
Averaging: 10
Factor: 3
I do not suggest changing the average BP & SP. Let them be 10.
However, by setting the factor of BP lower than of SP will force the trade to close at higher levels. It is suitable when strategy is Open Long/Close Long oriented.
Release Notes
  1. Now we have second source of signals + alerts "FR" (shorter term signals relative to ST)
    snapshot
  2. Bands are extra smoothed even in geometric mode
Release Notes
Added:
Bool "Invert BSP"
Assigns inverted Buying and Selling Pressure for SuperTrend bands. When enabled it closes positions faster.
snapshot

Bool "Dynamic Factor"
Example: For non-inverted BSP, the bullish band of SuperTrend will have values of (BPMA X BPMA / SPMA). When inverted - SPMA*SPMA/BPMA.
Extra multiplication with that ratio gives the supertrend band an adjustment to the existing proportion of Buying and Selling Pressure of the market.
snapshot
Use Dynamic Factor with default inputs of (10; 3) for each 1 raws.

When both "Invert BSP" and "Dynamic factor" are enabled:
snapshot
Position Entry and Position Close are timed with the proportions of Candle Metrics.
Both are off in default mode
Release Notes
Minor but important updates in FR dispay
Release Notes
  • Added ability to choose the type of MA of the Base
Release Notes
Introducing new changes:
snapshot
  • Deleted Geometric FREMA bands. There is no need amplifying the volatility bands with candle ratios.
  • Added output of SuperTrend Bands
  • FR and SuperTrend are inversely tied together. ST downtrend activates bullish FR entries and vice versa. FR signals play role of close ST short/long.
  • Ability to swap volatility sources of each band separately by checking ⇅ (Invert). Default (when unchecked): Uptrend band powered by Buying Pressure ; Downtrend band - with Selling Pressure. Example of use: Say we want to make uptrend band more sensitive so it can close faster. Other than reducing averaging or factor, we can check ⇅ so uptrend band will be spaced with Selling Pressure. As trend grows the SP reduces accordingly making the space shrink right on time to close the longs higher. snapshot
  • ATR^2 / Selling Pressure (when Invert checked / Buying Pressure) ATR^2 / Buying Pressure (when Invert checked / Selling Pressure). Example: Filters out big drops when enabled on downtrend band. snapshot
  • FR is just like SuperTrend - runs on volatility and triggers signals but has only one band to reflect uptrend and downtrend condition of the market. Apart from squaring and swapping, the only numerical user input to alter FR sensitivity is Averaging. Whereas ST bands can be adjusted also by factor. Multiple FR signals of same direction can be used for dollar cost averaging to divide the risk.
Release Notes
Cleaned up the code for a better performance and design:
  • Replaced individual FREMA range coloring with a gradient. snapshot
  • Colors of FR signals are assigned by FREMA band color.
  • Added ability to boost the FR sensitivity to ultimate. snapshot
  • Changed squaring method for SuperTrend bands.
    Uptrend Band (green): Buying Pressure squared divided by Higher Wicks
    Downtrend Band (red): Selling Pressure squared divided by Lower Wicks
    It's more efficient than using ATR in previous version. It uses less lines of code yet gives bigger gaps in the beginning of trends which doesn't allow the market noise to violate with false signals.
    While on uptrend we want the big distance of band gap to still respond to a rise in counter force - higher wicks (part of selling pressure). As a result that distance will shrink. And vice versa for downtrend.
    snapshot
Release Notes
Simplified overall user experience by correcting some formulas and reducing number of user inputs
  • Smoothed FREMA Bands with Gaussian Filter
  • Linked up ST trend change with FR
  • SuperTrend no longer has multiplier as it is replaced with dynamic one. (Determined by relationship of ATR to certain bar fragments)
algotradingBands and ChannelsbuyDemand ZoneSELLsignalsSupply ZoneSupport and ResistancetrendVolatilityvolatilty

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?

Disclaimer