Bitcoin Risk Long Term indicatorOBJECTIVE:
The purpose of this indicator is to synthesize via an average several indicators from a wide choice with in order to simplify the reading of the bitcoin price and that on a long term vision.
Useful for those who want to see things simply, typically to make a smart DCA based on risk.
I originally used this script as a sandbox to understand and test the usefulness of several indicators, and to develop my PineScript skills, but finally the Risk Indicator output seems relevant so I decided to share it.
USAGE:
The selected indicators are the ones that I think give the best market bottoms, but the idea here is that anyone can try and use any set of indicators based on those preferences (post in comments if you find a relevant config)
Most of the indicator inputs are configurable. And some are not taken into account in the calculation of the Risk indicator because I consider them not relevant, this script is also a test more than a final version.
NOTES :
If you have any idea of adding an indicator, modification, criticism, bug found: share them, it is appreciated!
In the future I will create another more versatile Risk indicator that will not be focused on bitcoin in weekly. (this indicator is still usable on other assets and timeframe)
THANKS:
to Benjamin Cowen for inspiring me with his Bitcoin Risk metric
to Lazybear for his Wavetrend Indicator and all the scripts he shares
to Mabonyi for his Bitcoin Logarithmic Growth Curves & Zones script
to VuManChu for his VMC Cypher B Divergence
to the Trading view team for developing TV and PineScript
And to all the community for all the published codes that allowed me to progress and create this script
---- FR ----
OBJECTIF :
L'objectif de cet indicateur est de synthétiser via une moyenne plusieurs indicateurs parmi un large choix avec afin de simplifier la lecture du cours de bitcoin et cela sur une vision longue terme.
Utile pour ceux qui veulent voir les choses simplement, typiquement faire un DCA intelligent en fonction du risque.
À la base j'ai utilisé ce script comme un bac à sable pour comprendre puis tester l'utilité de plusieurs indicateurs, et développer mes compétences PineScript, mais finalement l'output Risk Indicateur me semble pertinent donc autant le partager.
UTILISATION :
Les indicateurs sélectionnés sont ceux qui permettent selon moi d'avoir les meilleurs point bas de marché, mais l'idée ici est que chacun puisse essayer et utiliser n'importe quel ensemble d'indicateur en fonction de ces préférences (poster en commentaire si vous trouvez une configuration pertinente)
La plupart des inputs indicateurs sont paramétrables. Et certains ne sont pas pris en compte dans le calcul du Risk indicateur car je les estime non pertinent, ce script est aussi un essai plus qu'une version finale.
NOTES :
Si vous avez la moindre idée d'ajout d'indicateur, modification, critique, bug trouvé : partagez-les, c'est apprécié !
à l'avenir je créerais un autre Risk indicator plus polyvalent qui ne sera pas focalisé sur bitcoin en weekly. (cet indicateur est tout de même utilisable sur d'autre actif et timeframe)
REMERCIEMENT :
à Benjamin Cowen pour m'avoir inspiré avec son Bitcoin Risk metric
à Lazybear pour son Wavetrend Indicator et globalement tout les scripts qu'il partage
à Mabonyi pour son script Bitcoin Logarithmic Growth Curves & Zones
à VuManChu pour son VMC Cypher B Divergence
à l'équipe Trading view pour avoir développé TV et PineScript
Et à toute la communauté pour tous les codes publiés qui m'ont permis de progresser et de créer ce script
Cari dalam skrip untuk "the script"
WavesTrend visualization tool in Wave theory. Unlike Elliot waves, it has a constant pattern length. The formation consists of impulse and 3 corrections.
The script analyzes candle relationships in the currect trend, trend will be continueted until candle are not breaking trend rules.
Currently it supports 2 rulesets/wave variants:
Low - More sensitive (trend will change more ofter).
Meddium - Less sensitive ( trend will change less ofter).
Simultaneous observation of both types allows to detect consolidation before the overlapping movement and increase the probability of indicating the moment of the movement occurrence.
Trend visualization tools is a starting point that can be conected with different technics, to achive better performance.
"Waves" is the primary script of the Waves script series with test free period that consists of:
- Waves + XABCD
- Waves + ZOOnes
- Waves Change Signals
- ... and more in developement.
Features:
- Show Low and Middle type/order waves
- Draw both Wave types at once.
- Shadow mode that show second wave moved to the wave max/min bars.
- "Alfred" assist - Label notifications about trend confirmations or changes.
Script settings:
Trend visualization
Type - Trend visualization types:
H - Hidden
L - Low
M - Medium
B - Both
Alfred - AI assistant that informs about wave confirmation or trend changes (With "Both" type Alfred will monit only Medium wave).
Shadow - Showing second reprezentation of the trend with drawing with the use of minimal and maximal values. It's usefull to determine the delay between the peak and a wave change signal.
Low/Med Line width/color - Width/color of drawn line. Separate setting for Low and Medium trend type.
Impuls visualization
Impuls - Drawing impuls modes:
H - Hidden
F - First
S - Second
A - Auto
Impuls color - Color of the first bullish arrow.
Draw arrow - Drawing arrow at the end of the first bullish arrow.
Extensions
Waves + XABCD - Showing base information about Waves + XABCD script
Waves + ZOOnes - Showing base information about Waves + ZOOnes script
Waves Change Signals - Showing based information about Waves Change Signals script.
more in developement...
Troubleshooting:
In case of any problems, send error details to the author of the script.
Trend Analysis Index [CC]The Trend Analysis Index was created by Adam White and not to be confused with the Trend Analysis Indicator that I also published. This indicator operates under the same idea but using a completely different calculation to achieve similar results. The idea behind this indicator is for a combination of volatility and trend confirmation. If the indicator is above it's signal line then the stock is very volatile and vice versa. If the stock is currently trending as in above a chosen moving average for example and the indicator falls below the signal line then there is a pretty good chance in a trend reversal. The recommended buy and sell system to use is to pair this indicator with a moving average crossover system which I have included in the script. Buy when the indicator is above it's signal and the shorter moving average crosses above the longer moving average. For selling you would do the same and sell when the indicator is above it's signal and the shorter moving average crosses below the longer moving average. I have included strong buy and sell signals in addition to the normal ones so stronger signals are darker in color and normal signals are lighter in color.
Let me know what other indicators or scripts you would like to see me publish!
[CLX][#01] Animation - Price Ticker (Marquee)This indicator displays a classic animated price ticker overlaid on the user’s current chart. It is possible to fully customize it or to select one of the predefined styles.
A detailed description will follow in the next few days.
Used Pinescript technics:
- varip (view/animation)
- tulip instance (config/codestructur)
- table (view/position)
By the way, for me, one of the coolest animated effects is by Duyck
We hope you enjoy it! 🎉
CRYPTOLINX - jango_blockchained 😊👍
Disclaimer:
Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely.
The script is for informational and educational purposes only. Use of the script does not constitute professional and/or financial advice. You alone have the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script.
MTF Oscillator Framework [PineCoders]This framework allows Pine coders to quickly build a complete multi-timeframe oscillator from any calculation producing values around a centerline, whether the values are bounded or not. Insert your calculation in the script and you have a ready-to-publish MTF Oscillator offering a plethora of presentation options and features.
█ HOW TO USE THE FRAMEWORK
1 — Insert your calculation in the `f_signal()` function at the top of the "Helper Functions" section of the script.
2 — Change the script's name in the `study()` declaration statement and the `alertcondition()` text in the last part of the "Plots" section.
3 — Adapt the default value used to initialize the CENTERLINE constant in the script's "Constants" section.
4 — If you want to publish the script, copy/paste the following description in your new publication's description and replace the "OVERVIEW" section with a description of your calculations.
5 — Voilà!
═════════════════════════════════════════════════════════════════════════
█ OVERVIEW
This oscillator calculates a directional value of True Range. When a bar is up, the positive value of True Range is used. A negative value is used when the bar is down. When there is no movement during the bar, a zero value is generated, even if True Range is different than zero. Because the unit of measure of True Range is price, the oscillator is unbounded (it does not have fixed upper/lower bounds).
True Range can be used as a metric for volatility, but by using a signed value, this oscillator will show the directional bias of progressively increasing/decreasing volatility, which can make it more useful than an always positive value of True Range.
The True Range calculation appeared for the first time in J. Welles Wilder's New Concepts in Technical Trading Systems book published in 1978. Wilder's objective was to provide a reliable measure of the effective movement—or range—between two bars, to measure volatility. True Range is also the building block used to calculate ATR (Average True Range), which calculates the average of True Range values over a given period using the `rma` averaging method—the same used in the calculation of another of Wilder's remarkable creations: RSI.
█ CONCEPTS
This oscillator's design stems from a few key concepts.
Relative Levels
Other than the centerline, relative rather than absolute levels are used to identify levels of interest. Accordingly, no fixed levels correspond to overbought/oversold conditions. Relative levels of interest are identified using:
• A Donchian channel (historical highs/lows).
• The oscillator's position relative to higher timeframe values.
• Oscillator levels following points in time where a divergence is identified.
Higher timeframes
Two progressively higher timeframes are used to calculate larger-context values for the oscillator. The rationale underlying the use of timeframes higher than the chart's is that, while they change less frequently than the values calculated at the chart's resolution, they are more meaningful because more work (trader activity) is required to calculate them. Combining the immediacy of values calculated at the chart's resolution to higher timeframe values achieves a compromise between responsiveness and reliability.
Divergences as points of interest rather than directional clues
A very simple interpretation of what constitutes a divergence is used. A divergence is defined as a discrepancy between any bar's direction and the direction of the signal line on that same bar. No attempt is made to attribute a directional bias to divergences when they occur. Instead, the oscillator's level is saved and subsequent movement of the oscillator relative to the saved level is what determines the bullish/bearish state of the oscillator.
Conservative coloring scheme
Several additive coloring conditions allow the bull/bear coloring of the oscillator's main line to be restricted to specific areas meeting all the selected conditions. The concept is built on the premise that most of the time, an oscillator's value should be viewed as mere noise, and that somewhat like price, it only occasionally conveys actionable information.
█ FEATURES
Plots
• Three lines can be plotted. They are named Main line , Line 2 and Line 3 . You decide which calculation to use for each line:
• The oscillator's value at the chart's resolution.
• The oscillator's value at a medium timeframe higher than the chart's resolution.
• The oscillator's value at the highest timeframe.
• An aggregate line calculated using a weighed average of the three previous lines (see the Aggregate Weights section of Inputs to configure the weights).
• The coloring conditions, divergence levels and the Hi/Lo channel always apply to the Main line, whichever calculation you decide to use for it.
• The color of lines 2 and 3 are fixed but can be set in the "Colors" section of Inputs.
• You can change the thickness of each line.
• When the aggregate line is displayed, higher timeframe values are only used in its calculation when they become available in the chart's history,
otherwise the aggregate line would appear much later on the chart. To indicate when each higher timeframe value becomes available,
a small label appears near the centerline.
• Divergences can be shown as small dots on the centerline.
• Divergence levels can be shown. The level and fill are determined by the oscillator's position relative to the last saved divergence level.
• Bull/bear markers can be displayed. They occur whenever a new bull/bear state is determined by the "Main Line Coloring Conditions".
• The Hi/Lo (Donchian) channel can be displayed, and its period defined.
• The background can display the state of any one of 11 different conditions.
• The resolutions used for the higher timeframes can be displayed to the right of the last bar's value.
• Four key values are always displayed in the Data Window (fourth icon down to the right of your chart):
oscillator values for the chart, medium and highest timeframes, and the oscillator's instant value before it is averaged.
Main Line Coloring Conditions
• Nine different conditions can be selected to determine the bull/bear coloring of the main line. All conditions set to "ON" must be met to determine the bull/bear state.
• A volatility state can also be used to filter the conditions.
• When the coloring conditions and the filter do not allow for a bull/bear state to be determined, the neutral color is used.
Signal
• Seven different averages can be used to calculate the average of the oscillator's value.
• The average's period can be set. A period of one will show the instant value of the oscillator,
provided you don't use linear regression or the Hull MA as they do not work with a period of one.
• An external signal can be used as the oscillator's instant value. If an already averaged external value is used, set the period to one in this indicator.
• For the cases where an external signal is used, a centerline value can be set.
Higher Timeframes
• The two higher timeframes are named Medium timeframe and Highest timeframe . They can be determined using one of three methods:
• Auto-steps: the higher timeframes are determined using the chart's resolution. If the chart uses a seconds resolution, for example,
the medium and highest resolutions will be 15 and 60 minutes.
• Multiples: the timeframes are calculated using a multiple of the chart's resolution, which you can set.
• Fixed: the set timeframes do not change with the chart's resolution.
Repainting
• Repainting can be controlled separately for the chart's value and the higher timeframe values.
• The default is a repainting chart value and non-repainting higher timeframe values. The Aggregate line will thus repaint by default,
as it uses the chart's value along with the higher timeframes values.
Aggregate Weights
• The weight of each component of the Aggregate line can be set.
• The default is equal weights for the three components, meaning that the chart's value accounts for one third of the weight in the Aggregate.
High Volatility
• This provides control over the volatility filter used in the Main line's coloring conditions and the background display.
• Volatility is determined to be high when the short-term ATR is greater than the long-term ATR.
Colors
• You can define your own colors for all of the oscillator's plots.
• The default colors will perform well on both white and black chart backgrounds.
Alerts
• An alert can be defined for the script. The alert will trigger whenever a bull/bear marker appears in the indicator's display.
The particular combination of coloring conditions and the display of bull/bear markers when you create the alert will thus determine when the alert triggers.
Once the alerts are created, subsequent changes to the conditions controlling the display of markers will not affect the existing alert(s).
• You can create multiple alerts from this script, each triggering on different conditions.
Backtesting & Trading Engine Signal Line
• An invisible plot named "BTE Signal" is provided. It can be used as an entry signal when connected to the PineCoders Backtesting & Trading Engine as an external input.
It will generate an entry whenever a marker is displayed.
Look first. Then leap.
Support Resistance - DynamicThis is Dynamic Support / Resistance script.
How it Works?
It finds Pivot Points and creates channels for each Pivot Point. Channel size is calculated by (Highest - Lowest) * %Channel_size in Loopback Period. After creating channels it calculates that how many Pivot Points in the channels. more Pivot Points in channel means stronger Support/Resistance. in the option menu there is S/R Strength, this is the minimum number of Pivot Points that each channel must contain to be S/R. calculation starts from last pivot point and go back for "loopback period" which is 300 by default. so last Pivot Points have more priority. Finally after calculating Support/Resistance it draws lines.
Number of Support/Resistance line is Dynamic and up to 20 lines, that means number of lines changes dynamically. you can see how the script puts Suppport/Resistance lines dynamically by "Replay" button. (if I have time I will try to put a video)
Currently the scripts checks up to 40 pivot points in loopback period. it shows up to 20 S/Rs only for visible area in the chart.
There is option to Show S/R lines as Solid, Dotted or Dashed.
Enjoy!
Plotchar - How to draw external symbols on a chartHey everyone
It's been a while :) but still on holidays and working on the website. I'll resume the scripts sharing shortly once I'll get back home
For today, I wanted to share a very useful script that is going to make you a top of money 100% guaranteed and you'll even have a Lamborghini delivered at your place by tomorrow... (imagine some followers would believe me for this)
This "script" is a proof of concept that you can draw external Unicode symbols on a chart.
If you're tired with the plotshape shapes by default, you can use some others - I usually find mine there emojipedia.org
What are the use cases?
- Draw a dead skeleton when your stop-loss is hit
- Draw a winning cup when your take profit is hit
- Draw a coffin when you run out of capital
FAQ
Q: Does this script has any interest?
A: I'm not sure myself
Q: Will you make money using it?
A: I'm not a financial advisor but ... very likely NO
Q: Is it cool though?
A: Hell yeah!!
Be sure to hit the thumbs up so that I'll share real scripts the next times and not "joke scripts". I promise it's the first and last time I'm sharing such a script
Dave
____________________________________________________________
- I'm an officially approved PineEditor/LUA/MT4 approved mentor on codementor. You can request a coaching with me if you want and I'll teach you how to build kick-ass indicators and strategies
Jump on a 1 to 1 coaching with me
- You can also hire for a custom dev of your indicator/strategy/bot/chrome extension/python
How to avoid repainting when using security() - PineCoders FAQNOTE
The non-repainting technique in this publication that relies on bar states is now deprecated, as we have identified inconsistencies that undermine its credibility as a universal solution. The outputs that use the technique are still available for reference in this publication. However, we do not endorse its usage. See this publication for more information about the current best practices for requesting HTF data and why they work.
This indicator shows how to avoid repainting when using the security() function to retrieve information from higher timeframes.
What do we mean by repainting?
Repainting is used to describe three different things, in what we’ve seen in TV members comments on indicators:
1. An indicator showing results that change during the realtime bar, whether the script is using the security() function or not, e.g., a Buy signal that goes on and then off, or a plot that changes values.
2. An indicator that uses future data not yet available on historical bars.
3. An indicator that uses a negative offset= parameter when plotting in order to plot information on past bars.
The repainting types we will be discussing here are the first two types, as the third one is intentional—sometimes even intentionally misleading when unscrupulous script writers want their strategy to look better than it is.
Let’s be clear about one thing: repainting is not caused by a bug ; it is caused by the different context between historical bars and the realtime bar, and script coders or users not taking the necessary precautions to prevent it.
Why should repainting be avoided?
Repainting matters because it affects the behavior of Pine scripts in the realtime bar, where the action happens and counts, because that is when traders (or our systems) take decisions where odds must be in our favor.
Repainting also matters because if you test a strategy on historical bars using only OHLC values, and then run that same code on the realtime bar with more than OHLC information, scripts not properly written or misconfigured alerts will alter the strategy’s behavior. At that point, you will not be running the same strategy you tested, and this invalidates your test results , which were run while not having the additional price information that is available in the realtime bar.
The realtime bar on your charts is only one bar, but it is a very important bar. Coding proper strategies and indicators on TV requires that you understand the variations in script behavior and how information available to the script varies between when the script is running on historical and realtime bars.
How does repainting occur?
Repainting happens because of something all traders instinctively crave: more information. Contrary to trader lure, more information is not always better. In the realtime bar, all TV indicators (a.k.a. studies ) execute every time price changes (i.e. every tick ). TV strategies will also behave the same way if they use the calc_on_every_tick = true parameter in their strategy() declaration statement (the parameter’s default value is false ). Pine coders must decide if they want their code to use the realtime price information as it comes in, or wait for the realtime bar to close before using the same OHLC values for that bar that would be used on historical bars.
Strategy modelers often assume that using realtime price information as it comes in the realtime bar will always improve their results. This is incorrect. More information does not necessarily improve performance because it almost always entails more noise. The extra information may or may not improve results; one cannot know until the code is run in realtime for enough time to provide data that can be analyzed and from which somewhat reliable conclusions can be derived. In any case, as was stated before, it is critical to understand that if your strategy is taking decisions on realtime tick data, you are NOT running the same strategy you tested on historical bars with OHLC values only.
How do we avoid repainting?
It comes down to using reliable information and properly configuring alerts, if you use them. Here are the main considerations:
1. If your code is using security() calls, use the syntax we propose to obtain reliable data from higher timeframes.
2. If your script is a strategy, do not use the calc_on_every_tick = true parameter unless your strategy uses previous bar information to calculate.
3. If your script is a study and is using current timeframe information that is compared to values obtained from a higher timeframe, even if you can rely on reliable higher timeframe information because you are correctly using the security() function, you still need to ensure the realtime bar’s information you use (a cross of current close over a higher timeframe MA, for example) is consistent with your backtest methodology, i.e. that your script calculates on the close of the realtime bar. If your system is using alerts, the simplest solution is to configure alerts to trigger Once Per Bar Close . If you are not using alerts, the best solution is to use information from the preceding bar. When using previous bar information, alerts can be configured to trigger Once Per Bar safely.
What does this indicator do?
It shows results for 9 different ways of using the security() function and illustrates the simplest and most effective way to avoid repainting, i.e. using security() as in the example above. To show the indicator’s lines the most clearly, price on the chart is shown with a black line rather than candlesticks. This indicator also shows how misusing security() produces repainting. All combinations of using a 0 or 1 offset to reference the series used in the security() , as well as all combinations of values for the gaps= and lookahead= parameters are shown.
The close in the call labeled “BEST” means that once security has reached the upper timeframe (1 day in our case), it will fetch the previous day’s value.
The gaps= parameter is not specified as it is off by default and that is what we need. This ensures that the value returned by security() will not contain na values on any of our chart’s bars.
The lookahead security() to use the last available value for the higher timeframe bar we are using (the previous day, in our case). This ensures that security() will return the value at the end of the higher timeframe, even if it has not occurred yet. In our case, this has no negative impact since we are requesting the previous day’s value, with has already closed.
The indicator’s Settings/Inputs allow you to set:
- The higher timeframe security() calls will use
- The source security() calls will use
- If you want identifying labels printed on the lines that have no gaps (the lines containing gaps are plotted using very thick lines that appear as horizontal blocks of one bar in length)
For the lines to be plotted, you need to be on a smaller timeframe than the one used for the security() calls.
Comments in the code explain what’s going on.
Look first. Then leap.
THE PHOENIX v0.2 wSMDThis is my first publication, since sept 2018 i tested/converted to strategy over 500 scripts, this is by far my most profitable script.
Implementation in TradingView of modified version of the "Weis Wave".
indicatior will generate Long and Close Long signals according to market trend.
(Learned the hard way that using short instead of close long to close long orders will seriously mess backtest results and create unrealistic expectations)
Added a customizable RATE OF CHANGE indicator that I called SMD (sideways market detection) to try and avoid trading on sideways market.
References: "Trades About To Happen" David H. Weis, Division 2 of the Richard D. Wyckoff Method of Trading in Stocks.
I've had best results on 2h and 4h charts, I would not recommend to go below 1h, my general rule is to run the backtest on regular candle and make sure the backtest gives goodd result, but I use the script with autoview on heikin ashi.
Backtesting: You can change the dates of the backtest as you please, the backtest runs with 1000USD and 100% of equity orders, 3 ticks slippage and 0.1% commission.
For Autoview users: Will upload LONG ALERT and CLOSE LONG ALERT studies separately as I find it easier to see whats going on on 2 seperate indicators.
NO, IT DOES NOT REPAINT.
Crptopastor support & Resistance ProThis invite-only script, S/R Pro: Dynamic Confluence Zones & Trade Setups , is an advanced support and resistance indicator designed to cut through market noise and identify high-probability price levels.
Standard support and resistance indicators often clutter the chart with dozens of single-price lines, leaving the trader to guess which ones are truly significant. This script solves that problem using a proprietary clustering algorithm. Instead of just marking individual pivots, it analyzes pivot density to identify areas of historical price confluence. These areas are then drawn as dynamic zones, giving you a much clearer and more actionable view of the market structure.
This tool is built for serious traders who value a clean chart and data-driven insights. It automatically filters, grades, and displays only the most relevant S/R zones, and even plots potential trade setups based on these key levels.
Justification of Originality (Why this is a "Pro" Tool)
While the foundation of this indicator is the classic Pivot High/Low concept ( ta.pivothigh / ta.pivotlow ), its core value and originality come from its proprietary post-processing logic. Here's what makes it unique and worth protecting as a closed-source script:
Pivot Clustering Algorithm: The script does not just plot raw pivots. It collects a history of recent pivot points and intelligently clusters them together based on their proximity. If multiple pivots form within a narrow price range (configurable by you), the script merges them into a single, high-validity S/R zone. This method identifies true areas of supply and demand, not just isolated price wicks.
Dynamic Strength Rating: Not all zones are created equal. Each zone is given a "strength" score based on the number of individual pivots that formed it. This allows the indicator (and you) to distinguish between a minor level and a major institutional zone. You can set a minimum strength to filter out insignificant levels entirely.
Intelligent Zone Management: To maintain chart clarity, the script has a built-in logic to manage overlapping zones. If a new, stronger zone forms that overlaps with an existing, weaker one, the weaker zone is automatically removed. This ensures your chart always shows the most relevant and current market structure.
Automated Trade Setup Plotting: Beyond just identifying zones, this script actively helps with trade planning. It identifies the nearest support or resistance zone relative to the current price and automatically generates and plots a potential trade setup, including:
An Entry Price (at the midpoint of the zone)
A Stop Loss (placed with a user-defined safety buffer below a support zone or above a resistance zone)
Up to 5 Take Profit Levels (dynamically identified from the subsequent S/R zones)
How The Indicator Works: The Logic Explained
To provide full transparency on the script's mechanics without revealing the entire source, here is a step-by-step breakdown of the calculation process:
Step 1: Raw Pivot Detection: The script begins by identifying all recent pivot highs and lows using standard Pine Script functions, based on the Pivot Period you set.
Step 2: Pivot Clustering & Zone Creation: This is the core engine. The script iterates through the detected pivots. For each pivot, it scans for other nearby pivots within a price range defined by the Maximum Channel Width % input. All pivots found within this range are grouped into a "cluster."
Step 3: Strength Calculation & Filtering: The number of pivots within each cluster determines its "strength." Only clusters that meet the Minimum Strength requirement are considered valid S/R zones.
Step 4: Zone Consolidation & Display: The script plots the valid clusters as colored boxes (zones). To avoid clutter, it limits the display to the Maximum Number of S/R zones and ensures that stronger, overlapping zones replace weaker ones. The zone's color dynamically changes between support (green) and resistance (red) based on whether the current price is above or below it.
Step 5: Trade Setup Calculation: The indicator finds the closest valid support zone below the price and the closest valid resistance zone above it. Based on which is closer, it determines a likely trade direction (Long or Short) and plots the Entry, Stop Loss, and Take Profit levels accordingly.
Settings & Input Parameters Explained
This script is fully customizable to suit your trading style and the asset you are trading.
Setup
Pivot Period (prd) : The lookback period (number of bars to the left and right) to identify a pivot. A smaller number will be more sensitive and generate more pivots. Default is 10.
Source (ppsrc) : The price data used to calculate pivots. High/Low is standard for capturing extremes. Close/Open can be used to focus on body-based levels.
Maximum Number of Pivot (maxnumpp) : The maximum number of recent raw pivots the script will store in memory for its calculations.
Maximum Channel Width % (ChannelW) : This is a key setting. It defines how close pivots need to be (as a percentage of recent price range) to be clustered into a single zone. A larger value will create wider zones and group more distant pivots together.
Maximum Number of S/R (maxnumsr) : The maximum number of final S/R zones to display on the chart. This keeps the chart clean.
Minimum Strength (min_strength) : The minimum number of pivots required to form a valid S/R zone. A higher number means the zone is stronger and more respected.
Show Point Points (showpp) : A visual aid to see the raw pivot points that the script is using for its calculations.
Trade Setup
Show Trade Setups : Toggles the display of the automated Entry, SL, and TP labels.
Number of Take Profit Levels : Sets the maximum number of TP levels to plot.
Stop Loss Buffer % (sl_buffer_pct) : A crucial risk management tool. It adds a safety buffer to your stop loss, placing it a certain percentage of the zone's height away from the zone's edge to avoid stop hunts.
Colors
Fully customize the colors, line style, width, and label location to match your chart's theme.
How to Use in Your Trading
This indicator is versatile and can be used in several ways:
Mean Reversion Strategy: Look for entries when the price rejects a strong support or resistance zone. For example, wait for price to touch a green support zone and then start moving up before considering a long position.
Breakout Strategy: Use the zones as your breakout levels. A decisive close above a red resistance zone (which will then turn green) can signal a bullish breakout. The built-in "Resistance Broken" and "Support Broken" alerts are perfect for this.
Confirmation Tool: Use these data-driven zones to confirm levels identified by your own analysis. If your trendline converges with a strong zone from this script, your confidence in that level should increase.
Trade Management: Use the automatically plotted S/R zones as logical levels to take partial profits or trail your stop loss. The automated Take Profit levels are designed for this purpose.
Disclaimer: This indicator is a tool to aid in technical analysis and decision-making. It is not a signal-generating "robot" and should not be followed blindly. All trading involves risk, and past performance is not indicative of future results. Please use this script as part of a comprehensive trading plan with proper risk management.
Color█ OVERVIEW
This library is a Pine Script® programming tool for advanced color processing. It provides a comprehensive set of functions for specifying and analyzing colors in various color spaces, mixing and manipulating colors, calculating custom gradients and schemes, detecting contrast, and converting colors to or from hexadecimal strings.
█ CONCEPTS
Color
Color refers to how we interpret light of different wavelengths in the visible spectrum . The colors we see from an object represent the light wavelengths that it reflects, emits, or transmits toward our eyes. Some colors, such as blue and red, correspond directly to parts of the spectrum. Others, such as magenta, arise from a combination of wavelengths to which our minds assign a single color.
The human interpretation of color lends itself to many uses in our world. In the context of financial data analysis, the effective use of color helps transform raw data into insights that users can understand at a glance. For example, colors can categorize series, signal market conditions and sessions, and emphasize patterns or relationships in data.
Color models and spaces
A color model is a general mathematical framework that describes colors using sets of numbers. A color space is an implementation of a specific color model that defines an exact range (gamut) of reproducible colors based on a set of primary colors , a reference white point , and sometimes additional parameters such as viewing conditions.
There are numerous different color spaces — each describing the characteristics of color in unique ways. Different spaces carry different advantages, depending on the application. Below, we provide a brief overview of the concepts underlying the color spaces supported by this library.
RGB
RGB is one of the most well-known color models. It represents color as an additive mixture of three primary colors — red, green, and blue lights — with various intensities. Each cone cell in the human eye responds more strongly to one of the three primaries, and the average person interprets the combination of these lights as a distinct color (e.g., pure red + pure green = yellow).
The sRGB color space is the most common RGB implementation. Developed by HP and Microsoft in the 1990s, sRGB provided a standardized baseline for representing color across CRT monitors of the era, which produced brightness levels that did not increase linearly with the input signal. To match displays and optimize brightness encoding for human sensitivity, sRGB applied a nonlinear transformation to linear RGB signals, often referred to as gamma correction . The result produced more visually pleasing outputs while maintaining a simple encoding. As such, sRGB quickly became a standard for digital color representation across devices and the web. To this day, it remains the default color space for most web-based content.
TradingView charts and Pine Script `color.*` built-ins process color data in sRGB. The red, green, and blue channels range from 0 to 255, where 0 represents no intensity, and 255 represents maximum intensity. Each combination of red, green, and blue values represents a distinct color, resulting in a total of 16,777,216 displayable colors.
CIE XYZ and xyY
The XYZ color space, developed by the International Commission on Illumination (CIE) in 1931, aims to describe all color sensations that a typical human can perceive. It is a cornerstone of color science, forming the basis for many color spaces used today. XYZ, and the derived xyY space, provide a universal representation of color that is not tethered to a particular display. Many widely used color spaces, including sRGB, are defined relative to XYZ or derived from it.
The CIE built the color space based on a series of experiments in which people matched colors they perceived from mixtures of lights. From these experiments, the CIE developed color-matching functions to calculate three components — X, Y, and Z — which together aim to describe a standard observer's response to visible light. X represents a weighted response to light across the color spectrum, with the highest contribution from long wavelengths (e.g., red). Y represents a weighted response to medium wavelengths (e.g., green), and it corresponds to a color's relative luminance (i.e., brightness). Z represents a weighted response to short wavelengths (e.g., blue).
From the XYZ space, the CIE developed the xyY chromaticity space, which separates a color's chromaticity (hue and colorfulness) from luminance. The CIE used this space to define the CIE 1931 chromaticity diagram , which represents the full range of visible colors at a given luminance. In color science and lighting design, xyY is a common means for specifying colors and visualizing the supported ranges of other color spaces.
CIELAB and Oklab
The CIELAB (L*a*b*) color space, derived from XYZ by the CIE in 1976, expresses colors based on opponent process theory. The L* component represents perceived lightness, and the a* and b* components represent the balance between opposing unique colors. The a* value specifies the balance between green and red , and the b* value specifies the balance between blue and yellow .
The primary intention of CIELAB was to provide a perceptually uniform color space, where fixed-size steps through the space correspond to uniform perceived changes in color. Although relatively uniform, the color space has been found to exhibit some non-uniformities, particularly in the blue part of the color spectrum. Regardless, modern applications often use CIELAB to estimate perceived color differences and calculate smooth color gradients.
In 2020, a new LAB-oriented color space, Oklab , was introduced by Björn Ottosson as an attempt to rectify the non-uniformities of other perceptual color spaces. Similar to CIELAB, the L value in Oklab represents perceived lightness, and the a and b values represent the balance between opposing unique colors. Oklab has gained widespread adoption as a perceptual space for color processing, with support in the latest CSS Color specifications and many software applications.
Cylindrical models
A cylindrical-coordinate model transforms an underlying color model, such as RGB or LAB, into an alternative expression of color information that is often more intuitive for the average person to use and understand.
Instead of a mixture of primary colors or opponent pairs, these models represent color as a hue angle on a color wheel , with additional parameters that describe other qualities such as lightness and colorfulness (a general term for concepts like chroma and saturation). In cylindrical-coordinate spaces, users can select a color and modify its lightness or other qualities without altering the hue.
The three most common RGB-based models are HSL (Hue, Saturation, Lightness), HSV (Hue, Saturation, Value), and HWB (Hue, Whiteness, Blackness). All three define hue angles in the same way, but they define colorfulness and lightness differently. Although they are not perceptually uniform, HSL and HSV are commonplace in color pickers and gradients.
For CIELAB and Oklab, the cylindrical-coordinate versions are CIELCh and Oklch , which express color in terms of perceived lightness, chroma, and hue. They offer perceptually uniform alternatives to RGB-based models. These spaces create unique color wheels, and they have more strict definitions of lightness and colorfulness. Oklch is particularly well-suited for generating smooth, perceptual color gradients.
Alpha and transparency
Many color encoding schemes include an alpha channel, representing opacity . Alpha does not help define a color in a color space; it determines how a color interacts with other colors in the display. Opaque colors appear with full intensity on the screen, whereas translucent (semi-opaque) colors blend into the background. Colors with zero opacity are invisible.
In Pine Script, there are two ways to specify a color's alpha:
• Using the `transp` parameter of the built-in `color.*()` functions. The specified value represents transparency (the opposite of opacity), which the functions translate into an alpha value.
• Using eight-digit hexadecimal color codes. The last two digits in the code represent alpha directly.
A process called alpha compositing simulates translucent colors in a display. It creates a single displayed color by mixing the RGB channels of two colors (foreground and background) based on alpha values, giving the illusion of a semi-opaque color placed over another color. For example, a red color with 80% transparency on a black background produces a dark shade of red.
Hexadecimal color codes
A hexadecimal color code (hex code) is a compact representation of an RGB color. It encodes a color's red, green, and blue values into a sequence of hexadecimal ( base-16 ) digits. The digits are numerals ranging from `0` to `9` or letters from `a` (for 10) to `f` (for 15). Each set of two digits represents an RGB channel ranging from `00` (for 0) to `ff` (for 255).
Pine scripts can natively define colors using hex codes in the format `#rrggbbaa`. The first set of two digits represents red, the second represents green, and the third represents blue. The fourth set represents alpha . If unspecified, the value is `ff` (fully opaque). For example, `#ff8b00` and `#ff8b00ff` represent an opaque orange color. The code `#ff8b0033` represents the same color with 80% transparency.
Gradients
A color gradient maps colors to numbers over a given range. Most color gradients represent a continuous path in a specific color space, where each number corresponds to a mix between a starting color and a stopping color. In Pine, coders often use gradients to visualize value intensities in plots and heatmaps, or to add visual depth to fills.
The behavior of a color gradient depends on the mixing method and the chosen color space. Gradients in sRGB usually mix along a straight line between the red, green, and blue coordinates of two colors. In cylindrical spaces such as HSL, a gradient often rotates the hue angle through the color wheel, resulting in more pronounced color transitions.
Color schemes
A color scheme refers to a set of colors for use in aesthetic or functional design. A color scheme usually consists of just a few distinct colors. However, depending on the purpose, a scheme can include many colors.
A user might choose palettes for a color scheme arbitrarily, or generate them algorithmically. There are many techniques for calculating color schemes. A few simple, practical methods are:
• Sampling a set of distinct colors from a color gradient.
• Generating monochromatic variants of a color (i.e., tints, tones, or shades with matching hues).
• Computing color harmonies — such as complements, analogous colors, triads, and tetrads — from a base color.
This library includes functions for all three of these techniques. See below for details.
█ CALCULATIONS AND USE
Hex string conversion
The `getHexString()` function returns a string containing the eight-digit hexadecimal code corresponding to a "color" value or set of sRGB and transparency values. For example, `getHexString(255, 0, 0)` returns the string `"#ff0000ff"`, and `getHexString(color.new(color.red, 80))` returns `"#f2364533"`.
The `hexStringToColor()` function returns the "color" value represented by a string containing a six- or eight-digit hex code. The `hexStringToRGB()` function returns a tuple containing the sRGB and transparency values. For example, `hexStringToColor("#f23645")` returns the same value as color.red .
Programmers can use these functions to parse colors from "string" inputs, perform string-based color calculations, and inspect color data in text outputs such as Pine Logs and tables.
Color space conversion
All other `get*()` functions convert a "color" value or set of sRGB channels into coordinates in a specific color space, with transparency information included. For example, the tuple returned by `getHSL()` includes the color's hue, saturation, lightness, and transparency values.
To convert data from a color space back to colors or sRGB and transparency values, use the corresponding `*toColor()` or `*toRGB()` functions for that space (e.g., `hslToColor()` and `hslToRGB()`).
Programmers can use these conversion functions to process inputs that define colors in different ways, perform advanced color manipulation, design custom gradients, and more.
The color spaces this library supports are:
• sRGB
• Linear RGB (RGB without gamma correction)
• HSL, HSV, and HWB
• CIE XYZ and xyY
• CIELAB and CIELCh
• Oklab and Oklch
Contrast-based calculations
Contrast refers to the difference in luminance or color that makes one color visible against another. This library features two functions for calculating luminance-based contrast and detecting themes.
The `contrastRatio()` function calculates the contrast between two "color" values based on their relative luminance (the Y value from CIE XYZ) using the formula from version 2 of the Web Content Accessibility Guidelines (WCAG) . This function is useful for identifying colors that provide a sufficient brightness difference for legibility.
The `isLightTheme()` function determines whether a specified background color represents a light theme based on its contrast with black and white. Programmers can use this function to define conditional logic that responds differently to light and dark themes.
Color manipulation and harmonies
The `negative()` function calculates the negative (i.e., inverse) of a color by reversing the color's coordinates in either the sRGB or linear RGB color space. This function is useful for calculating high-contrast colors.
The `grayscale()` function calculates a grayscale form of a specified color with the same relative luminance.
The functions `complement()`, `splitComplements()`, `analogousColors()`, `triadicColors()`, `tetradicColors()`, `pentadicColors()`, and `hexadicColors()` calculate color harmonies from a specified source color within a given color space (HSL, CIELCh, or Oklch). The returned harmonious colors represent specific hue rotations around a color wheel formed by the chosen space, with the same defined lightness, saturation or chroma, and transparency.
Color mixing and gradient creation
The `add()` function simulates combining lights of two different colors by additively mixing their linear red, green, and blue components, ignoring transparency by default. Users can calculate a transparency-weighted mixture by setting the `transpWeight` argument to `true`.
The `overlay()` function estimates the color displayed on a TradingView chart when a specific foreground color is over a background color. This function aids in simulating stacked colors and analyzing the effects of transparency.
The `fromGradient()` and `fromMultiStepGradient()` functions calculate colors from gradients in any of the supported color spaces, providing flexible alternatives to the RGB-based color.from_gradient() function. The `fromGradient()` function calculates a color from a single gradient. The `fromMultiStepGradient()` function calculates a color from a piecewise gradient with multiple defined steps. Gradients are useful for heatmaps and for coloring plots or drawings based on value intensities.
Scheme creation
Three functions in this library calculate palettes for custom color schemes. Scripts can use these functions to create responsive color schemes that adjust to calculated values and user inputs.
The `gradientPalette()` function creates an array of colors by sampling a specified number of colors along a gradient from a base color to a target color, in fixed-size steps.
The `monoPalette()` function creates an array containing monochromatic variants (tints, tones, or shades) of a specified base color. Whether the function mixes the color toward white (for tints), a form of gray (for tones), or black (for shades) depends on the `grayLuminance` value. If unspecified, the function automatically chooses the mix behavior with the highest contrast.
The `harmonyPalette()` function creates a matrix of colors. The first column contains the base color and specified harmonies, e.g., triadic colors. The columns that follow contain tints, tones, or shades of the harmonic colors for additional color choices, similar to `monoPalette()`.
█ EXAMPLE CODE
The example code at the end of the script generates and visualizes color schemes by processing user inputs. The code builds the scheme's palette based on the "Base color" input and the additional inputs in the "Settings/Inputs" tab:
• "Palette type" specifies whether the palette uses a custom gradient, monochromatic base color variants, or color harmonies with monochromatic variants.
• "Target color" sets the top color for the "Gradient" palette type.
• The "Gray luminance" inputs determine variation behavior for "Monochromatic" and "Harmony" palette types. If "Auto" is selected, the palette mixes the base color toward white or black based on its brightness. Otherwise, it mixes the color toward the grayscale color with the specified relative luminance (from 0 to 1).
• "Harmony type" specifies the color harmony used in the palette. Each row in the palette corresponds to one of the harmonious colors, starting with the base color.
The code creates a table on the first bar to display the collection of calculated colors. Each cell in the table shows the color's `getHexString()` value in a tooltip for simple inspection.
Look first. Then leap.
█ EXPORTED FUNCTIONS
Below is a complete list of the functions and overloads exported by this library.
getRGB(source)
Retrieves the sRGB red, green, blue, and transparency components of a "color" value.
getHexString(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channel values to a string representing the corresponding color's hexadecimal form.
getHexString(source)
(Overload 2 of 2) Converts a "color" value to a string representing the sRGB color's hexadecimal form.
hexStringToRGB(source)
Converts a string representing an sRGB color's hexadecimal form to a set of decimal channel values.
hexStringToColor(source)
Converts a string representing an sRGB color's hexadecimal form to a "color" value.
getLRGB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channel values to a set of linear RGB values with specified transparency information.
getLRGB(source)
(Overload 2 of 2) Retrieves linear RGB channel values and transparency information from a "color" value.
lrgbToRGB(lr, lg, lb, t)
Converts a set of linear RGB channel values to a set of sRGB values with specified transparency information.
lrgbToColor(lr, lg, lb, t)
Converts a set of linear RGB channel values and transparency information to a "color" value.
getHSL(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of HSL values with specified transparency information.
getHSL(source)
(Overload 2 of 2) Retrieves HSL channel values and transparency information from a "color" value.
hslToRGB(h, s, l, t)
Converts a set of HSL channel values to a set of sRGB values with specified transparency information.
hslToColor(h, s, l, t)
Converts a set of HSL channel values and transparency information to a "color" value.
getHSV(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of HSV values with specified transparency information.
getHSV(source)
(Overload 2 of 2) Retrieves HSV channel values and transparency information from a "color" value.
hsvToRGB(h, s, v, t)
Converts a set of HSV channel values to a set of sRGB values with specified transparency information.
hsvToColor(h, s, v, t)
Converts a set of HSV channel values and transparency information to a "color" value.
getHWB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of HWB values with specified transparency information.
getHWB(source)
(Overload 2 of 2) Retrieves HWB channel values and transparency information from a "color" value.
hwbToRGB(h, w, b, t)
Converts a set of HWB channel values to a set of sRGB values with specified transparency information.
hwbToColor(h, w, b, t)
Converts a set of HWB channel values and transparency information to a "color" value.
getXYZ(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of XYZ values with specified transparency information.
getXYZ(source)
(Overload 2 of 2) Retrieves XYZ channel values and transparency information from a "color" value.
xyzToRGB(x, y, z, t)
Converts a set of XYZ channel values to a set of sRGB values with specified transparency information
xyzToColor(x, y, z, t)
Converts a set of XYZ channel values and transparency information to a "color" value.
getXYY(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of xyY values with specified transparency information.
getXYY(source)
(Overload 2 of 2) Retrieves xyY channel values and transparency information from a "color" value.
xyyToRGB(xc, yc, y, t)
Converts a set of xyY channel values to a set of sRGB values with specified transparency information.
xyyToColor(xc, yc, y, t)
Converts a set of xyY channel values and transparency information to a "color" value.
getLAB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of CIELAB values with specified transparency information.
getLAB(source)
(Overload 2 of 2) Retrieves CIELAB channel values and transparency information from a "color" value.
labToRGB(l, a, b, t)
Converts a set of CIELAB channel values to a set of sRGB values with specified transparency information.
labToColor(l, a, b, t)
Converts a set of CIELAB channel values and transparency information to a "color" value.
getOKLAB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of Oklab values with specified transparency information.
getOKLAB(source)
(Overload 2 of 2) Retrieves Oklab channel values and transparency information from a "color" value.
oklabToRGB(l, a, b, t)
Converts a set of Oklab channel values to a set of sRGB values with specified transparency information.
oklabToColor(l, a, b, t)
Converts a set of Oklab channel values and transparency information to a "color" value.
getLCH(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of CIELCh values with specified transparency information.
getLCH(source)
(Overload 2 of 2) Retrieves CIELCh channel values and transparency information from a "color" value.
lchToRGB(l, c, h, t)
Converts a set of CIELCh channel values to a set of sRGB values with specified transparency information.
lchToColor(l, c, h, t)
Converts a set of CIELCh channel values and transparency information to a "color" value.
getOKLCH(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of Oklch values with specified transparency information.
getOKLCH(source)
(Overload 2 of 2) Retrieves Oklch channel values and transparency information from a "color" value.
oklchToRGB(l, c, h, t)
Converts a set of Oklch channel values to a set of sRGB values with specified transparency information.
oklchToColor(l, c, h, t)
Converts a set of Oklch channel values and transparency information to a "color" value.
contrastRatio(value1, value2)
Calculates the contrast ratio between two colors values based on the formula from version 2 of the Web Content Accessibility Guidelines (WCAG).
isLightTheme(source)
Detects whether a background color represents a light theme or dark theme, based on the amount of contrast between the color and the white and black points.
grayscale(source)
Calculates the grayscale version of a color with the same relative luminance (i.e., brightness).
negative(source, colorSpace)
Calculates the negative (i.e., inverted) form of a specified color.
complement(source, colorSpace)
Calculates the complementary color for a `source` color using a cylindrical color space.
analogousColors(source, colorSpace)
Calculates the analogous colors for a `source` color using a cylindrical color space.
splitComplements(source, colorSpace)
Calculates the split-complementary colors for a `source` color using a cylindrical color space.
triadicColors(source, colorSpace)
Calculates the two triadic colors for a `source` color using a cylindrical color space.
tetradicColors(source, colorSpace, square)
Calculates the three square or rectangular tetradic colors for a `source` color using a cylindrical color space.
pentadicColors(source, colorSpace)
Calculates the four pentadic colors for a `source` color using a cylindrical color space.
hexadicColors(source, colorSpace)
Calculates the five hexadic colors for a `source` color using a cylindrical color space.
add(value1, value2, transpWeight)
Additively mixes two "color" values, with optional transparency weighting.
overlay(fg, bg)
Estimates the resulting color that appears on the chart when placing one color over another.
fromGradient(value, bottomValue, topValue, bottomColor, topColor, colorSpace)
Calculates the gradient color that corresponds to a specific value based on a defined value range and color space.
fromMultiStepGradient(value, steps, colors, colorSpace)
Calculates a multi-step gradient color that corresponds to a specific value based on an array of step points, an array of corresponding colors, and a color space.
gradientPalette(baseColor, stopColor, steps, strength, model)
Generates a palette from a gradient between two base colors.
monoPalette(baseColor, grayLuminance, variations, strength, colorSpace)
Generates a monochromatic palette from a specified base color.
harmonyPalette(baseColor, harmonyType, grayLuminance, variations, strength, colorSpace)
Generates a palette consisting of harmonious base colors and their monochromatic variants.
Malama's Dashboard with HeikinMalama's Dashboard with Heikin is a comprehensive trading indicator designed to provide traders with a consolidated view of market sentiment across multiple technical indicators. It combines Ichimoku Cloud, RSI, ADX, Choppiness Index, volume analysis, momentum, divergence detection, and multi-timeframe (MTF) MACD and volume trends to generate a composite sentiment score. The indicator displays these metrics in a visually intuitive table, enabling traders to quickly assess market conditions and make informed decisions. Optionally, it supports Heikin Ashi candles to smooth price data and reduce noise, aiding in trend identification. The script solves the problem of information overload by presenting key indicators in a single, trader-friendly dashboard, reducing the need for multiple charts or indicators.
Originality and Usefulness
This script is a unique mashup of several well-known technical indicators, integrated into a cohesive dashboard with a composite sentiment score. Unlike standalone indicators like RSI or Ichimoku, this script synthesizes signals from Ichimoku Cloud, RSI, ADX, Choppiness, volume, momentum, divergence, and MTF analysis into a unified sentiment metric. The inclusion of Heikin Ashi candles as an optional input adds flexibility for traders preferring smoothed price action. The composite score, derived from weighted contributions of each indicator, provides a novel way to gauge overall market direction, which is not commonly found in public open-source scripts. While individual components like RSI or Ichimoku are widely available, the script’s originality lies in its integrated approach, clear table visualization, and customizable settings, making it a practical tool for traders seeking a holistic market view.
Detailed Methodology ("How It Works")
The script processes multiple technical indicators and aggregates their signals into a composite sentiment score, displayed in a table. Below is a breakdown of its core components and logic:
Heikin Ashi Candles:
Logic: Optionally applies Heikin Ashi calculations to smooth price data. Heikin Ashi candles are computed using formulas for open, high, low, and close prices, reducing market noise and emphasizing trends.
Usage: When enabled, all subsequent calculations (Ichimoku, RSI, ADX, etc.) use Heikin Ashi prices instead of regular OHLC data, potentially improving trend clarity.
Ichimoku Cloud:
Logic: Calculates the Conversion Line (9-period high/low average), Base Line (26-period high/low average), Leading Span A (average of Conversion and Base Lines), and Leading Span B (52-period high/low average).
Signals: Bullish if the close price is above both Leading Spans; bearish if below; neutral otherwise.
Average Directional Index (ADX):
Logic: Computes ADX using a 14-period (default) directional movement index, measuring trend strength. PlusDI and MinusDI are calculated from price movements, and ADX is derived from their difference.
Signals: Bullish if PlusDI > MinusDI; bearish otherwise. ADX value indicates trend strength but is not used directly in sentiment scoring.
Relative Strength Index (RSI):
Logic: Calculates RSI over a 21-period (default) using the closing price. Overbought (>75) and oversold (<25) levels are user-defined.
Signals: Bullish if RSI > 50; bearish if RSI < 50. Overbought/oversold conditions are displayed but not used in the composite score.
Momentum:
Logic: Measures the difference between the current close and the close 10 periods ago (default).
Signals: Bullish if momentum > 0; bearish if < 0; neutral if 0.
Choppiness Index:
Logic: Calculates choppiness over a 14-period (default) using ATR and price range, normalized to a 0–100 scale. Values >61.8 indicate a sideways market; <38.2 indicate a trending market.
Signals: Bullish if choppiness < 38.2; bearish otherwise.
Volume Analysis:
Logic: Compares current volume to a 21-period (default) simple moving average (SMA). Bullish or bearish pressure is determined by whether the close is above or below the open.
Signals: Bullish if volume > 1.2x SMA and bullish pressure dominates; bearish if bearish pressure dominates; neutral otherwise.
Divergence Detection:
Logic: Identifies RSI divergences over a 5-period lookback. A bullish divergence occurs when price makes a lower low, but RSI makes a higher low; bearish divergence is the opposite.
Signals: Bullish or bearish based on divergence detection; neutral if no divergence.
Multi-Timeframe (MTF) Analysis:
Logic: Retrieves daily MACD (12, 26, 9) and volume SMA (21-period) from a higher timeframe. MACD is bullish if the MACD line > signal line; volume is bullish if current volume > daily SMA.
Signals: Bullish or bearish based on MACD and volume trends.
Composite Sentiment Score:
Logic: Aggregates signals from Ichimoku (±2), RSI (±1), ADX (±1), momentum (±1), choppiness (±1), divergence (±1), MTF MACD (±1), and MTF volume (±1). The score ranges from -8 to +8.
Signals: Bullish if score > 0; bearish if < 0; neutral if 0.
Alert Condition:
Triggers an alert when the composite sentiment flips (e.g., from bullish to bearish).
Strategy Results and Risk Management
This script is an indicator, not a strategy, and does not include backtesting or automated trade signals. However, the composite sentiment score can guide trading decisions. Assumptions for practical use include:
Commission and Slippage: Traders should account for realistic trading costs (e.g., 0.1% per trade) when acting on signals, though the script does not model these.
Risk Limits: Traders are advised to risk 5–10% of equity per trade, depending on their strategy and the strength of the composite score (e.g., higher scores may justify larger positions).
Trade Frequency: The script’s signals are based on multiple indicators, ensuring sufficient trade opportunities across trending and ranging markets.
Customization: Traders can adjust risk by modifying input parameters (e.g., RSI overbought/oversold levels or lookback periods) to align with their risk tolerance. For example, tightening RSI thresholds may reduce signal frequency but increase precision.
User Settings and Customization
The script offers several user-configurable inputs, allowing traders to tailor its behavior:
Use Heikin Ashi Candles (Boolean, default: false): Enables/disables Heikin Ashi smoothing for all calculations, affecting trend clarity.
ADX Length (Integer, default: 14, min: 1): Sets the period for ADX calculations, influencing trend strength sensitivity.
RSI Length (Integer, default: 21, min: 1): Adjusts RSI calculation period, impacting overbought/oversold detection.
RSI Overbought Level (Integer, default: 75, min: 1): Sets the RSI overbought threshold.
RSI Oversold Level (Integer, default: 25, min: 1): Sets the RSI oversold threshold.
Volatility Length (Integer, default: 21, min: 1): Controls the ATR period for volatility (used in Choppiness).
Volume MA Length (Integer, default: 21, min: 1): Sets the SMA period for volume analysis.
Momentum Length (Integer, default: 10, min: 1): Defines the lookback for momentum calculations.
Choppiness Length (Integer, default: 14, min: 1): Sets the period for Choppiness Index calculations.
These settings allow traders to adjust the indicator’s sensitivity to market conditions. For example, shorter RSI or ADX periods increase responsiveness but may generate more noise, while longer periods smooth signals but may lag.
Visualizations and Chart Setup
The script plots a table in the top-right corner of the chart, summarizing the following:
Header: Displays “MALAMA’S DASHBOARD” in white text on a black background.
Indicator Rows: Each row corresponds to an indicator (Ichimoku, RSI, ADX, Choppiness, Volume, Momentum, Divergence, MTF MACD, MTF Volume, Composite).
Columns:
Indicator: Lists the indicator name.
Value: Shows the calculated value (e.g., RSI value, composite score) and sentiment (e.g., Bullish, Bearish, Neutral).
Color Coding: Bullish signals are green, bearish signals are red, and neutral signals are gray, all with 85% transparency for readability.
Composite Sentiment: The final row displays the composite score and sentiment, providing a quick summary of market direction.
No trend lines, signal markers, or additional overlays are plotted, ensuring the chart remains uncluttered and focused on the dashboard’s insights.
Godfather of Support & Resistance Godfather of Support & Resistance
Overview
The Godfather of Support & Resistance script is a powerful tool designed to help traders identify critical support and resistance levels on their charts. These price levels are vital for understanding market behavior, as they often act as turning points where prices reverse, consolidate, or break through. By automating the detection of these levels, this script simplifies your trading decisions and enhances your technical analysis.
How It Works
Pivot Points for Level Detection:
The script uses pivot points to identify potential support (lows) and resistance (highs) levels:
A pivot high is a local peak (a high surrounded by lower highs).
A pivot low is a local trough (a low surrounded by higher lows).
You can adjust the Pivot Length (pivotLen) input to control the sensitivity of detection. Smaller values detect more levels, while larger values focus on major levels.
Dynamic Grouping with Tolerance:
The script dynamically groups nearby price levels using a tolerance percentage. This tolerance is based on the level's price, making it adaptive to all types of assets (low- and high-priced).
For example, if the tolerance is set to 1% and a level is at $100, levels within $1 are grouped together.
Touch Count for Significance:
The script tracks how many times the price interacts with each level (touch count). Only levels that meet or exceed the Minimum Touches (minTouches) input are displayed on the chart. This ensures only meaningful levels are highlighted.
Clear Visual Representation:
Resistance Levels (Red Lines): Represent areas where the price tends to reverse downward.
Support Levels (Green Lines): Represent areas where the price tends to reverse upward.
Labels are added to each level (optional) to display the price and the number of touches for better decision-making.
Inputs You Can Customize
Minimum Touches to Show Level:
Set the minimum number of price interactions required for a level to be displayed.
Maximum Lines to Keep:
Limit the number of support and resistance lines displayed to keep your chart clean and focused.
Pivot Length:
Customize the sensitivity of pivot point detection. Smaller values detect more levels, while larger values focus on key levels.
Tolerance for Touch Detection (%):
Adjust the grouping tolerance as a percentage of the price. For example, 1% groups levels that are within 1% of each other.
How to Use
Apply the Script:
Add the script to your TradingView chart, and it will automatically detect and plot support and resistance levels.
Analyze the Levels:
Use Resistance Levels (red lines) as potential sell zones or areas to place stop-loss orders above.
Use Support Levels (green lines) as potential buy zones or areas to place stop-loss orders below.
Customize for Your Trading Style:
Adjust the inputs to match your preferred strategy and the timeframe or asset you're analyzing.
Example Use Case
Imagine you're analyzing a stock:
Resistance Level: The script identifies resistance at $150 with 3 touches. This might be a potential sell zone if the price struggles to break through.
Support Level: The script identifies support at $130 with 4 touches. This might be a potential buy zone if the price shows signs of bouncing upward.
Key Features
Automatically detects and plots support and resistance levels.
Tracks the number of price touches to filter out weak levels.
Adapts dynamically to price ranges using a percentage-based tolerance.
Fully customizable to suit different trading styles and assets.
Clean and professional chart display with a limit on the number of lines.
Notes
This script is for educational purposes only and should not be considered financial advice.
Always perform your own analysis and manage risk before making trading decisions.
Why Use This Script?
The Godfather of Support & Resistance script simplifies your trading decisions by automating the detection of critical price levels. Whether you're a beginner or an experienced trader, this script is designed to save you time and help you focus on making informed trades.
Start using it today to master the art of support and resistance trading!
Let me know if you need further refinements for this description!
ZenAlgo - BenderThis script combines several volume-based methodologies into a single chart overlay to help traders analyze market participation and volume distribution. It aggregates volume from multiple sources—spot and perpetual markets across different exchanges—and processes it to display various insights directly on the chart.
The script provides a detailed view of both individual-bar volume and broader aggregated trends. It calculates certain values, plots different shapes and overlays, and includes an optional informational table. However, it does not offer financial signals or predict future price movements. Instead, it presents multiple volume and range-related highlights for educational or analytical observations.
Below is a detailed breakdown of the core elements in this script:
Core Data Calculation and Aggregation
To build a comprehensive volume picture, the script retrieves volume data from multiple predefined exchanges for both Spot and Perpetual pairs. The volume for each bar is processed in Aggregated mode , meaning it combines data across selected sources to produce a single composite volume value.
The script applies average-based aggregation to calculate the final volume figures. The total volume is then used as the basis for further calculations, such as buy/sell volume decomposition and Delta analysis.
Buy/Sell Volume Decomposition
Each bar’s total volume is separated into an estimated buy portion and a sell portion. This decomposition uses logic that considers wick length, body size, and whether the bar closed higher or lower than it opened. The script assigns fractions of the total volume to the upper wick, lower wick, and body, then multiplies these by the total aggregated volume to estimate buy and sell volumes.
This breakdown is calculated separately for spot-only volume , perp-only volume , and their aggregated sums, allowing traders to analyze how much of each bar’s volume is estimated as "buy" or "sell."
Delta and Cumulative Delta
The script computes a Delta (buy volume minus sell volume) for each bar. A positive Delta suggests more buying during that bar, while a negative Delta suggests more selling.
It also computes Cumulative Delta , summing this Delta over 14 bars (a fixed period). This allows users to observe how short-term buy/sell imbalances accumulate over time.
Visual Bar Coloring (PVSRA Logic)
The script includes logic based on PVSRA (Price Volume Support Resistance Analysis) , which examines average volume over a recent lookback period to determine whether a bar meets certain "climax" or "above-average" thresholds.
Bars are categorized as:
Climax Up or Climax Down: If a bar meets strong volume and range conditions, it is identified as a high-activity bar.
Neutral Colors: Bars that do not meet the threshold are identified as standard volume bars.
Table Summaries
The script includes an optional Spot vs. Perpetual volume table that provides:
Aggregated Spot vs. Perpetual buy/sell volumes
The net difference between buying and selling
The total sum across all included sources
Percentage breakdown of buying vs. selling
A separate multi-timeframe table calculates volume-related metrics for fixed timeframes (15, 60, and 240 minutes), allowing traders to compare their current timeframe with broader trends.
Highlighted Shapes and Diamonds
The script places shape markers above or below bars when certain conditions are met, including:
Dots (circles): Representing a significant increase in net Delta compared to the previous bar.
Diamonds: Markers that appear when volume-based conditions align with predefined thresholds. These vary in size and include an optional "Hardcore Mode" , which applies stricter filtering.
Crossover Triangles: These appear when the internally computed Delta MA (a moving average of Delta) crosses above or below a predefined EMA.
These markers highlight notable changes in volume, Delta, or price action but do not constitute predictive trading signals.
Delta Averages and Overlaid EMAs
The script plots a histogram of the current net Delta (buy minus sell) . Additionally, a Delta Moving Average (Delta MA) is used for tracking trends. The Delta MA is plotted alongside predefined Exponential Moving Averages (EMAs) , such as:
A Delta MA calculated using an exponential moving average (EMA) over 21 bars.
A set of predefined EMAs (lengths such as 3, 5, 7, 10, 13, 16, 21, 25, etc.) plotted to visualize momentum changes.
Areas between these EMAs can be filled with translucent shading to highlight momentum shifts.
Comparing the Delta MA to the overlaid EMAs helps track changes in Delta momentum over time.
Interpreting the Elements
When using this script, consider the following:
Volume Aggregation: The script aggregates volume across multiple Spot and Perpetual sources to provide a broad market view.
Delta and Cumulative Delta: The Delta histogram may spike positively or negatively, highlighting areas of potential buying or selling pressure.
Table Data: If enabled, the tables display buy/sell volume splits for Spot and Perpetual markets, along with multi-timeframe comparisons.
EMA Overlays on Delta: The stacked EMAs help visualize short-term vs. longer-term Delta changes.
Shape Markers: Dots, diamonds, and triangles emphasize notable shifts in volume or Delta but do not imply recommendations for action.
Usage Tips
Toggle "Hardcore Mode" to apply stricter filtering to highlight conditions.
Enable or disable the Spot vs. Perpetual Table to see if the breakdown of volume sources is useful.
Use the multi-timeframe table to compare intraday data with broader trends.
If the chart appears too cluttered, toggle off features like PVSRA color tints or some EMAs to focus on specific elements.
Final Thoughts
This script integrates multiple volume-based calculations, range analysis, aggregated volume from predefined tickers, and various moving averages for Delta. Its visual layers—color-coded bars, histograms, shape markers, and tables—offer a rich perspective on market activity.
Users can analyze these elements across any timeframe or market combination they prefer. The script does not provide buy/sell signals or make predictions —it is purely an analytical tool for understanding volume-based market dynamics.
Traders should interpret these visual elements according to their own strategy and trading approach.
Trend Vanguard StrategyHow to Use:
Trend Vanguard Strategy is a multi-feature Pine Script strategy designed to identify market pivots, draw dynamic support/resistance, and generate trade signals via ZigZag breakouts. Here’s how it works and how to use it:
ZigZag Detection & Pivot Points
The script locates significant swing highs and lows using configurable Depth, Deviation, and Backstep values.
It then connects these pivots with lines (ZigZag) to highlight directional changes and prints labels (“Buy,” “Sell,” etc.) at key turning points.
Support & Resistance Trendlines
Pivot highs and lows are used to draw dashed S/R lines in real-time.
When price crosses these lines, the script triggers a breakout signal (long or short).
EMA Overlays
Up to four EMAs (with customizable lengths and colors) can be overlaid on the chart for added trend confirmation.
Enable/disable each EMA independently via the settings.
Repaint Option
Turning on “Smooth Indicator Lines” (repaint) uses future data to refine past pivots.
This can make historical signals look cleaner but does not reflect true historical conditions.
Turning it off ensures signals remain fixed once they appear.
Strategy Entries & Exits
On each new ZigZag “Buy” or “Sell” signal, the script closes any open position and flips to the opposite side (if desired).
Works with the built-in TradingView Strategy engine for backtesting.
Additional Inputs (Placeholders)
Volume Filter and RSI Filter settings exist but are not fully implemented in the current code. Future versions may incorporate these filters more directly.
How to Use
Add to Chart: Click “Indicators” → “Invite-Only Scripts” (or “My Scripts”) and select “Trend Vanguard Strategy.”
Configure Settings:
Adjust ZigZag Depth, Deviation, and Backstep to fine-tune pivot sensitivity.
Enable or disable each EMA to see how it aligns with market trends.
Toggle “Smooth Indicator Lines” on or off depending on whether you want repainting.
Backtest and Forward Test:
Use TradingView’s “Strategy Tester” tab to review hypothetical performance.
Remember that repainting can alter past signals if enabled.
Monitor Live:
Watch for breakout triangles or ZigZag labels to identify potential reversal or breakout trades in real time.
Disclaimer: This script is purely educational and not financial advice. Always combine it with sound risk management and thorough analysis. Enjoy exploring the script, and feel free to experiment with the different settings to match your trading style!
ZenAlgo - DetectorThis script combines multiple volume data sources, calculates several forms of volume-based metrics, displays a table for Spot vs. Perpetual volumes, and visualizes several technical elements (such as cumulative delta, divergences, fractals, and specialized moving averages). The primary objective is to help analyze volume activity across different exchanges, compare Spot vs. Perpetual markets, and observe how shifting volumes may coincide with price action characteristics. This description aims to clarify each component, explain how the calculations are performed, and show you how to interpret the various chart markings.
Why Combine These Metrics in One Script?
Many publicly available volume-related tools focus only on a single exchange or a single type of volume (like spot or futures). This script merges multiple exchange sources for spot and perpetual data into a unified view. By doing so, users can detect discrepancies or confirm alignment between different markets without juggling multiple indicators. It also processes volume-derived signals (delta, divergences, fractals, etc.) in one place, sparing you from manually combining various standalone scripts. Through this integration, it becomes easier to observe how price and volume interact across different market segments.
Core Concept: Aggregated Volume
The script begins by collecting volumes from multiple exchanges in two categories:
Spot volumes – Typically aggregated under symbols ending with "USDT" or a user-selected currency, and
Perpetual volumes – From perpetual futures contracts (e.g., symbols ending in "USD.P" or "USDT.P").
All these exchange volumes are requested via the built-in request.security() function in a single line for each exchange. The user can enable or disable each exchange in the inputs. The script then calculates an "aggregated volume" for Spot, an aggregated volume for Perpetual, and an overall combined total.
This aggregated volume is used later to break down how much of each bar's volume can be considered "buy" or "sell" based on the bar's candle structure (body vs. wicks).
Volume-Based Calculations: Buy vs. Sell Volume and Delta
For each bar, the script estimates how much of the aggregated volume can be associated with a "buy side" and a "sell side."
Volume Buy is computed if the bar's close is above the open , giving more weight to the candle's body and allocating some portion of volume to the wicks as well.
Volume Sell is similarly computed if the bar's close is below the open .
This results in a Delta value: Delta = (Buy Volume) – (Sell Volume).
Additionally, the script accumulates these values over a user-defined "lookback length" to provide Cumulative Delta . This can help show longer-term directional volume bias.
Table: Spot vs. Perpetual Comparison
There is a toggle ("Show Spot vs Perpetual Table") that displays an on-chart table comparing volumes:
Buy Volume and Sell Volume for each aggregated category (Spot, Perp, and their sum).
Delta (the difference between Buy and Sell).
Percentage breakdowns of buy vs. sell portions.
This table only appears on the most recent bar and helps users quickly assess how Spot and Perpetual volumes compare, plus the overall total.
PVSRA Color Coding
A "PVSRA-style" color approach classifies each bar based on volume and candle range:
Climax Up (lime) or Climax Down (red) occurs if volume is extremely high relative to a simple moving average of volume and range.
Above-Average Up (blue) or Down (fuchsia) occurs if volume is moderately higher than average.
Otherwise, colors fall back to neutral up/down colors.
This allows you to spot potentially high-volume "climax" bars vs. bars with only moderate or typical volume levels.
Fractals and Divergences
The script detects certain fractal points on the aggregated volumes (sum of buy or sell volumes). It looks for a 5-bar pattern (with the current bar in the middle for top or bottom fractals).
When a fractal is confirmed on buy volume, the script checks if new higher price highs coincide with lower buy-volume peaks (or vice versa) to highlight regular or hidden divergences.
Similar logic is applied on the sell-volume side if new lower price lows occur alongside higher sell-volume troughs (or the opposite).
If enabled in the settings, lines and labels may appear on the chart to mark these divergence points.
"Delta Dot" Events
This script draws small circles above or below bars when the total delta changes magnitude relative to the previous bar by certain user-defined multipliers. It segregates "tiny," "small," "large," and "extra" expansions in bullish or bearish delta.
Bullish Dots : Appear above the bar when the new positive delta is multiple times bigger than the previous positive delta.
Bearish Dots : Appear below the bar in a similar fashion for negative delta.
These dots emphasize large or sudden shifts in buy/sell pressure from one bar to the next.
Delta MA and its Direction
A moving average is calculated on the total delta and optionally multiplied by a factor (in the code, by 4) to make it visually prominent. The user can pick from SMA, EMA, WMA, RMA, or HMA as the smoothing technique.
Delta MA Direction : The script compares the current delta MA to a short SMA of itself to define whether it is rising or falling.
A color is assigned—blue if rising, orange if falling, gray if they're roughly equal.
This helps quickly visualize longer-term momentum in the net delta metric.
Divergences on the Delta MA
After computing the "Delta MA" line, the script detects pivot highs or lows on that line. If the price makes a new high but the Delta MA pivot is lower (and vice versa), it draws lines and small labels indicating potential divergence.
Bearish Divergence : Price makes a higher high, while the Delta MA pivot forms a lower high.
Bullish Divergence : Price makes a lower low, while the Delta MA pivot forms a higher low.
RSI + MFI Computation
The script also calculates a simplified form of RSI+MFI by comparing (close – open) / (high – low) * a multiplier , then smoothing it with a simple average. This is purely for an optional observational measure to see if the price action is leaning bullish or bearish in terms of these combined indicators.
EMA Overlay and Diamond Shapes
There are two standard EMAs (13 and 21). The script checks whether price is above or below these EMAs, in addition to other conditions (like changes in delta, volume, or RSI+MFI direction) to draw diamond shapes at the top or bottom of the chart:
Green Diamonds near the bottom if the conditions line up to suggest that the environment is more favorable for bullish pressure.
Red Diamonds near the top if the environment suggests more bearish pressure.
These diamonds come in two sizes:
Normal – More pronounced, typically plotted if RSI+MFI result is above/below zero.
Small – Plotted if RSI+MFI is on the other side of that threshold.
An optional "Hardcore Mode" adds special tiny diamonds under specific delta color/condition mismatches.
How to Interpret the Chart Elements
Line Plots of Buy and Sell Volumes : A positive line for buy volume, a negative line for sell volume, and a zero-line for reference. This provides at-a-glance perspective on how buy or sell volumes add up per bar.
Histogram "Total Delta" : A color-coded bar that quickly shows whether overall buy vs. sell volume is dominant. The color is governed by the PVSRA logic (e.g., potential climax or above-average conditions).
Volume Table (when enabled): Summarizes volumes in numeric and percentage form for Spot, Perp, and total categories on the last bar.
Delta Dots : Small circles highlighting abrupt changes in delta magnitude. Larger multiples indicate bigger jumps compared to the previous bar.
Fractals & Divergence Lines : Connect pivot points in buy/sell volume or in the Delta MA line with price highs/lows to indicate potential divergences.
Delta MA Plot : Smooth curve (scaled up x4) to reflect longer-term accumulation or distribution in the delta. Colored by whether the MA is above or below a short average of itself.
Diamonds : Appear when certain volume, price, RSI+MFI, and delta conditions converge. Green diamonds near the bottom typically coincide with bullish conditions, red diamonds near the top with bearish conditions.
Practical Usage Notes
Use the Spot vs. Perp breakdown to see if these two market segments differ significantly in their contributions to total volume. This can be informative when a certain type of market (futures vs. spot) might be "driving" price action.
The PVSRA color scheme highlights "climax" or "above-average" volume bars, which can sometimes appear around major reversals or breakouts.
Observing divergences in aggregated buy/sell volume (or in the Delta MA line) can provide additional context on whether certain price moves are backed by strong volume involvement.
The script's fractal divergences rely on short pivot detection. Signals will appear only after enough bars have passed for confirmation, so these are effectively "after-the-fact" notations to illustrate possible volume/price divergences.
The diamonds do not necessarily instruct any buy/sell action; rather, they mark conditions where multiple volume and momentum criteria line up in one direction.
Important Considerations
This script displays aggregated volumes from potentially multiple exchanges. Each exchange or pair might have different time zones, liquidity, or data availability, which can occasionally result in incomplete or zero values.
All references to "buy" or "sell" volume are approximate breakdowns based on candle structure. They are not absolute measures of real-time order flow.
Divergences and fractal points are provided strictly for analytical insight. They can repaint or shift if the fractal conditions were not fully confirmed in real time.
The color-coded lines, histograms, diamonds, and tables are strictly to guide analysis of volume fluctuations and do not claim to predict future price performance.
If you enable "Hardcore Mode," you will see additional diamond markers. This mode is mainly intended as an extra highlight of certain "contradictory" delta conditions.
Summary
The "ZenAlgo - Detector" script brings together a variety of volume-based analyses:
Aggregated volumes from multiple exchanges
A breakdown into Spot vs. Perpetual activity
Delta calculations, fractal divergences, and a specialized Delta Moving Average
Color-coded bars reflecting possible PVSRA concepts
A table to highlight numeric differences and percentages
Additional overlays (e.g., diamonds, RSI+MFI synergy, etc.)
In contrast to many free, single-exchange indicators, this script centralizes multiple exchange volumes in one place, making it easier to observe and compare volume flows across different market types (spot vs. perpetual). Users no longer need to rely on scattered tools or separate overlays to check volume divergences, fractals, or specialized MA calculations—everything is unified here. By carefully monitoring the table, Delta histogram, color-coded bars, divergence lines, and diamond markers, traders can more comprehensively evaluate how volume and price interact. Each plot is designed to showcase different aspects of volume flow—such as whether spot or derivatives markets dominate, if volume is skewed toward buying or selling, and if there are divergences between volume momentum and price movement.
All computations are displayed to help you carry out a more informed market analysis. It is strongly advised to combine these observations with other risk management or analytical methods, rather than relying on any single indicator alone.
Multi-Indicator Signals with Selectable Options by DiGetMulti-Indicator Signals with Selectable Options
Script Overview
This Pine Script is a multi-indicator trading strategy designed to generate buy/sell signals based on combinations of popular technical indicators: RSI (Relative Strength Index) , CCI (Commodity Channel Index) , and Stochastic Oscillator . The script allows you to select which combination of signals to display, making it highly customizable and adaptable to different trading styles.
The primary goal of this script is to provide clear and actionable entry/exit points by visualizing buy/sell signals with arrows , labels , and vertical lines directly on the chart. It also includes input validation, dynamic signal plotting, and clutter-free line management to ensure a clean and professional user experience.
Key Features
1. Customizable Signal Types
You can choose from five signal types:
RSI & CCI : Combines RSI and CCI signals for confirmation.
RSI & Stochastic : Combines RSI and Stochastic signals.
CCI & Stochastic : Combines CCI and Stochastic signals.
RSI & CCI & Stochastic : Requires all three indicators to align for a signal.
All Signals : Displays individual signals from each indicator separately.
This flexibility allows you to test and use the combination that works best for your trading strategy.
2. Clear Buy/Sell Indicators
Arrows : Buy signals are marked with upward arrows (green/lime/yellow) below the candles, while sell signals are marked with downward arrows (red/fuchsia/gray) above the candles.
Labels : Each signal is accompanied by a label ("BUY" or "SELL") near the arrow for clarity.
Vertical Lines : A vertical line is drawn at the exact bar where the signal occurs, extending from the low to the high of the candle. This ensures you can pinpoint the exact entry point without ambiguity.
3. Dynamic Overbought/Oversold Levels
You can customize the overbought and oversold levels for each indicator:
RSI: Default values are 70 (overbought) and 30 (oversold).
CCI: Default values are +100 (overbought) and -100 (oversold).
Stochastic: Default values are 80 (overbought) and 20 (oversold).
These levels can be adjusted to suit your trading preferences or market conditions.
4. Input Validation
The script includes built-in validation to ensure that oversold levels are always lower than overbought levels for each indicator. If the inputs are invalid, an error message will appear, preventing incorrect configurations.
5. Clean Chart Design
To avoid clutter, the script dynamically manages vertical lines:
Only the most recent 50 buy/sell lines are displayed. Older lines are automatically deleted to keep the chart clean.
Labels and arrows are placed strategically to avoid overlapping with candles.
6. ATR-Based Offset
The vertical lines and labels are offset using the Average True Range (ATR) to ensure they don’t overlap with the price action. This makes the signals easier to see, especially during volatile market conditions.
7. Scalable and Professional
The script uses arrays to manage multiple vertical lines, ensuring scalability and performance even when many signals are generated.
It adheres to Pine Script v6 standards, ensuring compatibility and reliability.
How It Works
Indicator Calculations :
The script calculates the values of RSI, CCI, and Stochastic Oscillator based on user-defined lengths and smoothing parameters.
It then checks for crossover/crossunder conditions relative to the overbought/oversold levels to generate individual signals.
Combined Signals :
Depending on the selected signal type, the script combines the individual signals logically:
For example, a "RSI & CCI" buy signal requires both RSI and CCI to cross into their respective oversold zones simultaneously.
Signal Plotting :
When a signal is generated, the script:
Plots an arrow (upward for buy, downward for sell) at the corresponding bar.
Adds a label ("BUY" or "SELL") near the arrow for clarity.
Draws a vertical line extending from the low to the high of the candle to mark the exact entry point.
Line Management :
To prevent clutter, the script stores up to 50 vertical lines in arrays (buy_lines and sell_lines). Older lines are automatically deleted when the limit is exceeded.
Why Use This Script?
Versatility : Whether you're a scalper, swing trader, or long-term investor, this script can be tailored to your needs by selecting the appropriate signal type and adjusting the indicator parameters.
Clarity : The combination of arrows, labels, and vertical lines ensures that signals are easy to spot and interpret, even in fast-moving markets.
Customization : With adjustable overbought/oversold levels and multiple signal options, you can fine-tune the script to match your trading strategy.
Professional Design : The script avoids clutter by limiting the number of lines displayed and using ATR-based offsets for better visibility.
How to Use This Script
Add the Script to Your Chart :
Copy and paste the script into the Pine Editor in TradingView.
Save and add it to your chart.
Select Signal Type :
Use the "Signal Type" dropdown menu to choose the combination of indicators you want to use.
Adjust Parameters :
Customize the lengths of RSI, CCI, and Stochastic, as well as their overbought/oversold levels, to match your trading preferences.
Interpret Signals :
Look for green arrows and "BUY" labels for buy signals, and red arrows and "SELL" labels for sell signals.
Vertical lines will help you identify the exact bar where the signal occurred.
Tips for Traders
Backtest Thoroughly : Before using this script in live trading, backtest it on historical data to ensure it aligns with your strategy.
Combine with Other Tools : While this script provides reliable signals, consider combining it with other tools like support/resistance levels or volume analysis for additional confirmation.
Avoid Overloading the Chart : If you notice too many signals, try tightening the overbought/oversold levels or switching to a combined signal type (e.g., "RSI & CCI & Stochastic") for fewer but higher-confidence signals.
Cumulative Buying and Selling Volume with 3 Lookback PeriodsScript Overview:
This script is designed to help traders identify market momentum by analyzing buying and selling volume. It calculates the cumulative buying and selling pressure over three different lookback periods, providing insights into whether the bulls or bears are dominating at any given time. The script does this by computing the cumulative buying and selling volume for each period and comparing them through exponential moving averages (EMA) to smooth out short-term fluctuations.
Purpose and Use:
The primary goal of this script is to highlight shifts in market sentiment based on volume dynamics. Volume is a critical component in market analysis, often signaling the strength behind price movements. By focusing on cumulative buying and selling pressure, the script gives traders an idea of whether the market is trending towards more buying or selling during specific periods. Traders can use this tool to:
Identify potential entry points when buying pressure is strong.
Recognize potential selling opportunities when selling pressure is increasing.
Detect periods of indecision when neither buying nor selling dominates.
Key Concepts:
1. Buying Volume (BV):
The buying volume is calculated based on the price range of each candle. It represents the volume allocated to the bullish side of the market:
When the close is near the high, the buying volume is higher.
Formula: BV = volume * (close - low) / (high - low).
2. Selling Volume (SV):
Similarly, selling volume is derived based on the position of the close relative to the low:
When the close is near the low, selling volume is higher.
Formula: SV = volume * (high - close) / (high - low)
3. Lookback Periods:
The script allows users to define three different lookback periods (5, 10, and 20 by default). These periods smooth out the cumulative buying and selling volumes using EMA calculations:
Shorter periods capture more immediate changes in volume dynamics.
Longer periods provide a broader perspective on market trends.
4. Cumulative Volume Calculation:
For each lookback period, cumulative buying and selling volumes are tracked separately and then smoothed with EMA:
emaBuyVol and emaSellVol are the smoothed values for buying and selling volumes over the lookback periods.
5. Market Pressure Comparison:
Buying Pressure: If the EMA of buying volume is greater than the EMA of selling volume for a particular lookback period, the script considers that buying pressure dominates for that period.
Selling Pressure: Conversely, if selling volume dominates over buying volume for a period, the script registers selling pressure.
6. Overall Market Pressure:
The script aggregates the buying and selling pressures from the three lookback periods to determine the overall market sentiment:
If the majority of periods show buying pressure, the market is bullish.
If the majority show selling pressure, the market is bearish.
If neither side dominates, it suggests a neutral or indecisive market.
Visual Cues:
The script provides visual feedback to help traders quickly interpret the market pressure:
Background Color:
Green (#2bff00) when buying pressure dominates.
Red (#ff0000) when selling pressure dominates.
Gray (#404040) when there is no clear dominance.
Bar Color: The script also colors the price bars based on the dominant market pressure:
Green for buying pressure.
Red for selling pressure.
Gray for neutral or balanced market pressure.
Reset Mechanism:
At the start of each new candle, the cumulative volumes for all three periods are reset to zero. This ensures that the cumulative volumes are only measured for the current candle, preventing carryover from previous periods that could distort the analysis.
How Traders Can Use This Script:
Trend Confirmation: Traders can use the script as a trend confirmation tool. When the background turns green (buying dominance), it suggests bullish momentum. When red, bearish momentum is likely. This information can be used to confirm existing positions or signal new trades in the direction of the market pressure.
Reversal Detection: A sudden shift in the background color (from green to red or vice versa) can indicate a potential reversal. This can be particularly useful when combined with other technical indicators such as price action or support/resistance levels.
Multiple Timeframes: Since the script supports three different lookback periods, it provides a comprehensive view of market pressure across short-term, medium-term, and long-term perspectives. Traders can tailor the lookback periods based on their preferred timeframe to match their trading style, whether it’s intraday trading or longer-term swing trading.
Risk Management: The script's clear visual cues help traders manage risk by highlighting when selling pressure increases, allowing them to consider reducing long positions or tightening stop-losses.
Ichimoku Wave Oscillator with Custom MAIchimoku Wave Oscillator with Custom MA - Pine Script Description
This script uses various types of moving averages (MA) to implement the concept of Ichimoku wave theory for wave analysis. The user can select from SMA, EMA, WMA, TEMA, SMMA to visualize the difference between short-term, medium-term, and long-term waves, while identifying potential buy and sell signals at crossover points.
Key Features:
MA Type Selection:
The user can select from SMA (Simple Moving Average), EMA (Exponential Moving Average), WMA (Weighted Moving Average), TEMA (Triple Exponential Moving Average), and SMMA (Smoothed Moving Average) to calculate the waves. This script is unique in that it combines TEMA and SMMA, distinguishing it from other simple moving average-based indicators.
TEMA (Triple Exponential Moving Average): Best suited for capturing short-term trends with quick responsiveness.
SMMA (Smoothed Moving Average): Useful for identifying long-term trends with minimal noise, providing more stable signals.
Wave Calculations:
The script calculates three waves: Wave 9-17, Wave 17-26, and Wave 9-26, each of which analyzes different time horizons.
Wave 9-17 (blue): Primarily used for analyzing short-term trends, ideal for detecting quick changes.
Wave 17-26 (red): Used to analyze medium-term trends, providing a more stable market direction.
Wave 9-26 (green): Represents long-term trends, suitable for understanding broader trend shifts.
Baseline (0 Line):
Each wave is visualized around the 0 line, where waves above the line indicate an uptrend and waves below the line indicate a downtrend. This allows for easy identification of trend reversals.
Crossover Signals:
CrossUp: When Wave 9-17 (short-term wave) crosses Wave 17-26 (medium-term wave) upward, it is considered a buy signal, indicating a potential upward trend shift.
CrossDown: When Wave 9-17 (short-term wave) crosses Wave 17-26 downward, it is considered a sell signal, indicating a potential downward trend shift.
Background Color for Signal:
The script visually highlights the signals with background colors. When a buy signal occurs, the background turns green, and when a sell signal occurs, the background turns red. This makes it easier to spot reversal points.
Calculation Method:
The script calculates the difference between moving averages to display the wave oscillation. Wave 9-17, Wave 17-26, and Wave 9-26 represent the difference between the moving averages for different time periods, allowing for analysis of short-term, medium-term, and long-term trends.
Wave 9-17 = MA(9) - MA(17): Represents the difference between the short-term moving averages.
Wave 17-26 = MA(17) - MA(26): Represents the difference between medium-term moving averages.
Wave 9-26 = MA(9) - MA(26): Provides insight into the long-term trend.
This calculation method effectively visualizes the oscillation of waves and helps identify trend reversals at crossover points.
Uniqueness of the Script:
Unlike other moving average-based indicators, this script combines TEMA (Triple Exponential Moving Average) and SMMA (Smoothed Moving Average) to capture both short-term sensitivity and long-term stability in trends. This duality makes the script more versatile for different market conditions.
TEMA is ideal for short-term traders who need quick signals, while SMMA is useful for long-term investors seeking stability and noise reduction. By combining these two, this script provides a more refined analysis of trend changes across various timeframes.
How to Use:
This script is effective for trend analysis and reversal detection. By visualizing the crossover points between the waves, users can spot potential buy and sell signals to make more informed trading decisions.
Scalping strategies can rely on Wave 9-17 to detect quick trend changes, while those looking for medium-term trends can analyze signals from Wave 17-26.
For a broader market overview, Wave 9-26 helps users understand the long-term market trend.
This script is built on the concept of wave theory to anticipate trend changes, making it suitable for various timeframes and strategies. The user can tailor the characteristics of the waves by selecting different MA types, allowing for flexible application across different trading strategies.
Ichimoku Wave Oscillator with Custom MA - Pine Script 설명
이 스크립트는 다양한 이동 평균(MA) 유형을 활용하여 일목 파동론의 개념을 기반으로 파동 분석을 시도하는 지표입니다. 사용자는 SMA, EMA, WMA, TEMA, SMMA 중 원하는 이동 평균을 선택할 수 있으며, 이를 통해 단기, 중기, 장기 파동 간의 차이를 시각화하고, 교차점에서 상승 및 하락 신호를 포착할 수 있습니다.
주요 기능:
이동 평균(MA) 유형 선택:
사용자는 SMA(단순 이동 평균), EMA(지수 이동 평균), WMA(가중 이동 평균), TEMA(삼중 지수 이동 평균), SMMA(평활 이동 평균) 중 하나를 선택하여 파동을 계산할 수 있습니다. 이 스크립트는 TEMA와 SMMA의 독창적인 조합을 통해 기존의 단순한 이동 평균 지표와 차별화됩니다.
TEMA(삼중 지수 이동 평균): 빠른 반응으로 단기 트렌드를 포착하는 데 적합합니다.
SMMA(평활 이동 평균): 장기적인 추세를 파악하는 데 유용하며, 노이즈를 최소화하여 안정적인 신호를 제공합니다.
파동(Wave) 계산:
이 스크립트는 Wave 9-17, Wave 17-26, Wave 9-26의 세 가지 파동을 계산하여 각각 단기, 중기, 장기 추세를 분석합니다.
Wave 9-17 (파란색): 주로 단기 추세를 분석하는 데 사용되며, 빠른 추세 변화를 포착하는 데 유용합니다.
Wave 17-26 (빨간색): 중기 추세를 분석하는 데 사용되며, 좀 더 안정적인 시장 흐름을 보여줍니다.
Wave 9-26 (녹색): 장기 추세를 나타내며, 큰 흐름의 방향성을 파악하는 데 적합합니다.
기준선(0 라인):
각 파동은 0 라인을 기준으로 변동성을 시각화합니다. 0 위에 있는 파동은 상승세, 0 아래에 있는 파동은 하락세를 나타내며, 이를 통해 추세의 전환을 쉽게 확인할 수 있습니다.
파동 교차 신호:
CrossUp: Wave 9-17(단기 파동)이 Wave 17-26(중기 파동)을 상향 교차할 때, 상승 신호로 간주됩니다. 이는 단기적인 추세 변화가 발생할 수 있음을 의미합니다.
CrossDown: Wave 9-17(단기 파동)이 Wave 17-26(중기 파동)을 하향 교차할 때, 하락 신호로 해석됩니다. 이는 시장이 약세로 돌아설 가능성을 나타냅니다.
배경 색상 표시:
교차 신호가 발생할 때, 상승 신호는 녹색 배경, 하락 신호는 빨간색 배경으로 시각적으로 강조되어 사용자가 신호를 쉽게 인식할 수 있습니다.
계산 방식:
이 스크립트는 이동 평균 간의 차이를 계산하여 각 파동의 변동성을 나타냅니다. Wave 9-17, Wave 17-26, Wave 9-26은 각각 설정된 주기의 이동 평균(MA)의 차이를 통해, 시장의 단기, 중기, 장기 추세 변화를 시각적으로 표현합니다.
Wave 9-17 = MA(9) - MA(17): 단기 추세의 차이를 나타냅니다.
Wave 17-26 = MA(17) - MA(26): 중기 추세의 차이를 나타냅니다.
Wave 9-26 = MA(9) - MA(26): 장기적인 추세 방향을 파악할 수 있습니다.
이러한 계산 방식은 파동의 변동성을 파악하는 데 유용하며, 추세의 교차점을 통해 상승/하락 신호를 잡아냅니다.
스크립트의 독창성:
이 스크립트는 기존의 이동 평균 기반 지표들과 달리, TEMA(삼중 지수 이동 평균)와 SMMA(평활 이동 평균)을 함께 사용하여 짧은 주기와 긴 주기의 트렌드를 동시에 파악할 수 있도록 설계되었습니다. 이를 통해 단기 트렌드의 민감한 변화와 장기 트렌드의 안정성을 모두 반영합니다.
TEMA는 단기 트레이더에게 빠르고 민첩한 신호를 제공하며, SMMA는 장기 투자자에게 보다 안정적이고 긴 호흡의 트렌드를 파악하는 데 유리합니다. 두 지표의 결합으로, 다양한 시장 환경에서 추세의 변화를 더 정교하게 분석할 수 있습니다.
사용 방법:
이 스크립트는 추세 분석과 변곡점 포착에 효과적입니다. 각 파동 간의 교차점을 시각적으로 확인하고, 상승 또는 하락 신호를 포착하여 매매 시점 결정을 도울 수 있습니다.
스캘핑 전략에서는 Wave 9-17을 주로 참고하여 빠르게 추세 변화를 잡아내고, 중기 추세를 참고하고 싶은 경우 Wave 17-26을 사용해 신호를 분석할 수 있습니다.
장기적인 시장 흐름을 파악하고자 할 때는 Wave 9-26을 통해 큰 트렌드를 확인할 수 있습니다.
이 스크립트는 파동 이론의 개념을 기반으로 시장의 추세 변화를 예측하는 데 유용하며, 다양한 시간대와 전략에 맞추어 사용할 수 있습니다. 특히, 사용자가 선택한 MA 유형에 따라 파동의 특성을 변화시킬 수 있어, 여러 매매 전략에 유연하게 대응할 수 있습니다.
display_valueOVERVIEW
This script is a tinny library for creating and displaying formatted values in TradingView scripts. It provides a structured way to present key information like titles, percentages, currency values, decimals, and integers with clear formatting. This allows you to coordinate your strings in advance and hold one item to use for calling your string to a label, box, table.. Made for day to day use of most typical use cases, more advanced techniques should be used for complicated scenarios.
Building Blocks
User Defined Types (UDTs)
The script defines a UDT called `DisplayValue` to encapsulate the components of a display value:
* title : The title or label of the value.
* format_string : The string used to format the value (e.g., "{0} - 1,number,percent}").
* value : The actual value to be displayed.
* format : An enum value specifying the desired format (percent, currency, etc.).
Enums
The `DisplayFormat` enum provides predefined constants for various formatting options, making the code more readable and less prone to errors.
Functions
* create() : This function creates a new `DisplayValue` instance. It takes the title, value, and desired format as arguments and generates the appropriate format string.
* to_string() : This function converts a `DisplayValue` instance into a formatted string ready for display on the chart.
How to Use
1. Import the library:
import kaigouthro/display_value/1as dv
2. Create a DisplayValue instance:
myValue = dv.create("My Percentage", 0.5, dv.DisplayFormat.percent)
3. Convert it to a string:
formattedString = dv.to_string(myValue)
4. Display the formatted string:
label.new(bar_index, high, formattedString)
Example
//@version=5
import kaigouthro/display_value/1 as dv
myValue = dv.create("Profit", 0.15, dv.DisplayFormat.percent)
formattedString = dv.to_string(myValue)
label.new(bar_index, high, formattedString)
This will display a label on the chart with the text "Profit - 15%".
### Notes
* The library handles the formatting details, making it easier to display values consistently in your scripts.
* The use of enums and UDTs improves code organization and readability.
--------
Library "display_value"
create(display_name, display_value, display_format)
Gets the appropriate format string based on the display format.
Parameters:
display_name (string) : (string) The name of the display value. Default is na.
display_value (float)
display_format (series DisplayFormat)
Returns: (DisplayValue) A new DisplayValue instance with the formatted value.
to_string(item)
Converts the display value to a string with the specified format.
Parameters:
item (DisplayValue) : (DisplayValue) The display value to convert to a string.
Returns: (string) The string representation of the display value.
DisplayValue
Structure representing a display value.
Fields:
title (series string) : (string) The title of the display value.
format_string (series string) : (string) The format string to use for display.
value (series float) : (float) The value to display.
format (series DisplayFormat) : (DisplayFormat) The format to use.
Precision Cloud by Dr ABIRAM SIVPRASAD
Precision Cloud by Dr. Abhiram Sivprasad"
The " Precision Cloud" script, created by Dr. Abhiram Sivprasad, is a multi-purpose technical analysis tool designed for Forex, Bitcoin, Commodities, Stocks, and Options trading. It focuses on identifying key levels of support and resistance, combined with moving averages (EMAs) and central pivot ranges (CPR), to help traders make informed trading decisions. The script also provides a visual "light system" to highlight potential long or short positions, aiding traders in entering trades with a clear strategy.
Key Features of the Script:
Central Pivot Range (CPR):
The CPR is calculated as the average of the high, low, and close of the price, while the top and bottom pivots are derived from it. These act as dynamic support and resistance zones.
The script can plot daily CPR, support, and resistance levels (S1/R1, S2/R2, S3/R3) as well as optional weekly and monthly pivot points.
The CPR helps identify whether the price is in a bullish, bearish, or neutral zone.
Support and Resistance Levels:
Three daily support (S1, S2, S3) and resistance (R1, R2, R3) levels are plotted based on the CPR.
These levels act as potential reversal or breakout points, allowing traders to make decisions around key price points.
EMA (Exponential Moving Averages):
The script includes two customizable EMAs (default periods of 9 and 21). You can choose the source for these EMAs (open, high, low, or close).
The crossovers between EMA1 and EMA2 help identify potential trend reversals or momentum shifts.
Lagging Span:
The Lagging Span is plotted with a customizable displacement (default 26), which helps identify overall trend direction by comparing past price with the current price.
Light System:
A color-coded table provides a visual representation of market conditions:
Green indicates bullish signals (e.g., price above CPR, EMAs aligning positively).
Red indicates bearish signals (e.g., price below CPR, EMAs aligning negatively).
Yellow indicates neutral conditions, where there is no clear trend direction.
The system includes lights for CPR, EMA, Long Position, and Short Position, helping traders quickly assess whether the market is in a buying or selling opportunity.
Trading Strategies Using the Script
1. Forex Trading:
Trend-Following with EMAs: Use the EMA crossovers to capture trending markets in Forex. A green light for the EMA combined with a price above the daily or weekly pivot levels suggests a buying opportunity. Conversely, if the EMA light turns red and price falls below the CPR levels, look for shorting opportunities.
Reversal Strategy: Watch for price action near the daily S1/R1 levels. If price holds above S1 and the EMA is green, this could signal a reversal from support. The same applies to resistance levels.
2. Bitcoin Trading:
Momentum Breakouts: Bitcoin is known for its sharp moves. The script helps to identify breakouts from the CPR range. If the price breaks above the TC (Top Central Pivot) with bullish EMA alignment (green light), it could signal a strong uptrend.
Lagging Span Confirmation: Use the Lagging Span to confirm the trend direction. For Bitcoin's volatility, when the lagging span shows consistent alignment with the price and CPR, it often indicates continuation of the trend.
3. Commodities Trading:
Support/Resistance Bounce: Commodities such as gold and oil often react well to pivot levels. Look for price bouncing off S1 or R1 for potential entry points. A green CPR light along with price above the pivot range supports a bullish bias.
EMA Pullback Strategy: If price moves in a strong trend and pulls back to one of the EMAs, a green EMA light suggests re-entry on a pullback. If the EMA light is red and price breaks below the BC (Bottom Central Pivot), short positions could be considered.
4. Stocks Trading:
Long Position Strategy: For stocks, use the combination of the long position light turning green (price above TC and EMA alignment) as a signal to buy. This could be especially useful for riding bullish trends in growth stocks or during earnings seasons when volatility is high.
Short Position Strategy: If the short position light turns green, indicating price below BC and EMAs turning bearish, this could be an ideal setup for shorting overvalued stocks or during market corrections.
5. Options Trading:
Directional Bias for Options: The light system is particularly helpful for options traders. A green long position light provides a clear signal to buy call options, while a green short position light supports buying puts.
Pivot Breakout Strategy: Buy options (calls or puts) when the price breaks above resistance or below support, with confirmation from the CPR and EMA lights. This helps capture the sharp moves required for profitable options trades.
Conclusion
The S&R Precision Cloud script is a versatile tool for traders across markets, including Forex, Bitcoin, Commodities, Stocks, and Options. It combines critical technical elements like pivot ranges, support and resistance levels, EMAs, and the Lagging Span to provide a clear picture of market conditions. The intuitive light system helps traders quickly assess whether to take a long or short position, making it an excellent tool for both new and experienced traders.
The S&R Precision Cloud by Dr. Abhiram Sivprasad script is a technical analysis tool designed to assist traders in making informed decisions. However, it should not be interpreted as financial or investment advice. The signals generated by the script are based on historical price data and technical indicators, which are inherently subject to market fluctuations and do not guarantee future performance.
Trading in Forex, Bitcoin, Commodities, Stocks, and Options carries a high level of risk and may not be suitable for all investors. You should be aware of the risks involved and be willing to accept them before engaging in such activities. Always conduct your own research and consult with a licensed financial advisor or professional before making any trading decisions.
The creators of this script are not responsible for any financial losses that may occur from its use. Past performance is not indicative of future results, and the use of this script is at your own risk.
FxASTLite [ALLDYN]This script, titled "FxASTLite " or "FxAST LX," is a Pine Script indicator designed for trading systems that use multiple technical analysis tools such as EMAs (Exponential Moving Averages) and PSAR (Parabolic Stop and Reverse). The script is overlaid on the price chart, providing insights into market trends and potential buy or sell signals.
### Key Features:
1. **EMA (Exponential Moving Averages)**
- The script plots several EMAs (5, 8, 13, 21, 50, and 200) based on the Heiken Ashi close price. EMAs are helpful in identifying trends, momentum, and potential entry/exit points.
- The script highlights key relationships between the EMAs, such as the crossover or crossunder of faster EMAs (like the 8 EMA) with slower ones (like the 21 EMA). These events often signal potential trend reversals or continuation.
2. **PSAR (Parabolic Stop and Reverse)**
- The script uses the PSAR indicator, which is a trend-following indicator that highlights potential points where the market might reverse direction.
- The script identifies bullish PSAR flips (when the PSAR value moves below the price, signaling a potential upward trend) and bearish PSAR flips (when the PSAR value moves above the price, signaling a downward trend).
- The PSAR flips are used to generate buy or sell signals.
3. **Heiken Ashi Candles**
- It uses Heiken Ashi candles to smooth out price action and better identify trends. Heiken Ashi candles help filter out market noise and make trends clearer compared to regular candlestick charts.
4. **Session Times**
- The script allows traders to track different market sessions (e.g., London, New York, Asia). It identifies and allows users to analyze price action during specific trading hours.
5. **Buy and Sell Signals**
- The script defines multiple conditions for buy and sell signals:
- **Buy Signals**: Generated when certain conditions are met, such as the price moving above key EMAs, bullish PSAR flips, and bullish Heiken Ashi candles.
- **Sell Signals**: Generated when conditions like bearish PSAR flips, bearish candles, and price moving below EMAs are met.
- These signals are designed to guide traders on when to enter or exit trades.
6. **Alerts**
- The script comes with alert conditions, which can be used to set automated alerts for when buy or sell signals occur. This allows the trader to stay informed without constantly monitoring the chart.
### How It Works:
1. **EMA-Based Trend Identification:**
- EMAs help identify the overall market trend. For example, if the 8-period EMA crosses above the 21-period EMA, it signals a potential bullish trend. Conversely, if the 8 EMA crosses below the 21 EMA, it may signal a bearish trend.
2. **PSAR for Trend Reversals:**
- PSAR values provide insight into potential trend reversals. When the PSAR flips (moving from above to below the price or vice versa), the script highlights these flips as potential buy/sell signals.
3. **Combining Signals:**
- The script combines multiple indicators (EMAs, PSAR, and Heiken Ashi candles) to provide stronger confirmations of potential entry and exit points. By using multiple indicators, the script reduces the likelihood of false signals.
4. **Visual Overlay:**
- The script overlays key information on the price chart, such as EMAs and PSAR dots, which makes it easy for traders to visualize market conditions in real-time.
### Benefits of Using This Script:
1. **Trend Identification:**
- The combination of EMAs and PSAR helps traders identify trends early. The visual display of these indicators directly on the chart makes it easier to detect shifts in market sentiment.
2. **Smoothed Candlesticks:**
- By using Heiken Ashi candles, the script smooths out noisy price action, making it easier to spot trends and reduce the likelihood of making impulsive decisions based on short-term volatility.
3. **Buy and Sell Signals:**
- The script generates clear buy and sell signals based on a combination of multiple technical factors (EMAs, PSAR, and Heiken Ashi). This can help traders time their entries and exits more effectively.
4. **Multi-Timeframe Alerts:**
- With the built-in alert functionality, traders can set up alerts for specific signals (like a PSAR flip or EMA crossover) across different timeframes. This helps traders stay informed without having to watch the chart constantly.
5. **Session Management:**
- The ability to track different market sessions allows traders to focus on times of high liquidity and volatility, which are often the best times to trade.
6. **Customizability:**
- The script allows traders to customize the settings for each indicator (e.g., EMA lengths, PSAR settings, session times) according to their trading preferences.
### Use Cases:
- **Trend Trading:**
- Traders who follow market trends can benefit from this script as it uses EMAs and PSAR to identify trending conditions and potential trend reversals.
- **Swing Trading:**
- Swing traders looking to capitalize on medium-term market moves can use the script to identify optimal entry and exit points based on momentum shifts.
- **Intraday Trading:**
- The inclusion of market sessions and real-time alerts makes the script useful for intraday traders who want to focus on specific trading hours, such as the opening of the London or New York sessions.
Overall, this script is designed for traders who rely on technical indicators to guide their trading decisions. The combination of EMAs, PSAR, and Heiken Ashi candles provides a well-rounded view of market trends and potential entry/exit points, making it a powerful tool for traders looking to improve their strategy.
Universal Algo [Coff3eG]Universal Algo By G
Overview:
Universal Algo By G is a comprehensive LONG-ONLY trading strategy specifically designed for medium to long-term use in cryptocurrency markets, particularly Bitcoin. This algorithm can be manually adjusted to fit the volatility of specific coins, ensuring the best possible results. While it does not generate a large number of trades due to the nature of bull and bear market cycles, it has been rigorously backtested and forward-tested to ensure the strategy is not overfitted.
Core Features:
Integrated Systems: Universal Algo is built around five core systems, each contributing unique analytical perspectives to enhance trade signal reliability. These systems are designed to identify clear trend opportunities for significant gains while also employing logic to navigate through ranging markets effectively.
Optional Ranging Market Filter: Helps filter out noise, potentially enhancing signal clarity.
Market State Detection: Identifies four distinct market states:
Trending
Ranging
Danger (Possible top)
Possible Bottom
Global Liquidity Indicator (GLI) Integration: Leverages GLI values to identify positive liquidity trends.
Volatility Bands: Provides insights into market volatility.
Top and Bottom Detection: Shows possible bottoms with green backgrounds and red backgrounds for possible top detection.
The Market State Detection, GLI, Volatility Bands, and Top and Bottom Detection feature all serve as an expectation management feature.
Additional Features:
Optional Metrics Table: Displays strategy metrics and statistics, providing detailed insights into performance.
Customization Options: The script offers a range of user inputs, allowing for customization of the backtesting starting date, the decision to display the strategy equity curve, among other settings. These inputs cater to diverse trading needs and preferences, offering users control over their strategy implementation.
Operational Parameters:
Customizable Inputs: Users can adjust thresholds to match the coin's volatility, enhancing strategy performance.
Transparency and Logic Insight: While specific calculation details and proprietary indicators are integral to maintaining the uniqueness of Universal Algo, the strategy is grounded on well-established financial analysis techniques. These include momentum analysis, volatility assessments, and adaptive thresholding, among others, to formulate its trade signals. Notably, no single indicator is used in isolation; each indicator is combined with another to enhance signal accuracy and robustness. Some of the indicators include customized versions of the TEMA, Supertrend, Augmented Dickey-Fuller (ADF), and Weekly Positive Directional Movement Index (WPDM), all integrated together to create a cohesive and effective trading strategy.
System Operation:
Universal Algo works by taking the average score of the five core systems used for the signals. Three of these systems have been lengthened out to function as longer-term systems, while the remaining two operate at a slightly faster speed. This combination and averaging of systems help to balance the overall strategy, ensuring it maintains the right amount of speed to remain effective for medium to long-term use with minimal noise. The average score is then compared against customizable thresholds. The strategy will go long if the average score is above the threshold and short if it is below the threshold. This averaging mechanism helps to smooth out individual system anomalies and provides a more robust signal for trading decisions.
Originality and Usefulness:
Universal Algo is an original strategy that combines multiple proprietary and customized indicators to deliver robust trading signals. The strategy integrates various advanced indicators and methodologies, including:
System Indicator: Calculates a cumulative score based on recent price movements, aiding in trend detection.
Median For Loop: Utilizes percentile rank calculations of price data to gauge market direction.
Volatility Stop: A modified volatility-based stop-loss indicator that adjusts based on market conditions.
Supertrend: A customized supertrend indicator that uses percentile ranks and ATR for trend detection.
RSI and DEMA: Combines a modified RSI and DEMA for overbought/oversold conditions.
TEMA: Uses 3 different types of MA for trend detection and standard deviation bands for additional confirmation.
Detailed Explanation of Components and Their Interaction:
RSI (Relative Strength Index): Used to identify overbought and oversold conditions. In Universal Algo, RSI is combined with DEMA (Double Exponential Moving Average) to smooth the price data and provide clearer signals.
ATR (Average True Range): Used to measure market volatility. ATR is incorporated into the Volatility Stop and Supertrend indicators to adjust stop-loss levels and trend detection based on current market conditions.
DEMA (Double Exponential Moving Average): Provides a smoother price trend compared to traditional moving averages, reducing lag and making it easier to identify trend changes.
Modified TEMA (Triple Exponential Moving Average): Similar to DEMA but provides even greater smoothing, reducing lag further and enhancing trend detection accuracy.
Volatility Stop: Utilizes ATR to dynamically set stop-loss levels that adapt to changing market volatility. This helps in protecting profits and minimizing losses.
Customized Supertrend: Uses ATR and percentile ranks to determine trend direction and strength. This indicator helps in capturing major trends while filtering out market noise.
Median For Loop: Calculates percentile ranks of price data over a specified period to assess market direction. This helps in identifying potential reversals and trend continuations.
HMA (Hull Moving Average): A fast-acting moving average that reduces lag while maintaining smoothness. It helps in quickly identifying trend changes.
SMA (Simple Moving Average): A traditional moving average that provides baseline trend information. Combined with HMA and other indicators, it forms a comprehensive trend detection system.
Universal Algo offers a sophisticated blend of advanced indicators and proprietary logic that is not available in free or open-source scripts. Here are some reasons why it is worth paying for:
Customization and Flexibility: The strategy provides a high degree of customization, allowing users to adjust various parameters to suit their trading style and market conditions. This flexibility is often not available in free scripts.
Proprietary Indicators: The use of proprietary and customized indicators such as the TEMA, Supertrend, ADF, and WPDM ensures that the strategy is unique and not replicable by free or open-source scripts.
Integrated Systems: The strategy combines multiple systems and indicators to provide a more comprehensive and reliable trading signal. This integration helps to smooth out anomalies and reduces noise, providing clearer trading opportunities.
Rigorous Testing: Universal Algo has undergone extensive backtesting and forward-testing to ensure its robustness and reliability. The results demonstrate its ability to perform well under various market conditions, offering users confidence in its effectiveness.
Detailed Metrics and Analysis: The optional metrics table provides users with detailed insights into the strategy's performance, including metrics like equity, drawdown, Sharpe ratio, and more. This level of detail helps traders make informed decisions.
Value Addition: By providing a strategy that combines advanced indicators, customization options, and thorough testing, Universal Algo adds significant value to traders looking for a reliable and adaptable trading tool.
Realistic Trading Conditions:
Backtesting and Forward-Testing: Rigorous testing ensures performance and reliability, with a focus on prudent risk management. Default properties include an initial capital of $1000, 0 pyramiding, 20 slippage, 0.05% commission, and using 5% of equity for trades.
The strategy is designed and tested with a focus on achieving a balance between risk and reward, striving for robustness and reliability rather than unrealistic profitability promises. Realistic trading conditions are considered, including appropriate account size, commission, slippage, and sustainable risk levels per trade.
Concluding Thoughts:
Universal Algo By G is offered to the TradingView community as a robust tool for enhancing market analysis and trading strategies. It is designed with a commitment to quality, innovation, and adaptability, aiming to provide valuable insights and decision support across various market conditions. Potential users are encouraged to evaluate Universal Algo within the context of their overall trading approach and objectives.