PINE LIBRARY

SAT_LIB

Updated
Library "SAT_LIB"
TODO: This library regroups indicator's functions and functions i use a lot

getRENKOLEVELS(upColor1, dnColor1, HIGH, LOW, ATR)
  TODO: RenkoLevels indicator by Mongolor function
  Parameters:
    upColor1: TODO: (Type: color) renko up color
    dnColor1: TODO: (Type: color) renko down color
    HIGH: TODO: (Type: float)
    LOW: TODO: (Type: float)
    ATR: TODO: (Type: float)
  Returns: TODO: Renkolevels
Release Notes
v2

Added:
conv_atr(valu)
  TODO: RENKO RSI indicator by LonesomeTheBlue function
  Parameters:
    valu: TODO: (Type: float)
  Returns: TODO: ATR boxSize

boxTreatment(mode, atrboxsize, boxsize, source)
  TODO: RENKO RSI indicator by LonesomeTheBlue function
  Parameters:
    mode: TODO: (Type: string)
    atrboxsize: TODO: (Type: float)
    boxsize: TODO: (Type: float)
    source: TODO: (Type: string)
  Returns: TODO: [box, icloseprice, iopenprice, trend]

Renko_rsi(ser, len, trcnt, obox, trch, trend)
  TODO: RENKO RSI indicator by LonesomeTheBlue function
  Parameters:
    ser: TODO: (Type: float)
    len: TODO: (Type: int)
    trcnt: TODO: (Type: int)
    obox: TODO: (Type: float)
    trch: TODO: (Type: bool)
    trend: TODO: (Type: int)
  Returns: TODO: renkRSI
Release Notes
v3

Added:
showOnlyFirstSignal(boolean, bool1, bool1_switchOff_cond, bool2, bool2_switchOff_cond)
  TODO: Show Only first occurence depending on another condition
  Parameters:
    boolean: TODO: (Type: bool)
    bool1: TODO: (Type: bool)
    bool1_switchOff_cond: TODO: (Type: bool)
    bool2: TODO: (Type: bool)
    bool2_switchOff_cond: TODO: (Type: bool)
  Returns: TODO: Filterred [bool1, booll2]

showOnlyFirstOccurence(booleanInput)
  Single out the occurence of a bool series between to 2 bool series.
  Parameters:
    booleanInput: to activate or deactivate occurences filtering.
  Returns: filterred or not bool series.
Release Notes
v4

Added:
getDoubleMovingAverages(fast_ma_type, fast_ma_length, fast_ma_src)
  TODO: [ SMA , SMMA , EMA , VWMA , HULL, TEMA ] Between this options this function return a fast and a slow moving averages.
  Parameters:
    fast_ma_type: TODO: string fast MA type
    fast_ma_length: TODO: int fast MA type
    fast_ma_src: TODO: float fast MA source
  Returns: TODO: [fast_ma, slow_ma]
Release Notes
v5
Release Notes
v6

Added:
getMovingAverage(fast_ma_type, fast_ma_length, fast_ma_src, fast_ma_type, fast_ma_length, fast_ma_src)
  TODO: [ SMA , SMMA , EMA , VWMA , HULL, TEMA ] Between this options this function return a fast and a slow moving averages.
  Parameters:
    fast_ma_type: TODO: string fast MA type
    fast_ma_length: TODO: int fast MA type
    fast_ma_src: TODO: float fast MA source
    fast_ma_type: TODO: string slow MA type
    fast_ma_length: TODO: int slow MA type
    fast_ma_src: TODO: float slow MA source
  Returns: TODO: [fast_ma, slow_ma]
Release Notes
v7

Added:
Cond_EMA()

Cond_SMA()

Stdev()
Release Notes
v8

Added:
rng_size()
Release Notes
v9
Release Notes
v10

Added:
Var_Func(src, length)
  TODO: HOTT LOTT indicator by KivancOzbilgic function
  Parameters:
    src: TODO: float
    length: TODO: int
  Returns: TODO: float VAR

Wwma_Func(src, length)
  TODO: WWMA by KivancOzbilgic function
  Parameters:
    src: TODO: float
    length: TODO: int
  Returns: TODO: float WWMA

