MakeLoveNotWarLibrary "MakeLoveNotWar"
Make Love Not War, place a flag of support on your chart!
flag(pos, text_size) Make Love Not War function.
Parameters:
pos : string, position.
text_size : string, text size.
Returns: table.
Colors
ColorsLibrary "Colors"
This Library delivers Hex Codes of Colors frequently used in indicators and strategies.
v3(colorName) Collection: Pinescript v3 Colors.
Parameters:
colorName : Color Name.
Returns: Hex code of the inquired color.
v4(colorName) Collection: Pinescript v4 Colors.
Parameters:
colorName : Color Name.
Returns: Hex code of the inquired color.
ChikouLibrary "Chikou"
This library contains Chikou Filter function to enhances functionality of Chikou-Span from Ichimoku Cloud using a simple trend filter.
Chikou is basically close value of ticker offset to close and it is a good for indicating if close value has crossed potential Support/Resistance zone from past. Chikou is usually used with 26 period.
Chikou filter uses a lookback length calculated from provided lookback percentage and checks if trend was bullish or bearish within that lookback period.
Bullish : Trend is bullish if Chikou span is above high values of all candles within defined lookback period. Bull color shows bullish trend .
Bearish : Trend is bearish if Chikou span is below low values of all candles within defined lookback period. This is indicated by Bearish color.
Reversal / Choppiness : Reversal color indicates that Chikou are swinging around candles within defined lookback period which is an indication of consolidation or trend reversal.
chikou(src, len, perc, _high, _low, bull_col, bear_col, r_col) Chikou Filter for Ichimoku Cloud with Color and Signal Output
Parameters:
src : Price Source (better to use (OHLC4+high+low/3 instead of default close value)
len : Chikou Legth (displaced source value)
perc : Percentage lookback period for Chikou Filter with defined how much candels of total length should be considered for backward filteration
_high : Ticker High Value
_low : Ticker Low Value
bull_col : Color to be returned if source value is greater than all candels within provided lookback percentage.
bear_col : Color to be returned if source value is lower than all candels within provided lookback percentage.
r_col : Color to be returned if source value is swinging around candles within defined lookback period which is an indication of consolidation or trend reversal.
Returns: Color based on trend. 'bull_col' if trend is bullish, 'bear_col' if trend is bearish. 'r_col' if no prominent trend. Integer Signal is also returned as 1 for Bullish, -1 for Bearish and 0 for no prominent trend.
easytableLibrary "easytable"
Create tables easily, with minimal code
▦ FEATURES ▦
█ Create tables █ JSON To Table █ Change Colors █ Array to Rows/Columns █ Pre-Styles █ Change Text Size █ Delete Rows/Columns █ Blink Cells
indentify_table_id() Identifies all tables ID number in each cell(0,0).
get_table_by_id(id_number) Get table object by ID number.
Parameters:
id_number : (int) ID number of the table to fetch.
Returns: table.
change_cells_color(table_object, cells_color, start_column, end_column, start_row, end_row) Change cells background colors.
Parameters:
table_object : (table) table object to be changed.
cells_color : (color) Cells color.
start_column : (int) Start column.
end_column : (int) End column.
start_row : (int) Start Row.
end_row : (int) End Row to change.
Returns: Void.
change_cells_text_color(table_object, text_color, start_column, end_column, start_row, end_row) Change cells text colors.
Parameters:
table_object : (table) table object to be changed.
text_color : (color) Text color.
start_column : (int) Start column.
end_column : (int) End column.
start_row : (int) Start Row.
end_row : (int) End Row.
Returns: Void.
change_all_table_text_color(table_object, text_color, table_column_size, table_row_size) Change All table text color.
Parameters:
table_object : (table) table object to be changed.
text_color : (color) Text color.
table_column_size : (int) Size of the table columns.
table_row_size : (int) Size of the table rows.
Returns: Void.
change_table_size(table_object, n_of_columns, n_of_rows, tbl_size) Change table size.
Parameters:
table_object : (table) table object to be changed.
n_of_columns : (int) Size of the table columns.
n_of_rows : (int) Size of the table rows.
tbl_size : (string) size of the table.
Returns: Void.
change_cells_text_size(text_size, start_column, end_column, start_row, end_row, table_id) Change table cells text size .
Parameters:
text_size : (string) Text size.
start_column : (int) Start column.
end_column : (int)(optional) End column.
start_row : (int)(optional) Start Row.
end_row : (int)(optional) End Row.
table_id : (int)(optional) Number of the ID of the table.
Returns: Void.
table_delete_row(table_object, table_column_size, start_row, end_row) Delete specified rows from table.
Parameters:
table_object : (table) table object to be changed.
table_column_size : (int) Table columns max size.
start_row : (int) Start row to delete.
end_row : (int)(optional) End row to delete (optional — Assumes start_row value).
Returns: Void.
table_delete_column(table_object, table_row_size, start_column, end_column) Delete specified columns from table.
Parameters:
table_object : (table) table object to be changed.
table_row_size : (int) Table rows max size.
start_column : (int) Start column to delete.
end_column : (int)(optional) End column to delete (optional — Assumes start_column value).
Returns: Void.
array_to_table_column_auto(column_to_insert, array_to_insert, table_id) Insert string array to table column without passing table object.
Parameters:
column_to_insert : (int) Column to be inserted.
array_to_insert : (string array) Start column to delete.
table_id : (int)(optional) Number of the ID of the table.
Returns: Void.
array_to_table_row_auto(row_to_insert, array_to_insert, table_id) Insert string array to table row without passing table object.
Parameters:
row_to_insert : (int) Column to be inserted.
array_to_insert : (string array) Start column to delete.
table_id : (int)(optional) Number of the ID of the table.
Returns: Void.
array_to_table_row(table_object, row_to_insert, array_to_insert) Insert string array to table row by passing table object.
Parameters:
table_object : (table) table object to be changed.
row_to_insert : (int) Row to be inserted.
array_to_insert : (string array) Start column to delete.
Returns: Void.
array_to_table_column(table_object, column_to_insert, array_to_insert) Insert string array to table column by passing table object.
Parameters:
table_object : (table) table object to be changed.
column_to_insert : (int) Column to be inserted.
array_to_insert : (string array) Start column to delete.
Returns: Void.
blink_cell(cell_column, cell_row, c_color, blink_interval_ms, table_id) Changes cell color at set intervals (blink).
Parameters:
cell_column : (int) Cell column position.
cell_row : (int) Cell row position.
c_color : (color) Color to blink.
blink_interval_ms : (int)(opt) Interval in milliseconds.
table_id : (int)(opt) Table ID number.
change_table_style(table_object, number_of_columns, number_of_rows, color) Changes table pre-style by selecting a pre-style number.
Parameters:
table_object : (table) table object to be changed.
number_of_columns : (int) Table column size.
number_of_rows : (int) Table row size.
color : 1 (color) Color of .
Returns: Void.
create_table_clean(n_of_columns, n_of_rows, position) Create a simple(blank) table without any styling.
Parameters:
n_of_columns : (int) Numbers of columns in the table.
n_of_rows : (int) Number of rows in the table.
position : (string) table position.
Returns: table object.
create_table_with_style(n_of_columns, n_of_rows, style_number, position) Create table with a pre-set style.
Parameters:
n_of_columns : (int) Numbers of columns in the table.
n_of_rows : (int) Number of rows in the table.
style_number : (int) Style number.
position : (string) table position.
Returns: table object.
json_to_table(raw_json) Create table based on input raw json string.
Parameters:
raw_json : (int) Raw json string.
Returns: table object.
json_example() Example function that display a table based on a json
example_create_table()
Logger Library For Pinescript (Logging and Debugging)Library "LoggerLib"
This is a logging library for Pinescript. It is aimed to help developers testing and debugging scripts with a simple to use logger function.
Pinescript lacks a native logging implementation. This library would be helpful to mitigate this insufficiency.
This library uses table to print outputs into its view. It is simple, customizable and robust.
You can start using it's .log() method just like any other logging method in other languages.
//////////////////
USAGE
//////////////////
-- Recommended: Please Read The Documentation From Source Code Below. It Is Much More Readable There And Will Be Updated Along With Newer Versions. --
Importing the Library
---------------------
import paragjyoti2012/LoggerLib/ as Logger
.init() : Initializes the library and returns the logger pointer. (Later will be used as a function parameter)
.initTable: Initializes the Table View for the Logger and returns the table id. (Later will be used as a function parameter)
parameters:
logger: The logger pointer got from .init()
max_rows_count: Number of Rows to display in the Logger Table (default is 10)
offset: The offset value for the rows (Used for scrolling the view)
position: Position of the Table View
Values could be:
left
right
top-right
(default is left)
size: Font Size of content
Values could be:
small
normal
large
(default is small)
hide_date: Whether to hide the Date/Time column in the Logger (default is false)
returns: Table
example usage of .initTable()
import paragjyoti2012/LoggerLib/1 as Logger
var logger=Logger.init()
var logTable=Logger.initTable(logger, max_rows_count=20, offset=0, position="top-right")
-------------------
LOGGING
-------------------
.log() : Logging Method
params: (string message, |string| logger, table table_id, string type="message")
logger: pass the logger pointer from .init()
table_id: pass the table pointer from .initTable()
message: The message to log
type: Type of the log message
Values could be:
message
warning
error
info
success
(default is message)
returns: void
///////////////////////////////////////
Full Boilerplate For Using In Indicator
///////////////////////////////////////
P.S: Change the | (pipe) character into square brackets while using in script (or copy it from the source code instead)
offset=input.int(0,"Offset",minval=0)
size=input.string("small","Font Size",options=|"normal","small","large"|)
rows=input.int(15,"No Of Rows")
position=input.string("left","Position",options=|"left","right","top-right"|)
hide_date=input.bool(false,"Hide Time")
import paragjyoti2012/LoggerLib/1 as Logger
var logger=Logger.init()
var logTable=Logger.initTable(logger,rows,offset,position,size,hide_date)
rsi=ta.rsi(close,14)
|macd,signal,hist|=ta.macd(close,12,26,9)
if(ta.crossunder(close,34000))
Logger.log("Dropped Below 34000",logger,logTable,"warning")
if(ta.crossunder(close,35000))
Logger.log("Dropped Below 35000",logger,logTable)
if(ta.crossover(close,38000))
Logger.log("Crossed 38000",logger,logTable,"info")
if(ta.crossunder(rsi,20))
Logger.log("RSI Below 20",logger,logTable,"error")
if(ta.crossover(macd,signal))
Logger.log("Macd Crossed Over Signal",logger,logTable)
if(ta.crossover(rsi,80))
Logger.log("RSI Above 80",logger,logTable,"success")
////////////////////////////
// For Scrolling the Table View
////////////////////////////
There is a subtle way of achieving nice scrolling behaviour for the Table view. Open the input properties panel for the table/indicator. Focus on the input field for "Offset", once it's focused, you could use your mouse scroll wheel to increment/decrement the offset values; It will smoothly scroll the Logger Table Rows as well.
/////////////////////
For any assistance using this library or reporting issues, please write in the comment section below.
I will try my best to guide you and update the library. Thanks :)
/////////////////////
CRCPaintLibrary "CRCPaint"
black(trans)
Parameters:
trans : Transparency value (float)
Returns: color
-------------------------------------------------------------------------- //
white()
silver()
gray()
fuchsia()
maroon()
red()
orange()
yellow()
blue()
navy()
aqua()
purple()
teal()
green()
lime()
olive()
malachite()
fern()
feldgrau()
skobeloff()
viridian()
violet()
denim()
saphhire()
cyan()
auburn()
pink()
tawny()
rust()
goldenrod()
mahogany()
boysenberry()
mauve()
cosmos()
sepia()
jazzberry()
wenge()
idx_mix()
idx_mix_size()
transparent()
rgb()
shade_mint()
shade_blush()
random()
AwesomeColorLibrary "AwesomeColor"
This library provides a variety of colors.
The following functions all provide different sets of colors.
The name of the function indicates the color scheme.
The usage of arguments for all functions is the same.
// @function {Color set name}
// @param _color TODO: The name of the color group.
// @returns TODO: Returns an array of colors.
TableColorThemeLibrary "TableColorTheme"
TODO: This library provides the color for the table.
monokai(name) theme: Provides the colors of monokai.
Parameters:
name : TODO: The name of the color group.
Returns: TODO: Returns an array of colors.
kolormark.com
monokaipro(name) theme: Provides the colors of monokai pro.
Parameters:
name : TODO: The name of the color group.
Returns: TODO: Returns an array of colors.
theme(name) theme This function provides the color for the table.
Parameters:
name : TODO: The name of the color group.
Returns: TODO: Returns an array of colors.
arsenalLibrary "arsenal"
This library is a collection of weapons that will help us win the war against the market.
isNewbar(res, timezone) Checks if the res is in new bar at the current timeframe
Parameters:
res : - resolution of the bar to check if new
timezone : - timezone of the resolution
Returns: ch: - 1=true, 0=false
AutoColorLibrary "AutoColor"
Function provides rgb color based on deviation of highest and lowest value for the period from current value
fColor(src1, len1) Calculates rgb color based on deviation of highest and lowest value for the period from current value
Parameters:
src1 : Series to use (`close` is used if no argument is supplied).
len1 : Length for highest and lowest series (`10` is used if no argument is supplied).
Returns: color for series
ColorSchemeLibrary "ColorScheme"
A color scheme generator.
init() Initiate the array data registry that will hold the color profile. Returns: tuple with 2 arrays (string array, color array)
check_registry_integrity(key_registry, color_registry) Checks the integrity of the registers.
Parameters:
key_registry : string array, key data holder array.
color_registry : color array, color value data holder array.
Returns: void.
add(key_registry, color_registry, key, value) Add new (key, color) entry to the registry.
Parameters:
key_registry : string array, key data holder array.
color_registry : color array, color value data array.
key : string, the unique key to reference the value.
value : color, the color value of the specified key.
Returns: void.
get_color(key_registry, color_registry, key) Get a (key, color) entry from the registry.
Parameters:
key_registry : string array, key data holder array.
color_registry : color array, color value data array.
key : string, the unique key to reference the value.
Returns: void.
edit_key(key_registry, color_registry, key, new_key) Edit a (key, color) entry in the registry.
Parameters:
key_registry : string array, key data holder array.
color_registry : color array, color value data array.
key : string, the unique key to reference the value.
new_key : string, the unique key to reference the value.
Returns: void.
edit_color(key_registry, color_registry, key, new_value) Edit a (key, color) entry in the registry.
Parameters:
key_registry : string array, key data holder array.
color_registry : color array, color value data array.
key : string, the unique key to reference the value.
new_value : color, the color value of the specified key.
Returns: void.
delete(key_registry, color_registry, key) Delete a (key, color) entry from the registry.
Parameters:
key_registry : string array, key data holder array.
color_registry : color array, color value data array.
key : string, the unique key to reference the value.
Returns: void.
delete_all(key_registry, color_registry) Delete all (key, color) entrys from the registry.
Parameters:
key_registry : string array, key data holder array.
color_registry : color array, color value data array.
Returns: void.
model(index) Enumerate models available to profile colors.
Parameters:
index : int, index of model. (1:'monochromatic', 2:'analog', 3:'triadic', 4:'tetradic', 5:'square', anything else:'monochromatic')
Returns: string.
generate_scheme(key_registry, color_registry, primary, model) Generate a multi color scheme.
Parameters:
key_registry : string array, key data holder array.
color_registry : color array, color value data array.
primary : color, the origin color to base the profile.
model : string, default='monochromatic', options=('monochromatic', 'triadic near', 'triadic far', 'tetradic')
Returns: void.
ColorExtensionLibrary "ColorExtension"
Color Extension methods.
hsl(hue, saturation, lightness, transparency) HSL color transform.
Parameters:
hue : float, hue color component, hue is a degree on the color wheel from 0 to 360. 0 is red, 120 is green, 240 is blue.
saturation : float, saturation color component, saturation is a percentage value, 0 means a shade of gray and 100 is the full color.
lightness : float, lightness color component, Lightness is also a percentage; 0 is black, 100 is white.
transparency : float, transparency color component, transparency is also a percentage; 0 is opaque, 100 is transparent.
Returns: color
rgb_to_hsl(red, green, blue) Convert RGB to HSL color values
Parameters:
red : float, red color component.
green : float, green color component.
blue : float, blue color component.
Returns: tuple with 3 float values, hue, saturation and lightness.
complement(primary) Complementary of selected color
Parameters:
primary : color, the primary
Returns: color.
invert(primary) Inverts selected color.
Parameters:
primary : color, the primary.
Returns: color.
is_cool(base) Color is cool or warm.
Parameters:
base : color, the color to check.
Returns: bool.
temperature(base) Color temperature.
Parameters:
base : color, the color to check.
Returns: bool.
is_high_key(base) Color is high key (orange yellow green).
Parameters:
base : color, the color to check.
Returns: bool.
mix(base, mix, rate) Mix two colors together.
Parameters:
base : color, the base color.
mix : color, the color to mix.
rate : float, default=0.5, the rate of mixture, range within 0.0 and 1.0.
Returns: color.
analog(primary) Selects 2 near spectrum colors (H +/- 45).
Parameters:
primary : color, the base color.
Returns: tuple with 2 colors.
triadic(primary) Selects 2 far spectrum colors (H +/- 120).
Parameters:
primary : color, the base color.
Returns: tuple with 2 colors.
tetradic(primary) Uses primary and the complementary color, + 60º to form a rectangular pattern on the color wheel.
Parameters:
primary : color, the base color.
Returns: tuple with 3 colors.
square(primary) Uses primary and generate 3 equally spaced (90º) colors.
Parameters:
primary : color, the base color.
Returns: tuple with 3 colors.
RK's Framework 01 - Auto Color GradientThis started as a personal arrays study, but after a few tests I decided to made a framework to get my own scripts simplest, lighter and faster.
And now I'm sharing with you guys.
Is very simple to use:
Copy evething inside "RK's Auto Color Gradient Framework" block;
Paste anywhere before the plotting;
Declare the color variable name calling the function "f_autocolor(___, ___)" with the source you gonna plot and the size of the scale do you want to use to compare the data.
Feel free to use.
Hope brings some profits for you guys!!
FishNet Doubled hullMA Reactive ColorsMoving averages are used to determine trend. These moving averages are designed to determine trend with reactive coloring and utilizes a unique version of the Hull moving average. This is one of many iterations of fishnet MAs I have made in the past.
I first found fishnet MAs, which is a lot of moving averages of increasing length, from @TusenPix
YMMV on actionable information :p
NSDT Session Background ShadingA simple script to add background colors to specific timeframes. Great for trading futures so you can separate sessions for easier viewing. Use for stocks to separate pre, open, and post market times.
There are three timeframes that can be set and all colors can be modified.
Kaz Style BarsChange bar colors based on above or Below EMA
I use it to match Kaz's bars look on my charts
2 Moving Average Color Direction Detection 2 Moving Average Color Direction Detection, possibility to configure:
- Type: SMA , EMA , WMA , VWMA , SMMA , DEMA , TEMA , HULLMA, ZEMA, TMA, SSMA
- Lenght
- Source
- Color direction
Adaptive Autonomous Recursive Trailing StopIntroduction
Trailing stop are important indicators in technical analysis, today i propose a new trailing stop A2RTS based on my last published indicator A2RMA (1), this last indicator directly used an error measurement thus providing a way to create enveloppes, which provide a direct way to create trailing stops based on highest/lowest rules.
The Indicator
If you need a more detailed explanation of this indicator i encourage you to check the A2RMA indicator post i made, parameters does not differ from the supertrend, thus having a length parameter and a factor parameter who is here described as gamma , gamma control how far away are the bands from each others thus spotting longer terms trends when gamma is higher.
On BTCUSD
Something worth mentioning is that the indicator sometimes behave like my MTA trailing stop indicator (2) who is closer to the price when a trend persist thus providing early exit points, however A2RTS behave a bit better.
Price can sometimes break the trailing stop, this can be interpreted as a support/resistance or just as an exit point, the support resistance methodology on trailing stop is not the most recommended.
Sometimes it is recommended to have an higher length rather than an high gamma like in this case for INTEL CORP, below gamma = 3 and length = 20
The microprocessor market like to use higher length's instead of higher gamma's , A2RMA is a non-linear filter, this would explain such behaviour.
Conclusion
Trailing stops might not suffer as much from whipsaw trades than MA crossovers but they still remain inefficient when market is not trending, results of the proposed indicator on major forex pairs are more than disappointing, but i hope this will serve as basis for other trailing stops that might act a little bit better. I conclude this post by thanking everyone who support my work and i encourage you to modify this indicator and share it with the community.
Thanks for reading !
Cited Articles
High Performance Candlestick Patterns Colors//Candle Patterns Ranked by Performance THOMAS N. BULKOWSKI
//1. Bearish Three Line Strike +Up 67.38%
//2. Bullish Three Line Strike -Down 65.23%
//3. Bearish Three Black Crows -Down 59.83%
//4. Bearish Evening Star -Down 55.85%
//5. Bullish Upside Tasuki Gap +Up 54.44%
//6. Bullish Inverted Hammer -Down 51.73%
//7. Bullish Matching Low -Down 50.00%
//8. Bullish Abandone Baby +Up 49.73%
//9. Bearish Two Black Gapping -Down 49.64%
//10. Brearish Breakaway -Down 49.24%
//11. Bullish Morning Star +Up 49.05%
//12. Bullish Piercing Line +Up 48.37%
//13. Bullish Stick Sandwich +Up 48.20%
//14. Bearish Thrusting Line During Dowtrend +Up 48.10%
//15. Bearish Meeting Line +Up 48.07%
//Down=Yellow Bar Color and Black Text
//Up=Blue Bar Color and Blue Text
//High Performance Candlestick Patterns Colors Top 15
Chart Theme - Change Bar and Background Colors using HEX #sAdds aesthetic ability to charts by allowing the trader to change the color of the bars, background, and plots using HEX colors, rather than TradingView's limited color selector box. This makes for easy application of color palettes to charts. The color palettes can be saved as indicators and applied quickly, as desired.
MACD + Colors + Signals
Standard MACD with signal and histogram
MACD and signal crossovers are marked with up/down triangles
Signal is colored based on its direction, can be turned to a single color
Histograms can be green, red and yellow based on their side and direction
Histograms can be switch to be green when positive and red when negative