LonesomeTheBlue

DrawIndicatorOnTheChart

Library "DrawIndicatorOnTheChart"
this library is used to show an indicator (such RSI, CCI, MOM etc) on the main chart with indicator's horizontal lines in a window. Location of the window is calculated dynamically by last price movemements

drawIndicator(indicatorName, indicator, indicatorcolor, period, indimax_, indimin_, levels, precision, xlocation) draws the related indicator on the chart
  Parameters:
    indicatorName: is the indicator name as string such "RSI", "CCI" etc
    indicator: is the indicator you want to show, such rsi(close, 14), mom(close, 10) etc
    indicatorcolor: is the color of indicator line
    period: is the length of the window to show
    indimax_: is the maximum value of the indicator, for example for RSI it's 100.0, if the indicator (such CCI, MOM etc) doesn't have maximum value then use "na"
    indimin_: is the minimum value of the indicator, for example for RSI it's 0.0, if the indicator (such CCI, MOM etc)doesn't have maximum value then use "na"
    levels: is the levels of the array for the horizontal lines. for example if you want horizontal lines at 30.0, and 70.0 then use array.from(30.0, 70.0). if no horizontal lines then use array.from(na)
    precision: is the precision/number of decimals that is used to show indicator values, for example for RSI set it 2
    xlocation: is end location of the indicator window, for example if xlocation = 0 window is created on the index of the last bar/candle
  Returns: none
Release Notes:
v2
background color of the window changed as black
Release Notes:
v3
Release Notes:
v4
Release Notes:
v5:
- updated to show multiple indicator lines for the indicators such DMI
- so indicator parameter changed to indicator1, indicator2, indicator3 (if indicator2 or indicator3 doesn't exist then send na value)
- added line width parameter
- color parameter changed to the array

Updated:
drawIndicator(enabled, indicatorName, indicator1, indicator2, indicator3, indicatorcolor, period, indimax_, indimin_, levels, precision, xlocation, lnwidth) draws the related indicator on the chart
  Parameters:
    enabled: if it's enabled to show
    indicatorName: is the indicator name as string such "RSI", "CCI" etc
    indicator1: is first indicator you want to show, such rsi(close, 14), mom(close, 10) etc
    indicator2: is second indicator you want to show, such -DI of DMI
    indicator3: is third indicator you want to show, such ADX of DMI
    indicatorcolor: is the color of indicator line
    period: is the length of the window to show
    indimax_: is the maximum value of the indicator, for example for RSI it's 100.0, if the indicator (such CCI, MOM etc) doesn't have maximum value then use "na"
    indimin_: is the minimum value of the indicator, for example for RSI it's 0.0, if the indicator (such CCI, MOM etc)doesn't have maximum value then use "na"
    levels: is the levels of the array for the horizontal lines. for example if you want horizontal lines at 30.0, and 70.0 then use array.from(30.0, 70.0). if no horizontal lines then use array.from(na)
    precision: is the precision/nuber of decimals that is used to show indicator values, for example for RSI set it 2
    xlocation: is end location of the indicator window, for example if xlocation = 0 window is created on the index of the last bar/candle
    lnwidth: is the line width of the indicator lines
  Returns: none
Release Notes:
v6

Somehow indicator doesn't show the lines. fixed. Thank to @TanHef for the solution

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.