Zlema_Func(src, length)
  TODO: ZLEMA by KivancOzbilgic function
  Parameters:
    src: TODO: float
    length: TODO: int
  Returns: TODO: float ZLEMA

Tsf_Func(src, length)
  TODO: TSF by KivancOzbilgic function
  Parameters:
    src: TODO: float
    length: TODO: int
  Returns: TODO: float ZLEMA

getMA(mav, src, length, x, VAR1, VAR2, WWMA1, WWMA2, ZLEMA1, ZLEMA2, TSF1, TSF2)
  TODO: getMA by KivancOzbilgic function cutomised
  Parameters:
    mav: TODO: string
    src: TODO: float
    length: TODO: int
    x: TODO: string type
    VAR1: TODO: float
    VAR2: TODO: float
    WWMA1: TODO: float
    WWMA2: TODO: float
    ZLEMA1: TODO: float
    ZLEMA2: TODO: float
    TSF1: TODO: float
    TSF2: TODO: float
  Returns: TODO: float ZLEMA
Release Notes
v11

Added:
getMA2(mav, src, length, DEMA, VAR, WWMA, ZLEMA, TSF, HMA)
  TODO: getMA by KivancOzbilgic function cutomised
  Parameters:
    mav: TODO: string
    src: TODO: float
    length: TODO: int
    DEMA: TODO: float
    VAR: TODO: float
    WWMA: TODO: float
    ZLEMA: TODO: float
    TSF: TODO: float
    HMA: TODO: float
  Returns: TODO: float ZLEMA
Release Notes
v12

Added:
SmMA(source, length, type)
  TODO: getMA
  Parameters:
    source: TODO: float
    length: TODO: int
    type: TODO: float
  Returns: TODO: float ZLEMA
Release Notes
v13

Added:
getATRBands(atrPeriod, atrSourceRef)
  TODO: get ATR function cutomised
  Parameters:
    atrPeriod: TODO: int
    atrSourceRef: TODO: string
  Returns: TODO: [upperATRBand, lowerATRBand]
Release Notes
v14

Added:
rangeValue(ha_close, ha_high, ha_low)
  TODO: return average Range and state value
  Parameters:
    ha_close: TODO: float
    ha_high: TODO: float
    ha_low: TODO: float
  Returns: TODO: [mid, uppish, downish, midUp, midDn, realb, reals]
Release Notes
v15
Release Notes
v16
Release Notes
v17
Release Notes
v18
Release Notes
v19
Release Notes
v20

Added:
getATRTrendBands(src, delta)
  get trend ATR bands.
  Parameters:
    src: TODO: float
    delta: TODO: float
  Returns: TODO: [midb, upperb, lowerb]
Release Notes
v21

Added:
rangify(hvalue, lvalue, divider)
  TODO: return an array containing up to 21 levels divising a Range
  Parameters:
    hvalue: TODO: float
    lvalue: TODO: float
    divider: TODO: int
  Returns: TODO: levels
Release Notes
v22

Added:
unchanged(value, lvalue, leftlookback)
  TODO: return an array containing up to 21 levels divising a Range
  Parameters:
    value: TODO: float
    lvalue: TODO: float
    leftlookback: TODO: int
  Returns: TODO: levels
Release Notes
v23
Release Notes
v24
Release Notes
v25

Added:
three_V_unchanged(value, leftlookback)
  TODO: Modifiy a boolean to false if 3 values for the past leftlookback have not changed
  Parameters:
    value: TODO: float
    leftlookback: TODO: int
  Returns: TODO: nothing
Release Notes
v26

Added:
ConditionedCondition(cond1, cond2)
  TODO: find the first occurrence of a condtion depending on a prior condition
  Parameters:
    cond1: TODO: bool
    cond2: TODO: bool
  Returns: TODO: the candle where cond 2 happened
Release Notes
v27

Added:
lineBetweenLines(hl1, ll2, percent)
  TODO: return a line between 2 lines, the line position depend of the percent parameter
  Parameters:
    hl1: (higher line) TODO: float
    ll2: (lower line) TODO: float
    percent: TODO: float
  Returns: TODO: return a line between 2 lines, the line position depend of the percent parameter
