signal_datagramThe purpose of this library is to split and merge an integer into useful pieces of information that can easily handled and plotted.
The basic piece of information is one word. Depending on the underlying numerical system a word can be a bit, octal, digit, nibble, or byte.
The user can define channels. Channels are named groups of words. Multiple words can be combined to increase the value range of a channel.
A datagram is a description of the user-defined channels in an also user-defined numeric system that also contains all runtime information that is necessary to split and merge the integer.
This library simplifies the communication between two scripts by allowing the user to define the same datagram in both scripts.
On the sender's side, the channel values can be merged into one single integer value called signal. This signal can be 'emitted' using the plot function. The other script can use the 'input.source' function to receive that signal.
On the receiver's end based on the same datagram, the signal can be split into several channels. Each channel has the piece of information that the sender script put.
In the example of this library, we use two channels and we have split the integer in half. However, the user can add new channels, change them, and give meaning to them according to the functionality he wants to implement and the type of information he wants to communicate.
Nowadays many 'input.source' calls are allowed to pass information between the scripts, When that is not a price or a floating value, this library is very useful.
The reason is that most of the time, the convention that is used is not clear enough and it is easy to do things the wrong way or break them later on.
With this library validation checks are done during the initialization minimizing the possibility of error due to some misconceptions.
Library   "signal_datagram" 
Conversion of a datagram type to a signal that can be "send" as a single value from an indicator to a strategy script
 method init(this, positions, maxWords) 
  init - Initialize if the word positons array with an empty array
  Namespace types: WordPosArray
  Parameters:
     this (WordPosArray) : - The word positions array object
     positions (int ) : - The array that contains all the positions of the worlds that shape the channel
     maxWords (int) : - The maximum words allowed based on the span
  Returns: The initialized object
 method init(this) 
  init - Initialize if the channels word positons map with an empty map
  Namespace types: ChannelDesc
  Parameters:
     this (ChannelDesc) : - The channels' descriptor object
  Returns: The initialized object
 method init(this, numericSystem, channelDesc) 
  init - Initialize if the datagram
  Namespace types: Datagram
  Parameters:
     this (Datagram) : - The datagram object
     numericSystem (simple string) : - The numeric system of the words to be used
     channelDesc (ChannelDesc) : - The channels descriptor that contains the positions of the words that each channel consists of
  Returns: The initialized object
 method add_channel(this, name, positions) 
  add_channel - Add a new channel descriptopn with its name and its corresponding word positons to the map
  Namespace types: ChannelDesc
  Parameters:
     this (ChannelDesc) : - The channels' descriptor object to update
     name (simple string) 
     positions (int ) 
  Returns: The initialized object
 method set_signal(this, value) 
  set_signal - Set the signal value
  Namespace types: Datagram
  Parameters:
     this (Datagram) : - The datagram object to update
     value (int) : - The signal value to set
 method get_signal(this) 
  get_signal - Get the signal value
  Namespace types: Datagram
  Parameters:
     this (Datagram) : - The datagram object to query
  Returns: The value of the signal in digits
 method set_signal_sign(this, sign) 
  set_signal_sign - Set the signal sign
  Namespace types: Datagram
  Parameters:
     this (Datagram) : - The datagram object to update
     sign (int) : - The negative -1 or positive 1 sign of the underlying value
 method get_signal_sign(this) 
  get_signal_sign - Get the signal sign
  Namespace types: Datagram
  Parameters:
     this (Datagram) : - The datagram object to query
  Returns: The sign of the signal value -1 if it is negative and 1 if it is possitive
 method get_channel_names(this) 
  get_channel_names - Get an array of all channel names
  Namespace types: Datagram
  Parameters:
     this (Datagram) 
  Returns: An array that has all the channel names that are used by the datagram
 method set_channel_value(this, channelName, value) 
  set_channel_value - Set the value of the channel
  Namespace types: Datagram
  Parameters:
     this (Datagram) : - The datagram object to update
     channelName (simple string) : - The name of the channel to set the value to. Then name should be as described int the schemas channel descriptor
     value (int) : - The channel value to set
 method set_all_channels_value(this, value) 
  set_all_channels_value - Set the value of all the channels
  Namespace types: Datagram
  Parameters:
     this (Datagram) : - The datagram object to update
     value (int) : - The channel value to set
 method set_all_channels_max_value(this) 
  set_all_channels_value - Set the value of all the channels
  Namespace types: Datagram
  Parameters:
     this (Datagram) : - The datagram object to update
 method get_channel_value(this, channelName) 
  get_channel_value - Get the value of the channel
  Namespace types: Datagram
  Parameters:
     this (Datagram) : - The datagram object to query
     channelName (simple string) 
  Returns: Digit group of words (bits/octals/digits/nibbles/hexes/bytes) found at the channel accodring to the schema
 WordDesc 
  Fields:
     numericSystem (series__string) 
     span (series__integer) 
 WordPosArray 
  Fields:
     positions (array__integer) 
 ChannelDesc 
  Fields:
     map (map__series__string:|WordPosArray|#OBJ) 
 Schema 
  Fields:
     wordDesc (|WordDesc|#OBJ) 
     channelDesc (|ChannelDesc|#OBJ) 
 Signal 
  Fields:
     value (series__integer) 
     isNegative (series__bool) 
     words (array__integer) 
 Datagram 
  Fields:
     schema (|Schema|#OBJ) 
     signal (|Signal|#OBJ)
Signal
TradeLibrary   "Trade" 
A Trade Tracking Library
Monitor conditions with less code by using Arrays. When your conditions are met in chronologically, a signal is returned and the scanning starts again.
Create trades automatically with Stop Loss, Take Profit and Entry. The trades will automatically track based on the market movement and update when the targets are hit.
 
 Sample Usage 
Enter a buy trade when RSI crosses below 70 then crosses above 80 before it crosses 40.
 Note: If RSI crosses 40 before 80, No trade will be entered. 
 
rsi = ta.rsi(close, 21)
buyConditions = array.new_bool()
buyConditions.push(ta.crossunder(rsi, 70))
buyConditions.push(ta.crossover(rsi, 80))
buy = Trade.signal(buyConditions, ta.crossunder(rsi, 40))
trade = Trade.new(close-(100*syminfo.mintick), close +(200*syminfo.mintick), condition=buy)
plot(trade.takeprofit, "TP", style=plot.style_circles, linewidth=4, color=color.lime)
alertcondition(trade.tp_hit, "TP Hit")
 
 
 method signal(conditions, reset) 
  Signal Conditions
  Namespace types: bool 
  Parameters:
     conditions (bool ) 
     reset (bool) 
  Returns: Boolean: True when all the conditions have occured
 method update(this, stoploss, takeprofit, entry) 
  Update Trade Parameters
  Namespace types: Trade
  Parameters:
     this (Trade) 
     stoploss (float) 
     takeprofit (float) 
     entry (float) 
  Returns: nothing
 method clear(this) 
  Clear Trade Parameters
  Namespace types: Trade
  Parameters:
     this (Trade) 
  Returns: nothing
 method track(this, _high, _low) 
  Track Trade Parameters
  Namespace types: Trade
  Parameters:
     this (Trade) 
     _high (float) 
     _low (float) 
  Returns: nothing
 new(stoploss, takeprofit, entry, _high, _low, condition, update) 
  New Trade with tracking
  Parameters:
     stoploss (float) 
     takeprofit (float) 
     entry (float) 
     _high (float) 
     _low (float) 
     condition (bool) 
     update (bool) 
  Returns: a Trade with targets and updates if stoploss or takeprofit is hit
 new() 
  New Empty Trade
  Returns: an empty trade
 Trade 
  Fields:
     stoploss (series__float) 
     takeprofit (series__float) 
     entry (series__float) 
     sl_hit (series__bool) 
     tp_hit (series__bool) 
     open (series__integer)
SignalBuilderSignalBuilder 
Utility for building a collection of signal values.  Provides a default view for displaying signals.
 
  Simplified API for aggregating signal values.
  Flexible for use with indicators and strategies.
 
See the demo section for an example.
TurntLibraryLibrary   "TurntLibrary" 
Collection of functions created for simplification/easy referencing. Includes variations of moving averages, length value oscillators, and a few other simple functions based upon HH/LL values.
 ma(source, length, type) 
  Apply a moving average to a float value
  Parameters:
     source : Value to be used 
     length : Number of bars to include in calculation
     type : Moving average type to use ("SMA","EMA","RMA","WMA","VWAP","SWMA","LRC")
  Returns: Smoothed value of initial float value
 curve(src, len, lb1, lb2) 
  Exaggerates curves of a float value designed for use as an exit signal.
  Parameters:
     src : Initial value to curve
     len : Number of bars to include in calculation
     lb1 : (Default = 1) First lookback length 
     lb2 : (Default = 2) Second lookback length 
  Returns: Curved Average
 fragma(src, len, space, str) 
  Average of a moving average and the previous value of the moving average
  Parameters:
     src : Initial float value to use
     len : Number of bars to include in calculation
     space : Lookback integer for second half of average
     str : Moving average type to use ("SMA","EMA","RMA","WMA","VWAP","SWMA","LRC")
  Returns: Fragmented Average
 maxmin(x, y) 
  Difference of 2 float values, subtracting the lowest from the highest
  Parameters:
     x : Value 1
     y : Value 2
  Returns: The +Difference between 2 float values
 oscLen(val, type) 
  Variable Length using a oscillator value and a corresponding slope shape ("Incline",Decline","Peak","Trough")
  Parameters:
     val : Oscillator Value to use 
     type : Slope of length curve ("Incline",Decline","Peak","Trough")
  Returns: Variable Length Integer
 hlAverage(val, smooth, max, min, type, include) 
  Average of HH,LL with variable lengths based on the slope shape ("Incline","Decline","Trough") value relative to highest and lowest
  Parameters:
     val : Source Value to use 
     smooth 
     max 
     min 
     type 
     include : Add "val" to the averaging process, instead of more weight to highest or lowest value  
  Returns: Variable Length Average of Highest Lowest "val"
 pct(val) 
  Convert a positive float / price to a percentage of it's highest value on record
  Parameters:
     val : Value To convert to a percentage of it's highest value ever 
  Returns: Percentage
 hlrange(x, len) 
  Difference between Highest High and Lowest Low of float value
  Parameters:
     x : Value to use in calculation
     len : Number of bars to include in calculation
  Returns: Difference
 midpoint(x, len, smooth) 
  The average value of the float's Highest High and Lowest Low in a number of bars
  Parameters:
     x : Value to use in calculation 
     len 
     smooth : (Default=na) Optional smoothing type to use ("SMA","EMA","RMA","WMA","VWAP","SWMA","LRC")
  Returns: Midpoint
Signal AnalyzerThis library contains functions that try to analyze trading signals performance.
Like the % of average returns after a long or short signal is provided or the number of times that signal was correct, in the inmediate 2 candles after the signal.
TradingHookLibrary   "TradingHook" 
This library is a client script for making a webhook signal formatted string to TradingHook webhook server.
 buy_message(password, amount, order_name)  Make a buy Message for TradingHook.
  Parameters:
     password : (string)   password that you set in  .env  file.
     amount : (float)    amount. If not set, your strategy qty will be sent.
     order_name : (string)    order_name. The default name is "Order".
  Returns: (string) A string containing the formatted webhook message.
 sell_message(password, percent, order_name)  Make a sell message for TradingHook.
  Parameters:
     password : (string)   password that you set in  .env  file.
     percent : (string)    what percentage of your quantity you want to sell.
     order_name : (string)   order_name. The default name is "Order".
  Returns: (string) A string containing the formatted webhook message.
You can use TradingHook WebServer open source code in github(github.com)
BjCandlePatternsLibrary   "BjCandlePatterns" 
Patterns is a Japanese candlestick pattern recognition Library for developers. Functions here within detect viable setups in a variety of popular patterns. Please note some patterns are without filters such as comparisons to average candle sizing, or trend detection to allow the author more freedom. 
 doji(dojiSize, dojiWickSize)  Detects "Doji" candle patterns
  Parameters:
     dojiSize : (float) The relationship of body to candle size (ie. body is 5% of total candle size). Default is 5.0 (5%)
     dojiWickSize : (float) Maximum wick size comparative to the opposite wick. (eg. 2 = bottom wick must be less than or equal to 2x the top wick). Default is 2
  Returns: (series bool) True when pattern detected
 dLab(showLabel, labelColor, textColor)  Produces "Doji" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 bullEngulf(maxRejectWick, mustEngulfWick)  Detects "Bullish Engulfing" candle patterns
  Parameters:
     maxRejectWick : (float) Maximum rejection wick size. 
The maximum wick size as a percentge of body size allowable for a top wick on the resolution candle of the pattern. 0.0 disables the filter.
eg. 50 allows a top wick half the size of the body. Default is 0% (Disables wick detection).
     mustEngulfWick : (bool) input to only detect setups that close above the high prior effectively engulfing the candle in its entirety. Default is false
  Returns: (series bool) True when pattern detected
 bewLab(showLabel, labelColor, textColor)  Produces "Bullish Engulfing" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 bearEngulf(maxRejectWick, mustEngulfWick)  Detects "Bearish Engulfing" candle patterns
  Parameters:
     maxRejectWick : (float) Maximum rejection wick size. 
The maximum wick size as a percentge of body size allowable for a bottom wick on the resolution candle of the pattern.  0.0 disables the filter.
eg. 50 allows a botom wick half the size of the body. Default is 0% (Disables wick detection).
     mustEngulfWick : (bool) Input to only detect setups that close below the low prior effectively engulfing the candle in its entirety. Default is false
  Returns: (series bool) True when pattern detected
 bebLab(showLabel, labelColor, textColor)  Produces "Bearish Engulfing" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 hammer(ratio, shadowPercent)  Detects "Hammer" candle patterns
  Parameters:
     ratio : (float) The relationship of body to candle size (ie. body is 33% of total candle size). Default is 33%.
     shadowPercent : (float) The maximum allowable top wick size as a percentage of body size. Default is 5%.
  Returns: (series bool) True when pattern detected
 hLab(showLabel, labelColor, textColor)  Produces "Hammer" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 star(ratio, shadowPercent)  Detects "Star" candle patterns
  Parameters:
     ratio : (float) The relationship of body to candle size (ie. body is 33% of total candle size). Default is 33%.
     shadowPercent : (float) The maximum allowable bottom wick size as a percentage of body size. Default is 5%.
  Returns: (series bool) True when pattern detected
 ssLab(showLabel, labelColor, textColor)  Produces "Star" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 dragonflyDoji()  Detects "Dragonfly Doji" candle patterns
  Returns: (series bool) True when pattern detected
 ddLab(showLabel, labelColor)  Produces "Dragonfly Doji" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
  Returns: (series label) A label visible at the chart level intended for the title pattern
 gravestoneDoji()  Detects "Gravestone Doji" candle patterns
  Returns: (series bool) True when pattern detected
 gdLab(showLabel, labelColor, textColor)  Produces "Gravestone Doji" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 tweezerBottom(closeUpperHalf)  Detects "Tweezer Bottom" candle patterns
  Parameters:
     closeUpperHalf : (bool) input to only detect setups that close above the mid-point of the candle prior increasing its bullish tendancy. Default is false
  Returns: (series bool) True when pattern detected
 tbLab(showLabel, labelColor, textColor)  Produces "Tweezer Bottom" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 tweezerTop(closeLowerHalf)  Detects "TweezerTop" candle patterns
  Parameters:
     closeLowerHalf : (bool) input to only detect setups that close below the mid-point of the candle prior increasing its bearish tendancy. Default is false
  Returns: (series bool) True when pattern detected
 ttLab(showLabel, labelColor, textColor)  Produces "TweezerTop" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 spinningTopBull(wickSize)  Detects "Bullish Spinning Top" candle patterns
  Parameters:
     wickSize : (float) input to adjust detection of the size of the top wick/ bottom wick as a percent of total candle size. Default is 34%, which ensures the wicks are both larger than the body. 
  Returns: (series bool) True when pattern detected
 stwLab(showLabel, labelColor, textColor)  Produces "Bullish Spinning Top" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 spinningTopBear(wickSize)  Detects "Bearish Spinning Top" candle patterns
  Parameters:
     wickSize : (float) input to adjust detection of the size of the top wick/ bottom wick as a percent of total candle size. Default is 34%, which ensures the wicks are both larger than the body. 
  Returns: (series bool) True when pattern detected
 stbLab(showLabel, labelColor, textColor)  Produces "Bearish Spinning Top" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 spinningTop(wickSize)  Detects "Spinning Top" candle patterns
  Parameters:
     wickSize : (float) input to adjust detection of the size of the top wick/ bottom wick as a percent of total candle size. Default is 34%, which ensures the wicks are both larger than the body. 
  Returns: (series bool) True when pattern detected
 stLab(showLabel, labelColor, textColor)  Produces "Spinning Top" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 morningStar()  Detects "Bullish Morning Star" candle patterns
  Returns: (series bool) True when pattern detected
 msLab(showLabel, labelColor, textColor)  Produces "Bullish Morning Star" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 eveningStar()  Detects "Bearish Evening Star" candle patterns
  Returns: (series bool) True when pattern detected
 esLab(showLabel, labelColor, textColor)  Produces "Bearish Evening Star" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 haramiBull()  Detects "Bullish Harami" candle patterns
  Returns: (series bool) True when pattern detected
 hwLab(showLabel, labelColor, textColor)  Produces "Bullish Harami" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 haramiBear()  Detects "Bearish Harami" candle patterns
  Returns: (series bool) True when pattern detected
 hbLab(showLabel, labelColor, textColor)  Produces "Bearish Harami" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 haramiBullCross()  Detects "Bullish Harami Cross" candle patterns
  Returns: (series bool) True when pattern detected
 hcwLab(showLabel, labelColor, textColor)  Produces "Bullish Harami Cross" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 haramiBearCross()  Detects "Bearish Harami Cross" candle patterns
  Returns: (series bool) True when pattern detected
 hcbLab(showLabel, labelColor)  Produces "Bearish Harami Cross" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
  Returns: (series label) A label visible at the chart level intended for the title pattern
 marubullzu()  Detects "Bullish Marubozu" candle patterns
  Returns: (series bool) True when pattern detected
 mwLab(showLabel, labelColor, textColor)  Produces "Bullish Marubozu" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 marubearzu()  Detects "Bearish Marubozu" candle patterns
  Returns: (series bool) True when pattern detected
 mbLab(showLabel, labelColor, textColor)  Produces "Bearish Marubozu" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 abandonedBull()  Detects "Bullish Abandoned Baby" candle patterns
  Returns: (series bool) True when pattern detected
 abwLab(showLabel, labelColor, textColor)  Produces "Bullish Abandoned Baby" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 abandonedBear()  Detects "Bearish Abandoned Baby" candle patterns
  Returns: (series bool) True when pattern detected
 abbLab(showLabel, labelColor, textColor)  Produces "Bearish Abandoned Baby" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 piercing()  Detects "Piercing" candle patterns
  Returns: (series bool) True when pattern detected
 pLab(showLabel, labelColor, textColor)  Produces "Piercing" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 darkCloudCover()  Detects "Dark Cloud Cover" candle patterns
  Returns: (series bool) True when pattern detected
 dccLab(showLabel, labelColor, textColor)  Produces "Dark Cloud Cover" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 tasukiBull()  Detects "Upside Tasuki Gap" candle patterns
  Returns: (series bool) True when pattern detected
 utgLab(showLabel, labelColor, textColor)  Produces "Upside Tasuki Gap" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 tasukiBear()  Detects "Downside Tasuki Gap" candle patterns
  Returns: (series bool) True when pattern detected
 dtgLab(showLabel, labelColor, textColor)  Produces "Downside Tasuki Gap" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 risingThree()  Detects "Rising Three Methods" candle patterns
  Returns: (series bool) True when pattern detected
 rtmLab(showLabel, labelColor, textColor)  Produces "Rising Three Methods" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 fallingThree()  Detects "Falling Three Methods" candle patterns
  Returns: (series bool) True when pattern detected
 ftmLab(showLabel, labelColor, textColor)  Produces "Falling Three Methods" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 risingWindow()  Detects "Rising Window" candle patterns
  Returns: (series bool) True when pattern detected
 rwLab(showLabel, labelColor, textColor)  Produces "Rising Window" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 fallingWindow()  Detects "Falling Window" candle patterns
  Returns: (series bool) True when pattern detected
 fwLab(showLabel, labelColor, textColor)  Produces "Falling Window" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 kickingBull()  Detects "Bullish Kicking" candle patterns
  Returns: (series bool) True when pattern detected
 kwLab(showLabel, labelColor, textColor)  Produces "Bullish Kicking" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 kickingBear()  Detects "Bearish Kicking" candle patterns
  Returns: (series bool) True when pattern detected
 kbLab(showLabel, labelColor, textColor)  Produces "Bearish Kicking" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 lls(ratio)  Detects "Long Lower Shadow" candle patterns
  Parameters:
     ratio : (float) A relationship of the lower wick to the overall candle size expressed as a percent. Default is 75% 
  Returns: (series bool) True when pattern detected
 llsLab(showLabel, labelColor, textColor)  Produces "Long Lower Shadow" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 lus(ratio)  Detects "Long Upper Shadow" candle patterns
  Parameters:
     ratio : (float) A relationship of the upper wick to the overall candle size expressed as a percent. Default is 75% 
  Returns: (series bool) True when pattern detected
 lusLab(showLabel, labelColor, textColor)  Produces "Long Upper Shadow" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 bullNeck()  Detects "Bullish On Neck" candle patterns
  Returns: (series bool) True when pattern detected
 nwLab(showLabel, labelColor, textColor)  Produces "Bullish On Neck" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 bearNeck()  Detects "Bearish On Neck" candle patterns
  Returns: (series bool) True when pattern detected
 nbLab(showLabel, labelColor, textColor)  Produces "Bearish On Neck" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 soldiers(wickSize)  Detects "Three White Soldiers" candle patterns
  Parameters:
     wickSize : (float) Maximum allowable top wick size throughout pattern expressed as a percent of total candle height. Default is 5% 
  Returns: (series bool) True when pattern detected
 wsLab(showLabel, labelColor, textColor)  Produces "Three White Soldiers" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 crows(wickSize)  Detects "Three Black Crows" candle patterns
  Parameters:
     wickSize : (float) Maximum allowable bottom wick size throughout pattern expressed as a percent of total candle height. Default is 5% 
  Returns: (series bool) True when pattern detected
 bcLab(showLabel, labelColor, textColor)  Produces "Three Black Crows" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 triStarBull()  Detects "Bullish Tri-Star" candle patterns
  Returns: (series bool) True when pattern detected
 tswLab(showLabel, labelColor, textColor)  Produces "Bullish Tri-Star" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 triStarBear()  Detects "Bearish Tri-Star" candle patterns
  Returns: (series bool) True when pattern detected
 tsbLab(showLabel, labelColor, textColor)  Produces "Bearish Tri-Star" identifier label
  Parameters:
     showLabel : (bool) Shows label when input is true. Default is false
     labelColor : (series color) Color of the label border and arrow
     textColor : (series color) Text color
  Returns: (series label) A label visible at the chart level intended for the title pattern
 wrap(cond, barsBack, borderColor, bgcolor)  Produces a box wrapping the highs and lows over the look back.
  Parameters:
     cond : (series bool) Condition under which to draw the box.
     barsBack : (series int) the number of bars back to begin drawing the box. 
     borderColor : (series color) Color of the four borders. Optional. The default is color.gray.
     bgcolor : (series color) Background color of the box. Optional. The default is color.gray.
  Returns: (series box) A box who's top and bottom are above and below the highest and lowest points over the lookback
 topWick()  returns the top wick size of the current candle
  Returns: (series float) A value equivelent to the distance from the top of the candle body to its high
 bottomWick()  returns the bottom wick size of the current candle
  Returns: (series float) A value equivelent to the distance from the bottom of the candle body to its low
 body()  returns the body size of the current candle
  Returns: (series float) A value equivelent to the distance between the top and the bottom of the candle body
 highestBody()  returns the highest body of the current candle
  Returns: (series float) A value equivelent to the highest body, whether it is the open or the close
 lowestBody()  returns the lowest body of the current candle
  Returns: (series float) A value equivelent to the highest body, whether it is the open or the close
 barRange()  returns the height of the current candle
  Returns: (series float) A value equivelent to the distance between the high and the low of the candle
 bodyPct()  returns the body size as a percent
  Returns: (series float) A value equivelent to the percentage of body size to the overall candle size
 midBody()  returns the price of the mid-point of the candle body
  Returns: (series float) A value equivelent to the center point of the distance bewteen the body low and the body high
 bodyupGap()  returns true if there is a gap up between the real body of the current candle in relation to the candle prior
  Returns: (series bool) true if there is a gap up and no overlap in the real bodies of the current candle and the preceding candle
 bodydwnGap()  returns true if there is a gap down between the real body of the current candle in relation to the candle prior
  Returns: (series bool) true if there is a gap down and no overlap in the real bodies of the current candle and the preceding candle
 gapUp()  returns true if there is a gap down between the real body of the current candle in relation to the candle prior
  Returns: (series bool) true if there is a gap down and no overlap in the real bodies of the current candle and the preceding candle
 gapDwn()  returns true if there is a gap down between the real body of the current candle in relation to the candle prior
  Returns: (series bool) true if there is a gap down and no overlap in the real bodies of the current candle and the preceding candle
 dojiBody()  returns true if the candle body is a doji
  Returns: (series bool) true if the candle body is a doji. Defined by a body that is 5% of total candle size






