Monthly Strategy Performance TableWhat Is This?
This script code adds a Monthly Strategy Performance Table to your Pine Script strategy scripts so you can see a month-by-month and year-by-year breakdown of your P&L as a percentage of your account balance.
The table is based on realized equity rather than open equity, so it only updates the metrics when a trade is closed.
That's why some numbers will not match the Strategy Tester metrics (such as max drawdown), as the Strategy Tester bases metrics like max drawdown on open trade equity and not realized equity (closed trades).
The script is still a work-in-progress, so make sure to read the disclaimer below. But I think it's ready to release the code for others to play around with.
How To Use It
The script code includes one of my strategies as an example strategy. You need to replace my strategy code with your own. To do that just copy the source code below into a blank script, delete lines 11 -> 60 and paste your strategy code in there instead of mine. The script should work with most systems, but make sure to read the disclaimer below.
It works best with a significant amount of historical data, so it may not work very effectively on intraday timeframes as there is a severe limitation of available bars on TradingView. I recommend using it on 4HR timeframes and above, as anything less will produce very little usable data. Having a premium TradingView plan will also help boost the number of available bars.
You can hover your mouse over a table cell to get more information in the form of tooltips (such as the Long and Short win rate if you hover over your total return cell).
Credit
The code in this script is based on open-source code originally written by QuantNomad, I've made significant changes and additions to the original script but all credit for the idea and especially the display table code goes to them - I just built on top of it:
Why Did I Make This?
None of this is trading or investment advice, just my personal opinion based on my experience as a trader and systems developer these past 6+ years:
The TradingView Strategy Tester is severely limited in some important ways. And unless you use complex Excel formulas on exported test data, you can't see a granular perspective of your system's historical performance.
There is much more to creating profitable and tradeable systems than developing a strategy with a good win rate and a good return with a reasonable drawdown.
Some additional questions we need to ask ourselves are:
What did the system's worst drawdown look like?
How long did it last?
How often do drawdowns occur, and how quickly are they typically recovered?
How often do we have a break-even or losing month or year?
What is our expected compounded annual growth rate, and how does that growth rate compare to our max drawdown?
And many more questions that are too long to list and take a lifetime of trading experience to answer.
Without answering these kinds of questions, we run the risk of developing systems that look good on paper, but when it comes to live trading, we are uncomfortable or incapable of enduring the system's granular characteristics.
This Monthly Performance Table script code is intended to help bridge some of that gap with the Strategy Tester's limited default performance data.
Disclaimer
I've done my best to ensure the numbers this code outputs are accurate, and according to my testing with my personal strategy scripts it appears to work fine. But there is always a good chance I've missed something, or that this code will not work with your particular system.
The majority of my TradingView systems are extremely simple single-target systems that operate on a closed-candle basis to minimize many of the data reliability issues with the Strategy Tester, so I was unable to do much testing with multiple targets and pyramiding etc.
I've included a Debug option in the script that will display important data and information on a label each time a trade is closed. I recommend using the Debug option to confirm that the numbers you see in the table are accurate and match what your strategy is actually doing.
Always do your own due diligence, verify all claims as best you can, and never take anyone's word for anything.
Take care, and best of luck with your trading :)
Kind regards,
Matt.
PS. If you're interested in learning how this script works, I have a free hour-long video lesson breaking down the source code - just check out the links below this script or in my profile.
Educational
Advanced Choppiness Indicator with CPMA"The Advanced Choppiness Indicator with CPMA is a technical analysis tool designed to assist traders in identifying choppy market conditions and determining trend direction. It combines two key components: the Choppiness Index and a Custom Price Moving Average (CPMA).
The Choppiness Index is calculated using the Average True Range (ATR), which measures market volatility. It compares the ATR to the highest high and lowest low over a specified period. A higher Choppiness Index value indicates choppier market conditions, while a lower value suggests smoother and more directional price movements.
The CPMA is a custom moving average that takes into account various price types, including the close, high, low, and other combinations. It calculates the average of these price types over a specific length. The CPMA provides a smoother trend line that can help identify support and resistance levels more accurately than traditional moving averages.
When using this indicator, pay attention to the following elements:
Yellow range boxes: These indicate choppy zones, where market conditions are characterized by low momentum and erratic price action. Avoid entering trades during these periods.
Histogram bars: Green bars suggest an uptrend, while red bars indicate a downtrend. These bars are based on the CPMA and can help confirm the prevailing trend direction.
CPMA angle: The angle of the CPMA line provides further insight into the trend. A positive angle indicates an uptrend, while a negative angle suggests a downtrend.
Choppiness thresholds: The indicator includes user-defined thresholds for choppiness. Values above the high threshold indicate high choppiness, while values below the low threshold suggest low choppiness.
Trade decisions: Consider the information provided by the indicator to make informed trading decisions. Avoid trading during choppy zones and consider entering trades in the direction of the prevailing trend.
Remember that the indicator's parameters, such as ATR length and CPMA length, can be adjusted to suit your trading preferences and timeframe. However, it's important to use this indicator in conjunction with other technical analysis tools and your trading strategy for comprehensive market analysis."
By combining the Choppiness Index, CPMA, and other visual cues, this indicator aims to help traders identify suitable trading conditions and make more informed decisions based on market trends and volatility.
Lot Size CalculatorThis is a public release of my Lot Size Calculator. I received a request for the code from a user so I am republishing the script so I can make it public (TV doesn't seem to give me the option to simply make it public once published ).
This is a very simple script to use. Simply choose your entry level and stop level on the chart and the indicator will calculate the lots. You can change your account risk and base currency units in the settings along with changing the scaling of the calculation to adjust the results with the lot sizing units of your broker. This allows the calculator to be used with CFDs, forex, Gold, etc.. Hope it helps in your trading it has been the single most useful tool in my trading as it has helped me always keep my risk locked up and on point that is why I released it.
One final quick note: Remember you can save your settings for your own account size and risk so you do not always have to modify the defaults when loading the script. Just a ease of use tip. I only add the script to my chart when I am about to take a trade so it is helpful to have everything set up in advance.
SMT Divergences [LuxAlgo]The SMT Divergences indicator highlights SMT divergences between the chart symbol and two user-selected tickers (ES and YM by default).
A dashboard returning the SMT divergences statistics is also provided within the settings.
🔶 SETTINGS
Swing Lookback: Calculation window used to detect swing points.
Comparison Ticker: If enabled, will detect SMT divergences between the chart prices and the prices of the selected ticker.
🔹 Dashboard
Show Dashboard: Displays statistics dashboard on the chart.
Location: Location of the dashboard on the chart.
Size: Size of the displayed dashboard.
🔶 USAGE
SMT Divergences are characterized by diverging swing points between two securities.
The detection of SMT Divergences is performed by detecting swing points using the user chart prices as well as the prices of the selected external tickers. If a swing point on the chart ticker is detected at the same time on external tickers, comparison is performed.
Due to the detection requiring swing point confirmation (3 candles by default), this indicator can better be used to study price behaviors on the occurrence of an SMT divergence.
The dashboard highlights the number of SMT divergences that occurred on a swing high and swing low between the chart ticker and the selected external tickers.
The returned percentage indicates the proportion of swing highs or swing lows that led to an SMT divergence.
Draw Line For High Low Custom Range Interactive█ OVERVIEW
This indicator is an educational indicator to make pine coders easier to how to use interactive inputs with User-Defined Type (UDT) especially when dealing input.time.
█ NOTES
This indicator is not perfect but it is a good starting point or template to start develop custom range interactive indicator.
█ INSPIRATIONS
ABC 123 Harmonic Ratio Custom Range Interactive
XABCD Harmonic Pattern Custom Range Interactive
PriceTimeInteractive
█ CREDITS
CAGR Custom Range
Pine scripts are now interactive
█ FEATURES
1. High Low points are determined based on points selected.
2. Line will be drawn after points are correctly arranged.
3. Label show error once wrong point is selected, move the point as instructed in example.
█ EXAMPLES / USAGE
Scalping Strategy (5min)This indicator is designed for scalping strategies on a 5-minute timeframe. It generates signals based on two RSI crossovers and incorporates moving averages to identify trends. Additionally, a Bollinger Band is included to eliminate the need for an additional Bollinger Band on the chart.
Please note that this indicator does not guarantee 100% accurate signals and may produce false signals. It is recommended to use this indicator in conjunction with other indicators such as Stochastic, MACD, SuperTrend, or any other suitable indicators to enhance the accuracy of trading decisions.
1) Signal Generation: The indicator generates buy and sell signals based on two RSI crossovers. A buy signal is generated when the fast RSI crosses above the slow RSI, indicating potential bullish momentum. Conversely, a sell signal is generated when the fast RSI crosses below the slow RSI, suggesting potential bearish momentum.
2) To adjust the indicator to your specific chart and trading preferences, you have the flexibility to modify the RSI and moving average (MA) values. By changing the RSI values (slow RSI length and fast RSI length), you can fine-tune the sensitivity of the RSI crossovers to suit different timeframes and market conditions. Similarly, adjusting the MA values (slow MA period and fast MA period) allows you to adapt the indicator to the desired trend identification and short-term trend confirmation.
3) Pay attention to trades that are confirmed by the short-term moving average (MA) aligning with the desired direction. For buy signals, ensure that the short MA is tending upward, indicating a potential uptrend. For sell signals, confirm that the short MA is trending downward, suggesting a potential downtrend.
4) Moving Averages: The indicator uses a 200-period moving average (MA) to identify the overall trend and a short-term MA for additional confirmation.
5) Bollinger Band: The included Bollinger Band is not directly used in the indicator's calculations. However, it is provided for convenience so that users don't need to add another Bollinger Band to their chart separately.
6) Exercise caution when the short MA is below the 200-period MA but showing signs of attempting an upward move. These situations may indicate a potential reversal or consolidation, and it is advisable to avoid taking trades solely based on the 200-period MA crossover in such cases.
Remember that these guidelines are intended to provide additional insights and should be used in combination with your trading judgment and analysis.
Pi - Intraday High-Low Predictor
Pi - Intraday High-Low Predictor
This is not my Strategy/Research , I've just coded it into a indicator.
I found it interesting & useful so I'm sharing it here.
This Strategy/Research is by Kshirod Chandra Mohanty ( y-o-u-t-u-b-e : Trade with IITIAN )
You can watch his video on y-o-u-t-u-b-e for more info on this one.
the video has following title :
"1Cr Paid Strategy For Free || 10000 Subscribers Special Giveaway || How to find Day High or Low"
This will not tell you which is day high or day low, but it will help you to predict the day high from a day low and day low from a day high.
It will give you a possible range to which the prices could move to.
He has explained/used this on Banknifty.
How to Find out Day High from Day Low & Day Low from Day High :-
He uses the value of Pi (3.14) and the Range of 1st 5minute candle to find out the possible highs from day low and the possible lows from day high.
Range = value of Pi * 1st 5minutes Range
Small range = Range / 2
Large range = Range + Small range
so to find out the possible lows from day high we do following calculations
Small range low = day high - Small range
Range low = day high - Range
Large range low = day high - Large range
and to find out the possible highs from day low we do following calculations
Small range high = day low + Small range
Range high = day low + Range
Large range high = day low + Large range
Note :- This Indicator does Repaint in following ways,
As the script uses the Day High to predict the possible lows ,
so if it's an up-trending day and price keeps on making new High's then the ranges for lows will keep on changing.
similarly the script uses the Day Low to predict the possible high's ,
so if it's an down-trending day and price keeps on making new Low's then the ranges for highs will keep on changing.
My observations / thoughts about this :-
This script does not provide buy/sell recommendations. it just provides possible ranges to where prices can go from Day-High & Day-Low.
It's better to avoid trading when the price is trading between the Small range high & Small range low levels.
As it has high probability that it will be a range bound day and price will stay in between those two levels.
There is a high probability that it will be a trending day if price breaks either the Small range high/low ,
then the price could move to Range low/high.
If price breaks from Range High/Low then there is a high probability that it will be a trending day and the price could move to Large Range low/high.
Note :- If you want to use this on instruments/scripts/indexes which are active for large session such as forex/cryptos , then i suggest that you use the Opening Range period of 4Hours i.e 240minutes, to get better results.
using the default setting of 5minutes will not give good results on them.
play around with this value to find out which one suits that instrument/script/index the best.
Don't trust these levels blindly, do backtest or live testing of this then use for real trade if you want.
Use Price action near these levels to make any trading decision's.
The script provides following options :
1. Option to display Ranges in a Table (which you can enable/hide as you wish)
You can set the Table's location, size , background color & text color according to your preference.
2. Option to enable/hide Predicted-Highs from Day-Low on chart.
3. Option to enable/hide Predicted-Lows from Day-High on chart.
4. Option to set the Opening range period - here you can select your preferred opening range for calculation purpose.
5. Option to enable/hide historical levels on chart.
6. Options to customize the colors & line styles for lines.
7. Options to customize the colors , position & size for labels.
Farzan Paid CaliburnFarzan Paid Caliburn is used to identify trends and smoothen out price fluctuations. It was derived from the candlestick charting techniques, and it is based on open, high, low and close prices from the previous session
The Farzan Paid Caliburn indicator is plotted as a candlestick chart with a series of Blue and Black candles. The Blue candles indicate an uptrend while Black candles indicate a downtrend.
The Farzan Paid Caliburn indicator is a trend-following indicator that helps traders identify the direction of the current market trend.
To use this Farzan Paid Caliburn indicator you need to follow these steps :-
*1.Open the chart of a particular stock you want to trade.
*2.Fix the time interval of 10 minutes for the intraday trading. For that, you can use Tradingview charts.
*3.Insert the Farzan Paid Caliburn as your indicator.
The Farzan Paid Caliburn is shown under the main chart and their plots indicate the current trend. Farzan Paid Caliburn indicator can be used with varying periods (daily, weekly, intraday etc.) and on varying instruments (stocks, futures or forex) .
My personal preference is to use the Indicator on Weekly chart for best result.
Non Adaptive Moving Average - Quan DaoThis Non-Adaptive Moving Average (NAMA) is my origin work. It came from the issues that I always face when using existing famous MA like EMA or RMA:
- What length should I choose for the MA for this security?
- Is there a length that works for multiple timeframes?
- Is there a length that works for multiple securities in multiple markets?
Choosing the right length for an MA is a tedious and boring work and is very subjective. One day in early 2023, I decided to create a new MA that will not be dependant a lot (non-adaptive) on the length of it, to make my life a little bit easier. The idea came from the formula of EMA and RMA:
ma = alpha * src + (1 - alpha) * ma
in which,
alpha = 1 / length for RMA
alpha = 2 / (length + 1) for EMA
I decided to use a constant alpha for the formula, which happened to be: 1.618 / 100 (i.e., golden ratio / 100)
This NAMA is using the length in the start only, after running for a while the MA value will be the same for every value of its length, which resolves good my 3 questions above.
The application of this NAMA is wide, I think.
- It can be used like a normal MA but you don't have to choose its length anymore.
- It can be used like EMA in DEMA, TEMA (I called it DNAMA, TNAMA)
- It can be used in calculating some famous indicators (RSI, TR, ...) so that these indicators will not be dependant on the length as well
In this example script, I included an EMA (in blue color) as well so that you can see how the EMA changes and NAMA stays the same when changing the value of its Length.
VWAP + 2 Moving Averages + RSI + Buy and SellIndicator: VWAP + 2 Moving Averages + RSI + Buy and Sell
Buy and Sell Arrows (Great for use alone or in conjunction with other scripts on the chart)
This indicator displays BUY (BUY) and SELL (SELL) arrows on the chart based on a combination of moving averages, VWAP and RSI. Arrows are a visual way to identify trading opportunities and can be useful for traders who want to follow a strategy based on these conditions.
The indicator uses two moving averages (20 and 50 periods) to identify upward crosses (buy) and downward crosses (sell). In addition, it takes into account VWAP (Volume Weighted Average Price) and RSI (Relative Strength Index) as additional filters to confirm buy and sell signals.
This script is great for use both independently and in conjunction with other indicators and strategies. You can combine it with other indicators and customize it to your preferences to create a more comprehensive trading strategy.
Please remember that this indicator is provided for educational purposes only and does not constitute financial advice. It is always recommended to carry out a thorough analysis before making any trading decisions.
Give this indicator a try and enjoy clear visualization of buy and sell arrows on your chart. Happy trading!
OverNightSession @joshuuuThis indicator highlights the Overnightsession (ONS), taught by TheCurrenyMerchant.
The Overnightsession is from 4-8 am UTC-5. This session can be used to form trades, e.g. after one side has been taken out.
It has the options to display Projection and the equilibrium level. Equilibrium level (50%) can be used to identify if price is currently in premium/discount of the range and the projections (standard deviations of the range) can be used to identify possible targets.
A classic setup he teaches is:
Price trades agressively out of the range taking liquidity. As soon as we trade above the high of the candle that took liquidity, that candle can be considered an orderblock, where the 50% level can be used for long setups.
⚠️ Open Source ⚠️
Coders and TV users are authorized to copy this code base, but a paid distribution is prohibited. A mention to the original author is expected, and appreciated.
⚠️ Terms and Conditions ⚠️
This financial tool is for educational purposes only and not financial advice. Users assume responsibility for decisions made based on the tool's information. Past performance doesn't guarantee future results. By using this tool, users agree to these terms.
Cross Period Comparison IndicatorReally excited to be sharing this indicator!
This is the cross-period comparison indicator, AKA the comparison indicator.
What does it do?
The cross-period comparison indicator permits for the qualitative assessment of two points in time on a particular equity.
What is its use?
At first, I was looking for a way to determine the degree of similarity between two points, such as using Cosine similarity values, Euclidean distances, etc. However, these tend to trigger a lot of similarities but without really any context. Context matters in trading and thus what I wanted really was a qualitative assessment tool to see what exactly was happening at two points in time (i.e. How many buyers were there? What was short interest like? What was volume like? What was the volatility like? RSI? Etc.)
This indicator permits that qualitative assessment, displaying things like total buying volume during each period, total selling volume, short interest via Put to Call ratio activity, technical information such as Stochastics and RSI, etc.
How to use it?
The indicator is fairly self explanatory, but some things require a little more in-depth discussion.
The indicator will display the Max and Min technical values of a period, as well as a breakdown in the volume information and put to call information. The user can then make the qualitative determination of degrees of similarity. However, I have included some key things to help ascertain similarity in a more quantitative way. These include:
1. Adding average period Z-Score
2. Adding CDF probability distributions for each respective period
3. Adding Pearson correlations for each respective period over time
4. Providing the linear regression equation for each period
So let us discuss these 4 quantitative measures a bit more in-depth.
Adding Period Z-Score
For those who do not know, Z-Score is a measure of the distance from a mean. It generally spans 0 (at the mean) to 3 (3 standard deviations away from the mean). Z-Score in the stock market is very powerful because it is actually our indicator of volatility. Z-Score forms the basis of IV for option traders and it generally is the go to, to see where the market is in relation to its overall mean.
Adding Z-Score lets the user make 2 big determinations. First and foremost, it’s a measure of overall volatility during the period. If you are getting a Z-Score that is crazy high (1.5 or greater), you know there was a lot of volatility in that period marked by frequent deviations from its mean (since on average it was trading 1.5 standard deviations away from its mean).
The other thing it tells you is the overall sentiment of that time. If the average Z Score was 1.5 for example, we know that buying interest was high and the sentiment was somewhat optimistic, as the stock was trading, on average, + 1.5 SDs away from its mean.
If, on the other hand, the average was, say, - 1.2, then we know the sentiment was overall pessimistic. There was frequent selling and the stock was frequently being pushed below its mean with heavy selling pressure.
We can also check these assumptions of buying / selling buy verifying the volume information. The indicator will list the Buy to Sell Ratio (number of Buyers to Sellers), as well as the total selling volume and total buying volume. Thus, the user can see, objectively, whether sellers or buyers led a particular period.
Adding CDF Probability
CDF probabilities simply mean the extent a stock traded above or below its normal distribution levels.
To help you understand this, the indicator lists the average close price for a period. Directly below that, it lists the CDF probabilities. What this is telling you, is how often and how likely, during that period, the stock was trading below its average. For example, in the main chart, the average close price for BTC in Period A is 29869. The CDF probability is 0.51. This means, during Period A, 51% of the time, BTC was trading BELOW 29869. Thus, the other 49% of the time it was trading ABOVE 29869.
CDF probabilities also help us to assess volatility, similar to Z-Score. Generally speaking, the CDF should consistently be reading about 0.50 to 0.51. This is the point of an average value, half the values should be above the average and half the values should be below. But in times of heightened volatility, you may actually see the CDF creep up to 0.54 or higher, or 0.48 or lower. This means that there was extremely extensive volatility and is very indicative of true “whipsaw” type price action history where a stock refuses to average itself out in one general area and frequently jumps up and down.
Adding Pearson Correlation
Most know what this is, but just in case, the Pearson correlation is a measure of statistical significance. It ranges from 0 (not significant) to 1 (very significant). It can be positive or negative. A positive signifies a positive relationship (i.e. as one value increases so too does the other value being compared). If it is a negative value, it means an inverse relationship (i.e. one value increases proportionately to the other’s decline).
In this indicator, the Pearson correlation is measured against time. A strong positive relationship (a value of 0.5 or greater) indicates that the stock is trading positive to time. As time goes by, the stock goes up. This is a normal relationship and signifies a healthy uptrend.
Inversely, if the Pearson correlation is negative, it means that as time increases, the stock is going down proportionately. This signifies a strong downtrend.
This is another way for the user to interpret sentiment during a specific period.
IF the Pearson correlation is less than 0.5 or -0.5, this signifies an area of indecision. No real trend formed and there was no real strong relationship to time.
Adding Linear Regression Equation
A linear regression equation is simply the slope and the intercept. It is expressed with the formula y= mx + b.
The indicator does a regression analysis on each period and presents this formula accordingly. The user can see the slope and intercept.
Generally speaking, when two periods share the same slope (m value) but different intercept (b value), it can be said that the relationship to time is identical but the starting point is different.
If the slope and intercept are different, as you see in the BTC chart above, it represents a completely different relationship to time and trajectory.
Indicator Specific Information:
The indicator retains the customizability you would expect. You can customize all of your lengths for technical, change and Z-Score. You can toggle on or off Period data, if you want to focus on a single period. You can also toggle on a difference table that directly compares the % difference between Period A to Period B (see image below):
You will also see on the input menu a input for “Threshold” assessments. This simply modifies the threshold parameters for the technical readings. It is defaulted to 3, which means when two technical (for example Max Stochastics) are within +/- 3 of each other, the indicator will light these up as green to indicate similarities. They just clue the user visually to areas where there are similarities amongst the qualitative technical data.
Timeframes
This is best used on the daily timeframe. You can use it on the smaller timeframe but the processing time may take a bit longer. I personally like it for the Daily, Weekly and 4 hour charts.
And this is the indicator in a nutshell!
I will provide a tutorial video in the coming day on how to use it, so check back later!
As always, leave your comments/questions and suggestions below. I have been slowly modifying stuff based on user suggestions so please keep them coming but be patient as it does take some time and I am by no means a coder or expert on this stuff.
Safe trades to all!
Seasonality [TFO]This Seasonality indicator is meant to provide insight into an asset's average performance over specified periods of time (Daily, Monthly, and Quarterly). It is based on a 252 trading day calendar, not a 365 day calendar. Therefore, some estimations are used in order to aggregate the Daily data into higher timeframes, as we assume every Month to be 21 trading days, and every Quarter to be 63 trading days. Instead of collecting data on the 1st day of a given month, we are actually treating it as the "nth" trading day of the year. Some years exceed 252 trading days, some fall short; however 252 is the average that we are working with for US stocks and indices. Results may vary for non-US markets.
Main features:
- Statistics Table
- Performance Analysis
- Seasonal Pivots
The Statistics Table provides a summarized view of the current seasonality: whether the average Day/Month/Quarter tends to be bullish or bearish, what the average percent change is, and what the current (actual) change is relative to the historical value. It is shown in the top right of this chart.
The Performance Analysis shows a histogram of the average percentage performance for the selected timeframe. Here we have options for Daily, Monthly, and Quarterly. The previous chart showed the Monthly timeframe, here we have the Daily and Quarterly.
Lastly, Seasonal Pivots show where highs and lows tend to be created throughout the year, based on an aggregation of the Daily performance data collected over the available years. If we anchor our data to the beginning of the current year, and then manually offset it by ~252 (depending on the year), we can line this data up with the previous years' data and observe how well these Seasonal Pivots lined up with major Daily highs and lows.
Styling options are available for every major component of this indicator. Please consider sharing if you find it useful!
PSESS1 - Learn PineScript InputsThis is a script written exclusively for people who are trying to learn Pine Script.
PSESS stands for "Pine Script Educational Script Series" which is a series of scripts that helps Pine Script programmers in 2 ways:
1. Learn Pine Script at more depth by an interactive environment where they can immediately see the effects of any change in the pre-written code and also comparing different lines code having tiny differences so they can grasp the details.
2. Have this script open while coding in order to copy the line they find useful
Pine Script Library couldn't be used for this purpose since this script has educational aspect and needs to be executable individually.
This is Script 1 of PSESS and focuses on inputs in Pine Script.
The script is densly commented in order to make it understandable. here is the outline of the script:
1. Inputs that can be received through the indicator() function
2. 12 possible types of input
3. Input() function arguments: defval - title - tooltip - inline - group - confirm
4. The different display of tooltip when inputs are inline
5. Multiple price and time inputs (on single request or multiple requests)
6. What happens when title argument is not specified
7. References and key points from them
Pinescript Risk Reward boxes + Custom 'Time Elapsed' MarkersUsing Pinescript to create custom Risk Reward Ratio (RRR) boxes with custom vertical time markers to help traders stay mindful of how long they've been in a trade.
//Usage:
-Add indicator to chart and you'll be prompted to click three times:
-- 1: Choose time (clicking last bar will mark entry as current candle's open).
-- 2: Click BOX TOP of RRR box on chart (long or short is toggled later).
-- 3: Click BOX BOTTOM of RRR box on chart (long or short is toggled later).
- then toggle Long or short in the dialog box.
-toggle on/off vertical time line markers (as reminder of how long you've been sat in your trade).
-User input choice of time line marker spacings (in minutes).
//Notes:
-Percentage reward and percentage risk are displayed in each of the risk reward boxes. Risk-Reward ratio is also displayed in the upper box.
-Bars to extend the RRR box to the right is also a custom user input.
-Note the 'entry' of the trade will always be the open of the candle you click on (the first click on loading the indicator).
-You can drag the vertical entry time and the horizontal box-top and box-bottom times dynamically, as you like, as trade progresses.
//Use-Case:
-I wanted a RRR box which gave me custom vertical time markers to keep me mindful of overstaying my welcome in a trade that likely was running out of steam and wasn't likely to go my way. Forcing me to stay nimble. I have found in daytrading that if a trade doesn't go your way promptly, it's often not a good one to hold.
RGB Color Codes Chart█ OVERVIEW
This indicator is an educational indicator to make pine coders easier to input color code.
Color code displayed either in hex or rgb code or both.
█ INSPIRATIONS
RGB Color Codes Chart
Table Color For Pairing Black And White
█ FEATURES
Hover table cell to see all properties of color such as Hex code and RGB code via tooltip.
Cell can be show either Full, HEX, RGB, R, G, B or na.
█ LIMITATION
This code does not consider usage of color.new()
█ CONSIDERATION
Code consideration to be used such as color.r(), color.g(), color.b() and color.rgb()
█ EXAMPLE OF USAGE / EXPLAINATION
ICT Session Opening FVG / Silver Bullet [MK]Students of ICT concepts will know that the first FVG found within particular session periods can identify an important price level for intraday traders.
"Find the first FVG at the start of the session and drag a box from it to the right"....ICT
The script finds the first FVG (either bull or bear) within the following periods:
London Killzone (0200 - 0500) EST
02:00 - 0259
03:00 - 0359
0400 - 0459
Dead Zone (05-00 - 0600) EST
05-00 - 0559
0600 - 0659
NY AM Killzone (0700 - 1100) EST
0700 - 0759
0830 - 0929
0929 - 0959
1000 - 1100 (Silver Bullet)
A chart higher timeframe can be chosen to detect the FVGs and they will be displayed on lower timeframe. Default is 5min for detection. I like to then following price reacting to 5mi FVGs on a 1 min chart.
FVG boxes can be extended to the end of the session, or to any time within the current days trading hours. Colors/Labels/ Session Periods can all be edited. A maximum timeframe for display is available and
timezone can be adjusted.
FVGs are only shown for the current days trading hours.
Break even stop loss (% of instrument price)Simply proof of concept to place a stop loss a percentage below entry price and move it to break even if the price moves the same percentage above the entre price.
No Code SignalsNo Code Signals is an intuitive user interface for users to generate their own signals based on indicators they already have applied to their chart.
This indicator makes use of the new input.source() limits for importing data from external sources (indicators) into 1 indicator.
You are now able to import ANY number of sources from up to 10 different indicators.
Features:
- Import up to 10 unique values from up to 10 different indicators already on your chart!
- Compare those values against other imported indicator values, or chart ohlc values.
- Option to use a defined level instead of an active source.
- 5 Signal Options (Currently)
- Alerts, Each signal has its own alert condition.
- Labeled Signals, to tell which signal is which.
Potential Future Plans:
- More Signals & Analysis Options
- Possibly more imports
- Combining 2 (or more) signals into 1
Here is a Screenshot of a chart with signals, and the Interface creating the signals.
Enjoy!
[MiV] Trading SessionHello, everyone!
Today I want to present my new script, which I hope will help not only me!
I'm sure that many people, like me, went through such a stage as "building their strategy". This is when you sit and test on the history how you would enter or exit a trade.
Recently I was doing the same thing and realized that my "tests" involve night time, when in reality I would be asleep and not trading! So I decided to create an indicator that would display my "working hours" so that the backtest I conduct would be as realistic as possible.
Also this indicator is able to display sessions of major exchanges and forex working hours, so it will be useful not only for cryptocurrency lovers.
In addition, we don't always trade every day and, for example, I don't trade on Sunday. That's why we added a feature that "turns off" the day and does not highlight it in color if you're not planning to trade on that day.
And finally, I added a notification of the beginning and end of the trading session. A small thing, but it may also be a useful feature for those who like to sit at the chart!
I will be glad to receive any comments and suggestions!
-----
Всем привет!
Хочу сегодня представить свой новый скрипт, который, надеюсь, поможет не только мне!
Уверен, что многие, как и я, проходили такой этап как "постройка своей стратегии". Это когда ты сидишь и тестируешь на истории то как бы ты входил или выходил из сделки.
Вот недавно я ровно также занимался этим и осознал, что мои "тесты" затрагивают и ночное время, когда в реальности я бы спал и не торговал! Поэтому я решил создать индикатор, который будет отображать мои "рабочие часы", чтобы бектест, который я провожу, был максимально реалистичным.
Также данный индикатор умеет отображать сессии крупных бирж и время работы форекса, так что полезным он будет не только для любителей криптовалюты.
Кроме того, мы же не всегда торгуем каждый день и например я не торгую в воскресенье. Поэтому добавлен функционал, который "выключает" день и не подсвечивает его цветом, если ты в этот день не планируешь торговать.
Ну и в заключении, добавил уведомление о начале и завершении торговой сессии. Мелочь, а тоже может быть полезной фичей для тех кто любит засесть за графиком!
Буду рад любым замечаниям и предложениям!
[5-2-2023] MNQ CALCMNQ Calcultor that takes your stop loss and the prev candles close and shows you how much contracts you can enter for the amount that you're risking.
FRAMA & CPMA Strategy [CSM]The script is an advanced technical analysis tool specifically designed for trading in financial markets, with a particular focus on the BankNifty market. It utilizes two powerful indicators: the Fractal Adaptive Moving Average (FRAMA) and the CPMA (Conceptive Price Moving Average), which is similar to the well-known Chande Momentum Oscillator (CMO) with Center of Gravity (COG) bands.
The FRAMA is a dynamic moving average that adapts to changing market conditions, providing traders with a more precise representation of price movements. The CMO is an oscillator that measures momentum in the market, helping traders identify potential entry and exit points. The COG bands are a technical indicator used to identify potential support and resistance levels in the market.
Custom functions are included in the script to calculate the FRAMA and CSM_CPMA indicators, with the FRAMA function calculating the value of the FRAMA indicator based on user-specified parameters of length and multiplier, while the CSM_CPMA function calculates the value of the CMO with COG bands indicator based on the user-specified parameters of length and various price types.
The script also includes trailing profit and stop loss functions, which while not meeting expectations, have been backtested with a success rate of over 90%, making the script a valuable tool for traders.
Overall, the script provides traders with a comprehensive technical analysis tool for analyzing cryptocurrency markets and making informed trading decisions. Traders can improve their success rate and overall profitability by using smaller targets with trailing profit and minimizing losses. Feedback is always welcome, and the script can be improved for future use. Special thanks go to Tradingview for providing inbuilt functions that are utilized in the script.
Divergences in 52 Week Moving Averages, Adjusted and SmoothedThis script description is intended to be holistic and comprehensive for the understanding of the interested parties who view the script.
Following the PineCoders suggestions, I have provided detailed breakdowns both within the code and in the description immediately below:
► Description
This description is intended to be detailed and meaningful, conveying the understanding of the script’s intention to the user:
The theory: Divergences and extreme readings in 52-Week highs on major indexes can provide a view into a potential pending move in the opposite direction of how the market has been trending. By comparing the 52-Week Hi/Lo indices and applying an Exponential Moving Average (EMA), we can assess how extreme a move is from the average. If the move provides an extreme reading, it would potentially be beneficial to “fade” the move (take a position in the opposing direction).
The intention: The intentionality of this script is to provide a visualization of when the highly-probable opportunity to fade over a multi-day or multi-week period arises. In addition to this, based on backtesting prior moves and reading the various levels of significant reversals, three tiers: “Standard”, “Sensitive”, and “Highly Sensitive” have been applied, the user can choose which sensitivity level they would like to see, there are far less false positives on the Standard and Sensitive settings, while Highly Sensitive often signals multiple times with the move coming a few days later.
The application: The settings allow the user to customize their sensitivity to the fade signals, with the ability to customize the visual that shows up as well. For higher-highs that are fade-worthy, the signal will appear on the top of the candle, for lower-lows that are fade-worthy, the signal will appear on the bottom of the candle. The users risk criteria should be the primary driver of the entry/exit, although when backtesting it appears that the significant move is typically completed within a 2-4 week period at max and 3-5 day period at minimum.
A personal note: I am a futures trader intraday but would very strongly caution users when using this strategy with futures (unless their risk tolerance is higher than most). The most beneficial strategy when fading moves would be to enter in tranches, starting at the first signal and adding on any pullback (as long as the pullback is not below the initial entry point). 1-6 Week Date-To-Expiry options would be the primary method for applying this strategy. I would also like to add that SPY/SPX options (SPDR S&P 500 ETF Trust / CBOE S&P 500 Index) are the most liquid options that could be applied in this strategy.
► Description (additional)
With the understanding that few users can read pinescript (Pine), the description above contains all of the necessary information that is necessary for a user to understand the intention for script utilization. For those who do understand Pine, the code is commented in each section in order to provide an understanding of the underlying functions, calculations, and thought process that went on during the writing of the script.
► Description (additional)
This script’s description contains no delegations, all aspects of the script as well as the initial idea behind it are contained in the description above, which is self-contained in it’s entirety with a clear and defined purpose that is written with the intent to holistically capture the intent of the potential use for this indicator.
► General House Rule #2
This script and the description (as well as my profile) contain no links or associations to promotion of any kind, I am not a business, I am not an individual that will in any way make money from this script or the promotion of another person, idea, company, entity, or legal persons (foreign or domestic).
► Originality and usefulness
This is an original and custom script (and idea) that is not a rehashing or a copy of any code from any other programmers in the tradingview community.