Indicator

Indicator

Indicator

Strategy

Indicator

Indicator

Indicator

RedK_Relative (Dual) Rate Of Change v1 - RROC v1Quick Summary
==============
The Relative Rate of Change (RRoC) is an expanded version of the classic Rate of Change (RoC) indicator - we apply couple of changes to bring additional insights and signals from that classic Technical Analysis concept - which can help us better visualize the "relative speed of change" of a stock (or whatever we trade), and can work specifically as a "breakout finder" .. please read on if this can be valuable to your trading.
First, a quick review of what is the classic Rate of Change (RoC) - The below part is from Investopedia definition of RoC
-----------------------------------------------------------------------------------
www.investopedia.com
What is Rate of Change (ROC)
The rate of change (ROC) is the speed at which a variable changes over a specific period of time.
ROC is often used when speaking about momentum, and it can generally be expressed as a ratio between a change in one variable relative to a corresponding change in another; graphically, the rate of change is represented by the slope of a line.
Understanding Rate of Change (ROC)
Rate of change is used to mathematically describe the percentage change in value over a defined period of time, and it represents the momentum of a variable .
The calculation for ROC is simple in that it takes the current value of a stock or index and divides it by the value from an earlier period.
Subtract one and multiply the resulting number by 100 to give it a percentage representation.
ROC = (current value / previous value - 1) * 100
-------------------------------------------------------------------------------------------------
What changes did we make to the RoC?
====================================
(1) - Per the official definition, the original RoC should provide a "rate of change" - i.e., we should say "the 5-bar average price change for AAPL is x% per bar" - now norice that the formula doesn't divide by the number of bars (length) -- so the reality is, the results is more of "the 5-bar price change for apple is x% for the full 5 bar length"
- what is wrong with that ? nothing really, but it's harder to use that number to set my trade target or exit. i need the indicator to give me a number that represents the "average change per bar" so i can use it to "design my trade target and my exit loss" -- so in the RRoC, we divide the change by the number of bars used in the settings
The updated formula would be : RoC = (current value / previous value -1 ) * 100 / length
(2) - Dual Length: we make the RoC relative, by adding a longer (or slow) RoC
- the idea here is simple - imagine you're driving your car beside a moving train, your car will not "breakout" from the train until your speed (= distance gain per unit of time) is faster than the train - so in reality, your baseline is not 0 speed, it's the speed of that train your racing against -- makes sense?
- so we add a second length that can act as a baseline - when the Fast RoC exceeds the Slow RoC (your car is faster than the train), a breakout would possibly occur - that breakout may fail (if something interrupts it - my car may breakdown if it can't handle the faster speed :) ) or it can fully materialize if the "context" is favorable.
as we can see on the above chart, we can use the RRoC to identify an incoming possible breakout using that simple "relative speed" concept - and that setup happened not once but twice in our example
the interpretation of this for AAPL would be (for example): "AAPL has been making an average change of 0.22% in the past 20 days, but for the last 5 days, the average change was 0.35% - so it looks like AAPL is gaining short term momentum and may break-out soon"
(3) this is another strong feature: Use for broader context:
- we can set the RRoC for a resolution of - for example - a day, while we look at the 1 hour chart - giving us the ability to trade on a smaller timeframe in the context of a larger timeframe .. this is more of an advanced feature but i hope some will be able to leverage it.
Here's a side-by-side comparison of RRoC vs the classic (built-in) RoC indicator
Conclusion:
============
- The (Relative Rate of Change) RRoC expands on the concepts presented by the classic Rate of Change (RoC) indicator and enables additional insights - especially around the discovery of potential price breakout
- leverage the RRoC indicator settings to tweak it to how your trade (fast length, slow length, resolution, smoothing). the defaults should work for any instrument but may not necessarily be the optimal settings
- use in conjunction with other indicators that can show trend and prevailing sentiment / context - to ensure you get proper confirmation and please get very familiar with how the RRoC works before you use it for live trading.
Comments are welcome - Best of luck
- Indicator

Indicator

Strategy

Indicator

Indicator

Indicator

Indicator

Indicator

Super EMA PrismThis script implements the Binary Trade Logic (BTL) algorithm to calculate two distinct scores that range from 0 to 7. One score is calculated assigning a power of 2 weight to the positive sign of 3 Phi^3 distant Moving Average (MA) slopes. The other score is calculated assigning a power of 2 weight to the sign of the difference between the price and the value of 3 Phi^3 distant Moving Average (MA).
For the first score, hereafter called as the angle score (AS), the largest MA slope positive sign receives weight 4, the middle length MA slope positive sign receives weight 2 and the shortest MA slope positive sign receives weight 1. The positive sign of an MA is defined as 1 if the slope of the MA is positive and 0, otherwise. Therefore, for MAs 305, 72 and 17, if slope(MA305) > 0, slope(MA72) < 0 and slope(MA17) > 0, then score will be 4*1 + 2*0 + 1*1 = 5. Up to my knowledge, this score was first proposed by Bo Williams and named by him as Prisma.
For the second score, hereafter called as the value score (VS), if the price > largest MA, it receives weight 4. If the price > the middle length MA, it receives weight 2 and if the price > the the shortest MA, it receives weight 1. Therefore, for MAs 305, 72 and 17, if price < MA305, price > MA72 and price > MA17, then score will be 4*0 + 2*1 + 1*1 = 3. Up to my knowledge, this score was first proposed by Bo Williams and named by him as Prisma.
Both AS and VS are calculated for Phi^3 lengths (610, 144, 34) and for Phi^3/2 lengths (305, 72, 17). The scores of the same kind calculated for each set of length are combined multiplying the Phi^3 length score by 10 and adding with with the Phi^3/2 score, therefore providing a 2 digit score ranging from 0 to 77. For instance, if we have AS(610, 144, 34) = 7 and AS(305, 72, 17) = 5, we have AS=75. At the same time, if we have VS(610, 144, 34) = 6 and VS(305, 72, 17) = 4, we have VS=64.
VS score is plotted by default in black, but it can be on white for dark themes. AS is plotted with the color of the longest MA used.
Chart background is colored according to the range of values for AS and VS, checked in the following order:
if AS >= 13 and VS <= 13 then back color = red
if AS >= 13 or VS <= 13 then back color = orange
if AS >= 64 and VS >= 64 then back color = green
if AS >= 64 or VS >= 64 then back color = blue
otherwise back color = none (white o black)
Indicator

Custom EMA PrismThis script implements the Binary Logic Trading (BLT) algorithm to calculate a score from 0 to 7. This score is calculated assigning a power of 2 weight to the positive sign of 3 Phi^3 distant EMAs' slopes. The largest EMA slope positive sign receives weight 4, the middle length EMA slope positive sign receives weight 2 and the shortest EMA slope positive sign receives weight 1. The positive sign of an EMA is defined as 1 if the slope of the EMA is positive and 0, otherwise. Therefore, for EMAs 305, 72 and 17, if slope(EMA305) > 0, slope(EMA72) < 0 and slope(EMA17) > 0, then score will be 4*1 + 2*0 + 1*1 = 5. Up to my knowledge, this score was first proposed by Bo Williams and named by him as Prisma.
Due too sampling issues, this script ONLY WORKS with graphic time of 1d. I would like to thanks to MrBitmanBob for showing me how to get quotations from a graphic time distinct from the current one.
This script also gets sampling data from graphic times 2h and 30m to calculate their score. As, even for smaller graphic times, price data is sampled at the current time frequency, the EMA lengths for those smaller graphic times needed to be proportionally decreased, meaning that when calculating the score for 1d with lengths 305, 72 and 17, the score for 2h must be calculated with lengths 72, 17 and 4, and the score for 30m must be calculated with lengths 17, 4 an 1. I understand that some precision may be lost but it is the best that is possible.
There is an optional setting for Crypto Currencies that instead of calculating the score for 1d, 2h and 30m, it calculates the score for 1d, 4h and 60m. This is due to the fact that Crypto Currencies are traded 24x7. Despite of this setting, the labels at the Style tab of the settings window remains 2h and 30m, because they must be constants.
This script with the corresponding EMAs chart and the EMAs Angle chart provides a broader view of the trading scenario.
Indicator

Custom EMA AngleThis script shows the angle of 6 EMAs to perform trade analysis. The EMA angle is also known as its Rate Of Change ( ROC ). The 6 EMAs (I, II, III , IV, V and VI ) default lengthes come from one of the Fibonacci Phi^3 and Phi^3/2 sub series (17, 34, 72, 144, 305 and 610), but can be changed to any values, particularly to the traditionally used 20, 40, 50, 100, 200 and 300. Up to my knowledge, Fibonacci Phi^3 and Phi^3/2 sub series lengthes were first proposed by Bo Williams.
Angle calculation is performed by calculating the tangent over a delta interval. Normalization is required to make the angle independent of the price range.
This script is meant to be used together with the corresponding EMAs on the candle pane. Non normalized view shows a more realistic angle condition but, if intended to be used with the CEMAS indicator, normalized view should be used. Indicator

Indicator

Indicator

Indicator

Indicator

Decaying Rate of Change Non Linear FilterThis is a potential solution to dealing with the inherent lag in most filters especially with instruments such as BTC and the effects of long periods of low volatility followed by massive volatility spikes as well as whipsaws/barts etc.
We can try and solve these issues in a number of ways, adaptive lengths, dynamic weighting etc. This filter uses a non linear weighting combined with an exponential decay rate.
With the non linear weighting the filter can become very responsive to sudden volatility spikes. We can use a short length absolute rate of change as a method to improve weighting of relative high volatility.
c1 = abs(close - close ) / close
Which gives us a fairly simple filter :
filter = sum(c1 * close,periods) / sum(c1,periods)
At this point if we want to control the relative magnitude of the ROC coefficients we can do so by raising it to a power.
c2 = pow(c1, x)
Where x approaches zero the coefficient approaches 1 or a linear filter. At x = 1 we have an unmodified coefficient and higher values increase the relative magnitude of the response. As an extreme example with x = 10 we effectively isolate the highest ROC candle within the window (which has some novel support resistance horizontals as those closes are often important). This controls the degree of responsiveness, so we can magnify the responsiveness, but with the trade off of overshoot/persistence.
So now we have the problem whereby that a highly weighted data point from a high volatility event persists within the filter window. And to a possibly extreme degree, if a reversal occurs we get a potentially large "overshoot" and in a way actually induced a large amount of lag for future price action.
This filter compensates for this effect by exponentially decaying the abs(ROC) coefficient over time, so as a high volatility event passes through the filter window it receives exponentially less weighting allowing more recent prices to receive a higher relative weighting than they would have.
c3 = c2 * pow(1 - percent_decay, periods_back)
This is somewhat similar to an EMA, however with an EMA being recursive that event will persist forever (to some degree) in the calculation. Here we are using a fixed window, so once the event is behind the window it's completely removed from the calculation
I've added Ehler's Super Smoother as an optional smoothing function as some highly non linear settings benefit from smoothing. I can't remember where I got the original SS code snippet, so if you recognize it as yours msg me and I'll link you here.
Indicator
