Rainbow IndicatorName of the indicator: Rainbow indicator
A brief description of the indicator:
Using this indicator, you can see the "margin of safety" for opening a position in shares of fundamentally strong companies with an acceptable P/E level, as well as the price range for closing a position.
The background to the creation of the indicator:
I got the idea to create this indicator thanks to the concept of the "margin of safety", which was invented by the father of value investing - Benjamin Graham. According to his idea, it is reasonable to buy shares of a company only when the price offered by the market is lower than the "intrinsic value" calculated on the basis of financial statements. The value of this difference is the "margin of safety”. At the same time, the indicator does not copy Graham's idea but develops it relying on my own methodology.
So, according to Graham, the "margin of safety" is a good discount to the intrinsic value of the company. That is, if a company's stock is trading at prices that are well below the company's intrinsic value (on a per-share basis), it's a good opportunity to consider buying it. In this case, you will have a certain margin of safety in case the company is in financial distress and its stock price goes down. Accordingly, the greater the discount, the better.
When it comes to the intrinsic value of a company, there are many approaches to determining it - from calculating the Price-to-book value financial ratio to the discounted cash flow method. As for my approach, I am not trying to find the cherished intrinsic value, but I am trying to understand how fundamentally strong the company is in front of me, and in how many years the investment in it will pay off. To determine fundamental strength, I use the appropriate Fundamental Strength Indicator . To estimate the payback period, I use the P/E ratio (*). If I am satisfied with both of these indicators, I move on to the Rainbow Indicator.
(*) If you want to learn more about the P/E ratio, I suggest reading my two articles on TradingView:
Price / Earnings: Interpretation #1
Price/Earnings: amazing interpretation #2
Indicator calculation methodology:
The Rainbow indicator starts with a simple moving average of one year (this is the thick red line in the center). Hereinafter a year will mean the last 252 trading days.
Applying a moving average of this length - is a good way to smooth out sharp price fluctuations which can happen during a year as much as possible, keeping the trend direction as much as possible. Thus, the moving average becomes for me the center of fluctuations of the imaginary pendulum of the market price.
Then the deviations are calculated from the center of fluctuations. To do this, a certain amount of earnings per share is subtracted from and added to the moving average. This is the diluted EPS of the last year.
Deviations with a "-" sign form the Lower Rainbow of four colors:
- The blue spectrum of the lower rainbow begins with a deflection of -4 EPS and ends with a deflection of -8 EPS.
- Green spectrum of the lower rainbow begins with a deflection of -8 EPS and ends with a deflection of -16 EPS.
- The orange spectrum of the lower rainbow begins with a deflection of -16 EPS and ends with a deflection of -32 EPS.
- Red spectrum of the lower rainbow begins with a deflection of -32 EPS and goes to infinity.
The Lower Rainbow is used to determine the price ranges that can be considered for buying stocks. It is in the spectra of the Lower Rainbow that the very "margin of safety" according to my methodology is located. The Lower Rainbow has the boundaries between the spectra as a solid line . And only the red spectrum of the Lower Rainbow has only one boundary.
Deviations with a "+" sign form the Upper Rainbow of four similar colors:
- The red spectrum of the upper rainbow begins with a deflection of 0 EPS and ends with a deflection of +4 EPS.
- The orange spectrum of the upper rainbow begins with a deflection of +4 EPS and ends with a deflection of +8 EPS.
- Green spectrum top rainbow begins with a deflection of +8 EPS and ends with a deflection of +16 EPS.
- The blue spectrum of the upper rainbow begins with a deflection of +16 EPS and goes to infinity.
The Upper Rainbow is used to determine the price ranges that can be considered for selling stocks already purchased. The top rainbow has boundaries between the spectra in the form of crosses . And only the blue spectrum of the upper rainbow has only one boundary.
The presence of the Empty Area (the size of 4 EPS) above the Lower Rainbow creates some asymmetry between the two rainbows - the Lower Rainbow looks wider than the Upper Rainbow. This asymmetry is deliberate because the market tends to fall much faster and deeper than it grows . Therefore, a wider Lower Rainbow is conducive to buying stocks at a good discount during a period of massive "sell-offs.
The situation, when the Lower Rainbow is below the center of fluctuations (the thick red line) and the Upper Rainbow, is above the center of fluctuations is called an Obverse . It is only possible to buy a stock in an Obverse situation .
The situation when the Lower Rainbow is above the center of fluctuations and the Upper Rainbow is below the center of fluctuations is called Reverse . In this situation, the stock cannot be considered for purchase , according to my approach.
Selling a previously purchased stock is possible in both situations: Reverse and Obverse. After loading the indicator, you can see a hint next to the closing price - Reverse or Obverse now.
Due to the fact that the size of the deviation from the center of fluctuation depends on the size of the diluted EPS, several important conclusions can be made:
- The Obverse situation is characteristic of companies that show a profit over the last year.
- The Reverse situation is typical for companies that show a loss over the last year.
- An increase in the width of both rainbows in the Obverse situation tells us about an increase in profits for the company.
- A decrease in the width of both rainbows in the Obverse situation tells us about a decrease in the company's profits.
- An increase in the width of both rainbows in the Reverse situation tells us about an increase in the company's losses.
- A decrease in the width of both rainbows in the Reverse situation tells us about a decrease in the company's losses.
- The higher the profit level of the company, the greater your "margin of safety" should be. This will provide the necessary margin of safety in case you go into a cycle of declining financial results. The appropriate width of the Lower Rainbow will just create this "margin".
- Increased profits in the company (after buying its stock) will allow you to stay in position longer by widening the Upper Rainbow.
- A decrease in profits in the company (after buying its stock) will allow you to close your position more quickly by narrowing the Upper Rainbow.
Conditions for opening and closing positions:
So, the Lower Rainbow has four differently colored spectra: blue, green, orange, and red. Each one highlights the desired range of prices acceptable for buying in an Obverse situation. The blue spectrum is upper with respect to the green spectrum, and the green spectrum is lower with respect to the blue spectrum, etc.
- If the current price is in the Blue Spectrum of the Lower Rainbow, that is a reason to consider that company for buying the first portion (*) of the stock.
- If the current price has fallen below (into the Green Spectrum of the Lower Rainbow), that is a reason to consider this company to buy a second portion of the stock.
- If the current price has fallen below (into the Orange Spectrum of the Lower Rainbow), it is a reason to consider this company to buy a third portion of the stock.
- If the current price has fallen below (into the Red Spectrum of the Lower Rainbow), that is a reason to consider that company to buy a fourth portion of the stock.
(*) The logic of the Rainbow Indicator implies that no more than 4 portions of one company's stock can be purchased. One portion refers to the number of shares you can consider buying at the current price (depending on your account size and personal diversification ratio - see information below).
The Upper Rainbow also has four differently colored spectra: blue, green, orange, and red. Each of them highlights the appropriate range of prices acceptable for closing an open position.
- If the current price is in the red spectrum of the Upper Rainbow, I close one portion of an open position bought in the red spectrum of the Lower Rainbow.
- If the current price is in the orange spectrum of the Upper Rainbow, I close one portion of an open position bought in the orange spectrum of the Lower Rainbow.
- If the current price is in the green spectrum of the Upper Rainbow, I close one portion of an open position bought in the green spectrum of the Lower Rainbow.
- If the current price is in the blue spectrum of the Upper Rainbow, I close one portion of an open position bought in the blue spectrum of the Lower Rainbow.
This position-closing logic applies to both the Obverse and Reverse situations. In both cases, the position is closed in portions in four steps. However, there are 3 exceptions to this rule when it is possible to close an entire position in whole rather than in parts:
- If there is a Reverse situation and the current price is above the thick red line.
- If I decide to invest in another company and I do not have enough available cash to purchase the necessary number of portions.
- If I find out about events that pose a real threat to the further existence of the company (for example, a bankruptcy filing), I can close the position earlier, without waiting for the price to hit the corresponding Upper Rainbow spectrum.
So, the basic scenario of opening and closing a position assumes the gradual purchase of shares in 4 stages and their gradual sale in 4 stages. However, there is a situation where one of the stages is skipped in the case of buying shares and in the case of selling them. For example, because the Fundamental Strength Indicator and the P/E ratio became acceptable for me only at a certain stage (spectrum) or the moment was missed for a transaction due to technical reasons. In such cases, I buy or sell more than one portion of a stock in the spectrum I am in. The number of additional portions will depend on the number of missed spectra. For example, if I have no position in the stock of the company in question, all conditions for buying the stock have been met, and the current price is in the orange spectrum of the Lower Rainbow, I can buy three portions of the stock at once (for the blue, green, and orange spectrum). I will sell these three portions in the corresponding Upper Rainbow spectra (orange, green, and blue). However, if for some reason the orange spectrum of the Upper Rainbow was missed, and the current price is in the green spectrum - I will sell two portions of the three (in the green spectrum). I will sell the last, third portion only when the price reaches the blue spectrum of the Upper Rainbow.
The Rainbow Indicator also helps calculate the number of shares that can be considered for purchase at the current price position in the Lower Rainbow spectra. To do this, you need to go to the indicator settings.
+ Cash in - Cash out +/- Closed profit/loss + Dividends - Fees - Taxes
Here I indicate the amount of funds deposited to my account, withdrawn from it, profit/loss on closed positions, dividends credited to the account, and taxes deducted from the account.
Diversification coefficient
The diversification coefficient determines how diversified I want my portfolio to be. For example, a diversification coefficient of 20 means that I plan to buy 20 share portions of different companies, but no more than 4 portions per company (based on the number of Lower Rainbow spectra).
The cost of purchased shares of this company (fees excluded)
Here I specify the amount of already purchased shares of the company in question in the currency of my portfolio. For example, if at this point in time, I have purchased 1000 shares at $300 per share, and my portfolio is expressed in $, I enter - $300,000.
The cost of all purchased shares in the portfolio (fees excluded)
Here I enter the amount of all purchased shares for all companies in the currency of my portfolio (without commissions spent on the purchase). This is necessary to determine the amount of available funds available to purchase shares.
After entering all the necessary data, I go to the checkbox, by checking it I confirm that the company in question has been studied with the Fundamental Strength Indicator and the P/E ratio, and their values are satisfactory to me. No calculation is performed without the checkbox checked. This is done intentionally because the application of the Rainbow Indicator for stock acquisition purposes is possible only after studying the Fundamental Strength of the company and an acceptable P/E value.
Next, I click "Ok" and get the calculation in the form of a table on the left.
Free cash in the portfolio
This is the amount of free cash available to purchase stocks. Please note that the price of the stock and the funds in your portfolio must be denominated in the same currency. On TradingView, you can choose which currency to display the stock price in.
Cash amount for one portion
The amount of cash needed to buy one portion of a stock. Depends on the diversification ratio entered.
Potential portions amount
Number of portions, available for purchase at the current price. Can be a fractional number.
Cash amount to buy
The amount of cash needed to buy portions available for purchase at the current price.
Shares amount to buy
Number of shares in portions available for purchase at the current price.
The table also contains additional information in the form of the current value of the company's market capitalization and P/E ratio.
Mandatory requirements for using the indicator:
- works only on a daily timeframe;
- the indicator is only applicable to shares of public companies;
- quarterly income statements for the last year are required;
- an acceptable for you P/E ratio is required to consider the company's stock for purchase;
- the Rainbow Indicator only applies in tandem with the Fundamental Strength Indicator. To consider a company's stock for purchase, you need confirmation that the company is fundamentally strong.
What is the value of the Rainbow Indicator?
- clearly demonstrates a company's profit and loss dynamics;
- shows the price ranges that can be used to open and close a position;
- takes into account the principle of gradual increase and decrease of a position;
- allows calculating the number of shares to be purchased;
- shows the current value of the P/E ratio;
- shows the current capitalization of the company.
Example:
As an example, consider the situation with NVIDIA Corporation stock (ticker - NVDA).
September 02, 2022:
Fundamental Strength Indicator - 11.46 (fundamentally strong company).
P/E - 39.58 (acceptable to me).
Current Price - $136.47 (is in the Orange Spectrum of the Lower Rainbow).
Situation - Obverse.
The basic conditions for buying this company's stock are met. The Rainbow Indicator settings are filled out as follows:
The table to the left of the Rainbow Indicator shows how many shares are possible to buy in the Orange Spectrum of Lower Rainbow at the current price = 10 shares. This corresponds to 2.73 portions.
To give you an example, I buy 10 shares of NVDA at $136.47 per share.
October 14, 2022:
NVDA's stock price has moved into the red spectrum of the Lower Rainbow.
The Fundamental Strength Indicator is 10.81 (fundamentally strong company).
P/E is 35.80 (an acceptable level for me).
Current Price - $112.27 (is in the Red Spectrum of the Lower Rainbow).
Situation - Obverse.
The basic conditions for buying this company's stock are still met. The Rainbow Indicator settings are populated as follows:
The table to the left of the Rainbow Indicator shows how many shares are possible to buy in the Lower Rainbow Red Spectrum at the current price (5 shares). This corresponds to 1.12 portions.
To give you an example, I buy 5 shares of NVDA at $112.27 per share. A total of 3.85 portions were purchased, which is the maximum possible number of portions at the current price level. The remainder in the form of 0.15 portions can be purchased only at a price level below $75 per share.
January 23, 2023:
The price of NVDA stock passes through the red spectrum of the Upper Rainbow and stops in the orange spectrum. As an example, I sell 5 shares bought in the red spectrum of the Lower Rainbow, for example at $180 per share (+60%). And also a third of the shares bought in the orange spectrum, 3 shares out of 10, for example at $190 a share (+39%). That leaves me with 7 shares.
January 27, 2023:
NVDA's stock price has continued to rise and has moved into the green spectrum of the Upper Rainbow. This is a reason to close some of the remaining 7 shares. I divide the 7 shares by 2 and round up to a whole number - that's 4 shares. For my example, I sell 4 shares at $199 a share (+46%). Now I am left with 3 shares of stock.
February 02, 2023:
The price of NVDA stock moves into the blue spectrum of the Upper Rainbow, and I close the remaining 3 shares, for example, at $216 per share (+58%). The entire position in NVDA stock is closed.
As you can see, the Fundamental Strength Indicator and the P/E ratio were not used in the process of closing the position. Decisions were made only on the basis of the Rainbow Indicator.
As another example, let's look at the situation with the shares of Papa Johns International, Inc. (ticker PZZA).
November 01, 2017:
Fundamental Strength Indicator - 13.22 points (fundamentally strong company).
P/E - 21.64 (acceptable to me).
Current Price - $62.26 (is in the blue spectrum of the Lower Rainbow).
Situation - Obverse.
The basic conditions for buying shares of this company are met. The settings of the Rainbow Indicator are filled as follows:
The table to the left of the Rainbow Indicator shows how many shares are possible to buy in the Lower Rainbow Blue Spectrum at the current price - 8 shares. This corresponds to 1 portion.
To give you an example, I buy 8 shares of PZZA at a price of $62.26.
August 8, 2018:
PZZA's share price has moved into the green spectrum of the Lower Rainbow.
The Fundamental Strength Indicator is a 9.83 (fundamentally strong company).
P/E is 16.07 (an acceptable level for me).
Current Price - $38.94 (is in the green spectrum of the Lower Rainbow).
Situation - Obverse.
The basic conditions for buying shares of this company are still met. The Rainbow Indicator settings are populated as follows:
The table to the left of the Rainbow Indicator shows how many shares are possible to buy in the Lower Rainbow Green Spectrum at the current price - 12 shares. This corresponds to 0.93 portions.
To give you an example, I buy 12 shares of PZZA at a price of $38.94. A total of 1.93 portions were purchased.
October 31, 2018:
PZZA's stock price moves into the Upper Rainbow red spectrum and is $54.54 per share. Since I did not have any portions purchased in the Lower Rainbow red spectrum, there is no closing part of the position.
February 01, 2019:
After a significant decline, PZZA's stock price moves into the orange spectrum of the Lower Rainbow at $38.51 per share. However, I am not taking any action because the company's Fundamental Strength on this day is 5.02 (a fundamentally mediocre company).
March 27, 2019:
PZZA's stock price passes the green and blue spectrum of the Upper Rainbow. This allowed to close the previously purchased 12 shares, for example, at $50 a share (+28%) and 8 shares at $50.38 a share (-19%).
Closing the entire position at once was facilitated by a significant narrowing in both rainbows. As we now know, this indicates a decline in earnings at the company.
Risk disclaimer:
When working with the Rainbow Indicator, keep in mind that the release of the Income statement (from which diluted EPS is derived) occurs some time after the end of the fiscal quarter. This means that the new relevant data for the calculation will only appear after the publication of the new statement. In this regard, there may be a significant change in the Rainbow Indicator after the publication of the new statement. The magnitude of this change will depend on both the content of the new statement and the number of days between the end of the financial quarter and the publication date of the statement. Prior to the publication date of the new statement, the latest actual data will be used for the calculations. Also, once again, please note that the Rainbow Indicator can only be used in tandem with the Fundamental Strength Indicator and the P/E ratio. Without these additional filters, the Rainbow Indicator loses its intended meaning.
The Rainbow Indicator allows you to determine the price ranges for opening and closing a position gradually, based on available data and the methodology I created. You can also use it to calculate the number of shares you can consider buying taking into account the position you already have. However, this Indicator and/or its description and examples cannot be used as the sole reason for buying or selling stocks or for any other action or inaction related to stocks.
Gestão de carteira
Limit Order + ATR Stop-Loss [TANHEF]This indicator enables interactive placement of limit or stop-limit orders with a trailing ATR stop-loss and optional profit target (with alerts). Refer to the images below for further clarification.
Why use a trailing stop-loss?
A trailing stop-loss serves as an exit strategy when price moves against you, while also allowing you to adjust the exit point further into profit when price moves favorably. The ATR (Average True Range), a reliable measure of volatility, acts as an effective risk management tool, functioning as a trailing stop-loss.
Indicator Explanation
Initial indicator placement: Select Long Limit or Long-Stop Limit order.
Change Entry Type: Switch between Long and Short within settings.
Modify entry price: Drag circle, adjust in settings, or re-add indicator to chart.
Optional Profit Target: Use Risk/Reward ratio or specify price.
Entry anticipation: Estimated ATR stop-loss and profit target as blue circles (fluctuates with volatility changes).
Entry triggered: Actual ATR stop-loss and profit target plotted.
Exit conditions: Stop-loss or profit target hit, exit entry.
Update Frequency: Continuously, Bar Open, or Bar Open on entry then continuously.
ATR Overlap: no entry occurs if the ATR overlaps with price (stop-loss 'hit' already on entry bar)
Table: Displays input settings selected.
Show Only On Ticker: Ability to hide indicator on other tickers.
Long Limit
Long Stop-Limit
Short Limit
Short Stop-Limit
Alerts
1. 'Check' alerts to use within indicator settings (entry, trailing stop hit, profit target hit, and failed entry).
2. Select 'Create Alert'
3. Set the condition to 'Limit Order + ATR Stop-Loss''
4. Select create.
Additional details can be added to the alert message using these words in between Curly (Brace) Brackets:
{{trail}} = ATR trailing stop-loss (price)
{{target}} = Price target (price)
{{type}} = Long or Short stop-loss (word)
{{traildistance}} = Trailing Distance (%)
{{targetdistance}} = Target Distance (%)
{{starttime}} = Start time of position (day:hr:min)
{{maxdrawdown}} = max loss
{{maxprofit}} = max profit
{{update}} = stoploss update frequency
{{entrysource}} = entry as 1st bar source (yes/no)
{{triggerentry}} = Wick/Close Trigger entry input
{{triggerexit}} = Wick/Close Trigger exit input
{{triggertarget}} = Wick/Close Trigger target input
{{atrlength}} = ATR length input
{{atrmultiplier}} = ATR multiplier input
{{atrtype}} = ATR type input
{{ticker}} = Ticker of chart (word)
{{exchange}} = Exchange of chart (word)
{{description}} = Description of ticker (words)
{{close}} = Bar close (price)
{{open}} = Bar open (price)
{{high}} = Bar high (price)
{{low}} = Bar low (price)
{{hl2}} = Bar HL2 (price)
{{volume}} = Bar volume (value)
{{time}} = Current time (day:hr:min)
{{interval}} = Chart timeframe
{{newline}} = New line for text
Consensio Allocation ToolOriginally created and taught by Taylor Jenks, this indicator provides portfolio allocation suggestions based on the behaviour of price and 3 simple moving averages (4/10/40 by default)
(ie. when short & medium term SMAs are above the long term then allocation is to be 100%).
This percentage allocated to the stock/commodity is to be reduced as it passes below the SMA's, particularly as each moving average crosses.
Consensio is useful for scaling in and out of a position as the portfolio allocation will change according to the momentum of the asset.
The rules below are my own based on understanding of the trading system developed by Jenks and his online content.
This script has the following rules:
if fastAboveSlowMA and not mediumAboveSlowMA
allocation := 30.0
else if longAboveFastMA
allocation := 0.0
else if fastAboveMediumMA and fastAboveSlowMA
allocation := 100.0
else if not fastAboveMediumMA and fastAboveSlowMA
allocation := 80.0
else if not fastAboveMediumMA and not fastAboveSlowMA
allocation := 50.0
else if not mediumAboveSlowMA and fastAboveSlowMA
allocation := 50.0
// Calculate adjusted allocation percentage based on crossing moving averages
allocation := allocation + (priceAboveFastMA ? 10.0 : -10.0)
allocation := allocation + (priceAboveMediumMA ? 10.0 : -10.0)
Crypto Correlation MatrixA crypto correlation matrix or table is a tool that displays the correlation between different cryptocurrencies and other financial assets. The matrix provides an overview of the degree to which various cryptocurrencies move in tandem or independently of each other. Each cell represents the correlation between the row and column assets respectively.
The correlation matrix can be useful for traders and investors in several ways:
First, it allows them to identify trends and patterns in the behavior of different cryptocurrencies. By looking at the correlations between different assets, traders can gain insight into the intra-relationships of the crypto market and make more informed trading decisions. For example, if two cryptocurrencies have a high positive correlation, meaning that they tend to move in the same direction, a trader may want to diversify their portfolio by choosing to invest in only one of the two assets.
Additionally, the correlation matrix can help traders and investors to manage risk. By analyzing the correlations between different assets, traders can identify opportunities to hedge their positions or limit their exposure to particular risks. For example, if a trader holds a portfolio of cryptocurrencies that are highly correlated with each other, they may be at greater risk of losses if the market moves against them. By diversifying their portfolio with assets that are less correlated with each other, they can reduce their overall risk.
Some of the unique properties for this specific script are the correlation strength levels in conjunction with the color gradient of cells, intended for clearer readability.
Features:
Supports up to 64 different crypto assets.
Dark/Light mode.
Correlation strength levels and cell coloring.
Adjustable positioning on the chart.
Alerts at the close of a bar. (Daily timeframe or higher recommended)
Manual PnL (Profit and Loss) % Tracker - spot long only
This is a manual profit and loss tracker. It takes the user's manual input of total cost and quantity, and then outputs a table on the bottom right of the chart showing the profit or loss %, average purchase price, gross profit or loss, and market value.
Instructions:
1. Double click the indicator title at the top left of the chart
2. Select the "Inputs" tab and click the empty field next to "Symbol" to enter the traded symbol+exchange. This entry MUST be the same as the chart you are on, for example BTCUSDT/BINANCE (indicator will not display otherwise)
3. Enter the Total Cost and Qty of shares/coins owned
4. Optional - change positive or negative colors
5. Optional - under the "Style" tab, change the color of the average price (AVG) line
Note that for the average price (AVG) line to be shown/hidden you must enable/disable "Indicator and financials labels" in the scales settings.
For crypto or other tickers that have prices in many decimal places I would suggest, for the sake of accuracy, adjusting the decimal places in the code so that for prices under $1 you will display more info.
For example let's say you purchase x number of crypto at a price of 0.031558 you should change the code displaying "0.00" on line 44 to "0.000000"
This will ensure that the output table and plotted line will calculate an average price with the same number of decimals.
Recessions & crises shading (custom dates & stats)Shades your chart background to flag events such as crises or recessions, in similar fashion to what you see on FRED charts. The advantage of this indicator over others is that you can quickly input custom event dates as text in the menu to analyse their impact for your specific symbol. The script automatically labels, calculates and displays the peak to through percentage corrections on your current chart.
By default the indicator is configured to show the last 6 US recessions. If you have custom events which will benefit others, just paste the input string in the comments below so one can simply copy/paste in their indicator.
Example event input (No spaces allowed except for the label name. Enter dates as YYYY-MM-DD.)
2020-02-01,2020-03-31,COVID-19
2007-12-01,2009-05-31,Subprime mortgages
2001-03-01,2001-10-30,Dot-com bubble
1990-07-01,1991-03-01,Oil shock
1981-07-01,1982-11-01,US unemployment
1980-01-01,1980-07-01,Volker
1973-11-01,1975-03-01,OPEC
Joel Greenblatt Magic FormulaJoel Greenblatt Magic Formula. I always wanted to make this.
The Indicator shows 3 values.
ROC,EY,SUM.
ROC= Return On Capital.
EY=Earnings Yield
SUM= Addition of Two.
Formula:
ROC=EBIT / (Net Working Capital + Net Fixed Assets).
EY = EBIT / Enterprise value
Enterprise Value=(Market value of equity + Net Interest-bearing debt)
To implement the strategy, investors start by identifying a universe of stocks, typically large-cap or mid-cap companies that trade on a major stock exchange. Next, they rank the stocks based on their ROC and EY. The companies with the best combination of these two metrics are considered the best investments (based on this ranking).
For example, a stock that ranks 10th on EY and 99th on ROIC gets a value of 109. The two ranks are simply added together and all stocks are ranked on the sum of the two ranks. The stocks with the lowest values are best.
All credits to "The Little Book That Beats The Market" by Joel Greenblatt
The Magic Formula strategy is a stock selection method popularized by Joel Greenblatt’s book The Little Book That Beats the Market.
It involves ranking companies based on Two factors:
A high return on capital and A high Earnings Yield.
The companies with the best combination of these two metrics are considered the best investments. The strategy aims to find undervalued companies with strong financials that have the potential for high returns over the long term.
Scenario Close Price [Skiploss]You have opened multiple positions in your account ? This is what will help you calculate. It will definitely calculate the total lots size that you have opened. Furthermore, it will also calculate the results of how much profit or loss you have made. All you have to do is slide the line to the scenario line.
The system will calculate the data for each order that you have entered and display the results in the table in the top right of the screen.
Maximum is 7 positions.
Market Navigator OscillatorSimilar to the Market Navigator, the Market Navigator Oscillator turns the methodology taught in Market School by Investors Business Daily into an easy-to-use indicator, but in a more condensed form. The Market Navigator Oscillator plots all of the same information as the original Market Navigator, but keeps your main chart clear. This system follows a strict set of rules to help gauge when it's time to increase market exposure or back away.
The indicator considers 24 different buy and sell signals, as well as portfolio management rules, to keep you on the right side of the market with no guesswork.
Buy and sell signals are generated based on different criteria, including the relationship between price and key moving averages, volume, and time. Each signal is assigned a point value, which is then added (buy signal) or subtracted (sell signal) to the running exposure count when the signal occurs. This exposure count is then used to give a recommended maximum exposure level.
The Market Navigator Oscillator also identifies certain instances when being more aggressive is called for, known as a Power Trend. A Power Trend is triggered within the context of an uptrend that meets a certain criterion of price, length, and moving average relationship.
This indicator is a must-have for any trader looking to take the guesswork out of their trading by automating recommended exposure levels and being in step with the market.
Principles covered include:
Recommended maximum portfolio exposure
Buy switch / restraint rules
Follow through / distribution days
Power Trend
Dynamic Day 1
When you first put the indicator on your chart, it will ask you to select Day 1 of the current rally attempt. A Day 1 is defined as either:
The first positive day in a down trending market
A down day where the index closes in the upper half of the daily range
Disclaimer: This indicator is for informational and educational purposes only. Do your own research before making any trade decisions. I accept no liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on this indicator.
I am not affiliated with Investor's Business Daily. This is my original interpretation of the rules taught in the Market School Home Study Program.
Market NavigatorThe Market Navigator turns the methodology taught in Market School by Investors Business Daily into an easy-to-use indicator. This system follows a strict set of rules to help gauge when it's time to increase market exposure or back away.
The indicator considers 24 different buy and sell signals, as well as portfolio management rules, to keep you on the right side of the market with no guesswork.
Buy and sell signals are generated based on different criteria, including the relationship between price and key moving averages, volume, and time. Each signal is assigned a point value, which is then added (buy signal) or subtracted (sell signal) to the running exposure count when the signal occurs. This exposure count is then used to give a recommended maximum exposure level.
The Market Navigator also identifies certain instances when being more aggressive is called for, known as a Power Trend. A Power Trend is triggered within the context of an uptrend that meets a certain criterion of price, length, and moving average relationship.
This indicator is a must-have for any trader looking to take the guesswork out of their trading by automating recommended exposure levels and being in step with the market
Principles covered include:
Recommended maximum portfolio exposure
Buy switch / restraint rules
Follow through / distribution days
Power Trend
Customize the indicator so it fits and looks great on your charts!
Multiple ways to view key information
Customize colors
Show or hide different element to see as much or as little information as you want
Highlight the background of Power Trends
Change the bar color of distribution/stall days
Change table position & size
Show or hide key moving averages
Dynamic Day 1
When you first put the indicator on your chart, it will ask you to select Day 1 of the current rally attempt. A Day 1 is defined as either:
The first positive day in a down trending market
A down day where the index closes in the upper half of the daily range
With over 24 buy and sell signals, the built-in reference table makes it simple to crosscheck which signals occur.
Included with this indicator is access to the Market Navigator Oscillator, which plots the exposure count as a line in a separate pane, keeping your main chart uncluttered. This version allows you to see all of the same information in a condensed form.
Disclaimer: This indicator is for informational and educational purposes only. Do your own research before making any trade decisions. I accept no liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on this indicator.
I am not affiliated with Investor's Business Daily. This is my original interpretation of the rules taught in the Market School Home Study Program.
Risk Reward Calculator [lovealgotrading]
OVERVIEW:
This Risk Reward Calculator strategy can help you maximize your RR value with help of algorithmic trading.
INDICATOR:
I wanted to setup my trades more easier with this indicator, I didn't want to calculate everytime before orders, with help this indicator we can calculate R:R value, avarage price, stoploss price, take-profit price, order prices, all position cost and more ...
Our strategy is a risk revard calculation indicator that is made easy to use by using visualized lines and panels, and also has algorithmic trading support.
With the help of this indicator, we can quickly and easily calculate our risk reward values and enter the positions.
If we want to ensure that our balance grows regularly while trading in the stock market, we need to manage the risks and rewards otherwise we may fall below our initial balance at the end of the day, even if we seem to be winning.
What is the Risk-Reward value ?
This value is a value that shows how many times the amount of risk we take when entering the position is successful, we will earn.
- For example, you risked $100 while entering the trade, so if your trade stops, you will lose 100 $.
Your Risk-Reward(RR) value is 2 means that if your position is successful, you will have 200 $ in your pocket.
A trader's success is determined by the amount of R he earns monthly or yearly, not how much money he makes.
What is different in this indicator ?
I want to say thank you to © EvoCrypto. His Calculator (weighted) – evo indicator helped me when I was developed my indicator.
I want to explain what I have improved:
1-In this strategy, we can determine the time period in which we want to open our positions.
2-We can open a maximum of 4 positions in the same direction and close our positions at a single level. StopLoss or TakeProfit
3-This indicator, which works in the form of a strategy, shows where our positions have been opened or closed. With the help of this, it helps us to determine our strategy in our future positions more accurately.
4-The most important improvement is that we do not miss our positions with the help of alarms (WEB HOOK). if we want, we receive by quickly connecting all these positions to our robot, the software can enter and exit the position while we are busy.
IMPLEMENTATION DETAILS – SETTINGS:
1 - We can set the start and end dates of the positions we will take.
2- We can set our take profit, stoploss levels.
3- If your trade is stopped, we can determine the amount of the trade that we will lose.
4- We can adjust our entry levels to positions and our position sizes at entry levels.
(Sum of positions weight must be 100%)
5- We can receive our positions even if we are busy with the help of algorithmic trading. For this, we must paste our Jshon codes into the fields specified in the settings panel.
6- Finally, we can change the settings we want and don't want to have in our visual elements.
Let's make a LONG side example together
We have determined our positions to enter stoploss, take profit and long positions. We did not forget to set the start time of our strategy
Our strategy appear on the graph as follows.
Our strategy has calculated the total position size, our R-R value, the distance of the current price to the stop and take profit levels, in short, a lot of things we could look visually.
Notes:
If you're going to connect this bot to an automatic Long or Short direction,
Don’t forget! you need to Webhook URL,
Don’t miss paste this code to your message window {{strategy.order.alert_message}}
ALSO:
If you have any ideas what to add to my work to add more sources or make calculations cooler, feel free to write me.
Pip CrosshairsThis is a simple tool designed to help you visualize your stop loss and take profit levels before entering a trade. The tool plots two lines on the chart - a green dotted line for take profit and a red dotted line for stop loss (similar to the price line) - with a simulated default spread of one pip factored in. The indicator has the option to toggle between long and short positions.
Please note that the spread used in the tool is not based on your actual spread and should be adjusted accordingly. As, to the best of my knowledge Pine Script does not have the ability to automatically include spread in an indicator, so you will need to input your spread manually. (if you can please let me know cause that would be a game changer).
Overall, should help save you a bit of time by not having to manually measure stop loss and take profit levels for each trade.
Happy hunting :)
Market Structure Trailing Stop [LuxAlgo]This script returns trailing stops on the occurrence of market structure (CHoCH/BOS labeling). Trailing stops are adjusted based on trailing maximums/minimums with the option for users to be able to control how quickly a trailing stop can converge toward the price.
🔶 SETTINGS
Pivot Lookback: Pivot length used for the detection of swing points.
Increment Factor %: Controls how fast trailing stops converge toward the price, with lower values returning slower converging trailing stops.
Reset Stop On: Determines if trailing stops are reset on CHoCH structure or all (CHoCH + BOS).
Show Structure: Determines if market structure is displayed.
🔶 USAGE
Trailing stops allow traders to protect them against downside risk while also guaranteeing a potential profit in case the market goes in the expected direction of the trade.
Users making use of market structure as a primary entry condition can benefit from having trailing stops based on these to either provide an additional exit condition or to provide points of support/resistance with the price.
Trailing stops can avoid being hit more frequently by using a lower Increment Factor % setting.
Finally, users can reset the trailing stop when any market structure is detected (or only on CHoCHs). Allowing trailing stops to reset on the detection of any market structure allows the indicator to return trailing stops closer to the price. CHoCH labels are highlighted as dashed lines while BOS labels are highlighted as dotted lines.
🔶 DETAILS
When a new structure (or only CHoCH if specified by the user) is detected, trailing stops will initially be set based on the maximum/minimum made on the previous trend. This will also set the trailing maximum/minimum to the current price value.
If an uptrend is detected (most recent market structure is bullish) then the trailing stop will increase if the trailing maximum increase, the increment is calculated as:
trailing stop = trailing stop + Increment Factor % of (trailing maximum - previous trailing maximum)
If a downtrend is detected (most recent market structure is bearish) then the trailing stop will decrease if the trailing minimum decrease, the decrement is calculated as:
trailing stop = trailing stop + Increment Factor % of (trailing minimum - previous trailing minimum)
Lorentzian Classification Strategy Based in the model of Machine learning: Lorentzian Classification by @jdehorty, you will be able to get into trending moves and get interesting entries in the market with this strategy. I also put some new features for better backtesting results!
Backtesting context: 2022-07-19 to 2023-04-14 of US500 1H by PEPPERSTONE. Commissions: 0.03% for each entry, 0.03% for each exit. Risk per trade: 2.5% of the total account
For this strategy, 3 indicators are used:
Machine learning: Lorentzian Classification by @jdehorty
One Ema of 200 periods for identifying the trend
Supertrend indicator as a filter for some exits
Atr stop loss from Gatherio
Trade conditions:
For longs:
Close price is above 200 Ema
Lorentzian Classification indicates a buying signal
This gives us our long signal. Stop loss will be determined by atr stop loss (white point), break even(blue point) by a risk/reward ratio of 1:1 and take profit of 3:1 where half position will be closed. This will be showed as buy.
The other half will be closed when the model indicates a selling signal or Supertrend indicator gives a bearish signal. This will be showed as cl buy.
For shorts:
Close price is under 200 Ema
Lorentzian Classification indicates a selling signal
This gives us our short signal. Stop loss will be determined by atr stop loss (white point), break even(blue point) by a risk/reward ratio of 1:1 and take profit of 3:1 where half position will be closed. This will be showed as sell.
The other half will be closed when the model indicates a buying signal or Supertrend indicator gives a bullish signal. This will be showed as cl sell.
Risk management
To calculate the amount of the position you will use just a small percent of your initial capital for the strategy and you will use the atr stop loss or last swing for this.
Example: You have 1000 usd and you just want to risk 2,5% of your account, there is a buy signal at price of 4,000 usd. The stop loss price from atr stop loss or last swing is 3,900. You calculate the distance in percent between 4,000 and 3,900. In this case, that distance would be of 2.50%. Then, you calculate your position by this way: (initial or current capital * risk per trade of your account) / (stop loss distance).
Using these values on the formula: (1000*2,5%)/(2,5%) = 1000usd. It means, you have to use 1000 usd for risking 2.5% of your account.
We will use this risk management for applying compound interest.
> In settings, with position amount calculator, you can enter the amount in usd of your account and the amount in percentage for risking per trade of the account. You will see this value in green color in the upper left corner that shows the amount in usd to use for risking the specific percentage of your account.
> You can also choose a fixed amount, so you will have to activate fixed amount in risk management for trades and set the fixed amount for backtesting.
Script functions
Inside of settings, you will find some utilities for display atr stop loss, break evens, positions, signals, indicators, a table of some stats from backtesting, etc.
You will find the settings for risk management at the end of the script if you want to change something or trying new values for other assets for backtesting.
If you want to change the initial capital for backtest the strategy, go to properties, and also enter the commisions of your exchange and slippage for more realistic results.
In risk managment you can find an option called "Use leverage ?", activate this if you want to backtest using leverage, which means that in case of not having enough money for risking the % determined by you of your account using your initial capital, you will use leverage for using the enough amount for risking that % of your acount in a buy position. Otherwise, the amount will be limited by your initial/current capital
I also added a function for backtesting if you had added or withdrawn money frequently:
Adding money: You can choose how often you want to add money (Monthly, yearly, daily or weekly). Then a fixed amount of money and activate or deactivate this function
Withdraw money: You can choose if you want to withdraw a fixed amount or a percentage of earnings. Then you can choose a fixed amount of money, the period of time and activate or deactivate this function. Also, the percentage of earnings if you choosed this option.
Some other assets where strategy has worked
BTCUSD 4H, 1D
ETHUSD 4H, 1D
BNBUSD 4H
SPX 1D
BANKNIFTY 4H, 15 min
Some things to consider
USE UNDER YOUR OWN RISK. PAST RESULTS DO NOT REPRESENT THE FUTURE.
DEPENDING OF % ACCOUNT RISK PER TRADE, YOU COULD REQUIRE LEVERAGE FOR OPEN SOME POSITIONS, SO PLEASE, BE CAREFULL AND USE CORRECTLY THE RISK MANAGEMENT
Do not forget to change commissions and other parameters related with back testing results!. If you have problems loading the script reduce max bars back number in general settings
Strategies for trending markets use to have more looses than wins and it takes a long time to get profits, so do not forget to be patient and consistent !
Please, visit the post from @jdehorty called Machine Learning: Lorentzian Classification for a better understanding of his script!
Any support and boosts will be well received. If you have any question, do not doubt to ask!
OKX Perpetual Swap Position Sizer by RainbowLabsI created this tool to simplify the process of setting up trading bots on OKX perpetual swap pairs via Alertatron.
Instead of manually searching for each pair on www.okx.com and calculating the position size from dollar to contract, I developed a Python bot to scrape the necessary data and built an indicator to convert that data into TradingView.
Simply input the desired order amount in USDT, and the indicator will calculate the maximum number of contracts that can be traded without exceeding the user-defined risk amount.
Please note that this indicator only works with OKX perpetual swap pairs and is intended for educational and informational purposes only.
It should not be construed as financial advice, and traders should always perform their own analysis and make their own decisions regarding whether or not to enter a trade.
This indicator requires human updates. As a result, the most recent coins may not be available until a new update is released.
[pAulseperformance] PSStrategyX█ OVERVIEW
This script reduces the amount of time it takes to turn your indicator into a live trading bot.
It will convert your signals into alerts that will be sent to your exchange for trading.
The script features a broker connector to automate alert syntax and connect with third-party exchanges to live trade strategies with minimal setup.
It also includes an enhanced version of the built-in backtester with customizable options to speed up backtesting, trade-by-trade statistics, and a chart strategy summary to help traders make informed decisions.
The PSStrategyX trading tool is designed to provide traders with a range of benefits, including:
Increased confidence in their strategies.
Better understanding of the accuracy of indicator signals.
Simplified automated trading through third-party broker connections.
Reduced time to develop strategies by focusing on signal development only. No need to work with complicated strategy testing code and 3rd party automation.
█ FEATURES
Broker Connector
— Supports Autoview (More Connectors added in the future)
— Connects and auto trades with most exchanges
— No need for Webhooks (AutoView)
— Can forward test live strategies on Testnets before using real money.
Built in Backtester loaded with options to speed up backtesting
— Standard strategy features including stop loss, take profit, and various filters reduce the time and complexity involved in building a working strategy.
Trade By Trade Statistics
— Gain insight on every trade with additional trade-by-trade statistics.
Strategy Summary
— Get instant feedback on your chart of your strategies performance. Visual cues and feedback give you hints on where to look and what to improve.
Strategy Tester Enhancements
— Take the max trades allowed in the strategy tester without errors.
— Take the largest or smallest trade allowed without errors.
█ WHY?
The PSStrategyX tool was developed to solve a common problem faced by traders who use Pine Script on TradingView: the inability to integrate Pine Script with exchanges through TradingView.
Without this integration, traders need to go through several extra steps to live trade their Pine Script strategies on a real exchange with real money. This includes finding a broker, learning the new syntax for the broker, and placing that syntax correctly in the strategy.
These steps can be time-consuming and add complexity to the codebase.
The PSStrategyX tool simplifies this process by automatically configuring the correct alert syntax to connect to third-party exchanges, allowing traders to live trade their strategies with minimal setup. This saves traders time and effort, allowing them to focus on signal development rather than complicated strategy testing code and 3rd party automation.
Additionally, the tool was developed to address the time-consuming task of converting any one of the thousands of great free indicators on TradingView to strategies through hours of coding.
Overall, I built the PSStrategyX to streamline the auto trading process and make auto trading more accessible to traders of all levels.
█ HOW TO USE THIS?
Using the PSStrategyX trading tool is a straightforward process that requires a few key steps:
1 — Generate trading signals: You need a signal generator that can provide buy and sell signals for your preferred trading instrument(s).
You can use TradingView's indicators or create your own custom indicators using TradingView's Pine programming language.
2 — Connect trading signals to PSStrategyX: You will use 2 scripts on your chart. One generates buy/sell/exit signals, and the other is the PSStrategyX script executing those signals as trades.
To set this up you will need to make sure that your signal generator is an indicator, NOT a strategy.
Make sure the signals are being plotted buy = 1; sell = -1; exit = 0; signals in one plot. Exits are optional.
Example plot(buy ? 1 : sell ? -1 : exit ? 0 : na)
You will choose the plot with buy/sell/exit signals inside the PSStrategyX tool to execute trades. If you need help, check out the docs for more details.
3 — Set up the broker connector (optional): If you want to take live trades with this tool, you will need to set up a third party connecter. Once set up, everything is automated. See more details in the "authors instructions." at the bottom of this post.
4 — Set up an exchange account (optional): If you want to trade on an exchange, you will need to set up an account with the exchange you plan to use.
The Broker Connector supports a range of popular exchanges, including Binance, Bitfinex, Kraken, Oanda and more.
Once you have generated your trading signals, set up the Broker connecter (optional) and set up an exchange account (optional), you can start using the PSStrategyX trading tool to execute trades automatically based on your trading signals.
█ LIMITATIONS
Here are some important limitations to keep in mind when using the PSStrategyX trading tool:
General:
— Once the alert is sent, there is no way to monitor positions on any exchange. The order will be processed by the broker connector and sent to the exchange.
While this usually works fine, it's important to check the log for errors.
Sometimes the broker connector may fail to process the order, or the exchange may not process it for various reasons.
— The tool sends TP/SL orders with the entry order when possible to protect your order in case of errors or if you lose a connection.
However, not all exchanges accept TP/SL orders, and sometimes your entry order will be left unprotected.
FIFO:
— This tool DOES NOT support the First In First Out (FIFO) method for closing positions.
— Instead, it uses the ANY method. There currently is no way to make this variable.
█ FAQ
What does PSStrategyX do exactly?
PSStrategyX is a strategy enhancing, backtester, forwardtester, automation and simulation tool. It's NOT a signal generator, and does not produce buy/sell signals by itself. You provide buy/sell signals, and PSStrategyX will put those signals on steroids...basically.
PSStrategyX helps you figure out what indicators actually work. Without wasting time learning how to code.
Why did you choose AutoView for this tool?
AutoView offered the best integration I could find. They allow you to connect to test exchanges for free, which is great for practicing without using real money. They also work without using webhooks, which means you can live trade without paying for Tradingview pro. Additionally, AutoView supports many different exchanges. I don't work for AutoView, but if you sign up through my referral link and purchase a paid version, I earn a commission.
Why doesn't Tradingview automatically connect Pine Script to exchanges?
This is a great question, but unfortunately I don't have the answer. It would definitely be helpful if Tradingview provided this feature, but it might also put some brokers out of business.
How do I get access?
DON'T ask for access in the comments.
DO review the "Authors Instructions" on this page for details.
[MiV] MA Screener v1.0In my trading I stick to the following strategy: I buy an asset above the 100/200 moving average and then sell it.
The most problematic thing in all this is to look for assets that are above the 100 or 200 moving average, and to assess how "far" the price is from that moving average.
In fact, to solve this problem I created this indicator.
It works with 30 different assets and displays the state of its two moving averages, whether the price is higher or not, and how much higher the price is from that level.
Wunder OI botWunder OI bot
1. Wunder OI bot is based on the search for divergences on the Open Interest indicator. The strategy determines the divergence between the price and the Open Interest for a given period.
2. 50 EMA is used as an additional filter. If a divergence is found for a specified number of bars ago and the price is above or below, a trade will be opened.
3. A function for calculating risk on the portfolio (your deposit) has been added to the Wunder OI bot script. When this option is enabled, you get a calculation of the entry amount in dollars relative to your Stop Loss. In the settings, you can select the risk percentage on your portfolio. The loss will be calculated from the amount that will be displayed on the chart.
For example, if your deposit is $1000 and you set the risk to 1%, with a Stop Loss of 5%, the entry volume will be $200. The loss at SL will be $10. 10$, which is your 1% risk or 1% of the deposit.
*Important!** The risk per trade must be less than the Stop Loss value. If the risk is greater than SL, then you should use leverage.
The amount of funds entering the trade is calculated in dollars. This option was created if you want to send the dollar amount from Tradingview to the exchange. However, putting your volume in dollars you get the incorrect net profit and drawdown indication in the backtest results, as TradingView calculates the backtest volume in contracts.
To display the correct net profit and drawdown values in Tradingview Backtest results, use the ”Volume in contract” option.
Trendmaster - Crypto Flow IndexWhat it is:
The Trendmaster Crypto Flow Index is a unique tool designed to give you an overview of the performance of different Crypto market sectors and sub-sectors. It helps you to identify where you should be focusing your investments for maximum portfolio efficiency and profitability.
What it does:
The Crypto Flow Index presents a visual overview of the flows of retail and institutional capital into the four main market sectors: Large Caps, Alts Coins, Shit Coins, and Stable Coins as well as several other sub-sectors. Each sector is assigned a "Flow Score", which indicates its current performance, demand, and strength in percentage terms. The "Flow Score" also provides insights into the current stage of the market cycle and the typical over and underperformances of assets that correlate to it. Additionally, the index factors in the sector have a "Correlation" to the broader market, allowing you to see the best sectors for trading and investing, either for positional hedging or differential plays.
How to Use it:
To use the Trendmaster Crypto Flow Index, you can simply observe the evolving colored line within the indicator and the table overview. You can identify which sectors are outperforming or underperforming the general market and make informed decisions about where to direct your focus and funds. By monitoring the transitions of Flow between sectors, you can gain invaluable insights into the market cycle and the typical over and underperformances of assets that correlate to it. This information will help you to maximize portfolio efficiency by targeting different market sectors based on their performance to the overall cryptocurrency market. The index covers different sectors, including Large caps, Alts, Shit, Stables, AI, Defi, Dex, Exchange, Gaming, Meme, Metaverse, Nft, Privacy, Smart, and Sports.
Examples of Cryptocurrencies represented in the different market sectors:
Large caps: The biggest market cap cryptocurrencies such as BTC and ETH.
Alts: High-cap and high-volume digital assets that are smaller than large caps, such as LTC and XRP.
Shit coins: Smaller cap projects that are highly speculative and experience significant price volatility, such as BAT and HOT.
Stables: Fiat-pegged assets that provide a stable value, such as USDT and USDC.
AI: Projects that are based on artificial intelligence, such as FET and AGIX.
DeFi: Leverages high volume smart contract platforms to provide financial products in crypto, mainly ERC20 tokens such as LINK and AAVE.
DEX: Decentralized exchanges with their own utility tokens, such as UNI and SUSHI.
Exchange: Centralized exchanges with their own utility tokens, such as BNB and CRO.
Gaming: Web3/crypto gaming platforms with their own utility tokens, such as AXS and GMT.
Meme: Similar to shit coins, but with no real functionality and based purely on social media and memes, such as DOGE and SHIB.
Metaverse: Projects that aim to provide Metaverse assets such as virtual land and assets, such as MANA and SAND.
NFT: Non-fungible tokens with their own token or NFT-based platforms that have their own utility tokens, such as APE and LOOKS.
Privacy: Anonymous and privacy-focused chains, such as XMR and ZEC.
Smart: Projects that provide smart contract alternatives to ETH, such as ADA and AVAX.
Sports: Fan tokens based on real-world sports teams or platforms that support and distribute them, such as CHZ and FLOW.
*Backtesting System ⚉ OVERVIEW ⚉
One of the best Systems for Backtesting your Strategies.
Incredibly flexible, simple, fast and feature-rich system — will solve most of your queries without much effort.
Many systems for setting StopLoss, TakeProfit, Risk Management and advanced Filters.
All you need to do is plug in your indicator and start Backtesting .
I intentionally left the option to use my System on Full Power before you load your indicator into it.
The system uses the built-in simple and popular moving average crossover signal for this purpose. (EMA 50 & 200).
Also Highly Recommend that you Fully use ALL of the features of this system so that you understand how they work before you ask questions.
Also tried to leave TIPS for each feature everywhere, read Tips, activate them and see how they work.
But before you use this system, I Recommend you to read the following description in Full.
—————— How to connect your indicator in 2 steps:
Adapt your indicator by adding only 2 lines of code and then connect it to this Backtesting System.
Step 1 — Create your connector, For doing so:
• 1 — Find or create in your indicator where are the conditions printing the Long-Buy and Short-Sell signals.
• 2 — Create an additional plot as below
I'm giving an example with a Two moving averages cross.
Please replicate the same methodology for your indicator wether it's a MACD, RSI , Pivots, or whatever indicator with Clear Buy and Sell conditions.
//@version=5
indicator('Moving Average Cross', overlay = true)
MA200 = ta.𝚎𝚖𝚊(close, 200)
MA50 = ta.𝚎𝚖𝚊(close, 50)
// Generate Buy and Sell conditions
buy = ta.crossover (MA200, MA50)
sell = ta.crossunder (MA200, MA50)
plot(MA200, color=color.green)
plot(MA50 , color=color.red )
bgcolor(color = buy ? color.green : sell ? color.red : na, title='SIGNALS')
// ———————————————— SIGNAL FOR SYSTEM ————————————————
Signal = buy ? +1 : sell ? -1 : 0
plot(Signal, title='🔌Connector🔌', display = display.none)
// —————— 🔥 The Backtesting System expects the value to be exactly +1 for the 𝚋𝚞𝚕𝚕𝚒𝚜𝚑 signal, and -1 for the 𝚋𝚎𝚊𝚛𝚒𝚜𝚑 signal
Basically, I identified my Buy & Sell conditions in the code and added this at the bottom of my indicator code
Now you can connect your indicator to the Backtesting System using the Step 2
Step 2 — Connect the connector
• 1 — Add your updated indicator to a TradingView chart and Add the Backtesting System as well to the SAME chart
• 2 — Open the Backtesting System settings and in the External Source field select your 🔌Connector🔌 (which comes from your indicator)
_______________________________
⚉ MAIN SETTINGS ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
𝐄𝐱𝐭𝐞𝐫𝐧𝐚𝐥 𝐒𝐨𝐮𝐫𝐜𝐞 — Select your indicator. Add your indicator by following the 2 steps described above and select it in the menu. To familiarize yourself with the system until you select your indicator, you will have an in-built strategy of crossing the two moving EMA's of 50 and 200.
Long Deals — Enable/Disable Long Deals.
Short Deals — Enable/Disable Short Deals.
Wait End Deal — Enable/Disable waiting for a trade to close at Stop Loss/Take Profit. Until the trade closes on the Stop Loss or Take Profit, no new trade will open.
Reverse Deals — To force the opening of a trade in the opposite direction.
ReEntry Deal — Automatically open the same new deal after the deal is closed.
ReOpen Deal — Reopen the trade if the same signal is received. For example, if you are already in the long and a new signal is received in the long, the trade will reopen. * Does not work if Wait End Deal is enabled.
𝐓𝐚𝐤𝐞 𝐏𝐫𝐨𝐟𝐢𝐭:
None — Disables take profit. Useful if you only want to use dynamic stoplosses such as MA, Fast-Trailing, ATR Trail.
FIXED % — Fixed take profit in percent.
FIXED $ — Fixed Take in Money.
ATR — Fixed Take based on ATR.
R:R — Fixed Take based on the size of your stop loss. For example, if your stop is 10% and R:R=1, then the Take would be 10%. R:R=3 Take would be 30%, etc.
HH / LL — Fixed Take based on the previous maximum/minimum (extremum).
𝐒𝐭𝐨𝐩 𝐋𝐨𝐬𝐬:
None — Disables Stop Loss. Useful if you want to work without a stop loss. *Be careful if Wait End Deal is enabled, the trade may not close for a long time until it reaches the Take.
FIXED % — Fixed Stop in percent.
FIXED $ — Fixed Stop in Money.
TRAILING — Dynamic Trailing Stop like on the stock exchanges.
FAST TRAIL — Dynamic Fast Trailing Stop moves immediately in profit and stays in place if the price stands still or the price moves in loss.
ATR — Fixed Stop based on the ATR.
ATR TRAIL — Dynamic Trailing Stop based on the ATR.
LO / HI — A Fixed Stop based on the last Maximum/Minimum extemum. Allows you to place a stop just behind or above the low/high candle.
MA — Dynamic Stop based on selected Moving Average. * You will have 8 types of MA (EMA, SMA, HMA, etc.) to choose from, but you can easily add dozens of other MAs, which makes this type of stop incredibly flexible.
Add % — If true, then with the "𝗦𝘁𝗼𝗽 %" parameter you can add percentages to any of the current SL. Can be especially useful when using Stop - 𝗔𝗧𝗥 or 𝗠𝗔 or 𝗟𝗢/𝗛𝗜. For example with 𝗟𝗢/𝗛𝗜 to put a stop for the last High/Low and add 0.5% additional Stoploss.
Fixed R:R — If the stop loss is Dynamic (Trailing or MA) then if R:R true can also be made Dynamic * Use it carefully, the function is experimental.
_________________________________________
⚉ TAKE PROFIT LEVELS ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
A unique method of constructing intermediate Take Profit Levels will allow you to select up to 5 intermediate Take Profit Levels and one intermediate Stop Loss.
Intermediate Take Profit Levels are perfectly calculated into 5 equal parts in the form of levels from the entry point to the final Take Profit target.
All you need to do is to choose the necessary levels for fixing and how much you want to fix at each level as a percentage. For example, TP 3 will always be exactly between the entry point and the Take Profit target. And the value of TP 3 = 50 will close 50% of the amount of the remaining size of the position.
Note: all intermediate SL/TP are closed from the remaining position amount and not from the initial position size, as TV does by default.
SL 0 Position — works in the same way as TP 1-5 but it's Stop. With this parameter you can set the position where the intermediate stop will be set.
Breakeven on TP — When activated, it allows you to put the stop loss at Breakeven after the selected TP is reached. For this function to work as it should - you need to activate an intermediate Take. For example, if TP 3 is activated and Breakeven on TP = 3, then after the price reaches this level, the Stop loss will go to Breakeven.
* This function will not work with Dynamic Stoplosses, because it simply does not make sense.
CoolDown # Bars — When activated, allows you to add a delay before a new trade is opened. A new trade after CoolDown will not be opened until # bars pass and a new signal appears.
_____________________________
⚉ TIME FILTERS ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Powerful time filter code that allows you to filter data based on specific time zones, dates, and session days. This code is ideal for those who need to analyze data from different time zones and weed out irrelevant data.
With Time Filter, you can easily set the starting and ending time zones by which you want to filter the data.
You can also set a start and end date for your data and choose which days of the week to include in the analysis. In addition, you can specify start and end times for a specific session, allowing you to focus your analysis on specific time periods.
_________________________________
⚉ SIGNAL FILTERS ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Signal Filters — allows you to easily customize and optimize your trading strategies based on 10 filters.
Each filter is designed to help you weed out inaccurate signals to minimize your risks.
Let's take a look at their features:
__________________________________
⚉ RISK MANAGEMENT ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Risk management tools that allow you to set the maximum number of losing trades in a row, a limit on the number of trades per day or week and other filters.
Loss Streak — Set Max number of consecutive loss trades.
Win Streak — Max Winning Streak Length.
Row Loss InDay — Max of consecutive days with a loss in a row.
DrawDown % — Max DrawDown (in % of strategy equity).
InDay Loss % — Set Max Intraday Loss.
Daily Trades — Limit the number of MAX trades per day.
Weekly Trades — Limit the number of MAX trades per week.
* 🡅 I would Not Recommend using these functions without understanding how they work.
Order Size — Position Size
• NONE — Use the default position size settings in Tab "Properties".
• EQUITY — The amount of the allowed position as a percentage of the initial capital.
• Use Net Profit — On/Off the use of profit in the following trades. *Only works if the type is EQUITY.
• SIZE — The size of the allowed position in monetary terms.
• Contracts — The size of the allowed position in the contracts. 1 Сontract = Сurrent price.
________________
⚉ NOTES ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
It is important to note that I have never worked with Backtesting and the functions associated with them before.
It took me about a month of slow work to build this system.
I want to say Big Thanks:
• The PineScripters🌲 group in Telegram , the guys suggested how to implement some features. Especially @allanster
• Thanks to all those people who share their developments for free on TV and not only.
• I also thank myself for not giving up and finishing the project, and not trying to monetize the system by selling it. * Although I really want the money :)
I tried hard to make it as fast and convenient as possible for everyone who will use my code.
That's why I didn't use any libraries and dozens of heavy functions, and I managed to fit in 8+-functions for the whole code.
Absolutely every block of code I tried to make full-fledged modular, that it was easy to import/edit for myself (you).
I have abused the Ternary Pine operator a little (a lot) so that the code was as compact as possible.
Nevertheless, I tried very hard to keep my code very understandable even for beginners.
At last I managed to write 500 lines of code, making it one of the fastest and most feature-rich systems out there.
I hope everyone enjoys my work.
Put comments and write likes.
Strategy Template + Performance & Returns table + ExtrasA script I've been working on since summer 2022. A template for any strategy so you just have to write or paste the code and go straight into risk management settings
Features:
>Signal only Longs/only Shorts/Both
>Leverage system
>Proper fees calculation (even with leverage on)
>Different Stop Loss systems: Simple percentage, 4 different "move to Break Even" systems and Scaling SL after each TP order (read the disclaimer at the bottom regarding this and the TV % profitable metric)
>2 Take Profit systems: Simple percentages, or Risk/reward ratios based on SL level
>Additional option on TP so last one "rides free" until closure of position or Stoploss is hit (for more than 1 orders)
>Up to 5 TP orders
>Show or hide SL/TP levels on demand
>2 date filters. Manual filter is nothing new, enter two dates/hours and filter will turn on. BUT automatic filter is another thing (thanks to user @bfr_ for his help in codingthis feature)
>AUTOMATIC DATE FILTER. Allows you to split all historical data on the chart in X periods, then choose the range of periods used. Up to 10 but that can be changed, instructions included. Useful for WalkForward simulations, haven't seen a script in TradingView that allows you to do this and test your strategy on "unseen data" automatically
EXTRA SETTINGS
Besides, some additions I like to add to my codes:
>Returns table for monthly and weekly performance. Requires recalculation on every tick. This is a modified version of @QuantNomad's work. May add lower TF options later on
>Volume Based S/R system. Original work from @shtcoinr
>One feature that was made by me, the "portfolio table". Yields info and metrics of your strategy, current position and balance. You're able to turn it off and change its size
Should anyone find an error, or have any idea on how to improve this code, please contact me. Future updates could come, stay tuned
DISCLAIMER:
In order to have accurate StopLoss hit, I had to change the previous system, which was a "close position on candle close" instead at actual stoploss level. It was fixed, but resulted on inflation of the number of trading orders, thus reducing the percent profitable and making it strongly biased and unreal. Keep that in mind, that "real" profitability could be 2x or 3x the metric TradingView says. If your strategy has a really high trading frequency, resulting in 3000+ orders, might be a problem. Try to make use of the automatic/manual date filter as workaround, I have no means of changing this, seems it is not a bug but an intended design of the PineScript Code
Cuban's Open Interest Spaghetti [CE]Cuban's Open Interest Spaghetti is an indicator built for traders to track the open interest changes of highly correlated markets, spreads, and ecosystems.
The tool provides three different viewing modes for tracking open interest; a rolling bar lookback, a specific data and time anchor, and a visible range -- similar to the native Tradingview 'Compare' tool.
Included are pre-built lists for tracking the open interest of all 160+ Binance Futures assets, including custom fields for creating new spreads or watchlists. This gives the trader the ability to monitor the entire futures ecosystem within a single charting window.
We have also added an optional table to the right of the screen so that the trader can clearly see outperforming assets. This table is toggleable using radio buttons within the Style menu.
To improve asset visibility, the script also calculates the 'long tail' of the asset distribution and automatically lowers the visibility of clustered assets in the center.
While the Compare tool only allows for % returns and absolute value on the chart asset or separate scale, Cuban's Open Interest Spaghetti allows the trader to use a separate oscillator window with the open interest on a % scale. This gives the trader the ability to watch OI changes in real-time within any Tradingview window.
Within the user inputs, the user gains the ability to customize the following:
Lookback mode
Rolling lookback period
Timezone and time anchor
Percentage of assets highlighted
Dynamic label offset
Asset lists
TO DO:
Add % labels to assets in the tails of the distribution
Correlation AnalysisAs the name suggests, this indicator is a market correlation analysis tool.
It contains two main features:
- The Curve: represents the historic correlation coefficient between the current chart and the “Reference Market” input from the settings menu. It aims to give more depth to the current correlation values found in the second feature.
- The Screener: this second feature displays all correlation coefficient values between the (max) 20 markets inputs. You can use it to create several screeners for several market types (crypto, forex, metals, etc.) or even replicate your current portfolio of investments and gauge the correlation of its components.
Aside from these two previous features, you can visually plot the variation rate from one bar to another along with the covariance coefficient (both used in the correlation calculation). Finally, a simple “signal” moving average can be applied to the correlation coefficient .
I might add alerts to this script or even turn it into a strategy to do some backtesting. Do not hesitate to contact me or comment below if this is something you would be interested in or if you have any suggestions for improvement.
Enjoy!!