PINE LIBRARY

AbdulLibrary

Updated
Library "AbdulLibrary"

The library consists of three sections:

  • Technical Analysis Functions - A collection of tools commonly used by day traders
  • Trading Setup Filters Functions - A number of filters that help day traders to screen trading signals
  • Candlestick Pattern Detection Functions - To detect different candlestick patterns that are used in day trading setups


Note that this would have been possible without the help of ZenAndTheArtOfTrading as I build-up this library after completing his pine script mastery course so big thanks to him

The content of the library are:-

fibLevels(preDayClose, preDayHigh, preDayLow) Calculates Daily Pivot Point and Fibonacci Key Levels
  Parameters:
    preDayClose: The previous day candle close
    preDayHigh: The previous day candle high
    preDayLow: The previous day candle low
  Returns: Returns Daily Pivot Point and Fibonacci Key Levels as a tuple

bullishFib(canHigh, canLow, fibLevel) Calculates Fibonacci Levels in Bullish move
  Parameters:
    canHigh: The high of the move
    canLow: The low of the move
    fibLevel: The Fib level as % you want to calculate
  Returns: Returns The Fib level for the Bullish move

bearishFib(canHigh, canLow, fibLevel) Calculates Fibonacci Levels in Bearish move
  Parameters:
    canHigh: The high of the move
    canLow: The low of the move
    fibLevel: The Fib level as % you want to calculate
  Returns: Returns The Fib level for the Bearish move

getCandleSize() Calculates the size of candle (high - low) in points
  Returns: Returns candle size in points

getCandleBodySize() Calculates the size of candle (close - open) in points
  Returns: Returns candle body size in points

getHighWickSize() Calculates the high wick size of candle in points
  Returns: Returns The high wick size of candle in points

getLowWickSize() Calculates the low wick size of candle in points
  Returns: Returns The low wick size of candle in points

getBodyPercentage() Calculates the candle body size as % of overall candle size
  Returns: Returns The candle body size as % of overall candle size

isSwingHigh(period) Checks if the price has created new swing high over a period of time
  Parameters:
    period: The lookback time we want to check for swing high
  Returns: Returns True if the current candle or the previous candle is a swing high

isSwingLow(period) Checks if the price has created new swing low over a period of time
  Parameters:
    period: The lookback time we want to check for swing low
  Returns: Returns True if the current candle or the previous candle is a swing low

isDojiSwingHigh(period) Checks if a doji is a swing high over a period of time
  Parameters:
    period: The lookback time we want to check for swing high
  Returns: Returns True if the doji is a swing high

isDojiSwingLow(period) Checks if a doji is a swing low over a period of time
  Parameters:
    period: The lookback time we want to check for swing low
  Returns: Returns True if the doji is a swing low

isBigBody(atrFilter, atr, candleBodySize, multiplier) Checks if a candle has big body compared to ATR
  Parameters:
    atrFilter: Check if user wants to use ATR to filter candle-setup signals
    atr: The ATR value to be used to compare candle body size
    candleBodySize: The candle body size
    multiplier: The multiplier to be used to compare candle body size
  Returns: Returns Boolean true if the candle setup is big

isSmallBody(atrFilter, atr, candleBodySize, multiplier) Checks if a candle has small body compared to ATR
  Parameters:
    atrFilter: Check if user wants to use ATR to filter candle-setup signals
    atr: The ATR value to be used to compare candle body size
    candleBodySize: The candle body size
    multiplier: The multiplier to be used to compare candle body size
  Returns: Returns Boolean true if the candle setup is small

isHammer(fibLevel, colorMatch) Checks if a candle is a hammer based on user input parameters and candle conditions
  Parameters:
    fibLevel: Fib level to base candle body on
    colorMatch: Checks if user needs for the candel to be green
  Returns: Returns Boolean - True if the candle setup is hammer

isShootingStar(fibLevel, colorMatch) Checks if a candle is a shooting star based on user input parameters and candle conditions
  Parameters:
    fibLevel: Fib level to base candle body on
    colorMatch: Checks if user needs for the candel to be red
  Returns: Returns Boolean - True if the candle setup is star

isBullEngCan(allowance, period) Check if a candle is a bullish engulfing candle
  Parameters:
    allowance: How many points the candle open is allowed to be off (To allow for gaps)
    period: The lookback period for swing low check
  Returns: Boolean - True only if the candle is a bullish engulfing candle

isBearEngCan(allowance, period) Check if a candle is a bearish engulfing candle
  Parameters:
    allowance: How many points the candle open is allowed to be off (To allow for gaps)
    period: The lookback period for swing high check
  Returns: Boolean - True only if the candle is a bearish engulfing candle

isBullDoji(maxSize, wickLimit, colorFilter) Check if a candle is a bullish doji candle
  Parameters:
    maxSize: Maximum candle body size as % of total candle size to be considered as doji
    wickLimit: Maximum wick size of one wick compared to the other wick
    colorFilter: Checks if the doji is green
  Returns: Boolean - True if the candle is a bullish doji

isBearDoji(maxSize, wickLimit, colorFilter) Check if a candle is a bearish doji candle
  Parameters:
    maxSize: Maximum candle body size as % of total candle size to be considered as doji
    wickLimit: Maximum wick size of one wick compared to the other wick
    colorFilter: Checks if the doji is red
  Returns: Boolean - True if the candle is a bearish doji

isBullOutBar() Check if a candle is a bullish outside bar
  Returns: Boolean - True if the candle is a bullish outside bar

isInsideBar() Check if a candle is an inside bar
  Returns: Returns Boolean - True if a candle is an inside bar
Release Notes
v2

Added:
plotRoundNumber(market, numRoundNumbers) Plot Horizontal line at round number
  Parameters:
    market: The markets the user is trading
    numRoundNumbers: How many round numbers to be plotted above and below current price
  Returns: Returns Na - Plot horizontal line at round number
bar_typescandlestickpatternfiblevelstechindicatortoolsutility

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