Release Notes
v28

Updated:
rangeValue(ha_close, ha_high, ha_low, darkMode)
  TODO: return average Range and state value
  Parameters:
    ha_close: TODO: float
    ha_high: TODO: float
    ha_low: TODO: float
    darkMode: TODO: bool
  Returns: TODO: [mid, uppish, downish, midUp, midDn, realb, reals]
Release Notes
v29

Added:
ConditionedFisrtOccurence(priorCond, cond2, singleton)
  TODO: find the first occurrence or all occurences of a condtion depending on a prior condition
  Parameters:
    priorCond: TODO: bool
    cond2: TODO: bool
    singleton: TODO: bool
  Returns: TODO: the candle where cond 2 happened

Updated:
ConditionedCondition(priorCond, cond2)
  TODO: find the first occurrence of a condtion depending on a prior condition
  Parameters:
    priorCond: TODO: bool
    cond2: TODO: bool
  Returns: TODO: the candle where cond 2 happened
Release Notes
v30

Added:
unchanged_value(leftlookback, value)
  TODO: Modifiy a boolean to false if the value for the past leftlookback have changed
  Parameters:
    leftlookback: TODO: int
    value: TODO: float
  Returns: TODO: nothing

unchanged_condition(leftlookback, cond)
  TODO: Modifiy a boolean to false if the value for the past leftlookback have changed
  Parameters:
    leftlookback: TODO: int
    cond: TODO: bool
  Returns: TODO: nothing

cumulative_lookback(leftlookback, value)
  TODO: cumulates a series value for the past leftlookback
  Parameters:
    leftlookback: TODO: int
    value: TODO: float
  Returns: TODO: cummulative total

reseting_cmltv_lookback(leftlookback, value, invalid_cond, valid_cond)
  TODO: cumulates a series value for the past leftlookback depending on a valid and invalid condition
  Parameters:
    leftlookback: TODO: int
    value: TODO: float
    invalid_cond: TODO: bool
    valid_cond: TODO: bool
  Returns: TODO: cummulative total

AbsPercentChange(src)
  TODO: return the variation percent of a serie
  Parameters:
    src: TODO: float
  Returns: TODO: return the variation percent of a serie

Removed:
unchanged(leftlookback, value)
  TODO: Modifiy a boolean to false if the value for the past leftlookback have changed
Release Notes
v31
Release Notes
v32

Added:
variation_status(serie)
  TODO: return posistive / negative variation candle of a serie
  Parameters:
    serie: TODO: float
  Returns: TODO: [state, realb, reals]
Release Notes
v33

Updated:
variation_status(serie)
  TODO: return posistive / negative variation candle of a serie
  Parameters:
    serie: TODO: float
  Returns: TODO: [variation, state, realb, reals]
Release Notes
v34

Updated:
ConditionedCondition(priorCond, cond2, cond3)
  TODO: find the first occurrence of a condtion depending on a prior condition
  Parameters:
    priorCond: TODO: bool
    cond2: TODO: bool
    cond3: TODO: bool decide when we look for first prior condition occurence or not
  Returns: TODO: the candle where cond 2 happened
Release Notes
v35
Release Notes
v36

Added:
AbsPercent(src1, src2)
  TODO: return the percent difference between 2 series
  Parameters:
    src1 (float): TODO: float
    src2 (float): TODO: float
  Returns: TODO: return the variation percent of a serie
Release Notes
v37

Added:
CondiCummulPercent(cond1, src)
  TODO: return the percent difference between 2 series
  Parameters:
    cond1 (bool): TODO: bool
    src (float)
  Returns: TODO: return the variation percent of a serie
Release Notes
v38
Release Notes
v39

Updated:
CondiCummulPercent(cond1, src, cond2)
  TODO: return the cummuled variation percent of a serie depending on bool cond
  Parameters:
    cond1 (bool): TODO: bool
    src (float)
    cond2 (bool): TODO: bool
  Returns: TODO: return the cumuled variation percent of a serie
Release Notes
v40
Release Notes
v41

Added:
f_getPrice(_osc, _thresh, _cross)
  TODO: return the price
  Parameters:
    _osc (float): TODO: float
    _thresh (float): TODO: float
    _cross (string): TODO: string
  Returns: TODO: return return_1
