Monthly Strategy Performance TableWhat Is This?
This script code adds a Monthly Strategy Performance Table to your Pine Script strategy scripts so you can see a month-by-month and year-by-year breakdown of your P&L as a percentage of your account balance.
The table is based on realized equity rather than open equity, so it only updates the metrics when a trade is closed.
That's why some numbers will not match the Strategy Tester metrics (such as max drawdown), as the Strategy Tester bases metrics like max drawdown on open trade equity and not realized equity (closed trades).
The script is still a work-in-progress, so make sure to read the disclaimer below. But I think it's ready to release the code for others to play around with.
How To Use It
The script code includes one of my strategies as an example strategy. You need to replace my strategy code with your own. To do that just copy the source code below into a blank script, delete lines 11 -> 60 and paste your strategy code in there instead of mine. The script should work with most systems, but make sure to read the disclaimer below.
It works best with a significant amount of historical data, so it may not work very effectively on intraday timeframes as there is a severe limitation of available bars on TradingView. I recommend using it on 4HR timeframes and above, as anything less will produce very little usable data. Having a premium TradingView plan will also help boost the number of available bars.
You can hover your mouse over a table cell to get more information in the form of tooltips (such as the Long and Short win rate if you hover over your total return cell).
Credit
The code in this script is based on open-source code originally written by QuantNomad, I've made significant changes and additions to the original script but all credit for the idea and especially the display table code goes to them - I just built on top of it:
Why Did I Make This?
None of this is trading or investment advice, just my personal opinion based on my experience as a trader and systems developer these past 6+ years:
The TradingView Strategy Tester is severely limited in some important ways. And unless you use complex Excel formulas on exported test data, you can't see a granular perspective of your system's historical performance.
There is much more to creating profitable and tradeable systems than developing a strategy with a good win rate and a good return with a reasonable drawdown.
Some additional questions we need to ask ourselves are:
What did the system's worst drawdown look like?
How long did it last?
How often do drawdowns occur, and how quickly are they typically recovered?
How often do we have a break-even or losing month or year?
What is our expected compounded annual growth rate, and how does that growth rate compare to our max drawdown?
And many more questions that are too long to list and take a lifetime of trading experience to answer.
Without answering these kinds of questions, we run the risk of developing systems that look good on paper, but when it comes to live trading, we are uncomfortable or incapable of enduring the system's granular characteristics.
This Monthly Performance Table script code is intended to help bridge some of that gap with the Strategy Tester's limited default performance data.
Disclaimer
I've done my best to ensure the numbers this code outputs are accurate, and according to my testing with my personal strategy scripts it appears to work fine. But there is always a good chance I've missed something, or that this code will not work with your particular system.
The majority of my TradingView systems are extremely simple single-target systems that operate on a closed-candle basis to minimize many of the data reliability issues with the Strategy Tester, so I was unable to do much testing with multiple targets and pyramiding etc.
I've included a Debug option in the script that will display important data and information on a label each time a trade is closed. I recommend using the Debug option to confirm that the numbers you see in the table are accurate and match what your strategy is actually doing.
Always do your own due diligence, verify all claims as best you can, and never take anyone's word for anything.
Take care, and best of luck with your trading :)
Kind regards,
Matt.
PS. If you're interested in learning how this script works, I have a free hour-long video lesson breaking down the source code - just check out the links below this script or in my profile.
Table
RGB Color Codes Chart█ OVERVIEW
This indicator is an educational indicator to make pine coders easier to input color code.
Color code displayed either in hex or rgb code or both.
█ INSPIRATIONS
RGB Color Codes Chart
Table Color For Pairing Black And White
█ FEATURES
Hover table cell to see all properties of color such as Hex code and RGB code via tooltip.
Cell can be show either Full, HEX, RGB, R, G, B or na.
█ LIMITATION
This code does not consider usage of color.new()
█ CONSIDERATION
Code consideration to be used such as color.r(), color.g(), color.b() and color.rgb()
█ EXAMPLE OF USAGE / EXPLAINATION
toolsLibrary "tools"
A library of many helper methods, plus a comprehensive print method and a printer object.
This is a newer version of the helpers library. This script uses pinescripts v5 latest objects and methods.
TableBuilderLibrary "TableBuilder"
A helper library to make it simpler to create tables in pinescript
This is a simple table building library that I created because I personally feel that the built-in table building method is too verbose. It features chaining methods and variable arguments.
There are many features that are lacking because the implementation is early, and there may be antipatterns because I am not familiar with the runtime behavior like pinescript. If you have any comments on code improvements or features you want, please comment :D
[-_-] 2D FractalsThe sole purpose of this script is to demonstrate what's possible to make with Pinescript, namely to display images (2D Fractals in this case).
The script consists of two functions: one that generates the values of a fractal and one that displays them (utilising table) with each cell being used as a "pixel". We can control the "resolution" of image, as well as choose one of three fractal types.
MA Band Distance Monitor'MA Band Distance Monitor' indicator is a simple tool for traders who rely on moving averages to make trading decisions. This indicator plots two moving averages of your choice (you can select the type of the moving average), and fills the space between them, creating a "band".
The indicator also generates a table that displays the current price distance from both the fast and slow moving averages, as well as the average of the two. This allows you to quickly assess the strength of the trend and potential entry or exit points.
In addition, the table also shows the average price distance from one to another MA and also the current distance between them, allowing you to compare the current price action to the historical average. This information can help you identify potential trend reversals and assess the overall health of the market.
*** Slow length input must be greater than fast length input, otherwise indicator will produce faulty results
Elliot Wave Helper Table█ OVERVIEW
This indicator is intend to be helper to help Elliot Wave user to properly Elliot Wave tools according to correct degree such as 12345 or ABCWXY. The abbreviation changes according to timeframe.
█ FEATURES
1. Abbreviation degree adaptive to timeframe. Eg : Subminutte for 1 minute chart, etc.
2. Works for custom timeframe. Eg : Subminutte for 1 to 4 minute chart, etc.
3. Show reference table if necessary.
█ REFERENCE
Adaptive Elliot Wave Degree Chart
█ EXAMPLES / USAGES
Harmonic Pattern Table UDT█ OVERVIEW
This table indicator was intended as helper / reference for using XABCD Pattern drawing tool.
The values shown in table was based on Harmonic Trading Volume 3: Reaction vs. Reversal written by Scott M Carney.
Code upgrade from Harmonic Pattern Table (Source Code) and based on latest User-Defined Type (UDT) .
As a result, code appeared more cleaner.
█ FEATURES
1. List Harmonic Patterns.
2. Font size small for mobile app and font size normal for desktop.
3. Options to show Animal name in text, emoji or both.
█ USAGE
Similar to Harmonic Pattern Table (Source Code).
█ CREDITS
Scott M Carney, Trading Volume 3: Reaction vs. Reversal
TableBuilderTableBuilder is a library designed to make it easier to create tables in PineScript.
It allows you to more flexibly define the structure of a table before actually building it.
Features:
Style inheritance: styles are inherited from Table, to Column, to Row, and then Cell.
Columns are useful for propagating/reusing style but they are not required.
Add rows with different numbers of cells. The resultant number of columns in the table will be determined by the max number of cells vs the number of defined columns.
Auto text color: Instead of having to set the font color for every cell, the color is automatically determined by the luminosity of the background color.
See the 'Demo' section of the code for an example.
Democratic Fibonacci Moving AveragesWith this indicator, we have taken moving averages at Fibonacci lengths (3 to 233) as well as the average of these values, labeled the DFMA. Additionally, these values have been inputted into a table overlay. The cross of the FibMA(233) and the DFMA can be used as a signal for long or short.
The FibMA lengths of 3 and 233 are plotted in white by default, the FibMAs with lengths between 3 and 233 are plotted in blue by default, and the democratic line (DFMA) that averages these lines is plotted in green or red (depending on if the value is above or below the 233-length FibMA).
Dynamic Array Table (versatile display methods)Library "datTable"
Dynamic Array Table.... Configurable Shape/Size Table from Arrays
Allows for any data in any size combination of arrays to join together
with:
all possible orientations!
filling all cells contiguously and/or flipping at boundaries
vertical or horizontal rotation
x/y axis direction swapping
all types array inputs for data.
please notify of any bugs. thanks
init(_posit)
Get Table (otional gapping cells)
Parameters:
_posit : String or Int (1-9 3x3 grid L to R)
Returns: Table
coords()
Req'd coords Seperate for VARIP table, non-varip coords
add
Add arrays to display table. coords reset each calc
uses displaytable object, string titles, and color optional array, and second line optional data array.
Coin & market cap tableThis table was built specifically for the Crypto market.
It gives you a quick overview of the markets without having to scroll through numerous charts. The information is the overall markets daily change and the charts coins movement on a daily, weekly and monthly basis.
The weeks start on a Monday morning, the months start on the 1st of the month so this is last weeks data and last calendar months data.
It also gives you Bitcoins dominance. (Total2) you can change it to Bitcoin & Ethereum dominance (Total3)
OHLC-TablesENGLISH VERSION
The command shows the opening-high-low-closing-change values of that day based on the previous value in each period.
You can set the clock in any time zone you want.
You can use the indicator by adapting it wherever you want on your screen. You can adjust its position. Top-Left-Middle Left- Bottom Left/ Top Right-Middle Right- Bottom Right.
Although it is not a command with a Buy-Sell indicator, its user-friendliness and convenience were taken into account while developing it.
The purpose of the indicator is to allow you to consider the values while focusing not only on the chart you are watching.
CFH | RSI-SRSI tableShows RSI and SRSI values on multiple timeframes, highlights oversold and overbought
Timeframes and colors are customizable
/V1llager/
Volume Price and FundamentalsVolume Price and Fundamentals indicators contains 4 exponential moving averages based upon Fibonnaci numbers as period (8, 21, 55 & 144) with crossovers and crossunders.
It also contain a table for volume and 50 Day Avg. Volume, Relative volume, Change in Volume, Volume Value, Up-Down Closing Basis days in last 50 days, Volume ratio (U/D Ratio) on last 50-day Up / Down days and along with fundamental analysis table with various Fundamental Analysis parameters and QoQ & YoY comparison basis for better investment decision making.
Timeframe Bias TableAllows you to display a bias for the W, D, 4h, 15m & 1m Timeframes based on your own analysis.
UtilitiesLibrary "Utilities"
General utilities
print_series(s, skip_na, position, show_index, from_index, to_index)
Print series values
Parameters:
s : Series (string)
skip_na : Flag to skip na values (optional bool, dft = false)
position : Position to print the Table (optional string, dft = position.bottom_center)
show_index : Flag to show series indices (optional bool, dft = true)
from_index : First index to print (optional int, dft = 0)
to_index : Last index to print (optional int, dft = last_bar_index)
Returns: Table object, if series was printed
print(v, position, at_index)
Print value
Parameters:
v : Value (string)
position : Position to print the Table (optional string, dft = position.bottom_center)
at_index : Index at which to print (optional int, dft = last_bar_index)
Returns: Table object, if value was printed
Correlation with Matrix TableCorrelation coefficient is a measure of the strength of the relationship between two values. It can be useful for market analysis, cryptocurrencies, forex and much more.
Since it "describes the degree to which two series tend to deviate from their moving average values" (1), first of all you have to set the length of these moving averages. You can also retrieve the values from another timeframe, and choose whether or not to ignore the gaps.
After selecting the reference ticker, which is not dependent from the chart you are on, you can choose up to eight other tickers to relate to it. The provided matrix table will then give you a deeper insight through all of the correlations between the chosen symbols.
Correlation values are scored on a scale from 1 to -1
A value of 1 means the correlation between the values is perfect.
A value of 0 means that there is no correlation at all.
A value of -1 indicates that the correlation is perfectly opposite.
For a better view at a glance, eight level colors are available and it is possible to modify them at will. You can even change level ranges by setting their threshold values. The background color of the matrix's cells will change accordingly to all of these choices.
The default threshold values, commonly used in statistics, are as follows:
None to weak correlation: 0 - 0.3
Weak to moderate correlation: 0.3 - 0.5
Moderate to high correlation: 0.5 - 0.7
High to perfect correlation: 0.7 - 1
Remember to be careful about spurious correlations, which are strong correlations without a real causal relationship.
(1) www.tradingview.com
TradingCube : Moving Average : Data tablePlots moving average both EMA as well as SMA on Multiple timeframes at once in a Tabular Format
for rapid indication of momentum shift as well as slower-moving confirmations.
Displays EMA/SMA 5 8, 13, 21,34,55,89,100,200,400 by default as well as provide the users the flexibility to choose the timeframe as per their set up.
Annual Returns % Comparison [By MUQWISHI]Overview
The Annual Returns % Comparison indicator aimed to compare the historical annual percentage change of any two symbols. The indicator output shows a column-plot that was developed by two using a pine script table, so each period has pair columns showing the yearly percentage change for entered symbols.
Features
- Enter date range.
- Fill up with any two symbols.
- Choose the output data whether adjusted or not.
- Change the location of the table plot
- Color columns by a symbol.
- Size the height and width of columns.
- Color background, border, and text.
- The tooltip of the column value appears once the cursor sets above the specific column. As it seen below.
Let me know if you have any questions.
Thanks.
Mtf Supertrend Table
english
It is a study of how the supertrend indicator looks on multiple timeframes. You can see the Supertrend direction in Multiple Timeframes by looking at the chart
Türkçe
supertrend indikatörünün çoklu zaman dilimdlerinde nasıl göründüğü yönünde bir çalışmadır. Tabloya bakarak Çoklu Zaman dilimlerinde Supertrend yönünü görebilirsiniz
Alternative MTF Table█ OVERVIEW
This indicator is an educational indicator which was stripped down from Regression Channel Alternative MTF to display 3 timeframes based on timeframe scenarios.
The timeframe scenarios are defined based on Position, Swing and Intraday Trader.
█ INSPIRATION
It is possible to use array.new_bool, array.indexof and switch to get this outcome. Credits to TradingView .
Stock Strength Index by zdmreThe basic idea behind indicators is "to buy the strong one and to sell the weak one". This indicator yield entry and exit signals for stock trading.
You can view the STRENGTH INDEX for the symbol you want in this indicator.
Formula
(X - ((RMA(t-1) * (n-1)) + X(t)) / n) / X * 100
n = The length of the Moving Average (defval = 200)
X = Price
t = Timeframe
#DYOR