Electrified

Interpolation

Library "Interpolation"
Functions for interpolating values. Can be useful in signal processing or applied as a sigmoid function.

linear(k, delta, offset, unbound) Returns the linear adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the line the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

quadIn(k, delta, offset, unbound) Returns the quadratic (easing-in) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

quadOut(k, delta, offset, unbound) Returns the quadratic (easing-out) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

quadInOut(k, delta, offset, unbound) Returns the quadratic (easing-in-out) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

cubicIn(k, delta, offset, unbound) Returns the cubic (easing-in) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

cubicOut(k, delta, offset, unbound) Returns the cubic (easing-out) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

cubicInOut(k, delta, offset, unbound) Returns the cubic (easing-in-out) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

expoIn(k, delta, offset, unbound) Returns the exponential (easing-in) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

expoOut(k, delta, offset, unbound) Returns the exponential (easing-out) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

expoInOut(k, delta, offset, unbound) Returns the exponential (easing-in-out) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

using(fn, k, delta, offset, unbound) Returns the adjusted value by function name.
  Parameters:
    fn: The name of the function. Allowed values: linear, quadIn, quadOut, quadInOut, cubicIn, cubicOut, cubicInOut, expoIn, expoOut, expoInOut.
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House Rules.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this library?

Copy the following line and paste it in your script.