Release Notes
v42
Release Notes
v43

Added:
ict_donchian(prd)
  Parameters:
    prd (int): TODO: int
  Returns: TODO: return donchian levels
Release Notes
v44

Added:
session_tick(rth_ses, colori, ref_res)
  Parameters:
    rth_ses (string): TODO: string
    colori (color)
    ref_res (string): TODO: string
  Returns: TODO: return donchian levels

is_newbar(res)
  Parameters:
    res (string): TODO: string
  Returns: TODO: return is new bar of timeframe
Release Notes
v45
Release Notes
v46

Added:
abs_variation_beetweenlines(hl1, ll2)
  TODO: return a the percent distance between 2 ylines, the line position depend of the percent parameter
  Parameters:
    hl1 (float): (higher line) TODO: float
    ll2 (float): (lower line) TODO: float
  Returns: TODO: return float distance percent
Release Notes
v47
Release Notes
v48

Added:
getDailyHighLow()
Release Notes
v49

Added:
calculateRSI_BANDZ(rsiSourceInput, rsiLengthInput, up_level, dn_level)
  TODO: RSI BANDZ
  Parameters:
    rsiSourceInput (float)
    rsiLengthInput (simple int)
    up_level (int)
    dn_level (int)
  Returns: TODO: RSI BANDZ DATA [rsi, up_lev_line, dn_lev_line, rsi_range, rsi_line_chart]
Release Notes
v50

Added:
RTI(trend_sens_percent, data_count, signal_length)
  TODO: RTI Level
  Parameters:
    trend_sens_percent (int)
    data_count (int)
    signal_length (simple int)
  Returns: TODO: RTI Level [rsi, up_lev_line, dn_lev_line, rsi_range, rsi_line_chart]
Release Notes
v51

Added:
range_dividers(upperb, lowerb, mid_b, rg_divider, darkMode0, showRgDividers0, showRgSplitter0)
  TODO : plot up to 21 levels divising a Range
  Parameters:
    upperb (float): TODO : float
    lowerb (float): TODO : float
    mid_b (float): TODO : float
    rg_divider (int): TODO : int
    darkMode0 (bool): TODO : bool
    showRgDividers0 (bool): TODO : bool
    showRgSplitter0 (bool): TODO : bool
  Returns: TODO: levels
Release Notes
v52
Release Notes
v53

Updated:
range_dividers(upperb, lowerb, rg_divider)
  Parameters:
    upperb (float)
    lowerb (float)
    rg_divider (int)
Release Notes
v54

Added:
trigCondiCummulPercent(triggeringcond1, src, cancelingcond2)
  TODO: return the cummuled variation percent of a serie depending on bool cond
  Parameters:
    triggeringcond1 (bool): TODO: bool
    src (float)
    cancelingcond2 (bool): TODO: bool
  Returns: TODO: return the cumuled variation percent of a serie
Release Notes
v55

Updated:
trigCondiCummulPercent(triggeringcond1, src, resettingcond2)
  TODO: return the cummuled variation percent of a serie depending on bool cond
  Parameters:
    triggeringcond1 (bool): TODO: bool
    src (float)
    resettingcond2 (bool)
  Returns: TODO: return the cumuled variation percent of a serie
Release Notes
v56
Release Notes
v57

Added:
full_hott_lott(length, hLen, lLen, mav, percent)
  Parameters:
    length (simple int): TODO: simple int
    hLen (int)
    lLen (int): TODO: int
    mav (string): TODO: string
    percent (float): TODO: float
  Returns: TODO: [HOTT, LOTT]
Release Notes
v58

Added:
TwoTrendzState(long_trigger, short_trigger)
  TODO: return 2 trendz state
  Parameters:
    long_trigger (bool)
    short_trigger (bool): TODO: bool
  Returns: TODO: [long_trend_state, short_trend_state]
displaytechindicatortimesessions

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.


Scripts that I post publicly are experimental. They are not financial advices. Always backtest your ideas using your own methodologies.

automate your alert: signalautotrade.com
contact me directly on telegram: @Sosso_bott
Also on:

Disclaimer