Electrified

Volatility

Electrified Atualizado   
Library "Volatility"
Functions for determining if volatility (true range) is within or exceeds normal.
The "True Range" (ta.tr) is used for measuring volatility.
Values are normalized by the volume adjusted weighted moving average (VAWMA) to be more like percent moves than price.

current(len) Returns the current price adjusted volatitlity ratio.
  Parameters:
    len: Number of bars to get a volume adjusted weighted average price.

normal(len, maxDeviation, level, gapDays, spec, res) Returns the normal upper range of volatility. Compensates for overnight gaps within a regular session.
  Parameters:
    len: Number of bars to measure volatility.
    maxDeviation: The limit of volatility before considered an outlier.
    level: The amount of standard deviation after cleaning outliers to be considered within normal.
    gapDays: The number of days in the past to measure overnight gap volaility.
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = '1440').

isNormal(len, maxDeviation, level, gapDays, spec, res) Returns true if the volatility (true range) is within normal levels. Compensates for overnight gaps within a regular session.
  Parameters:
    len: Number of bars to measure volatility.
    maxDeviation: The limit of volatility before considered an outlier.
    level: The amount of standard deviation after cleaning outliers to be considered within normal.
    gapDays: The number of days in the past to measure overnight gap volaility.
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = '1440').

severity(len, maxDeviation, level, gapDays, spec, res) Returns ratio of the current value to the normal value. Compensates for overnight gaps within a regular session.
  Parameters:
    len: Number of bars to measure volatility.
    maxDeviation: The limit of volatility before considered an outlier.
    level: The amount of standard deviation after cleaning outliers to be considered within normal.
    gapDays: The number of days in the past to measure overnight gap volaility.
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = '1440').
Notas de Lançamento:
v2 Attempt to improve performance and reduce dependencies.
Notas de Lançamento:
v3 Improved performance by exposing gap level to caller if needed. Opened up ability to use a different volatility value.

Added:
normalWithGap(len, maxDeviation, level, gapDays, spec, res, volatility) Returns the normal upper range of volatility and the normal gap value.
  Parameters:
    len: Number of bars to measure volatility.
    maxDeviation: The limit of volatility before considered an outlier.
    level: The amount of standard deviation after cleaning outliers to be considered within normal.
    gapDays: The number of days in the past to measure overnight gap volaility.
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = '1440').
    volatility: The value to use as a volatility measure. Default is (ta.tr) the "True Range".
  Returns:

Updated:
normal(len, maxDeviation, level, gapDays, spec, res, volatility) Returns the normal upper range of volatility. Compensates for overnight gaps within a regular session.
  Parameters:
    len: Number of bars to measure volatility.
    maxDeviation: The limit of volatility before considered an outlier.
    level: The amount of standard deviation after cleaning outliers to be considered within normal.
    gapDays: The number of days in the past to measure overnight gap volaility.
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = '1440').
    volatility: The value to use as a volatility measure. Default is (ta.tr) the "True Range".

isNormal(len, maxDeviation, level, gapDays, spec, res, volatility) Returns true if the volatility (true range) is within normal levels. Compensates for overnight gaps within a regular session.
  Parameters:
    len: Number of bars to measure volatility.
    maxDeviation: The limit of volatility before considered an outlier.
    level: The amount of standard deviation after cleaning outliers to be considered within normal.
    gapDays: The number of days in the past to measure overnight gap volaility.
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = '1440').
    volatility: The value to use as a volatility measure. Default is (ta.tr) the "True Range".

severity(len, maxDeviation, level, gapDays, spec, res, volatility) Returns ratio of the current value to the normal value. Compensates for overnight gaps within a regular session.
  Parameters:
    len: Number of bars to measure volatility.
    maxDeviation: The limit of volatility before considered an outlier.
    level: The amount of standard deviation after cleaning outliers to be considered within normal.
    gapDays: The number of days in the past to measure overnight gap volaility.
    spec: session.regular (default), session.extended or other time spec.
    res: The resolution (default = '1440').
    volatility: The value to use as a volatility measure. Default is (ta.tr) the "True Range".

Removed:
current(len) Returns the current price adjusted volatitlity ratio.
Notas de Lançamento:
v4 Improved use of data cleaning and gap detection.
Notas de Lançamento:
v5 Improved defaults.
Notas de Lançamento:
v6
  • Added specialized "calcTrueRange" for more than one bar.
  • Added "fromTrueRange" to provide a more useful UDT (Volatility) for understanding the current volatility.
Notas de Lançamento:
v7 Upgraded true range calc.

Updated:
fromTrueRange(len, maxDev, span, quantized, useWma, smoothing)
  Calculates the volatility based upon the true range.
  Parameters:
    len: maxDev deviation before considered an outlier.
    maxDev
    span: Number of bars measure the true range.
    quantized: When true, the true range is calculated once for every span. When false (default), the true range is calulated for the span on every bar.
    useWma: When true, the calulcation is done using an improved weighted moving average to avoid giving significance to older values.
    smoothing: The number of extra bars to help in smoothing out the result so that large spikes dont' occur from recent data.
Biblioteca do Pine

No verdadeiro espírito TradingView, o autor publicou este código de Pine como uma biblioteca de código aberto para que outros programadores de Pine de nossa comunidade possam reutilizá-lo. Um brinde ao autor! Você pode usar esta biblioteca em particular ou em outras publicações de código aberto, mas a reutilização deste código em uma publicação é regida pelas Regras da Casa.

Aviso legal

As informações e publicações não devem ser e não constituem conselhos ou recomendações financeiras, de investimento, de negociação ou de qualquer outro tipo, fornecidas ou endossadas pela TradingView. Leia mais em Termos de uso.

Gostaria de usar essa biblioteca?

Copie a seguinte linha e cole-a em seu script.