Papercuts Dynamic EMA - Relative Parameter Function
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
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 publications is governed by House rules. Per aggiungerlo al grafico, mettilo tra i preferiti.
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.