PINE LIBRARY

SAT_LIB

Actualizado
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
Notas de prensa
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
Notas de prensa
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.
Notas de prensa
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]
Notas de prensa
v5
Notas de prensa
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]
Notas de prensa
v7

Added:
Cond_EMA()

Cond_SMA()

Stdev()
Notas de prensa
v8

Added:
rng_size()
Notas de prensa
v9
Notas de prensa
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
Notas de prensa
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
Notas de prensa
v12

Added:
SmMA(source, length, type)
  TODO: getMA
  Parameters:
    source: TODO: float
    length: TODO: int
    type: TODO: float
  Returns: TODO: float ZLEMA
Notas de prensa
v13

Added:
getATRBands(atrPeriod, atrSourceRef)
  TODO: get ATR function cutomised
  Parameters:
    atrPeriod: TODO: int
    atrSourceRef: TODO: string
  Returns: TODO: [upperATRBand, lowerATRBand]
Notas de prensa
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]
Notas de prensa
v15
Notas de prensa
v16
Notas de prensa
v17
Notas de prensa
v18
Notas de prensa
v19
Notas de prensa
v20

Added:
getATRTrendBands(src, delta)
  get trend ATR bands.
  Parameters:
    src: TODO: float
    delta: TODO: float
  Returns: TODO: [midb, upperb, lowerb]
Notas de prensa
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
Notas de prensa
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
Notas de prensa
v23
Notas de prensa
v24
Notas de prensa
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
Notas de prensa
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
Notas de prensa
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
Notas de prensa
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]
Notas de prensa
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
Notas de prensa
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
Notas de prensa
v31
Notas de prensa
v32

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

Updated:
variation_status(serie)
  TODO: return posistive / negative variation candle of a serie
  Parameters:
    serie: TODO: float
  Returns: TODO: [variation, state, realb, reals]
Notas de prensa
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
Notas de prensa
v35
Notas de prensa
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
Notas de prensa
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
Notas de prensa
v38
Notas de prensa
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
Notas de prensa
v40
Notas de prensa
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
Notas de prensa
v42
Notas de prensa
v43

Added:
ict_donchian(prd)
  Parameters:
    prd (int): TODO: int
  Returns: TODO: return donchian levels
Notas de prensa
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
Notas de prensa
v45
Notas de prensa
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
Notas de prensa
v47
Notas de prensa
v48

Added:
getDailyHighLow()
Notas de prensa
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]
Notas de prensa
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]
Notas de prensa
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
Notas de prensa
v52
Notas de prensa
v53

Updated:
range_dividers(upperb, lowerb, rg_divider)
  Parameters:
    upperb (float)
    lowerb (float)
    rg_divider (int)
Notas de prensa
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
Notas de prensa
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
Notas de prensa
v56
Notas de prensa
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]
Notas de prensa
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

Biblioteca Pine

Siguiendo fielmente el espíritu TradingView, el autor ha publicado este código Pine como una biblioteca de código abierto, permitiendo que otros programadores de Pine en nuestra comunidad lo utilicen de nuevo. ¡Olé por el autor! Puede utilizar esta biblioteca de forma privada o en otras publicaciones de código abierto, pero tenga en cuenta que la reutilización de este código en una publicación se rige por las Normas internas.


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
También en:

Exención de responsabilidad