Crypto Indicators #u9tusA set of low timeframe (LTF), medium timeframe (MTF), and high timeframe (HTF) indicators for use in crypto currencies / bitcoin.
Traditionally the 10, 20, 50, 100, and 200 SMAs are used in TA. With cryptos, I've found that the 8 EMA, 21, 55, and 128 SMAs backtest better, while no change in length was necessary for the 200. I wanted to combine all these into one indicator to easily add them to a chart layout, hence this script.
You can customize the length of each MA to your liking in the settings, or accept the defaults.
LTF Indicators:
8 EMA in blue hues, medium line stroke.
MTF Indicators:
21, 55 SMA in purple hues, medium line stroke.
HTF Indicators:
128, 200 SMA in yellow hues, thick line stroke.
Defaults are for daily timeframes and lower; suggest changing up the intervals for weekly and monthly to:
21 -> 30
55 -> 50
128 -> 100
$BTC, $ETH, #ALTS
twitter.com
(c) @jhaurawachsman 20190515
Tìm kiếm tập lệnh với "indicator"
Price Volume Rank [LazyBear]Price-Volume Rank, designed by Anthony J. Macek, compares the direction of the change in price (up or down) to the direction of the change in volume and assigns a number to that specific relationship. By quantifying price/volume interaction, P-V rank seeks to determine our position within a typical market cycle.
The various modes shown on the chart above or explained below. Also, read on for a little trick using the new Pine feature that you can use in your script.
How to read the PVR?
-------------------
The most desirable market condition occurs when both price and volume are moving up, that phenomenon is assigned a PVR of 1.
The next most desirable condition, when prices are still moving up but volume is diminishing, is given a PVR of 2. Although still technically healthy, this relationship between price and volume issues a warning that market momentum is weakening.
The worst-case scenario, seen when selling pressure is greatest with prices dropping and volume
increasing, is given PVR's weakest designation, 4.
Finally, even though prices are still moving down, volume begins to diminish as selling pressure abates. This price/volume relationship is assigned a PVR of 3, often alerting us to a potential buying opportunity ahead.
What do the modes mean?
----------------------
1) Histogram Mode: This plots PVR along with helpful ranges. Be careful when PVR is trending at turn-around points.
2) MA Crossover Mode: This plots a slow/fast MA of PVR. Default is 5/10 SMA. Buy is signalled when slow MA falls below fast MA. Sell is signalled when slow MA crosses up fast MA. There is a warning line at 2.5 that can be used for more confirmation.
3) Double Smoothed Crossover Mode: Same as MA crossover, but PVR is smoothed more. Warning line (2.5 level) is very useful in this mode. Use slow MA as the signal and fast MA of PVR for tracking the market.
Misc notes:
-----------
This won't work for Forex and other instruments for which TradingView doesn't expose volume. Thanks to the new Text rendering feature of PlotShape(), I can actually let users know of that :) Good use-case, eh? I will post a sample chart below in the comments.
Feel free to use any part of this code in your indicators.
More info:
--------
Stocks & Commodities V. 12:6 (235-239): Price-Volume Rank by Anthony J. Macek
Complete list of my indicators:
-----------------------------
docs.google.com
Volume Volatility and Delta Indicator (HN)This Volume Volatility Indicator with Overall Average from Hossein.N helps you visualize the volatility of volume on different timeframes and compares it to the average volume over a given period. It includes several components:
Volume Volatility Indicator (Blue Line): This shows the volatility of volume relative to its moving average over a specified period. Higher values indicate more volatile trading conditions.
Long-Term Volatility Average (Orange Line): This line shows the moving average of the volume volatility indicator over a longer period. It acts as a benchmark for comparing the current volume volatility with historical trends.
Average Volume on Up Days (Green Line): Displays the average volume on days when the price is going up (green).
Average Volume on Down Days (Red Line): Displays the average volume on days when the price is going down (red).
Delta in Percentage (Blue Line): This shows the difference between the average volume of up days and down days, expressed as a percentage of the overall moving average of volume. It can be used to identify bullish or bearish volume imbalances. For example:
Positive values indicate that the volume on up days is stronger than on down days, which could suggest a bullish trend.
Negative values suggest that volume on down days is stronger than on up days, potentially indicating a bearish trend.
Zero Line (Gray Dotted Line): A reference line at 0 that helps you identify when the delta is positive or negative, and visualize the neutral point where volume is balanced between up and down days.
How to Use This Indicator:
Add to Your Chart: Copy the script above and paste it into TradingView's Pine Script editor. Click "Add to Chart" to visualize the indicator.
Interpret the Indicator:
Volume Volatility: A higher value suggests high market volatility. When volume is highly volatile, it may indicate more significant price movements or market uncertainty.
Long-Term Average of Volatility: Use this line as a reference to see whether current volatility is above or below average over a longer period.
Delta in Percentage: This is particularly useful to compare the strength of buying and selling volume. A positive delta percentage suggests strong buying pressure, while a negative delta suggests strong selling pressure. The closer the delta is to zero, the more balanced the volume between up and down days.
Use for Trend Confirmation: The indicator can help confirm trends. If the delta percentage is positive and increasing, and the volume volatility is above average, it could signal strong bullish momentum. Conversely, if the delta is negative and the volume volatility is rising, it may suggest bearish sentiment.
Risk Disclaimer:
Important: This indicator is a tool designed to help analyze market conditions. It does not guarantee success in trading and should not be used as the sole basis for making trading decisions. Always do your own research, consider other factors (e.g., price action, market news, fundamentals), and manage your risk appropriately. Trading involves significant risk, and you should only trade with money you can afford to lose. Always ensure you understand the risks involved in trading and use risk management strategies.
By using this tool, you accept full responsibility for any trading decisions and the outcomes thereof. The information presented is for educational and informational purposes only.
$TUBR: Stop Loss IndicatorATR-Based Stop Loss Indicator for TradingView by The Ultimate Bull Run Community: TUBR
**Overview**
The ATR-Based Stop Loss Indicator is a custom tool designed for traders using TradingView. It helps you determine optimal stop loss levels by leveraging the Average True Range (ATR), a popular measure of market volatility. By adapting to current market conditions, this indicator aims to minimize premature stop-outs and enhance your risk management strategy.
---
**Key Features**
- **Dynamic Stop Loss Levels**: Calculates stop loss prices based on the ATR, providing both long and short stop loss suggestions.
- **Customizable Parameters**: Adjust the ATR period, multiplier, and smoothing method to suit your trading style and the specific instrument you're trading.
- **Visual Aids**: Plots stop loss lines directly on your chart for easy visualization.
- **Alerts and Notifications** (Optional): Set up alerts to notify you when the price approaches or hits your stop loss levels.
---
**Understanding the Indicator**
1. **Average True Range (ATR)**:
- **What It Is**: ATR measures market volatility by calculating the average range between high and low prices over a specified period.
- **Why It's Useful**: A higher ATR indicates higher volatility, which can help you set stop losses that accommodate market fluctuations.
2. **ATR Multiplier**:
- **Purpose**: Determines how far your stop loss is placed from the current price based on the ATR.
- **Example**: An ATR multiplier of 1.5 means the stop loss is set at 1.5 times the ATR away from the current price.
3. **Smoothing Methods**:
- **Options**: Choose from RMA (default), SMA, EMA, WMA, or Hull MA.
- **Effect**: Different smoothing methods can make the ATR more responsive or smoother, affecting where the stop loss is placed.
---
**How the Indicator Works**
- **Long Stop Loss Calculation**:
- **Formula**: `Long Stop Loss = Close Price - (ATR * ATR Multiplier)`
- **Purpose**: For long positions, the stop loss is set below the current price to protect against downside risk.
- **Short Stop Loss Calculation**:
- **Formula**: `Short Stop Loss = Close Price + (ATR * ATR Multiplier)`
- **Purpose**: For short positions, the stop loss is set above the current price to protect against upside risk.
- **Plotting on the Chart**:
- **Green Line**: Represents the suggested stop loss level for long positions.
- **Red Line**: Represents the suggested stop loss level for short positions.
---
**How to Use the Indicator**
1. **Adding the Indicator to Your Chart**:
- **Step 1**: Copy the PineScript code of the indicator.
- **Step 2**: In TradingView, click on **Pine Editor** at the bottom of the platform.
- **Step 3**: Paste the code into the editor and click **Add to Chart**.
- **Step 4**: The indicator will appear on your chart with the default settings.
2. **Adjusting the Settings**:
- **ATR Period**:
- **Definition**: Number of periods over which the ATR is calculated.
- **Adjustment**: Increase for a smoother ATR; decrease for a more responsive ATR.
- **ATR Multiplier**:
- **Definition**: Factor by which the ATR is multiplied to set the stop loss distance.
- **Adjustment**: Increase to widen the stop loss (less likely to be hit); decrease to tighten the stop loss.
- **Smoothing Method**:
- **Options**: RMA, SMA, EMA, WMA, Hull MA.
- **Adjustment**: Experiment to see which method aligns best with your trading strategy.
- **Display Options**:
- **Show Long Stop Loss**: Toggle to display or hide the long stop loss line.
- **Show Short Stop Loss**: Toggle to display or hide the short stop loss line.
3. **Interpreting the Indicator**:
- **Long Positions**:
- **Action**: Set your stop loss at the value indicated by the green line when entering a long trade.
- **Short Positions**:
- **Action**: Set your stop loss at the value indicated by the red line when entering a short trade.
- **Adjusting Stop Losses**:
- **Trailing Stops**: You may choose to adjust your stop loss over time, moving it in the direction of your trade as the ATR-based stop loss levels change.
4. **Implementing in Your Trading Strategy**:
- **Risk Management**:
- **Position Sizing**: Use the stop loss distance to calculate your position size based on your risk tolerance.
- **Consistency**: Apply the same settings consistently to maintain discipline.
- **Combining with Other Indicators**:
- **Enhance Decision-Making**: Use in conjunction with trend indicators, support and resistance levels, or other technical analysis tools.
- **Alerts Setup** (If included in the code):
- **Purpose**: Receive notifications when the price approaches or hits your stop loss level.
- **Configuration**: Set up alerts in TradingView based on the alert conditions defined in the indicator.
---
**Benefits of Using This Indicator**
- **Adaptive Risk Management**: By accounting for current market volatility, the indicator helps prevent setting stop losses that are too tight or too wide.
- **Minimize Premature Stop-Outs**: Reduces the likelihood of being stopped out due to normal price fluctuations.
- **Flexibility**: Customizable settings allow you to tailor the indicator to different trading instruments and timeframes.
- **Visualization**: Clear visual representation of stop loss levels aids in quick decision-making.
---
**Things to Consider**
- **Market Conditions**:
- **High Volatility**: Be cautious as ATR values—and thus stop loss distances—can widen, increasing potential losses.
- **Low Volatility**: Tighter stop losses may increase the chance of being stopped out by minor price movements.
- **Backtesting and Optimization**:
- **Historical Analysis**: Test the indicator on past data to evaluate its effectiveness and adjust settings accordingly.
- **Continuous Improvement**: Regularly reassess and fine-tune the parameters to adapt to changing market conditions.
- **Risk Per Trade**:
- **Alignment with Risk Tolerance**: Ensure the stop loss level keeps potential losses within your acceptable risk per trade (e.g., 1-2% of your trading capital).
- **Emotional Discipline**:
- **Stick to Your Plan**: Avoid making impulsive changes to your stop loss levels based on emotions rather than analysis.
---
**Example Usage Scenario**
1. **Setting Up a Long Trade**:
- **Entry Price**: $100
- **ATR Value**: $2
- **ATR Multiplier**: 1.5
- **Calculated Stop Loss**: $100 - ($2 * 1.5) = $97
- **Action**: Place a stop loss order at $97.
2. **During the Trade**:
- **Price Increases to $105**
- **ATR Remains at $2**
- **New Stop Loss Level**: $105 - ($2 * 1.5) = $102
- **Action**: Move your stop loss up to $102 to lock in profits.
---
**Final Tips**
- **Documentation**: Keep a trading journal to record your trades, stop loss levels, and observations for future reference.
- **Education**: Continuously educate yourself on risk management and technical analysis to enhance your trading skills.
- **Support**: Engage with trading communities or seek professional advice if you're unsure about implementing the indicator effectively.
---
**Conclusion**
The ATR-Based Stop Loss Indicator is a valuable tool for traders looking to enhance their risk management by setting stop losses that adapt to market volatility. By integrating this indicator into your trading routine, you can improve your ability to protect capital and potentially increase profitability. Remember to use it as part of a comprehensive trading strategy, and always adhere to sound risk management principles.
---
**How to Access the Indicator**
To start using the ATR-Based Stop Loss Indicator, follow these steps:
1. **Obtain the Code**: Copy the PineScript code provided for the indicator.
2. **Create a New Indicator in TradingView**:
- Open TradingView and navigate to the **Pine Editor**.
- Paste the code into the editor.
- Click **Save** and give your indicator a name.
3. **Add to Chart**: Click **Add to Chart** to apply the indicator to your current chart.
4. **Customize Settings**: Adjust the input parameters to suit your preferences and start integrating the indicator into your trading strategy.
---
**Disclaimer**
Trading involves significant risk, and it's possible to lose all your capital. The ATR-Based Stop Loss Indicator is a tool to aid in decision-making but does not guarantee profits or prevent losses. Always conduct your own analysis and consider seeking advice from a financial professional before making trading decisions.
BTC Arcturus IndicatorBTC Arcturus Indicator: This indicator is designed to create buy and sell signals based on the market value of Bitcoin. It also predicts potential market tops with the Pi Cycle Top indicator.
How Does It Work?
1. MVRVZ (Market Value to Realized Value-Z Score) Calculation:
MC: Bitcoin's market cap (Market Cap) is pulled daily from Glassnode data.
MCR: Realized Market Cap of Bitcoin is taken daily from Coinmetrics data.
MVRVZ: It is calculated by dividing the difference between Bitcoin's market value and realized market value by one standard deviation. This value indicates whether the market is overvalued or undervalued.
2. Reception and Warning Signals:
Buy Signal: When MVRVZ falls below the -0.255 threshold value, the indicator gives a "Buy" signal. This indicates that Bitcoin is undervalued and may be a buying opportunity.
Warning Signal: A warning signal turns on when MVRVZ exceeds the threshold value of 2.765. This indicates that the market is approaching saturation and caution is warranted.
3. Tracking the Highest MVRVZ Value:
The indicator records the highest MVRVZ value in the last 10 candlesticks. This value is used to determine whether the market has reached its highest risk levels.
4. Warning Display:
If the MVRVZ value matches the highest value in the last 10 bars and this warning has not been displayed before, a "Warning" signal is displayed.
Once the warning signal is shown, no further warnings are shown for 10 candles.
5. Pi Cycle Top Indicator:
Pi Cycle Top: This indicator predicts Bitcoin tops by comparing two moving averages (350-day and 111-day). If the short-term moving average falls below the long-term moving average, this is considered a sell signal.
The indicator displays this signal with the label "Sell", indicating a potential market top.
User Guide:
Green Buy Signal: It means Bitcoin is cheap and offers a buying opportunity.
Yellow Warning Signal: Indicates that Bitcoin has reached possible profit taking points and caution should be exercised.
Red Sell Signal: Indicates that Bitcoin has reached market saturation and it may be appropriate to sell.
RAINBOW AVERAGES - INDICATOR - (AS) - 1/3
-INTRODUCTION:
This is the first of three scripts I intend to publish using rainbow indicators. This script serves as a groundwork for the other two. It is a RAINBOW MOVING AVERAGES indicator primarily designed for trend detection. The upcoming script will also be an indicator but with overlay=false (below the chart, not on it) and will utilize RAINBOW BANDS and RAINBOW OSCILLATOR. The third script will be a strategy combining all of them.
RAINBOW moving averages can be used in various ways, but this script is mainly intended for trend analysis. It is meant to be used with overlay=true, but if the user wishes, it can be viewed below the chart. To achieve this, you need to change the code from overlay=true to false and turn off the first switch that plots the rainbow on the chart (or simply move the indicator to a new pane below). By doing this, you will be able to see how all four conditions used to detect trends work on the chart. But let's not get ahead of ourselves.
-WHAT IS IT:
In its simplest form, this indicator uses 10 moving averages colored like a rainbow. The calculation is as follows:
MA0: This is the main moving average and can be defined with the type (SMA, EMA, RMA, WMA, SINE), length, and price source. However, the second moving average (MA1) is calculated using MA0 as its source, MA2 uses MA1 as the data source, and so on, until the last one, MA9. Hence, there are 10 moving averages. The first moving average is special as all the others derive from it. This indicator has many potential uses, such as entry/exit signals, volatility indication, and stop-loss placement, but for now, we will focus on trend detection.
-TREND DETECTION:
The indicator offers four different background color options based on the user's preference:
0-NONE: No background color is applied as no trend detection tools is being used (boring)
1-CHANGE: The background color is determined by summing the changes of all 10 moving averages (from two bars). If the sum is positive and not falling, the background color is GREEN. If the sum is negative and not rising, the background color is RED. From early testing, it works well for the beginning of a movement but not so much for a lasting trend.
2-RAINBW: The background color is green when all the moving averages are in ascending order, indicating a bullish trend. It is red when all the moving averages are in descending order, indicating a bearish trend. For example, if MA1>MA2>MA3>MA4..., the background color is green. If MA1 threshold, and red indicates width < -threshold.
4-DIRECT: The background color is determined by counting the number of moving averages that are either above or below the input source. If the specified number of moving averages is above the source, the background color is green. If the specified number of moving averages is below the source, the background color is red. If all ten MAs are below the price source, the indicator will show 10, and if all ten MAs are above, it will show -10. The specific value will be set later in the settings (same for 3-TSHOLD variant). This method works well for lasting trends.
Note: If the indicator is turned into a below-chart version, all four color options can be seen as separate indicators.
-PARAMETERS - SETTINGS:
The first line is an on/off switch to plot the skittles indicator (and some info in the tooltip). The second line has already been discussed, which is the background color and the selection of the source (only used for MA0!).
The line "MA1: TYP/LEN" is where we define the parameters of MA0 (important). We choose from the types of moving averages (SMA, EMA, RMA, WMA, SINE) and set the length.
Important Note: It says MA1, but it should be MA0!.
The next line defines whether we want to smooth MA1 (which is actually MA0) and the period for smoothing. When smoothing is turned on, MA0 will be smoothed using a 3-pole super smoother. It's worth noting that although this only applies to MA0, as the other MAs are derived from it, they will also be smoothed.
In the line below, we define the type and length of MAs for MA2 (and other MAs except MA0). The same type and length are used for MA1 to MA9. It's important to remember that these values should be smaller. For example, if we set 55, it means that MA1 is the average of 55 periods of MA0, MA2 will be 55 periods of MA1, and so on. I encourage trying different combinations of MA types as it can be easily adjusted for ur type of trading. RMA looks quirky.
Moving on to the last line, we define some inputs for the background color:
TSH: The threshold value when using 3-TSHOLD-BGC. It's a good idea to change the chart to a pane below for easier adjustment. The default values are based on EURUSD-5M.
BG_DIR: The value that must be crossed or equal to the MA score if using 4-DIRECT-BGC. There are 10 MAs, so the maximum value is also 10. For example, if you set it to 9, it means that at least 9 MAs must be below/above the price for the script to detect a trend. Higher values are recommended as most of the time, this indicator oscillates either around the maximum or minimum value.
-SUMMARY OF SETTINGS:
L1 - PLOT MAs and general info tooltip
L2 - Select the source for MA0 and type of trend detection.
L3 - Set the type and length of MA0 (important).
L4 - Turn smoothing on/off for MA0 and set the period for super smoothing.
L5 - Set the type and length for the rest of the MAs.
L6 - Set values if using 4-DIRECT or 3-TSHOLD for the trend detection.
-OTHERS:
To see trend indicators, you need to turn off the plotting of MAs (first line), and then choose the variant you want for the background color. This will plot it on the chart below.
Keep in mind that M1 int settings stands for MA0 and MA2 for all of the 9 MAs left.
Yes, it may seem more complicated than it actually is. In a nutshell, these are 10 MAs, and each one after MA0 uses the previous one as its source. Plus few conditions for range detection. rest is mainly plots and colors.
There are tooltips to help you with the parameters.
I hope this will be useful to someone. If you have any ideas, feedback, or spot errors in the code, LET ME KNOW.
Stay tuned for the remaining two scripts using skittles indicators and check out my other scripts.
-ALSO:
I'm always looking for ideas for interesting indicators and strategies that I could code, so if you don't know Pinescript, just message me, and I would be glad to write your own indicator/strategy for free, obviously.
-----May the force of the market be with you, and until we meet again,
VIX Reference IndicatorHello everyone,
Releasing my VIX reference indicator.
What is it:
This indicator displays the current trading behaviour of the VIX.
It displays it in Z-Score Format along with identifying previous areas of reversal and displaying when the RSI is overbought or oversold on the VIX.
Who is it good for:
It is good for both day and swing traders who use the VIX in their trading plans.
It permits traders to look at different aspects of the VIX (RSI, Z-Score and Reversal areas) simultaneously while they are watching their current traded stock.
How does it work:
The indicator works by converting the VIX into a Z-Score (similar to bollinger bands).
It then plots the VIX out in Z-Score format in the indicator.
Because it is plotting the VIX based on Z-Score, it looks back to previous areas where the Z-Score led to a reversal (i.e. what was the lowest or highest Z-Score the VIX achieved in the lookback period before reversing).
It also looks at the RSI of the VIX. If the VIX RSI crosses at or above 70 (overbought), it will change the colour of the line to green. This means the VIX is overbought and will likely sell and thus, the thesis is, as the VIX sells, the stock you are trading should come up.
Below is a picture of the different aspects of the indicator:
Customaization:
Per usual, you can customize the colours and bands to your liking.
You are also able to specify the RSI length you want to look at as well as the Z-Score Reversal length and the timeframe length of the chart you are looking at.
The default settings are 75 Average Length lookback for the Z-Score Reversal and the Chart and 14 period RSI.
TIPS:
The most persuasive setups are when you get all 3 of the following:
1. A signal that supports the thesis (buy or sell) along with:
2. An RSI signal that supports the z-score signal along with:
3. The VIX trading at an extreme end of its Z-Score range
Example:
In the example above you will see the following conditions are met:
1. Z-Score historical reversal point identified (short)
2. VIX RSI is oversold (short)
3. VIX is at the bottom of its Z-Score range (short)
As always, I have done a quick tutorial video for your reference which you can see below:
Leave your questions/comments/requests below or on the video as I am always happy to get feedback on improvements and functionality.
Thank you everyone checking it out and safe trades!
CoinFlip Indicator + StrategyFlip a coin every Monday.
Heads, go long. Tail, go short. Stoploss at 1 ATR, and Take profit at 1 ATR too. 1:1 risk to reward ratio.
After backtesting 2018, 2019, and 2020 with 28 major currency pairs. We are getting close to a 50% win rate with an 8% standard deviation.
Believe it or not, this simple performs better than lots of the popular indicators out there.
Don't believe me? Test it out yourself!!
Use this as a baseline for your backtest and expose all your other crappy indicators :)
HOW TO USE:
As an indicator:
1. Use a daily chart
2. Green arrow below chart, go long, set a stop-loss at 1 x ATR, and take profit at 1 x ATR
3. Red arrow above chart, go short, set a stop-loss at 1 x ATR, and take profit at 1 x ATR
As an indicator:
1. In setting, set a year to test (default to 2020)
2. Go to the strategy tester and observe the stats
P.s. You can also set the period of the ATR to another value other than 14 periods.
[Sextan] Your Indicator Source PINE v5 MTFLevel: 1
NOTE1: As requested, this is a multiple time frame(MTF) version of input signal source, which enable you to backtest any indicator/strategy MTF with "{Sextan} PINEv4 Sextans Backtest Framework". Courtesy of cheatcountry for his request.security() wrapper in PINE v5 to avoid repainting caused by request.security() function.
NOTE2: Many request this indicator template to support PINE v5. Now, here it is .This is ONLY an PINE v5 EXAMPLE on HOW-TO produce a customized "{Sextan} PINEv4 Sextans Backtest Framework" (for bactest framework it does not need to be written by PINE v5)intput signal source, you can define your own indicator in the highlighted area in compliance with the uniform format, which guarantee when you use "Indicator on Indicator" function, it would not produce any error.
I use two simple moving average crossings to produce long and short entry signal with SMA3 and SMA8 in the example.
Background
Backtesting of technical indicators and strategies is the most common way to understand a quantitative strategy. However, the complicated configuration and adaptation work of backtesting many quantitative tools makes many traders who do not understand the code daunted. Moreover, although I have written a lot of strategies, I am still not very satisfied with the backtest configuration and writing efficiency. Therefore, I have been thinking about how to build a backtesting framework that can quickly and easily evaluate the backtesting performance of any indicator with a "long/short entry" indicator, that is, a "simple backtesting tool for dummies". The performance requirements should be stable, and the operation should be simple and convenient. It is best to "copy", "paste", and "a few mouse clicks" to complete the quick backtest and evaluation of a new indicator.
Luckily, I recently realized that TradingView provides an "Indicator on Indicator" feature, which is the perfect foundation for doing "hot swap" backtesting. My basic idea is to use a two-layer design. The first layer is the technical indicator signal source that needs to be embedded, which is only used to provide buy and sell signals of custom strategies; the second layer is the trading system, which is used to receive the output signals of the first layer, and filter the signals according to the agreed specifications. , Take Profit, Stop Loss, draw buy and sell signals and cost lines, define and send custom buy and sell alert messages to mobile phones, social software or trading interfaces. In general, this two-layer design is a flexible combination of "death and alive", which can meet the needs of most traders to quickly evaluate the performance of a certain technical indicator. The first layer here is flexible. Users can insert their own strategy codes according to my template, and they can draw buy and sell signals and output them to the second layer. The second layer is fixed, and the overall framework is solidified to ensure the stability and unity of the trading system. It is convenient to compare different or similar strategies under the same conditions. Finally, all trading signals are drawn on the chart, and the output strategy returns. test report.
The main function:
The first layer: "{Sextan} Your Indicator Source", the script provides a template for personalized strategy input, and the signal and definition interfaces ensure full compatibility with the second layer. Backtesting is performed stably in the backtesting framework of the layer. The first layer of this script is also relatively simple: enter your script in the highlighted custom script area, and after ensuring the final buy and sell signals long = bool condition, short = bool condition, the design of the first layer is considered complete. Input it into the PINE script editor of TradingView, save it and add it to the chart, you can see the pulse sequence in yellow (buy) and purple (sell) on the sub-picture, corresponding to the main picture, you can subjectively judge that the quality of the trading point of the strategy is good Bad.
The second layer: "{Sextan} PINEv4 Sextans Backtest Framework". This script is the standardized trading system strategy execution and alarm, used to generate the final report of the strategy backtest and some key indicators that I have customized that I find useful, such as: winning rate , Odds, Winning Surface, Kelly Ratio, Take Profit and Stop Loss Thresholds, Trading Frequency, etc. are evaluated according to the Kelly formula. To use the second layer, first load it into the TrainingView chart, no markers will appear on the chart, since you have not specified any strategy source signals, click on the gear-shaped setting next to the "{Sextan} PINEv4 Sextans BTFW" header button, you can open the backtest settings, the first item is to select your custom strategy source. Because we have added the strategy source to the chart in the previous step, you can easily find an option "{Sextan} Your Indicator Source: Signal" at the bottom of the list, this is the strategy source input we need, select and confirm , you can see various markers on the main graph, and quickly generate a backtesting profit graph and a list of backtesting reports. You can generate files and download the backtesting reports locally. You can also click the gear on the backtest chart interface to customize some conditions of the backtest, including: initial capital amount, currency type, percentage of each order placed, amount of pyramid additions, commission fees, slippage, etc. configuration. Note: The configuration in the interface dialog overrides the same configuration implemented by the code in the backtest script.
How to output charts:
The first layer: "{Sextan} Your Indicator Source", the output of this script is the pulse value of yellow and purple, yellow +1 means buy, purple -1 means sell.
The second layer: PINEv4 Sextans Backtest Framework". The output of this script is a bit complicated. After all, it is the entire trading system with a lot of information:
1. Blue and red arrows. The blue upward arrow indicates long position, the red downward arrow indicates short position, and the horizontal bar at the end of the purple arrow indicates take profit or stop loss exit.
2. Red and green lines. This is the holding cost line of the strategy, green represents the cost of holding a long position, and red represents the cost of holding a short position. The cost line is a continuous solid line and the price action is relatively close.
3. Green and yellow long take profit and stop loss area and green and yellow long take profit and stop loss fork. Once a long position is held, there is a conditional order for take profit and stop loss. The green horizontal line is the long take profit ratio line, and the yellow is the long stop loss ratio line; the green cross indicates the long take profit price, and the yellow cross indicates the long position. Stop loss price. It's worth noting that the prongs and wires don't necessarily go together. Because of the optimization of the algorithm, for a strong market, the take profit will occur after breaking the take profit line, and the profit will not be taken until the price falls.
4. The purple and red short take profit and stop loss area and the purple red short stop loss fork. Once a short position is held, there will be a take profit and stop loss conditional order, the red is the short take profit ratio line, and the purple is the short stop loss ratio line; the red cross indicates the short take profit price, and the purple cross indicates the short stop loss price.
5. In addition to the above signs, there are also text and numbers indicating the profit and loss values of long and short positions. "L" means long; "S" means short; "XL" means close long; "XS" means close short.
TradingView Strategy Tester Panel:
The overview graph is an intuitive graph that plots the blue (gain) and red (loss) curves of all backtest periods together, and notes: the absolute value and percentage of net profit, the number of all closed positions, the winning percentage, the profit factor, The maximum trading loss, the absolute value and ratio of the average trading profit and loss, and the average number of K-lines held in all trades.
Another is the performance summary. This is to display all long and short statistical indicators of backtesting in the form of a list, such as: net profit, gross profit, Sharpe ratio, maximum position, commission, times of profit and loss, etc.
Finally, the transaction list is a table indexed by the transaction serial number, showing the signal direction, date and time, price, profit and loss, accumulated profit and loss, maximum transaction profit, transaction loss and other values.
Remarks
Finally, I will explain that this is just the beginning of this model. I will continue to optimize the trading system of the second layer. Various optimization feedback and suggestions are welcome. For valuable feedback, I am willing to provide some L4/L5 technical indicators as rewards for free subscription rights.
[Sextan] Your Indicator Source PINE v4 MTFLevel: 1
NOTE1: As requested, this is a multiple time frame(MTF) version of input signal source, which enable you to backtest any indicator/strategy MTF with "{Sextan} PINEv4 Sextans Backtest Framework". Courtesy of cheatcountry for his security() wrapper to avoid repainting caused by security() function.
NOTE2: This is ONLY an EXAMPLE on HOW-TO produce a customized "{Sextan} PINEv4 Sextans Backtest Framework" intput signal source, you can define your own indicator in the highlighted area in compliance with the uniform format, which guarantee when you use "Indicator on Indicator" function, it would not produce any error.
I use two simple moving average crossings to produce long and short entry signal with SMA3 and SMA8 in the example.
Background
Backtesting of technical indicators and strategies is the most common way to understand a quantitative strategy. However, the complicated configuration and adaptation work of backtesting many quantitative tools makes many traders who do not understand the code daunted. Moreover, although I have written a lot of strategies, I am still not very satisfied with the backtest configuration and writing efficiency. Therefore, I have been thinking about how to build a backtesting framework that can quickly and easily evaluate the backtesting performance of any indicator with a "long/short entry" indicator, that is, a "simple backtesting tool for dummies". The performance requirements should be stable, and the operation should be simple and convenient. It is best to "copy", "paste", and "a few mouse clicks" to complete the quick backtest and evaluation of a new indicator.
Luckily, I recently realized that TradingView provides an "Indicator on Indicator" feature, which is the perfect foundation for doing "hot swap" backtesting. My basic idea is to use a two-layer design. The first layer is the technical indicator signal source that needs to be embedded, which is only used to provide buy and sell signals of custom strategies; the second layer is the trading system, which is used to receive the output signals of the first layer, and filter the signals according to the agreed specifications. , Take Profit, Stop Loss, draw buy and sell signals and cost lines, define and send custom buy and sell alert messages to mobile phones, social software or trading interfaces. In general, this two-layer design is a flexible combination of "death and alive", which can meet the needs of most traders to quickly evaluate the performance of a certain technical indicator. The first layer here is flexible. Users can insert their own strategy codes according to my template, and they can draw buy and sell signals and output them to the second layer. The second layer is fixed, and the overall framework is solidified to ensure the stability and unity of the trading system. It is convenient to compare different or similar strategies under the same conditions. Finally, all trading signals are drawn on the chart, and the output strategy returns. test report.
The main function:
The first layer: "{Sextan} Your Indicator Source", the script provides a template for personalized strategy input, and the signal and definition interfaces ensure full compatibility with the second layer. Backtesting is performed stably in the backtesting framework of the layer. The first layer of this script is also relatively simple: enter your script in the highlighted custom script area, and after ensuring the final buy and sell signals long = bool condition, short = bool condition, the design of the first layer is considered complete. Input it into the PINE script editor of TradingView, save it and add it to the chart, you can see the pulse sequence in yellow (buy) and purple (sell) on the sub-picture, corresponding to the main picture, you can subjectively judge that the quality of the trading point of the strategy is good Bad.
The second layer: "{Sextan} PINEv4 Sextans Backtest Framework". This script is the standardized trading system strategy execution and alarm, used to generate the final report of the strategy backtest and some key indicators that I have customized that I find useful, such as: winning rate , Odds, Winning Surface, Kelly Ratio, Take Profit and Stop Loss Thresholds, Trading Frequency, etc. are evaluated according to the Kelly formula. To use the second layer, first load it into the TrainingView chart, no markers will appear on the chart, since you have not specified any strategy source signals, click on the gear-shaped setting next to the "{Sextan} PINEv4 Sextans BTFW" header button, you can open the backtest settings, the first item is to select your custom strategy source. Because we have added the strategy source to the chart in the previous step, you can easily find an option "{Sextan} Your Indicator Source: Signal" at the bottom of the list, this is the strategy source input we need, select and confirm , you can see various markers on the main graph, and quickly generate a backtesting profit graph and a list of backtesting reports. You can generate files and download the backtesting reports locally. You can also click the gear on the backtest chart interface to customize some conditions of the backtest, including: initial capital amount, currency type, percentage of each order placed, amount of pyramid additions, commission fees, slippage, etc. configuration. Note: The configuration in the interface dialog overrides the same configuration implemented by the code in the backtest script.
How to output charts:
The first layer: "{Sextan} Your Indicator Source", the output of this script is the pulse value of yellow and purple, yellow +1 means buy, purple -1 means sell.
The second layer: PINEv4 Sextans Backtest Framework". The output of this script is a bit complicated. After all, it is the entire trading system with a lot of information:
1. Blue and red arrows. The blue upward arrow indicates long position, the red downward arrow indicates short position, and the horizontal bar at the end of the purple arrow indicates take profit or stop loss exit.
2. Red and green lines. This is the holding cost line of the strategy, green represents the cost of holding a long position, and red represents the cost of holding a short position. The cost line is a continuous solid line and the price action is relatively close.
3. Green and yellow long take profit and stop loss area and green and yellow long take profit and stop loss fork. Once a long position is held, there is a conditional order for take profit and stop loss. The green horizontal line is the long take profit ratio line, and the yellow is the long stop loss ratio line; the green cross indicates the long take profit price, and the yellow cross indicates the long position. Stop loss price. It's worth noting that the prongs and wires don't necessarily go together. Because of the optimization of the algorithm, for a strong market, the take profit will occur after breaking the take profit line, and the profit will not be taken until the price falls.
4. The purple and red short take profit and stop loss area and the purple red short stop loss fork. Once a short position is held, there will be a take profit and stop loss conditional order, the red is the short take profit ratio line, and the purple is the short stop loss ratio line; the red cross indicates the short take profit price, and the purple cross indicates the short stop loss price.
5. In addition to the above signs, there are also text and numbers indicating the profit and loss values of long and short positions. "L" means long; "S" means short; "XL" means close long; "XS" means close short.
TradingView Strategy Tester Panel:
The overview graph is an intuitive graph that plots the blue (gain) and red (loss) curves of all backtest periods together, and notes: the absolute value and percentage of net profit, the number of all closed positions, the winning percentage, the profit factor, The maximum trading loss, the absolute value and ratio of the average trading profit and loss, and the average number of K-lines held in all trades.
Another is the performance summary. This is to display all long and short statistical indicators of backtesting in the form of a list, such as: net profit, gross profit, Sharpe ratio, maximum position, commission, times of profit and loss, etc.
Finally, the transaction list is a table indexed by the transaction serial number, showing the signal direction, date and time, price, profit and loss, accumulated profit and loss, maximum transaction profit, transaction loss and other values.
Remarks
Finally, I will explain that this is just the beginning of this model. I will continue to optimize the trading system of the second layer. Various optimization feedback and suggestions are welcome. For valuable feedback, I am willing to provide some L4/L5 technical indicators as rewards for free subscription rights.
[Sextan] Your Indicator Source for PINE v5Level: 1
NOTE: Many request this indicator template to support PINE v5. Now, here it is .This is ONLY an PINE v5 EXAMPLE on HOW-TO produce a customized "{Sextan} PINEv4 Sextans Backtest Framework" (for bactest framework it does not need to be written by PINE v5)intput signal source, you can define your own indicator in the highlighted area in compliance with the uniform format, which guarantee when you use "Indicator on Indicator" function, it would not produce any error.
I use two simple moving average crossings to produce long and short entry signal with SMA3 and SMA8 in the example.
Background
Backtesting of technical indicators and strategies is the most common way to understand a quantitative strategy. However, the complicated configuration and adaptation work of backtesting many quantitative tools makes many traders who do not understand the code daunted. Moreover, although I have written a lot of strategies, I am still not very satisfied with the backtest configuration and writing efficiency. Therefore, I have been thinking about how to build a backtesting framework that can quickly and easily evaluate the backtesting performance of any indicator with a "long/short entry" indicator, that is, a "simple backtesting tool for dummies". The performance requirements should be stable, and the operation should be simple and convenient. It is best to "copy", "paste", and "a few mouse clicks" to complete the quick backtest and evaluation of a new indicator.
Luckily, I recently realized that TradingView provides an "Indicator on Indicator" feature, which is the perfect foundation for doing "hot swap" backtesting. My basic idea is to use a two-layer design. The first layer is the technical indicator signal source that needs to be embedded, which is only used to provide buy and sell signals of custom strategies; the second layer is the trading system, which is used to receive the output signals of the first layer, and filter the signals according to the agreed specifications. , Take Profit, Stop Loss, draw buy and sell signals and cost lines, define and send custom buy and sell alert messages to mobile phones, social software or trading interfaces. In general, this two-layer design is a flexible combination of "death and alive", which can meet the needs of most traders to quickly evaluate the performance of a certain technical indicator. The first layer here is flexible. Users can insert their own strategy codes according to my template, and they can draw buy and sell signals and output them to the second layer. The second layer is fixed, and the overall framework is solidified to ensure the stability and unity of the trading system. It is convenient to compare different or similar strategies under the same conditions. Finally, all trading signals are drawn on the chart, and the output strategy returns. test report.
The main function:
The first layer: "{Sextan} Your Indicator Source", the script provides a template for personalized strategy input, and the signal and definition interfaces ensure full compatibility with the second layer. Backtesting is performed stably in the backtesting framework of the layer. The first layer of this script is also relatively simple: enter your script in the highlighted custom script area, and after ensuring the final buy and sell signals long = bool condition, short = bool condition, the design of the first layer is considered complete. Input it into the PINE script editor of TradingView, save it and add it to the chart, you can see the pulse sequence in yellow (buy) and purple (sell) on the sub-picture, corresponding to the main picture, you can subjectively judge that the quality of the trading point of the strategy is good Bad.
The second layer: "{Sextan} PINEv4 Sextans Backtest Framework". This script is the standardized trading system strategy execution and alarm, used to generate the final report of the strategy backtest and some key indicators that I have customized that I find useful, such as: winning rate , Odds, Winning Surface, Kelly Ratio, Take Profit and Stop Loss Thresholds, Trading Frequency, etc. are evaluated according to the Kelly formula. To use the second layer, first load it into the TrainingView chart, no markers will appear on the chart, since you have not specified any strategy source signals, click on the gear-shaped setting next to the "{Sextan} PINEv4 Sextans BTFW" header button, you can open the backtest settings, the first item is to select your custom strategy source. Because we have added the strategy source to the chart in the previous step, you can easily find an option "{Sextan} Your Indicator Source: Signal" at the bottom of the list, this is the strategy source input we need, select and confirm , you can see various markers on the main graph, and quickly generate a backtesting profit graph and a list of backtesting reports. You can generate files and download the backtesting reports locally. You can also click the gear on the backtest chart interface to customize some conditions of the backtest, including: initial capital amount, currency type, percentage of each order placed, amount of pyramid additions, commission fees, slippage, etc. configuration. Note: The configuration in the interface dialog overrides the same configuration implemented by the code in the backtest script.
How to output charts:
The first layer: "{Sextan} Your Indicator Source", the output of this script is the pulse value of yellow and purple, yellow +1 means buy, purple -1 means sell.
The second layer: PINEv4 Sextans Backtest Framework". The output of this script is a bit complicated. After all, it is the entire trading system with a lot of information:
1. Blue and red arrows. The blue upward arrow indicates long position, the red downward arrow indicates short position, and the horizontal bar at the end of the purple arrow indicates take profit or stop loss exit.
2. Red and green lines. This is the holding cost line of the strategy, green represents the cost of holding a long position, and red represents the cost of holding a short position. The cost line is a continuous solid line and the price action is relatively close.
3. Green and yellow long take profit and stop loss area and green and yellow long take profit and stop loss fork. Once a long position is held, there is a conditional order for take profit and stop loss. The green horizontal line is the long take profit ratio line, and the yellow is the long stop loss ratio line; the green cross indicates the long take profit price, and the yellow cross indicates the long position. Stop loss price. It's worth noting that the prongs and wires don't necessarily go together. Because of the optimization of the algorithm, for a strong market, the take profit will occur after breaking the take profit line, and the profit will not be taken until the price falls.
4. The purple and red short take profit and stop loss area and the purple red short stop loss fork. Once a short position is held, there will be a take profit and stop loss conditional order, the red is the short take profit ratio line, and the purple is the short stop loss ratio line; the red cross indicates the short take profit price, and the purple cross indicates the short stop loss price.
5. In addition to the above signs, there are also text and numbers indicating the profit and loss values of long and short positions. "L" means long; "S" means short; "XL" means close long; "XS" means close short.
TradingView Strategy Tester Panel:
The overview graph is an intuitive graph that plots the blue (gain) and red (loss) curves of all backtest periods together, and notes: the absolute value and percentage of net profit, the number of all closed positions, the winning percentage, the profit factor, The maximum trading loss, the absolute value and ratio of the average trading profit and loss, and the average number of K-lines held in all trades.
Another is the performance summary. This is to display all long and short statistical indicators of backtesting in the form of a list, such as: net profit, gross profit, Sharpe ratio, maximum position, commission, times of profit and loss, etc.
Finally, the transaction list is a table indexed by the transaction serial number, showing the signal direction, date and time, price, profit and loss, accumulated profit and loss, maximum transaction profit, transaction loss and other values.
Remarks
Finally, I will explain that this is just the beginning of this model. I will continue to optimize the trading system of the second layer. Various optimization feedback and suggestions are welcome. For valuable feedback, I am willing to provide some L4/L5 technical indicators as rewards for free subscription rights.
[Sextan] Your Indicator SourceLevel: 1
NOTE: This is ONLY an EXAMPLE on HOW-TO produce a customized "{Sextan} PINEv4 Sextans Backtest Framework" intput signal source, you can define your own indicator in the highlighted area in compliance with the uniform format, which guarantee when you use "Indicator on Indicator" function, it would not produce any error.
I use two simple moving average crossings to produce long and short entry signal with SMA3 and SMA8 in the example.
Background
Backtesting of technical indicators and strategies is the most common way to understand a quantitative strategy. However, the complicated configuration and adaptation work of backtesting many quantitative tools makes many traders who do not understand the code daunted. Moreover, although I have written a lot of strategies, I am still not very satisfied with the backtest configuration and writing efficiency. Therefore, I have been thinking about how to build a backtesting framework that can quickly and easily evaluate the backtesting performance of any indicator with a "long/short entry" indicator, that is, a "simple backtesting tool for dummies". The performance requirements should be stable, and the operation should be simple and convenient. It is best to "copy", "paste", and "a few mouse clicks" to complete the quick backtest and evaluation of a new indicator.
Luckily, I recently realized that TradingView provides an "Indicator on Indicator" feature, which is the perfect foundation for doing "hot swap" backtesting. My basic idea is to use a two-layer design. The first layer is the technical indicator signal source that needs to be embedded, which is only used to provide buy and sell signals of custom strategies; the second layer is the trading system, which is used to receive the output signals of the first layer, and filter the signals according to the agreed specifications. , Take Profit, Stop Loss, draw buy and sell signals and cost lines, define and send custom buy and sell alert messages to mobile phones, social software or trading interfaces. In general, this two-layer design is a flexible combination of "death and alive", which can meet the needs of most traders to quickly evaluate the performance of a certain technical indicator. The first layer here is flexible. Users can insert their own strategy codes according to my template, and they can draw buy and sell signals and output them to the second layer. The second layer is fixed, and the overall framework is solidified to ensure the stability and unity of the trading system. It is convenient to compare different or similar strategies under the same conditions. Finally, all trading signals are drawn on the chart, and the output strategy returns. test report.
The main function:
The first layer: "{Sextan} Your Indicator Source", the script provides a template for personalized strategy input, and the signal and definition interfaces ensure full compatibility with the second layer. Backtesting is performed stably in the backtesting framework of the layer. The first layer of this script is also relatively simple: enter your script in the highlighted custom script area, and after ensuring the final buy and sell signals long = bool condition, short = bool condition, the design of the first layer is considered complete. Input it into the PINE script editor of TradingView, save it and add it to the chart, you can see the pulse sequence in yellow (buy) and purple (sell) on the sub-picture, corresponding to the main picture, you can subjectively judge that the quality of the trading point of the strategy is good Bad.
The second layer: "{Sextan} PINEv4 Sextans Backtest Framework". This script is the standardized trading system strategy execution and alarm, used to generate the final report of the strategy backtest and some key indicators that I have customized that I find useful, such as: winning rate , Odds, Winning Surface, Kelly Ratio, Take Profit and Stop Loss Thresholds, Trading Frequency, etc. are evaluated according to the Kelly formula. To use the second layer, first load it into the TrainingView chart, no markers will appear on the chart, since you have not specified any strategy source signals, click on the gear-shaped setting next to the "{Sextan} PINEv4 Sextans BTFW" header button, you can open the backtest settings, the first item is to select your custom strategy source. Because we have added the strategy source to the chart in the previous step, you can easily find an option "{Sextan} Your Indicator Source: Signal" at the bottom of the list, this is the strategy source input we need, select and confirm , you can see various markers on the main graph, and quickly generate a backtesting profit graph and a list of backtesting reports. You can generate files and download the backtesting reports locally. You can also click the gear on the backtest chart interface to customize some conditions of the backtest, including: initial capital amount, currency type, percentage of each order placed, amount of pyramid additions, commission fees, slippage, etc. configuration. Note: The configuration in the interface dialog overrides the same configuration implemented by the code in the backtest script.
How to output charts:
The first layer: "{Sextan} Your Indicator Source", the output of this script is the pulse value of yellow and purple, yellow +1 means buy, purple -1 means sell.
The second layer: PINEv4 Sextans Backtest Framework". The output of this script is a bit complicated. After all, it is the entire trading system with a lot of information:
1. Blue and red arrows. The blue upward arrow indicates long position, the red downward arrow indicates short position, and the horizontal bar at the end of the purple arrow indicates take profit or stop loss exit.
2. Red and green lines. This is the holding cost line of the strategy, green represents the cost of holding a long position, and red represents the cost of holding a short position. The cost line is a continuous solid line and the price action is relatively close.
3. Green and yellow long take profit and stop loss area and green and yellow long take profit and stop loss fork. Once a long position is held, there is a conditional order for take profit and stop loss. The green horizontal line is the long take profit ratio line, and the yellow is the long stop loss ratio line; the green cross indicates the long take profit price, and the yellow cross indicates the long position. Stop loss price. It's worth noting that the prongs and wires don't necessarily go together. Because of the optimization of the algorithm, for a strong market, the take profit will occur after breaking the take profit line, and the profit will not be taken until the price falls.
4. The purple and red short take profit and stop loss area and the purple red short stop loss fork. Once a short position is held, there will be a take profit and stop loss conditional order, the red is the short take profit ratio line, and the purple is the short stop loss ratio line; the red cross indicates the short take profit price, and the purple cross indicates the short stop loss price.
5. In addition to the above signs, there are also text and numbers indicating the profit and loss values of long and short positions. "L" means long; "S" means short; "XL" means close long; "XS" means close short.
TradingView Strategy Tester Panel:
The overview graph is an intuitive graph that plots the blue (gain) and red (loss) curves of all backtest periods together, and notes: the absolute value and percentage of net profit, the number of all closed positions, the winning percentage, the profit factor, The maximum trading loss, the absolute value and ratio of the average trading profit and loss, and the average number of K-lines held in all trades.
Another is the performance summary. This is to display all long and short statistical indicators of backtesting in the form of a list, such as: net profit, gross profit, Sharpe ratio, maximum position, commission, times of profit and loss, etc.
Finally, the transaction list is a table indexed by the transaction serial number, showing the signal direction, date and time, price, profit and loss, accumulated profit and loss, maximum transaction profit, transaction loss and other values.
Remarks
Finally, I will explain that this is just the beginning of this model. I will continue to optimize the trading system of the second layer. Various optimization feedback and suggestions are welcome. For valuable feedback, I am willing to provide some L4/L5 technical indicators as rewards for free subscription rights.
taLibrary "ta"
█ OVERVIEW
This library holds technical analysis functions calculating values for which no Pine built-in exists.
Look first. Then leap.
█ FUNCTIONS
cagr(entryTime, entryPrice, exitTime, exitPrice)
It calculates the "Compound Annual Growth Rate" between two points in time. The CAGR is a notional, annualized growth rate that assumes all profits are reinvested. It only takes into account the prices of the two end points — not drawdowns, so it does not calculate risk. It can be used as a yardstick to compare the performance of two instruments. Because it annualizes values, the function requires a minimum of one day between the two end points (annualizing returns over smaller periods of times doesn't produce very meaningful figures).
Parameters:
entryTime : The starting timestamp.
entryPrice : The starting point's price.
exitTime : The ending timestamp.
exitPrice : The ending point's price.
Returns: CAGR in % (50 is 50%). Returns `na` if there is not >=1D between `entryTime` and `exitTime`, or until the two time points have not been reached by the script.
█ v2, Mar. 8, 2022
Added functions `allTimeHigh()` and `allTimeLow()` to find the highest or lowest value of a source from the first historical bar to the current bar. These functions will not look ahead; they will only return new highs/lows on the bar where they occur.
allTimeHigh(src)
Tracks the highest value of `src` from the first historical bar to the current bar.
Parameters:
src : (series int/float) Series to track. Optional. The default is `high`.
Returns: (float) The highest value tracked.
allTimeLow(src)
Tracks the lowest value of `src` from the first historical bar to the current bar.
Parameters:
src : (series int/float) Series to track. Optional. The default is `low`.
Returns: (float) The lowest value tracked.
█ v3, Sept. 27, 2022
This version includes the following new functions:
aroon(length)
Calculates the values of the Aroon indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
Returns: ( [float, float ]) A tuple of the Aroon-Up and Aroon-Down values.
coppock(source, longLength, shortLength, smoothLength)
Calculates the value of the Coppock Curve indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
longLength (simple int) : (simple int) Number of bars for the fast ROC value (length).
shortLength (simple int) : (simple int) Number of bars for the slow ROC value (length).
smoothLength (simple int) : (simple int) Number of bars for the weigted moving average value (length).
Returns: (float) The oscillator value.
dema(source, length)
Calculates the value of the Double Exponential Moving Average (DEMA).
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The double exponentially weighted moving average of the `source`.
dema2(src, length)
An alternate Double Exponential Moving Average (Dema) function to `dema()`, which allows a "series float" length argument.
Parameters:
src : (series int/float) Series of values to process.
length : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The double exponentially weighted moving average of the `src`.
dm(length)
Calculates the value of the "Demarker" indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
Returns: (float) The oscillator value.
donchian(length)
Calculates the values of a Donchian Channel using `high` and `low` over a given `length`.
Parameters:
length (int) : (series int) Number of bars (length).
Returns: ( [float, float, float ]) A tuple containing the channel high, low, and median, respectively.
ema2(src, length)
An alternate ema function to the `ta.ema()` built-in, which allows a "series float" length argument.
Parameters:
src : (series int/float) Series of values to process.
length : (series int/float) Number of bars (length).
Returns: (float) The exponentially weighted moving average of the `src`.
eom(length, div)
Calculates the value of the Ease of Movement indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
div (simple int) : (simple int) Divisor used for normalzing values. Optional. The default is 10000.
Returns: (float) The oscillator value.
frama(source, length)
The Fractal Adaptive Moving Average (FRAMA), developed by John Ehlers, is an adaptive moving average that dynamically adjusts its lookback period based on fractal geometry.
Parameters:
source (float) : (series int/float) Series of values to process.
length (int) : (series int) Number of bars (length).
Returns: (float) The fractal adaptive moving average of the `source`.
ft(source, length)
Calculates the value of the Fisher Transform indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Number of bars (length).
Returns: (float) The oscillator value.
ht(source)
Calculates the value of the Hilbert Transform indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
Returns: (float) The oscillator value.
ichimoku(conLength, baseLength, senkouLength)
Calculates values of the Ichimoku Cloud indicator, including tenkan, kijun, senkouSpan1, senkouSpan2, and chikou. NOTE: offsets forward or backward can be done using the `offset` argument in `plot()`.
Parameters:
conLength (int) : (series int) Length for the Conversion Line (Tenkan). The default is 9 periods, which returns the mid-point of the 9 period Donchian Channel.
baseLength (int) : (series int) Length for the Base Line (Kijun-sen). The default is 26 periods, which returns the mid-point of the 26 period Donchian Channel.
senkouLength (int) : (series int) Length for the Senkou Span 2 (Leading Span B). The default is 52 periods, which returns the mid-point of the 52 period Donchian Channel.
Returns: ( [float, float, float, float, float ]) A tuple of the Tenkan, Kijun, Senkou Span 1, Senkou Span 2, and Chikou Span values. NOTE: by default, the senkouSpan1 and senkouSpan2 should be plotted 26 periods in the future, and the Chikou Span plotted 26 days in the past.
ift(source)
Calculates the value of the Inverse Fisher Transform indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
Returns: (float) The oscillator value.
kvo(fastLen, slowLen, trigLen)
Calculates the values of the Klinger Volume Oscillator.
Parameters:
fastLen (simple int) : (simple int) Length for the fast moving average smoothing parameter calculation.
slowLen (simple int) : (simple int) Length for the slow moving average smoothing parameter calculation.
trigLen (simple int) : (simple int) Length for the trigger moving average smoothing parameter calculation.
Returns: ( [float, float ]) A tuple of the KVO value, and the trigger value.
pzo(length)
Calculates the value of the Price Zone Oscillator.
Parameters:
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
rms(source, length)
Calculates the Root Mean Square of the `source` over the `length`.
Parameters:
source (float) : (series int/float) Series of values to process.
length (int) : (series int) Number of bars (length).
Returns: (float) The RMS value.
rwi(length)
Calculates the values of the Random Walk Index.
Parameters:
length (simple int) : (simple int) Lookback and ATR smoothing parameter length.
Returns: ( [float, float ]) A tuple of the `rwiHigh` and `rwiLow` values.
stc(source, fast, slow, cycle, d1, d2)
Calculates the value of the Schaff Trend Cycle indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
fast (simple int) : (simple int) Length for the MACD fast smoothing parameter calculation.
slow (simple int) : (simple int) Length for the MACD slow smoothing parameter calculation.
cycle (simple int) : (simple int) Number of bars for the Stochastic values (length).
d1 (simple int) : (simple int) Length for the initial %D smoothing parameter calculation.
d2 (simple int) : (simple int) Length for the final %D smoothing parameter calculation.
Returns: (float) The oscillator value.
stochFull(periodK, smoothK, periodD)
Calculates the %K and %D values of the Full Stochastic indicator.
Parameters:
periodK (simple int) : (simple int) Number of bars for Stochastic calculation. (length).
smoothK (simple int) : (simple int) Number of bars for smoothing of the %K value (length).
periodD (simple int) : (simple int) Number of bars for smoothing of the %D value (length).
Returns: ( [float, float ]) A tuple of the slow %K and the %D moving average values.
stochRsi(lengthRsi, periodK, smoothK, periodD, source)
Calculates the %K and %D values of the Stochastic RSI indicator.
Parameters:
lengthRsi (simple int) : (simple int) Length for the RSI smoothing parameter calculation.
periodK (simple int) : (simple int) Number of bars for Stochastic calculation. (length).
smoothK (simple int) : (simple int) Number of bars for smoothing of the %K value (length).
periodD (simple int) : (simple int) Number of bars for smoothing of the %D value (length).
source (float) : (series int/float) Series of values to process. Optional. The default is `close`.
Returns: ( [float, float ]) A tuple of the slow %K and the %D moving average values.
supertrend(factor, atrLength, wicks)
Calculates the values of the SuperTrend indicator with the ability to take candle wicks into account, rather than only the closing price.
Parameters:
factor (float) : (series int/float) Multiplier for the ATR value.
atrLength (simple int) : (simple int) Length for the ATR smoothing parameter calculation.
wicks (simple bool) : (simple bool) Condition to determine whether to take candle wicks into account when reversing trend, or to use the close price. Optional. Default is false.
Returns: ( [float, int ]) A tuple of the superTrend value and trend direction.
szo(source, length)
Calculates the value of the Sentiment Zone Oscillator.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
t3(source, length, vf)
Calculates the value of the Tilson Moving Average (T3).
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
vf (simple float) : (simple float) Volume factor. Affects the responsiveness.
Returns: (float) The Tilson moving average of the `source`.
t3Alt(source, length, vf)
An alternate Tilson Moving Average (T3) function to `t3()`, which allows a "series float" `length` argument.
Parameters:
source (float) : (series int/float) Series of values to process.
length (float) : (series int/float) Length for the smoothing parameter calculation.
vf (simple float) : (simple float) Volume factor. Affects the responsiveness.
Returns: (float) The Tilson moving average of the `source`.
tema(source, length)
Calculates the value of the Triple Exponential Moving Average (TEMA).
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The triple exponentially weighted moving average of the `source`.
tema2(source, length)
An alternate Triple Exponential Moving Average (TEMA) function to `tema()`, which allows a "series float" `length` argument.
Parameters:
source (float) : (series int/float) Series of values to process.
length (float) : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The triple exponentially weighted moving average of the `source`.
trima(source, length)
Calculates the value of the Triangular Moving Average (TRIMA).
Parameters:
source (float) : (series int/float) Series of values to process.
length (int) : (series int) Number of bars (length).
Returns: (float) The triangular moving average of the `source`.
trima2(src, length)
An alternate Triangular Moving Average (TRIMA) function to `trima()`, which allows a "series int" length argument.
Parameters:
src : (series int/float) Series of values to process.
length : (series int) Number of bars (length).
Returns: (float) The triangular moving average of the `src`.
trix(source, length, signalLength, exponential)
Calculates the values of the TRIX indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
signalLength (simple int) : (simple int) Length for smoothing the signal line.
exponential (simple bool) : (simple bool) Condition to determine whether exponential or simple smoothing is used. Optional. The default is `true` (exponential smoothing).
Returns: ( [float, float, float ]) A tuple of the TRIX value, the signal value, and the histogram.
uo(fastLen, midLen, slowLen)
Calculates the value of the Ultimate Oscillator.
Parameters:
fastLen (simple int) : (series int) Number of bars for the fast smoothing average (length).
midLen (simple int) : (series int) Number of bars for the middle smoothing average (length).
slowLen (simple int) : (series int) Number of bars for the slow smoothing average (length).
Returns: (float) The oscillator value.
vhf(source, length)
Calculates the value of the Vertical Horizontal Filter.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Number of bars (length).
Returns: (float) The oscillator value.
vi(length)
Calculates the values of the Vortex Indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
Returns: ( [float, float ]) A tuple of the viPlus and viMinus values.
vzo(length)
Calculates the value of the Volume Zone Oscillator.
Parameters:
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
williamsFractal(period)
Detects Williams Fractals.
Parameters:
period (int) : (series int) Number of bars (length).
Returns: ( [bool, bool ]) A tuple of an up fractal and down fractal. Variables are true when detected.
wpo(length)
Calculates the value of the Wave Period Oscillator.
Parameters:
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
█ v7, Nov. 2, 2023
This version includes the following new and updated functions:
atr2(length)
An alternate ATR function to the `ta.atr()` built-in, which allows a "series float" `length` argument.
Parameters:
length (float) : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The ATR value.
changePercent(newValue, oldValue)
Calculates the percentage difference between two distinct values.
Parameters:
newValue (float) : (series int/float) The current value.
oldValue (float) : (series int/float) The previous value.
Returns: (float) The percentage change from the `oldValue` to the `newValue`.
donchian(length)
Calculates the values of a Donchian Channel using `high` and `low` over a given `length`.
Parameters:
length (int) : (series int) Number of bars (length).
Returns: ( [float, float, float ]) A tuple containing the channel high, low, and median, respectively.
highestSince(cond, source)
Tracks the highest value of a series since the last occurrence of a condition.
Parameters:
cond (bool) : (series bool) A condition which, when `true`, resets the tracking of the highest `source`.
source (float) : (series int/float) Series of values to process. Optional. The default is `high`.
Returns: (float) The highest `source` value since the last time the `cond` was `true`.
lowestSince(cond, source)
Tracks the lowest value of a series since the last occurrence of a condition.
Parameters:
cond (bool) : (series bool) A condition which, when `true`, resets the tracking of the lowest `source`.
source (float) : (series int/float) Series of values to process. Optional. The default is `low`.
Returns: (float) The lowest `source` value since the last time the `cond` was `true`.
relativeVolume(length, anchorTimeframe, isCumulative, adjustRealtime)
Calculates the volume since the last change in the time value from the `anchorTimeframe`, the historical average volume using bars from past periods that have the same relative time offset as the current bar from the start of its period, and the ratio of these volumes. The volume values are cumulative by default, but can be adjusted to non-accumulated with the `isCumulative` parameter.
Parameters:
length (simple int) : (simple int) The number of periods to use for the historical average calculation.
anchorTimeframe (simple string) : (simple string) The anchor timeframe used in the calculation. Optional. Default is "D".
isCumulative (simple bool) : (simple bool) If `true`, the volume values will be accumulated since the start of the last `anchorTimeframe`. If `false`, values will be used without accumulation. Optional. The default is `true`.
adjustRealtime (simple bool) : (simple bool) If `true`, estimates the cumulative value on unclosed bars based on the data since the last `anchor` condition. Optional. The default is `false`.
Returns: ( [float, float, float ]) A tuple of three float values. The first element is the current volume. The second is the average of volumes at equivalent time offsets from past anchors over the specified number of periods. The third is the ratio of the current volume to the historical average volume.
rma2(source, length)
An alternate RMA function to the `ta.rma()` built-in, which allows a "series float" `length` argument.
Parameters:
source (float) : (series int/float) Series of values to process.
length (float) : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The rolling moving average of the `source`.
supertrend2(factor, atrLength, wicks)
An alternate SuperTrend function to `supertrend()`, which allows a "series float" `atrLength` argument.
Parameters:
factor (float) : (series int/float) Multiplier for the ATR value.
atrLength (float) : (series int/float) Length for the ATR smoothing parameter calculation.
wicks (simple bool) : (simple bool) Condition to determine whether to take candle wicks into account when reversing trend, or to use the close price. Optional. Default is `false`.
Returns: ( [float, int ]) A tuple of the superTrend value and trend direction.
vStop(source, atrLength, atrFactor)
Calculates an ATR-based stop value that trails behind the `source`. Can serve as a possible stop-loss guide and trend identifier.
Parameters:
source (float) : (series int/float) Series of values that the stop trails behind.
atrLength (simple int) : (simple int) Length for the ATR smoothing parameter calculation.
atrFactor (float) : (series int/float) The multiplier of the ATR value. Affects the maximum distance between the stop and the `source` value. A value of 1 means the maximum distance is 100% of the ATR value. Optional. The default is 1.
Returns: ( [float, bool ]) A tuple of the volatility stop value and the trend direction as a "bool".
vStop2(source, atrLength, atrFactor)
An alternate Volatility Stop function to `vStop()`, which allows a "series float" `atrLength` argument.
Parameters:
source (float) : (series int/float) Series of values that the stop trails behind.
atrLength (float) : (series int/float) Length for the ATR smoothing parameter calculation.
atrFactor (float) : (series int/float) The multiplier of the ATR value. Affects the maximum distance between the stop and the `source` value. A value of 1 means the maximum distance is 100% of the ATR value. Optional. The default is 1.
Returns: ( [float, bool ]) A tuple of the volatility stop value and the trend direction as a "bool".
Removed Functions:
allTimeHigh(src)
Tracks the highest value of `src` from the first historical bar to the current bar.
allTimeLow(src)
Tracks the lowest value of `src` from the first historical bar to the current bar.
trima2(src, length)
An alternate Triangular Moving Average (TRIMA) function to `trima()`, which allows a
"series int" length argument.
Direction&Strength Indicator
This simple Indicator shows:
(1) The D irection of a trend
(2) The S trength of a trend
hence the name "Direction & Strength Indicator.
How to read this Indicator:
Indicator above "resistance area" => strong UP trend
Indicator above 0 .................. => weak UP trend
Indicator below 0 .................. => weak DOWN trend
Indicator below "resistance area" => strong DOWN trend
Notice that this is a time-lagging indicator. Severity of timelag depends on set period of the indicator!
You can also identify overbought and oversold areas. (Tip: Compare to RSI.)
Volume Accumulation Percentage Indicator (0-100)This indicator is the same as LazyBear's indicator with the same title. I simplified it and changed the range to 0-100 so that it can be stacked with RSI indicator. 50 cross is the equivalent of zero cross in the original indicator.
PS: Drag and drop the indicator on RSI for stacking. Go to the settings and scale it to right.
More explanation on the original indicator:
v2.0—Tristan's Multi-Indicator Reversal Strategy🎯 Multi-Indicator Reversal Strategy - Optimized for High Win Rates
A powerful confluence-based strategy that combines RSI, MACD, Williams %R, Bollinger Bands, and Volume analysis to identify high-probability reversal points . Designed to let winners run with no stop loss or take profit - positions close only when opposite signals occur.
Also, the 3 hour timeframe works VERY well—just a lot less trades.
📈 Proven Performance
This strategy has been backtested and optimized on multiple blue-chip stocks with 80-90%+ win rates on 1-hour timeframes from Aug 2025 through Oct 2025:
✅ V (Visa) - Payment processor
✅ MSFT (Microsoft) - Large-cap tech
✅ WMT (Walmart) - Retail leader
✅ IWM (Russell 2000 ETF) - Small-cap index
✅ NOW (ServiceNow) - Enterprise software
✅ WM (Waste Management) - Industrial services
These stocks tend to mean-revert at extremes, making them ideal candidates for this reversal-based approach. I only list these as a way to show you the performance of the script. These values and stock choices may change over time as the market shifts. Keep testing!
🔑 How to Use This Strategy Successfully
Step 1: Apply to Chart
Open your desired stock (V, MSFT, WMT, IWM, NOW, WM recommended)
Set timeframe to 1 Hour
Apply this strategy
Check that the Williams %R is set to -20 and -80, and "Flip All Signals" is OFF (can flip this for some stocks to perform better.)
Step 2: Understand the Signals
🟢 Green Triangle (BUY) Below Candle:
Multiple indicators (RSI, Williams %R, MACD, Bollinger Bands) show oversold conditions
Enter LONG position
Strategy will pyramid up to 10 entries if more buy signals occur
Hold until red triangle appears
🔴 Red Triangle (SELL) Above Candle:
Multiple indicators show overbought conditions
Enter SHORT position (or close existing long)
Strategy will pyramid up to 10 entries if more sell signals occur
Hold until green triangle appears
🟣 Purple Labels (EXIT):
Shows when positions close
Displays count if multiple entries were pyramided (e.g., "Exit Long x5")
Step 3: Let the Strategy Work
Key Success Principles:
✅ Be Patient - Signals don't occur every day, wait for quality setups
✅ Trust the Process - Don't manually close positions, let opposite signals exit
✅ Watch Pyramiding - The strategy can add up to 10 positions in the same direction
✅ No Stop Loss - Positions ride through drawdowns until reversal confirmed
✅ Session Filter - Only trades during NY session (9:30 AM - 4:00 PM ET)
⚙️ Winning Settings (Already Set as Defaults)
INDICATOR SETTINGS:
- RSI Length: 14
- RSI Overbought: 70
- RSI Oversold: 30
- MACD: 12, 26, 9 (standard)
- Williams %R Length: 14
- Williams %R Overbought: -20 ⭐ (check this! And adjust to your liking)
- Williams %R Oversold: -80 ⭐ (check this! And adjust to your liking)
- Bollinger Bands: 20, 2.0
- Volume MA: 20 periods
- Volume Multiplier: 1.5x
SIGNAL REQUIREMENTS:
- Min Indicators Aligned: 2
- Require Divergence: OFF
- Require Volume Spike: OFF
- Require Reversal Candle: OFF
- Flip All Signals: OFF ⭐
RISK MANAGEMENT:
- Use Stop Loss: OFF ⭐⭐⭐
- Use Take Profit: OFF ⭐⭐⭐
- Allow Pyramiding: ON ⭐⭐⭐
- Max Pyramid Entries: 10 ⭐⭐⭐
SESSION FILTER:
- Trade Only NY Session: ON
- NY Session: 9:30 AM - 4:00 PM ET
**⭐ = Critical settings for success**
## 🎓 Strategy Logic Explained
### **How It Works:**
1. **Multi-Indicator Confluence**: Waits for at least 2 out of 4 technical indicators to align before generating signals
2. **Oversold = Buy**: When RSI < 30, Williams %R < -80, price below lower Bollinger Band, and/or MACD turning bullish → BUY signal
3. **Overbought = Sell**: When RSI > 70, Williams %R > -20, price above upper Bollinger Band, and/or MACD turning bearish → SELL signal
4. **Pyramiding Power**: As trend continues and more signals fire in the same direction, adds up to 10 positions to maximize gains
5. **Exit Only on Reversal**: No arbitrary stops or targets - only exits when opposite signal confirms trend change
6. **Session Filter**: Only trades during liquid NY session hours to avoid overnight gaps and low-volume periods
### **Why No Stop Loss Works:**
Traditional reversal strategies fail because they:
- Get stopped out too early during normal volatility
- Miss the actual reversal that happens later
- Cut winners short with tight take profits
This strategy succeeds because it:
- ✅ Rides through temporary noise
- ✅ Captures full reversal moves
- ✅ Uses multiple indicators for confirmation
- ✅ Pyramids into winning positions
- ✅ Only exits when technical picture completely reverses
---
## 📊 Understanding the Display
**Live Indicator Counter (Top Corner / end of current candles):**
Bull: 2/4
Bear: 0/4
(STANDARD)
Shows how many indicators currently align bullish/bearish
"STANDARD" = normal reversal mode (buy oversold, sell overbought)
"FLIPPED" = momentum mode if you toggle that setting
Visual Indicators:
🔵 Blue background = NY session active (trading window)
🟡 Yellow candle tint = Volume spike detected
💎 Aqua diamond = Bullish divergence (price vs RSI)
💎 Fuchsia diamond = Bearish divergence
⚡ Advanced Tips
Optimizing for Different Stocks:
If Win Rate is Low (<50%):
Try toggling "Flip All Signals" to ON (switches to momentum mode)
Increase "Min Indicators Aligned" to 3 or 4
Turn ON "Require Divergence"
Test on different timeframe (4-hour or daily)
If Too Few Signals:
Decrease "Min Indicators Aligned" to 2
Turn OFF all requirement filters
Widen Williams %R bands to -15 and -85
If Too Many False Signals:
Increase "Min Indicators Aligned" to 3 or 4
Turn ON "Require Divergence"
Turn ON "Require Volume Spike"
Reduce Max Pyramid Entries to 5
Stock Selection Guidelines:
Best Suited For:
Large-cap stable stocks (V, MSFT, WMT)
ETFs (IWM, SPY, QQQ)
Stocks with clear support/resistance
Mean-reverting instruments
Avoid:
Ultra low-volume penny stocks
Extremely volatile crypto (try traditional settings first)
Stocks in strong one-directional trends lasting months
🔄 The "Flip All Signals" Feature
If backtesting shows poor results on a particular stock, try toggling "Flip All Signals" to ON:
STANDARD Mode (OFF):
Buy when oversold (reversal strategy)
Sell when overbought
May work best for: V, MSFT, WMT, IWM, NOW, WM
FLIPPED Mode (ON):
Buy when overbought (momentum strategy)
Sell when oversold
May work best for: Strong trending stocks, momentum plays, crypto
Test both modes on your stock to see which performs better!
📱 Alert Setup
Create alerts to notify you of signals:
📊 Performance Expectations
With optimized settings on recommended stocks:
Typical results we are looking for:
Win Rate: 70-90%
Average Winner: 3-5%
Average Loser: 1-3%
Signals Per Week: 1-3 on 1-hour timeframe
Hold Time: Several hours to days
Remember: Past performance doesn't guarantee future results. Always use proper risk management.
COT Index Indicator 1) One‑liner
My version of the OTC COT Index indicator: a 0–120 oscillator built from CFTC COT data that shows where Commercial, Noncommercial, and Nonreportable net positions sit relative to recent extremes.
2) Short paragraph
This is my version of the OTC COT Index indicator. It converts CFTC Commitments of Traders (COT) net positions into a normalized 0–120 oscillator for each trader group—Commercials, Noncommercials, and Nonreportables—so you can quickly see when positioning is near recent highs or lows. Data comes from TradingView’s official COT library and supports both “Futures Only” and “Futures and Options” reports.
3) Compact bullets
What: My version of the OTC COT Index indicator
Why: Quickly spot when trader groups are near positioning extremes
Data: CFTC COT via TradingView/LibraryCOT/2; Futures Only or Futures & Options
How: Index = 120 × (Current − Min) ÷ (Max − Min) over a configurable lookback
Plots: Commercials (blue), Noncommercials (orange), Nonreportables (red)
Lines: Overbought, Midline, Oversold, optional 0/100, upper/lower bounds
Note: Values are relative to the chosen window; not trading advice
4) Publication‑ready (sections)
Overview
My version of the OTC COT Index indicator. It turns CFTC COT positioning into a 0–120 oscillator per trader group (Commercials, Noncommercials, Nonreportables) to highlight relative extremes.
Data source
CFTC Commitments of Traders via TradingView’s official library (TradingView/LibraryCOT/2).
Supports “Futures Only” and “Futures and Options.”
Method
Net positions = Longs − Shorts.
Index = 120 × (Current Net − Min(Net, Lookback)) ÷ (Max(Net, Lookback) − Min(Net, Lookback)).
Inputs
Weeks Look Back (normalization window)
Weeks Look Back for Historical Hi/Los (longer reference)
Report Type selection
Visuals
Three indexes by trader group, plus reference levels (OB/OS, Midline, optional 0/100).
Notes
Some symbols map to specific CFTC codes for reliability.
If no relevant COT data exists for the symbol, the script reports it clearly.
If you want this adapted to a specific platform’s character limits (e.g., TradingView’s publish dialog), tell me the target length and I’ll trim it to fit.
IU Indicators DashboardDESCRIPTION
The IU Indicators Dashboard is a comprehensive multi-stock monitoring tool that provides real-time technical analysis for up to 10 different stocks simultaneously. This powerful indicator creates a customizable table overlay that displays the trend status of multiple technical indicators across your selected stocks, giving you an instant overview of market conditions without switching between charts.
Perfect for portfolio monitoring, sector analysis, and quick market screening, this dashboard consolidates critical technical data into one easy-to-read interface with color-coded trend signals.
USER INPUTS
Stock Selection (10 Configurable Stocks):
- Stock 1-10: Customize any symbols (Default: NSE:CDSL, NSE:RELIANCE, NSE:VEDL, NSE:TCS, NSE:BEL, NSE:BHEL, NSE:TATAPOWER, NSE:TATASTEEL, NSE:ITC, NSE:LT)
Technical Indicator Parameters:
- EMA 1 Length: First Exponential Moving Average period (Default: 20)
- EMA 2 Length: Second Exponential Moving Average period (Default: 50)
- EMA 3 Length: Third Exponential Moving Average period (Default: 200)
- RSI Length: Relative Strength Index calculation period (Default: 14)
- SuperTrend Length: SuperTrend indicator period (Default: 10)
- SuperTrend Factor: SuperTrend multiplier factor (Default: 3.0)
Visual Customization:
- Table Size: Choose from Normal, Tiny, Small, or Large
- Table Background Color: Customize dashboard background
- Table Frame Color: Set frame border color
- Table Border Color: Configure border styling
- Text Color: Set text display color
- Bullish Color: Color for positive/bullish signals (Default: Green)
- Bearish Color: Color for negative/bearish signals (Default: Red)
LOGIC OF THE INDICATOR
The dashboard employs a multi-timeframe analysis approach using five key technical indicators:
1. Triple EMA Analysis
- Compares current price against three different EMA periods (20, 50, 200)
- Bullish Signal: Price above EMA level
- Bearish Signal: Price below EMA level
- Provides short-term, medium-term, and long-term trend perspective
2. RSI Momentum Analysis
- Uses 14-period RSI with 50-level threshold
- Bullish Signal: RSI > 50 (upward momentum)
- Bearish Signal: RSI < 50 (downward momentum)
- Identifies momentum strength and potential reversals
3. SuperTrend Direction
- Utilizes SuperTrend with configurable length and factor
- Bullish Signal: SuperTrend direction = -1 (uptrend)
- Bearish Signal: SuperTrend direction = 1 (downtrend)
- Provides clear trend direction with volatility-adjusted signals
4. MACD Histogram Analysis
- Uses standard MACD (12, 26, 9) histogram values
- Bullish Signal: Histogram > 0 (bullish momentum)
- Bearish Signal: Histogram < 0 (bearish momentum)
- Identifies momentum shifts and trend confirmations
5. Real-time Data Processing
- Implements request.security() for multi-symbol data retrieval
- Uses barstate.isrealtime logic for accurate live data
- Processes data only on the last bar for optimal performance
WHY IT IS UNIQUE
Multi-Stock Monitoring
- Monitor up to 10 different stocks simultaneously on a single chart
- No need to switch between multiple charts or timeframes
Highly Customizable Interface
- Full color customization for personalized visual experience
- Adjustable table size and positioning
- Clean, professional dashboard design
Real-time Analysis
- Live data processing with proper real-time handling
- Instant visual feedback through color-coded signals
- Optimized performance with smart data retrieval
Comprehensive Technical Coverage
- Combines trend-following, momentum, and volatility indicators
- Multiple timeframe perspective through different EMA periods
- Balanced approach using both lagging and leading indicators
Flexible Configuration
- Easy symbol switching for different markets (NSE, BSE, NYSE, NASDAQ)
- Adjustable indicator parameters for different trading styles
- Suitable for both swing trading and position trading
HOW USERS CAN BENEFIT FROM IT
Portfolio Management
- Quick Portfolio Health Check: Instantly assess the technical status of your entire stock portfolio
- Diversification Analysis: Monitor stocks across different sectors to ensure balanced exposure
- Risk Management: Identify which positions are showing bearish signals for potential exit strategies
- Rebalancing Decisions: Spot strongest performers for potential position increases
Market Screening and Analysis
- Sector Rotation: Compare different sector stocks to identify rotation opportunities
- Relative Strength Analysis: Quickly identify which stocks are outperforming or underperforming
- Market Breadth Assessment: Gauge overall market sentiment by monitoring diverse stock selections
- Trend Confirmation: Validate market trends by observing multiple stock behaviors
Time-Efficient Trading
- Single-Glance Analysis: Get complete technical overview without chart-hopping
- Pre-Market Preparation: Quickly assess overnight changes across multiple positions
- Intraday Monitoring: Track multiple opportunities simultaneously during trading hours
- End-of-Day Review: Efficiently review all watched stocks for next-day planning
Strategic Decision Making
- Entry Point Identification: Spot stocks showing bullish alignment across multiple indicators
- Exit Signal Recognition: Identify positions showing deteriorating technical conditions
- Swing Trading Opportunities: Find stocks with favorable technical setups for swing trades
- Long-term Investment Guidance: Use 200 EMA signals for long-term position decisions
Educational Benefits
- Pattern Recognition: Learn how different indicators behave across various market conditions
- Correlation Analysis: Understand how stocks move relative to each other
- Technical Analysis Learning: Observe multiple indicator interactions in real-time
- Market Sentiment Understanding: Develop better market timing skills through multi-stock observation
Workflow Optimization
- Reduced Chart Clutter: Keep your main chart clean while monitoring multiple stocks
- Faster Analysis: Complete technical analysis of 10 stocks in seconds instead of minutes
- Consistent Methodology: Apply the same technical criteria across all monitored stocks
- Alert Integration: Easy visual identification of stocks requiring immediate attention
This indicator is designed for traders and investors who want to maximize their market awareness while minimizing analysis time. Whether you're managing a portfolio, screening for opportunities, or learning technical analysis, the IU Indicators Dashboard provides the comprehensive overview you need for better trading decisions.
DISCLAIMER :
This indicator is not financial advice, it's for educational purposes only highlighting the power of coding( pine script) in TradingView, I am not a SEBI-registered advisor. Trading and investing involve risk, and you should consult with a qualified financial advisor before making any trading decisions. I do not guarantee profits or take responsibility for any losses you may incur.
Nifty50 Swing Trading Super Indicator# 🚀 Nifty50 Swing Trading Super Indicator - Complete Guide
**Created by:** Gaurav
**Date:** August 8, 2025
**Version:** 1.0 - Optimized for Indian Markets
---
## 📋 Table of Contents
1. (#quick-start-guide)
2. (#indicator-overview)
3. (#installation-instructions)
4. (#parameter-settings)
5. (#signal-interpretation)
6. (#trading-strategy)
7. (#risk-management)
8. (#optimization-tips)
9. (#troubleshooting)
---
## 🎯 Quick Start Guide
### What You Get
✅ **2 Complete Pine Script Indicators:**
- `swing_trading_super_indicator.pine` - Universal version for all markets
- `nifty_optimized_super_indicator.pine` - Specifically optimized for Nifty50 & Indian stocks
✅ **Key Features:**
- Multi-component signal confirmation system
- Optimized for daily and 3-hour timeframes
- Built-in risk management with dynamic stops and targets
- Real-time signal strength monitoring
- Gap analysis for Indian market characteristics
### Immediate Setup
1. Copy the Pine Script code from `nifty_optimized_super_indicator.pine`
2. Paste into TradingView Pine Editor
3. Add to chart on daily or 3-hour timeframe
4. Look for 🚀BUY and 🔻SELL signals
5. Use the information table for signal confirmation
---
## 🔍 Indicator Overview
### Core Components Integration
**🎯 Range Filter (35% Weight)**
- Primary trend identification using adaptive volatility filtering
- Optimized sampling period: 21 bars for Indian market volatility
- Enhanced range multiplier: 3.0 to handle market gaps
- Provides trend direction and strength measurement
**⚡ PMAX (30% Weight)**
- Volatility-adjusted trend confirmation using ATR-based calculations
- Dynamic multiplier adjustment based on market volatility
- 14-period ATR with 2.5 multiplier for swing trading sensitivity
- Offers trailing stop functionality
**🏗️ Support/Resistance (20% Weight)**
- Dynamic level identification using pivot point analysis
- Tighter channel width (3%) for precise Indian market levels
- Enhanced strength calculation with historical interaction weighting
- Provides entry/exit timing and breakout signals
**📊 EMA Alignment (15% Weight)**
- Multi-timeframe moving average confirmation
- Key EMAs: 9, 21, 50, 200 (popular in Indian markets)
- Hierarchical alignment scoring for trend strength
- Additional trend validation layer
### Advanced Features
**🌅 Gap Analysis**
- Automatic detection of significant price gaps (>2%)
- Gap strength measurement and impact on signals
- Specific optimization for Indian market overnight gaps
- Visual gap markers on chart
**⏰ Multi-Timeframe Integration**
- Higher timeframe bias from daily/weekly data
- Configurable daily bias weight (default 70%)
- 3-hour confirmation for precise entry timing
- Prevents counter-trend trades against major timeframe
**🛡️ Risk Management**
- Dynamic stop-loss calculation using multiple methods
- Automatic profit target identification
- Position sizing guidance based on signal strength
- Anti-whipsaw logic to prevent false signals
---
## 📥 Installation Instructions
### Step 1: Access TradingView
1. Open TradingView.com
2. Navigate to Pine Editor (bottom panel)
3. Create a new indicator
### Step 2: Copy the Code
**For Nifty50 & Indian Stocks (Recommended):**
```pinescript
// Copy entire content from nifty_optimized_super_indicator.pine
```
**For Universal Use:**
```pinescript
// Copy entire content from swing_trading_super_indicator.pine
```
### Step 3: Configure and Apply
1. Click "Add to Chart"
2. Select daily or 3-hour timeframe
3. Adjust parameters if needed (defaults are optimized)
4. Enable alerts for signal notifications
### Step 4: Verify Installation
- Check that all components are visible
- Confirm information table appears in top-right
- Test with known trending stocks for signal validation
---
## ⚙️ Parameter Settings
### 🎯 Range Filter Settings
```
Sampling Period: 21 (optimized for Indian market volatility)
Range Multiplier: 3.0 (handles overnight gaps effectively)
Source: Close (most reliable for swing trading)
```
### ⚡ PMAX Settings
```
ATR Length: 14 (standard for daily/3H timeframes)
ATR Multiplier: 2.5 (balanced for swing trading sensitivity)
Moving Average Type: EMA (responsive to price changes)
MA Length: 14 (matches ATR period for consistency)
```
### 🏗️ Support/Resistance Settings
```
Pivot Period: 8 (shorter for Indian market dynamics)
Channel Width: 3% (tighter for precise levels)
Minimum Strength: 3 (higher quality levels only)
Maximum Levels: 4 (focus on strongest levels)
Lookback Period: 150 (sufficient historical data)
```
### 🚀 Super Indicator Settings
```
Signal Sensitivity: 0.65 (balanced for swing trading)
Trend Strength Requirement: 0.75 (high quality signals)
Gap Threshold: 2.0% (significant gap detection)
Daily Bias Weight: 0.7 (strong higher timeframe influence)
```
### 🎨 Display Options
```
Show Range Filter: ✅ (trend visualization)
Show PMAX: ✅ (trailing stops)
Show S/R Levels: ✅ (key price levels)
Show Key EMAs: ✅ (trend confirmation)
Show Signals: ✅ (buy/sell alerts)
Show Trend Background: ✅ (visual trend state)
Show Gap Markers: ✅ (gap identification)
```
---
## 📊 Signal Interpretation
### 🚀 BUY Signals
**Requirements for BUY Signal:**
- Price above Range Filter with upward trend
- PMAX showing bullish direction (MA > PMAX line)
- Support/resistance breakout or favorable positioning
- EMA alignment supporting upward movement
- Higher timeframe bias confirmation
- Overall signal strength > 75%
**Signal Strength Indicators:**
- **90-100%:** Extremely strong - Maximum position size
- **80-89%:** Very strong - Large position size
- **75-79%:** Strong - Standard position size
- **65-74%:** Moderate - Reduced position size
- **<65%:** Weak - Wait for better opportunity
### 🔻 SELL Signals
**Requirements for SELL Signal:**
- Price below Range Filter with downward trend
- PMAX showing bearish direction (MA < PMAX line)
- Resistance breakdown or unfavorable positioning
- EMA alignment supporting downward movement
- Higher timeframe bias confirmation
- Overall signal strength > 75%
### ⚖️ NEUTRAL Signals
**Characteristics:**
- Conflicting signals between components
- Low overall signal strength (<65%)
- Range-bound market conditions
- Wait for clearer directional bias
### 📈 Information Table Guide
**Component Status:**
- **BULL/BEAR:** Current signal direction
- **Strength %:** Component contribution strength
- **Status:** Additional context (STRONG/WEAK/ACTIVE/etc.)
**Overall Signal:**
- **🚀 STRONG BUY:** All systems aligned bullish
- **🔻 STRONG SELL:** All systems aligned bearish
- **⚖️ NEUTRAL:** Mixed or weak signals
---
## 💼 Trading Strategy
### Daily Timeframe Strategy
**Setup:**
1. Apply indicator to daily chart of Nifty50 or Indian stocks
2. Wait for 🚀BUY or 🔻SELL signal with >75% strength
3. Confirm higher timeframe bias alignment
4. Check for significant support/resistance levels
**Entry:**
- Enter on signal bar close or next bar open
- Use 3-hour chart for precise entry timing
- Avoid entries during major news events
- Consider gap analysis for overnight positions
**Position Sizing:**
- **>90% Strength:** 3-4% of portfolio
- **80-89% Strength:** 2-3% of portfolio
- **75-79% Strength:** 1-2% of portfolio
- **<75% Strength:** Avoid or minimal size
### 3-Hour Timeframe Strategy
**Setup:**
1. Confirm daily timeframe bias first
2. Apply indicator to 3-hour chart
3. Look for signals aligned with daily trend
4. Use for entry/exit timing optimization
**Entry Refinement:**
- Wait for 3H signal confirmation
- Enter on pullbacks to key levels
- Use tighter stops for better risk/reward
- Monitor intraday support/resistance
### Risk Management Rules
**Stop Loss Placement:**
1. **Primary:** Use indicator's dynamic stop level
2. **Secondary:** Below/above nearest support/resistance
3. **Maximum:** 2-3% of portfolio per trade
4. **Trailing:** Move stops with PMAX line
**Profit Taking:**
1. **Target 1:** First resistance/support level (50% position)
2. **Target 2:** Second resistance/support level (30% position)
3. **Runner:** Trail remaining 20% with PMAX
**Position Management:**
- Review positions at daily close
- Adjust stops based on new signals
- Exit if trend changes to opposite direction
- Reduce size during high volatility periods
---
## 🎯 Optimization Tips
### For Nifty50 Trading
- Use daily timeframe for primary signals
- Monitor sector rotation impact
- Consider index futures for better liquidity
- Watch for RBI policy and global cues impact
### For Individual Stocks
- Verify stock follows Nifty correlation
- Check sector-specific news and events
- Ensure adequate liquidity for position size
- Monitor earnings calendar for volatility
### Market Condition Adaptations
**Trending Markets:**
- Increase position sizes for strong signals
- Use wider stops to avoid whipsaws
- Focus on trend continuation signals
- Reduce counter-trend trading
**Range-Bound Markets:**
- Reduce position sizes
- Use tighter stops and quicker profits
- Focus on support/resistance bounces
- Increase signal strength requirements
**High Volatility Periods:**
- Reduce overall exposure
- Use smaller position sizes
- Increase stop-loss distances
- Wait for clearer signals
### Performance Monitoring
- Track win rate and average profit/loss
- Monitor signal quality over time
- Adjust parameters based on market changes
- Keep trading journal for pattern recognition
---
## 🔧 Troubleshooting
### Common Issues
**Q: Signals appear too frequently**
A: Increase "Trend Strength Requirement" to 0.8-0.9
**Q: Missing obvious trends**
A: Decrease "Signal Sensitivity" to 0.5-0.6
**Q: Too many false signals**
A: Enable "3H Confirmation" and increase strength requirements
**Q: Indicator not loading**
A: Check Pine Script version compatibility (requires v5)
### Parameter Adjustments
**For More Sensitive Signals:**
- Decrease Signal Sensitivity to 0.5-0.6
- Decrease Trend Strength Requirement to 0.6-0.7
- Increase Range Filter multiplier to 3.5-4.0
**For More Conservative Signals:**
- Increase Signal Sensitivity to 0.7-0.8
- Increase Trend Strength Requirement to 0.8-0.9
- Enable all confirmation features
### Performance Issues
- Reduce lookback periods if chart loads slowly
- Disable some visual elements for better performance
- Use on liquid stocks/indices for best results
---
## 📞 Support & Updates
This super indicator combines the best of Range Filter, PMAX, and Support/Resistance analysis specifically optimized for Indian market swing trading. The multi-component approach significantly improves signal quality while the built-in risk management features help protect capital.
**Remember:** No indicator is 100% accurate. Always combine with proper risk management, market analysis, and your trading experience for best results.
**Happy Trading! 🚀**
XGBoost Approximation Indicator with HTF Filter Ver. 3.2XGBoost Approx Indicator with Higher Timeframe Filter Ver. 3.2
What It Is
The XGBoost Approx Indicator is a technical analysis tool designed to generate trading signals based on a composite of multiple indicators. It combines Simple Moving Average (SMA), Relative Strength Index (RSI), MACD, Rate of Change (ROC), and Volume to create a composite indicator score. Additionally, it incorporates a higher timeframe filter (HTF) to enhance trend confirmation and reduce false signals.
This indicator helps traders identify long (buy) and short (sell) opportunities based on a weighted combination of trend-following and momentum indicators.
How to Use It Properly
Setup and Configuration:
Add the indicator to your TradingView chart.
Customize input settings based on your trading strategy. Key configurable inputs include:
HTF filter (default: 1-hour)
SMA, RSI, MACD, and ROC lengths
Custom weightings for each component
Thresholds for buy and sell signals
Understanding the Signals:
Green "Long" Label: Appears when the composite indicator crosses above the buy threshold, signaling a potential buy opportunity.
Red "Short" Label: Appears when the composite indicator crosses below the sell threshold, signaling a potential sell opportunity.
These signals are filtered by a higher timeframe SMA trend to improve accuracy.
Alerts:
The indicator provides alert conditions for long and short entries.
Traders can enable alerts in TradingView to receive real-time notifications when a new signal is triggered.
Safety and Best Practices
Use in Conjunction with Other Analysis: Do not rely solely on this indicator. Combine it with price action, support/resistance levels, and fundamental analysis for better decision-making.
Adjust Settings for Your Strategy: The default settings may not suit all markets or timeframes. Test different configurations before trading live.
Backtest Before Using in Live Trading: Evaluate the indicator’s past performance on historical data to assess its effectiveness in different market conditions.
Avoid Overtrading: False signals can occur, especially in low volatility or choppy markets. Use additional confirmation (e.g., trendlines or moving averages).
Risk Management: Always set stop-loss levels and position sizes to limit potential losses.
Leading Indicator by Parag RautBreakdown of the Leading Indicator:
Linear Regression (LRC):
A linear regression line is used to estimate the current trend direction. When the price is above or below the regression line, it indicates whether the price is deviating from its mean, signaling potential reversals.
Rate of Change (ROC):
ROC measures the momentum of the price over a set period. By using thresholds (positive or negative), we predict that the price will continue in the same direction if momentum is strong enough.
Leading Indicator Calculation:
We calculate the difference between the price and the linear regression line. This is normalized using the standard deviation of price over the same period, giving us a leading signal based on price divergence from the mean trend.
The leading indicator is used to forecast changes in price behavior by identifying when the price is either stretched too far from the mean (indicating a potential reversal) or showing strong momentum in a particular direction (predicting trend continuation).
Buy and Sell Signals:
Buy Signal: Generated when ROC is above a threshold and the leading indicator shows the price is above the regression line.
Sell Signal: Generated when ROC is below a negative threshold and the leading indicator shows the price is below the regression line.
Visual Representation:
The indicator oscillates around zero. Values above zero signal potential upward price movements, while values below zero signal potential downward movements.
Background colors highlight potential buy (green) and sell (red) areas based on our conditions.
How It Works as a Leading Indicator:
This indicator attempts to predict price movements before they happen by combining the trend (via linear regression) and momentum (via ROC).
When the price significantly diverges from the trendline and momentum supports a continuation, it signals a potential entry point (either buy or sell).
It is leading in that it anticipates price movement before it becomes fully apparent in the market.
Next Steps:
You can adjust the length of the linear regression and ROC to fine-tune the indicator’s sensitivity to your trading style.
This can be combined with other indicators or used as part of a larger strategy
Performance IndicatorsDescription:
The Performance Indicators tool provides traders with a comprehensive overview of both fundamental and technical performance metrics of a security. This dual approach helps traders make informed decisions by evaluating the security's intrinsic value as well as its market behavior.
Fundamental Performance Indicators:
EPS Year Over Year % Growth : Measures the percentage growth in earnings per share (EPS) compared to the same quarter in the previous year. This helps in understanding the company's profitability trends.
EPS 3 Quarters Year Over Year % Growth : Analyzes the percentage growth in EPS over the last three quarters compared to the same quarters in the previous year, providing insight into the company's recent earnings performance.
Sales Year Over Year % Growth : Tracks the percentage growth in sales compared to the same quarter in the previous year, offering a view of the company's revenue trends.
Sales 3 Quarters Year Over Year % Growth : Evaluates the percentage growth in sales over the last three quarters compared to the same quarters in the previous year, helping to assess the company's recent revenue performance.
Return On Equity (ROE) : Measures the company's profitability by comparing net income to shareholder equity. This indicates how effectively the company is using its equity base to generate profits.
Market Capitalization : Represents the total market value of the company's outstanding shares, providing a sense of the company's size and market presence.
Float Shares Outstanding : Refers to the number of shares available for trading by the public, excluding restricted shares. This metric helps in understanding the liquidity and volatility of the stock.
Technical Performance Indicators:
Average Daily Range (ADR) %: Calculates the average range between the high and low prices over a specific period, expressed as a percentage. This helps in understanding the stock's daily volatility.
Average True Range (ATR) $ : Measures market volatility by calculating the average range between the high and low prices, taking into account any gaps in the price. It is expressed in dollar terms.
% Off 52-Week High : Indicates how far the current price is from the highest price achieved over the last 52 weeks, helping to assess the stock's current performance relative to its yearly peak.
Relative Price Strength (RPS) : Compares the stock's price performance to a benchmark index, helping to identify how the stock is performing relative to the broader market.
How it Works:
The fundamental performance indicators provide insights into the company's financial health and growth trends by analyzing key metrics such as EPS, sales growth, ROE, market capitalization, and float shares outstanding.
The technical performance indicators offer a view of the stock's market behavior and volatility through metrics like ADR, ATR, % off 52-week high, and RPS.
By combining these fundamental and technical metrics, traders can gain a well-rounded perspective on the security's overall performance.
How to Use:
Add the Performance Indicators tool to your chart.
Evaluate the fundamental indicators to assess the company's financial health and growth trends.
Analyze the technical indicators to understand the stock's market behavior and volatility.
Use the combined insights from both fundamental and technical indicators to make informed trading decisions.
This tool is particularly useful for traders who want to integrate both fundamental analysis and technical analysis into their trading strategy, providing a holistic view of a security's performance.
Relative Strength Trend Indicator (RSTI)This indicator is called the "Relative Strength Trend Indicator" (RSTI), designed to assess the relative strength of a trend.
Here is a detailed explanation of how it works and how traders can interpret it:
Indicator Operation:
1. Data Source (src): The indicator considers a data source, typically the closing price (close), but this can be adjusted according to the trader's preferences.
2. Period Length (Length): This determines the period used to calculate the simple moving average (SMA) of the data source. A longer period smoothes the indicator, while a shorter period makes it more responsive.
3. Multiplier (Multiplier): This is a multiplication factor applied to the Average True Range (ATR), adjusting the width of the bands.
4. Signal Length (Signal Length): This period is used to calculate the simple moving average of the relative strength (l_strength). It determines the sensitivity of the signal to changes in relative strength.
Interpretation of the Indicator:
1. Upper Strength Band (Upper Level): This line is drawn at 80 and represents a high strength level. When relative strength exceeds this value, it may indicate a potential overbought market.
2. Lower Strength Band (Lower Level): This line is drawn at 20 and represents a low strength level. When relative strength is below this value, it may indicate a potential oversold market.
3. RSTI Strength: The main line of the indicator, representing the calculated relative strength. When this line exceeds 50, it may indicate an uptrend, while a value below 50 may indicate a downtrend.
4. Filling Zones: These colored zones between levels 80 and 50, and between 50 and 20, can help quickly visualize relative strength. A colored zone above 50 indicates positive strength, while a colored zone below 50 indicates negative strength.
Qualities of the Indicator:
1. Adaptability: The use of ATR and the flexibility of parameters (length, multiplier, signal_length) allow the indicator to adapt to different market conditions.
2. Visual Clarity: Colored filling zones and horizontal lines make it easy to visualize relative strength levels.
3. Strength Signal: The signal line (RSTI Strength) allows traders to quickly spot changes in relative strength, facilitating decision-making.
4. Responsiveness: The combination of smoothed moving averages and relative strength indicators allows responsiveness to trend changes while reducing false signals.
It is essential to note that while this indicator can provide valuable insights, it is always recommended to use it in conjunction with other technical analysis tools for informed decision-making.






















