Strategy BackTest Display Statistics - TraderHalaiThis script was born out of my quest to be able to display strategy back test statistics on charts to allow for easier backtesting on devices that do not natively support backtest engine (such as mobile phones, when I am backtesting from away from my computer). There are already a few good ones on TradingView, but most / many are too complicated for my needs.
Found an excellent display backtest engine by 'The Art of Trading'. This script is a snippet of his hard work, with some very minor tweaks and changes. Much respect to the original author.
Full credit to the original author of this script. It can be found here: www.tradingview.com
I decided to modify the script by simplifying it down and make it easier to integrate into existing strategies, using simple copy and paste, by relying on existing tradingview strategy backtester inputs. I have also added 3 additional performance metrics:
- Max Run Up
- Average Win per trade
- Average Loss per trade
As this is a work in progress, I will look to add in more performance metrics in future, as I further develop this script.
Feel free to use this display panel in your scripts and strategies.
Thanks and enjoy :)
Analysis
+ Multi-timeframe Multiple Moving Average LinesThis is a pretty simple script that plots lines for various moving averages (what I think are the most commonly used across all markets) of varying lengths of timeframes of the user's choosing. Timeframes range from 5 minutes up to one month, so regardless if you're a scalper or a swing trader there should be something here for you.
There are 8 lines (that can be turned on/off individually), which may seem like a lot, but if you use two averages and want to display four different timeframes for each, you can do that. The nice thing is that because the lines start plotting from the current bar they won't clutter up the screen. And obviously having moving averages from different timeframes on your chart makes price action more difficult to read (I mean sure, you can make them invisible, but who wants to do that all the time).
For each line there are two labels. One with the moving average type, and the other with its specific timeframe. I can't include the moving average length because it's not a string input. If anyone has a workaround for this, let me know, otherwise I would simply recommend setting different colors depending on the length, or if you only use one or two lengths and one or two moving averages this shouldn't be an issue. I had to use two labels because for the label text I couldn't include more than one string input, this is why there is an input for the 'moving average type label distance.'' You will want to adjust this depending on if you are trading crypto, futures, or forex because in some cases there may still be label overlap.
Pretty much everything else is self-explanatory.
I've added alerts. I might need to modify them if I can, because it would be nice for them to state the name and timeframe of the moving average. But I think this will do for now.
Enjoy!
Volume Spread for VSA CustomHey everyone, I have been using volume a lot more lately as price action can sometimes get manipulated but volume shows us the truth!
Anyways, I have enjoyed the Volume Spread for VSA indicator but wished I had the code to change a few settings. This volume indicator includes spread analysis with the ability to customize input values and I'm making it open source so you can do with it as you please.
I have made notes all throughout the code to give suggestions on a few changes or why I have written it in such a way. I have also tried to section everything off to make it easier to see where each piece of the code is used. Overall I think it is a good example of how to code cleanly and how to add useful notes when you are learning Pine for yourself :D
The indicator on the price chart is my Donchian Channel indicator, which you can also find on my profile. This is the one I use every day.
Trend IdentifierTrend Identifier for 1D BTC.USD
It smoothens a closely following moving average into a polynomial like plot.
And assumes 4 stage cycles based on the first and second derivatives.
Green: Bull / Exponential Rise
Yellow: Distribution
Red: Bear / Exponential Drop
Blue: Accumulation
Red --> Blue --> Green: indicates the start of a bull market
Green --> Yellow --> Red: indicates the start of a bear market
Green --> Yellow: Start of a distribution phase, take profits
Red --> Blue: Start of a accumulation phase, DCA
Bitcoin OnChain & Other MetricsHi all,
In these troubled times, going back to fundamentals can sometimes be a good idea 😊
I put this one up using data retrieved from “Nasdaq Data Link” and their “Blockchain.com” database.
Here is a good place to analyses some Bitcoin data “outside” its price action with 25 different data sets.
Just go to the settings menu and display the ones you are interested in.
If you want me to add more metrics, feel free to DM or comment below!
Hope you enjoy 😉
Ichimoku PeeksThis indicator uses the Ichimoku Tenkan / Kijun trend line formulas to predict what those values will be in the future if current price action does not violate the period highs and lows.
Because of the way Ichimoku formulates the trend, it contains (but does not visualize) this predictive information in a way that moving averages do not.
Sharp chart readers can infer upcoming changes by counting back candles, but the process can be automated, as I've shown here.
This description does not seem to be editable so implementation details and usage will be covered in code commentary.
MACD Scalper AnalysisThis is a scalper analysis movement designed around MACD and 200 EMA
The rules are simple:
For long we check if the close of the candle is above the ema200 and we have a crossover between macd and signal
Once this happens we analyse the next candle, if its close higher than open , we can consider it a win and if its close lower than open we consider a lose.
For short we check if the close of the candle is below the ema200 and we have a crossunder between macd and signal
Once this happens we analyse the next candle, if its close higher than open , we can consider it a loss and if its close lower than open we consider a win.
Once we have all of this we analyse the average percentage movement and establish if the specific asset or timeframe is worthy for us.
At the same time it can give a good idea if we can go with a divergence strategy, like for example we have a short entry, but we will actually go long and viceversa.
If you have any questions let me know !
Determine Consecutive Candles█ OVERVIEW
This is a simple script that will plot labels over or under candles to show where there had been consecutive candles that closed in a similar fashion. This script was inspired by a Tweet about Bitcoin experiencing its first 7th-consecutive weekly black candle and I sought out to test that.
█ INPUTS
There are three inputs for this script.
"offset" ( integer ) - (Can be 0 or 1) Allows the user to apply this script at the currently closing candle or the most recently closed candle.
"Number of Candles" ( integer ) - (From 3 to 100*) Allows the user to select how many candles to back test for consecutive-ness.
"Black or White" ( boolean ) - Allows the user to select what kinds of candles to look for in this script. (true - Black , false - White ).
*Publishing open-sourced, this selection was arbitrary and can be modified at will.
█ USAGE
Because I had created this in a little over an hour, this is just a simple experiment that I wanted to share with others. Its applications are unknown to me, but I am interested in hearing how others may find what this script does useful.
[blackcat] L3 Financial Minesweeper: Altman Z ScoreLevel: 3
Background
The Altman Z-score is the output of a credit-strength test that gauges a publicly traded manufacturing company's likelihood of bankruptcy. The Altman Z-score is a formula for determining whether a company, notably in the manufacturing space, is headed for bankruptcy.
Function
The possibility of financial failure or bankruptcy of the enterprise is analyzed and predicted through the comprehensive score. The lower the Z value, the more likely the enterprise will go bankrupt. By calculating the Z value of an enterprise for several consecutive years, we can find out whether the enterprise has signs of financial crisis. Generally speaking, when the Z value is greater than 2.675, it indicates that the financial situation of the enterprise is good, and the possibility of bankruptcy is small; When the value is less than 1.81, it indicates that the enterprise is in a potential bankruptcy crisis; when the Z value is between 1.81 and 2.675, it is called a "gray area, indicating that the financial situation of the enterprise is extremely unstable.
Remarks
STOCKs ONLY which require financial data.
X1~X5 coefficients can be customized for different stock markets.
Compared to TradingView official Altman Z-Score Indicator.
Feedbacks are appreciated.
Volatility Calculator for Daily Top and Bottom RangeWith the usage of ATR, applied on the close of the daily candle, I am calculated the volatility channels for the TOP and BOTTOM
Based on this logic, we can estimate, with a huge confidence factor, where the prices are going to be compressed for the trading day.
Having said that, lets take a look at the data gathered among the most important financial markets:
SPX
TOP CROSSES : 2116
BOT CROSSES : 1954
Total Daily Candles : 18908
Occurance ratio = 0.215
NDX
TOP CROSSES : 1212
BOT CROSSES : 1183
Total Daily Candles : 9386
Occurance ratio = 0.255
DIA
TOP CROSSES : 759
BOT CROSSES : 769
Total Daily Candles : 6109
Occurance ratio = 0.25
DXY
TOP CROSSES : 1597
BOT CROSSES : 1598
Total Daily Candles : 13156
Occurance ratio = 0.243
DAX
TOP CROSSES : 1878
BOT CROSSES : 1848
Total Daily Candles : 13155
Occurance ratio = 0.283
BTC USD
TOP CROSSES : 416
BOT CROSSES : 417
Total Daily Candles : 4290
Occurance ratio = 0.194
ETH USD
TOP CROSSES : 247
BOT CROSSES : 268
Total Daily Candles : 2452
Occurance ratio = 0.21
EUR USD
TOP CROSSES : 820
BOT CROSSES : 805
Total Daily Candles : 7489
Occurance ratio = 0.217
GOLD
TOP CROSSES : 1722
BOT CROSSES : 1569
Total Daily Candles : 13747
Occurance ratio = 0.239
USOIL
TOP CROSSES : 1077
BOT CROSSES : 1089
Total Daily Candles : 10231
Occurance ratio = 0.212
US 10Y
TOP CROSSES : 1302
BOT CROSSES : 1365
Total Daily Candles : 9075
Occurance ratio = 0.294
Based on this, we can assume with a very high confidence ( 70-80%) that the market is going to stay, within the range created from the BOT and TOP ATR points.
Heikin Multi Time Frame// How it Works \\
This script calculates the open and close prices of Heikin Ashi candles across multiple timeframes,
If the candle formed on that timeframe is green it will display in the table a green square, If the candle is red, the square will display red.
// Settings \\
You can change the colours of the plots
You can also Change any of the timeframes which the Heikin Ashi candles are being calculated on
// Use Case \\
Heikin Ashi candles are often used to give a smoother trend direction and help cancel out some of the noice/consolidation.
It can also be use as trend detection for multiple timeframes at once
/ / Suggestions \\
Happy for anyone to make any suggestions on changes which could improve the script,
// Terms \\
Feel free to use the script, If you do use the scrip please just tag me as I am interested to see how people are using it. Good Luck!
IsPullbackPivotRetested experimentThe indicator counts how often a pullback that starts outside the Keltner Channel resolves or fails.
Resolves: the pullback high or low is retested.
Fails: price goes outside the oppositie side of the Keltner Channel.
FunctionPolynomialFitLibrary "FunctionPolynomialFit"
Performs Polynomial Regression fit to data.
In statistics, polynomial regression is a form of regression analysis in which
the relationship between the independent variable x and the dependent variable
y is modelled as an nth degree polynomial in x.
reference:
en.wikipedia.org
www.bragitoff.com
gauss_elimination(A, m, n) Perform Gauss-Elimination and returns the Upper triangular matrix and solution of equations.
Parameters:
A : float matrix, data samples.
m : int, defval=na, number of rows.
n : int, defval=na, number of columns.
Returns: float array with coefficients.
polyfit(X, Y, degree) Fits a polynomial of a degree to (x, y) points.
Parameters:
X : float array, data sample x point.
Y : float array, data sample y point.
degree : int, defval=2, degree of the polynomial.
Returns: float array with coefficients.
note:
p(x) = p * x**deg + ... + p
interpolate(coeffs, x) interpolate the y position at the provided x.
Parameters:
coeffs : float array, coefficients of the polynomial.
x : float, position x to estimate y.
Returns: float.
Key Financials A simple table with up to 9 key financials on your chart.
Simple, easy and configurable.
S&P 500 Earnings Yield SpreadThis indicator compares the attractiveness of equities relative to the risk-free rate of return, by comparing the earnings yields of S&P 500 companies to the 10Y treasury yields. "Earnings yield" refers to the net income attributable to shareholders divided by the stock's price - effectively the inverse of the PE ratio. The tangible meaning of this metric is "the annual income received by (attributable to) shareholders as a percent of the price paid to receive said income." Therefore, earnings yield is comparable to bond yields, which are "the annual income received by bond holders as a percent of the price paid to receive said income."
This indicator subtracts the earnings yield of S&P 500 companies from the current 10-year treasury bond yield, creating a "spread" between the yields that determines whether equities are currently an attractive investment relative to bonds. That is, if the S&P 500 earnings yield exceeds the 10Y treasury yield, then equity investors are receiving more attributable income per dollar paid than bondholders, which could be an indication that equities are an attractive purchase relative to the risk-free rate. The same applies vice-versa; if the 10Y treasury yield exceeds that of the S&P 500 earnings yield, then equities may not be an attractive investment relative to the risk-free rate.
Since data on S&P 500 companies' earnings yields are pulled on a monthly basis, this indicator should be used on a monthly timeframe or longer. Historical data has shown that the critical zones for the indicator are at -4% and +3%, i.e. when equities are trading with a 4% greater yield than 10Y T-bonds and when equities are trading with a 3% lower yield than 10Y T-bonds, respectively. In the "Oversold" case (-4%), equities are trading at a steep discount to the risk-free rate and has often represented a strong buying opportunity. In the "Overbought" case (+3%), equities are trading at a premium to the risk-free rate, which may be an indication that caution should be exercised within the stock market. When the indicator first crosses into "Oversold" territory, this has historically been near a the bottom of a crash on the S&P 500. When the indicator first crosses into the "Overbought" territory, this has often precipitated a correction of 15% on the S&P 500.
Some notable "misses," crashes that this indicator missed, include the 1973 stock market crash and the 2008 global recession. However, both of these cases were largely precipitated by unprecedented economic events, as opposed to stocks simply being "Overbought" relative to treasury yields. Nonetheless, this indicator should form only a small portion of your fundamental analysis, as there are many macroeconomic factors that could lead to major corrections besides the impact of treasury yields. Furthermore, it should also be noted that since markets are "forward looking," future earnings growth or interest rate hikes may become "priced into" both the stock and bond markets, affecting the outputs of this indicator. However, since both the stock and bond markets should account for these factors simultaneously, the impact has historically been minimized.
I hope you find this indicator to be beneficial to your strategies. Stay safe, and happy trading.
Accumulation/Distribution Bands & Signals (BTC, 1D, BITSTAMP) This is an accumulation/distribution indicator for BTC/USD (D) based on variations of 1400D and 120D moving averages and logarithmic regression. Yellow plot signals Long Term Accumulation, which is based on 1400D (200W) ALMA, orange plot signals Mid Term Accumulation and is based on 120D ALMA, and finally the red plot signals Long Term Distribution that's based on log regression. It should be noted that for red plot to work BTC 1D BITSTAMP graph must be used, because the function of the logarithmic regression was modified according to the x axis of the BITSTAMP data.
Signal bands have different coefficients; long term accumulation (yellow) and and the log regression (red) plots have the highest coefficients and mid term accumulation (orange) has the lowest coefficients. Coefficients are 6x, 3x and 1.5x for the red (sell) and yellow (buy) plots and 1x, 2x and 3x for the orange (buy) plot. Selling coefficient for the yellow and the orange plots are respectively 2x and 1x. Buy and sell signals are summed up accordingly and plotted at the top of the highest band.
Acknowledgement: Credits for the logarithmic regression function are due @memotyka9009 and Benjamin Cowen
Bitcoin Movement vs. Coin's Movement MTFThis script tracks the percent change of Bitcoin vs. the percent change of the coin on the chart. Crypto markets are usually affected greatly by Bitcoin swings so being able to see if the given coin is trending above or below Bitcoin is useful market data. All choices made with this script are your own! Thanks.
FunctionPeakDetectionLibrary "FunctionPeakDetection"
Method used for peak detection, similar to MATLAB peakdet method
function(sample_x, sample_y, delta) Method for detecting peaks.
Parameters:
sample_x : float array, sample with indices.
sample_y : float array, sample with data.
delta : float, positive threshold value for detecting a peak.
Returns: tuple with found max/min peak indices.
TradingGroundhog - Fundamental Analysis - Multiple RSI Ema(Script Available Version of my previous Fundamental Analysis - Multiple RSI Ema )
As the number of crypto currencies is expanding, we need to find the one which will boom in the next months, weeks or even days.
Therefore, I present to you a Fundamental Analysis tool based on RSI built in order to compare the RSI between the diverse cryptocurrencies.
When cryptocurrencies start to trend, become active, minable and especially "buyable", people are investing their money into them.
As a result,the Daily RSI rises and the price of the crypto in question increases steadily.
With "Fundamental Analysis - Multiple RSI EMA" you can :
Follow up to 20 RSI from different exchanges at the same time.
Find easily Increasing/Decreasing RSI as the lines get transparent if their RSI decrease.
You can also select market with high potential of booming as :
Booming Market : 60 < Daily RSI <= 100 (Strong green background)
Potent Market : 55 < Daily RSI <= 60 (Light green background)
Sleepy Market : 50 < Daily RSI <= 55 (Light red background)
Dying Market : 0 < Daily RSI <= 50 (Strong red background)
Futur booming crypto will go from the Potent Market to the Booming Market
Can be used with the following time frames depending on the necessity:
4H
Daily (Preferred)
Weekly
Monthly
Good trades !
Disclaimer (As it should always be one to any script)
***
This script is intended for and only to be used for personal purposes only. No such information provided by it constitutes advice or a recommendation for any investment or trading strategy for any specific person. There is no guarantee presented or implied as to the accuracy of specific forecasts, projections, or predictive statements offered by the script. Users of the script agree that its original developer does not take responsibility for any of your investment decisions. Please seek professional advice before trading.
***
Fibonacci Moving AverageThe Fibonacci Moving Average is a powerful indicator that takes into account many underlying moving averages to give out an approximate short-term/long-term view of the markets. Its strength lies with dynamic support and resistance levels. I have created this indicator in order to improve trend-following entry positions.
© AlpHay : SECURITY FUNDAMENTAL TABLE// Equity Fundamental Data Report Table:
// Data Provider: Tradingview
// I am not a financial advisor or expert.
// This is my interpretation of this data. Consider this data doesn't represent the whole picture of what is going on!
// If you find some fundamentally wrong thinking about this approach, please inform me.
// I am open to suggestions. I am also looking for answers.
// Use it with a daily timeframe for data consistency.
// You can change or customize the threshold values whatever you want.
// www.tradingview.com
Pivot TrackerThis script finds swing lows and swing highs based on input criteria for lookback and lookforward periods, and plots letters accordingly.
Helps identify trend or lacktherof
HH = higher high
LH = lower high
HL = higher low
LL = lower low