The goal of this is to link two parameters of different known low and high values so one affects the other. In this case, I want to link Relative Volume to the length of an EMA, so it responds faster in times of high volume. As an animator I am used to linking values in this way with Maya using a set driven key, took some work to figure it out in pine. Looking up this concept, it has a few names, Relative values, linear interpolation, or rescale values.
Thanks to pinecoders for writing the EMA funciton that can accept length variables!
Here's a quick look at the root function to link the two values.
f_relativeVal(_source, in_bot, in_top, out_bot, out_top) => // float _source: input signal // float in_bot : minimum range of input signal. // float in_top : maximum range of input signal. // float out_bot : minimum range of output signal. // float out_top : maximum range of output signal. clampSrc = _source > in_top ? in_top : _source < in_bot ? in_bot : _source //claps source to create a controlled range //relInput = (clampSrc - in_bot) / (in_top - in_bot) * 100 inDiffIncrement = (in_top - in_bot) outDiffIncrement = (out_top - out_bot) out_bot + (clampSrc - in_bot) * outDiffIncrement / inDiffIncrement // rescale input range to output range
Just FYI, this won’t work as-is for crypto because crypto doesn’t have volume. So instead you could replace the relative volume calls with something like rate of change.
supadupavannn
⋅
Hello. I love it!! btw, is there a way to make this EMA locked into a timeframe while switching to other timeframe?? Thank yOU!!!
supadupavannn
⋅
@supadupavannn, never mind. I kind of figure it out but it's not as good. Lmk if you want to take a look at it.
scantor516
⋅
Hello sir, this is really great. Thank you.
Anderson-FX
⋅
Good, !!
aaahopper
⋅
I'm impressed.
The script helps greatly in developing uninterrupted trend directions, without the use of security.
Great idea. Keep this up
GarethSA
⋅
GREAT SCRIPT.
Can you create a MA crossover script with this moving average please?
supadupavannn
⋅
@GarethSA, just add tradingview ta.cross and alertcondition