Selected Dates Filter by @zeusbottradingWe are presenting you feature for strategies in Pine Script.
This function/pine script is about NOT opening trades on selected days. Real usage is for bank holidays or volatile days (PPI, CPI, Interest Rates etc.) in United States and United Kingdom from 2020 to 2030 (10 years of dates of bank holidays in mentioned countries above). Strategy is simple - SMA crossover of two lengts 14 and 28 with close source.
In pine script you can see we picked US and GB bank holidays. If you add this into your strategy, your bot will not open trades on those days. You must make it a rule or a condition. We use it as a rule in opening long/short trades.
You can also add some of your prefered dates, here is just example of our idea. If you want to add your preffered days you can find them on any site like forexfactory, myfxbook and so on. But don’t forget to add function “time_tradingday ! = YourChoosedDate” as it is writen lower in the pine script.
Sometimes the date is substituted for a different day, because the day of the holiday is on Saturday or Sunday.
Made with ❤️ for this community.
If you have any questions or suggestions, let us know.
The script is for informational and educational purposes only. Use of the script does not constitutes professional and/or financial advice. You alone 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 zeusbottrading TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script.
Komut dosyalarını "THE SCRIPT" için ara
[ChasinAlts]Top-Wicked Good S/R LinesHello Tradeurs, as per usual, I hope everyone is having a FAN-FRIGGIN-TASTIC day. With the soon incoming bull market approaching fast(Nov 7, 2022), there are a few ideas that I've really been trying to push out to help nail a few coins as they are near their bottom peak of this closing Bear Market. This one may seem very similar to the last one I posted but I think this one takes the cake...esp when you see the next script from my 'Market Overview' series that I will be publishing shortly after this one as it is utilizing this new script for a market scanner that will be SUPER legit and profitable. Though it is alway nice to be noticed, I'm glad that I'm relatively unpopular so the few people that are now following me can have some time to make some money with some of these scripts I'm trying to pump out for the benefit of the community. I will rarely give my full analysis of how I take in and utilize these scripts but I can tell you, QUITE A FEW of them are money in the bank. Esp these last few I've done/am doing and even more-so the ones that are soon to come (I'm speaking of about the next 3-4 that I will be attempting to pump out in this next VERY IMPORTANT week.). One more thing I'll add before going to the script is a little alpha(Im pretty certain this is the way it is going but NOTHING is EVERY 100% in life). What I believe should be realized is the bottoming out of MANY of the crypto coins at the VERY bottom of a LONG TERM Cup and Handle (so it seems but shat can still change in the blink of an eye). Thus there are quite a few coins that I believe have already bottomed and wont be returning to said bottom for a few years or so but there are also quite a few still at the brink of the bottomest part before the real market breakout occurs. My goal with these scripts coming out this week to help you all find those coins that have yet to hit their very bottom (thus the ATH/ATL script recently published). Going back in history looking for the lowest points of long term Cup & Handles I will point out 2 key things. Near the center/bottomest part of these historical CnH you will see either Double Bottoms OR a Huge dump and then its V-shaped recovery. After these print the point of no return has occurred where only a few coins will be going lower than these Double Bottoms/V-Shaped recoveries. So the time is at hand. Now that many coins are seemingly pumping after this long consolidation, I believe we need to keep a keen eye out for THE FINAL RUG PULL (as soon as enough degenerates are leveraging Long their entire savings.). What Im saying is be ready for this final rug pull to finally be seeing these Double Bottoms/V-Shaped recoveries VERY soon. DO NOT waste all your capital yet and MAKE SURE to use stop losses or else rather than stop losses you will be burdened with MUCH WORSE losses. Im currently not even in the market bc I am waiting on said rug pull. Ok for the Script now.
This script is similar to the last one but with the previous one, one general set of settings can produce VASTLY different results (might have 2 S/R lines on one coin and 80 on another). I wanted to fix that with this script, turn it into a "Market Overview" Scanner and create alerts for the MO Scanner to be able to get alerted any time a coin is passing its largest wick S/R levels bc DULY NOTE...it is VERY rare that a coin will blow past it if it hasn't approached it recently. That means that a small retrace of 3-5%(or more) is EASY to acquire (with leverage that can really add up with how many coins are in the Kucoin Margin Coin list that I have in my scanners). Now, once price does shoot through a level you best be sure to be looking down the line for a retest of the S/R level it blew past before as they are MANY times the retest level and price will be coming back to it before continuing
in the direction it was going. Depending on the TF your using this could be a few hours to a few days to a few weeks...you get it. With this script you can choose to draw S/R lines 2 ways: 1) by having it plot S/R lines on the end of the largest 2(3,4,5..however many you choose) wicks that the chart has access to. For the scanner ill just be putting the largest 2-3 wicks and set alerts when coming up to them/crossing them & 2) having it draw S/R lines on the ends of the largest X% of wicks. it will be erasing the lines and drawing new ones on each new candle occurrence so the same general settings will no longer be producing VASTLY diff amounts of S/R lines and will be way more consistent amongst the coins for better utilization with the scanner (when I publish it). There is also a Wick Max Cutoff % so for those coins that had it's first few hours printing 100% sized wicks...you can choose to ignore them so they are not taking up one of your top spots for the S/R lines. There is similarly a Wick % min Size that can be selected so if you’re using the top % setting, it will help decrease those coins that can be still plotting 30 lines even though the top 3% of the largest wicks are set in the settings. Hope Im being clear but it's easy enough. I believe in you and your capabilities of comprehending it all and getting it all figured out. So this script is for a visualization for the scanner that I will be uploading soon-after. It's always nice to get a few comments if my ideas/scripts have been helpful to you and please don't hold back if you have something to tell me that I screwed up on (I am still rather new to this coding thing but I like to think I at least have some fresh ideas that aren’t out there in the public library). Talk to you soon and may the force be with your trades. Peace and love people...peace and love. -ChasinAlts out.
Candlestick Pattern Criteria and Analysis Indicator█ OVERVIEW
Define, then locate the presence of a candle that fits a specific criteria. Run a basic calculation on what happens after such a candle occurs.
Here, I’m not giving you an edge, but I’m giving you a clear way to find one.
IMPORTANT NOTE: PLEASE READ:
THE INDICATOR WILL ALWAYS INITIALLY LOAD WITH A RUNTIME ERROR. WHEN INITIALLY LOADED THERE NO CRITERIA SELECTED.
If you do not select a criteria or run a search for a criteria that doesn’t exist, you will get a runtime error. If you want to force the chart to load anyway, enable the debug panel at the bottom of the settings menu.
Who this is for:
- People who want to engage in TradingView for tedious and challenging data analysis related to candlestick measurement and occurrence rate and signal bar relationships with subsequent bars. People who don’t know but want to figure out what a strong bullish bar or a strong bearish bar is.
Who this is not for:
- People who want to be told by an indicator what is good or bad or buy or sell. Also, not for people that don’t have any clear idea on what they think is a strong bullish bar or a strong bearish bar and aren’t willing to put in the work.
Recommendation: Use on the candle resolution that accurately reflects your typical holding period. If you typically hold a trade for 3 weeks, use 3W candles. If you hold a trade for 3 minutes, use 3m candles.
Tldr; Read the tool tips and everything above this line. Let me know any issues that arise or questions you have.
█ CONCEPTS
Many trading styles indicate that a certain candle construct implies a bearish or bullish future for price. That said, it is also common to add to that idea that the context matters. Of course, this is how you end up with all manner of candlestick patterns accounting for thousands of pages of literature. No matter the context though, we can distill a discretionary trader's decision to take a trade based on one very basic premise: “A trader decides to take a trade on the basis of the rightmost candle's construction and what he/she believes that candle construct implies about the future price.” This indicator vets that trader’s theory in the most basic way possible. It finds the instances of any candle construction and takes a look at what happens on the next bar. This current bar is our “Signal Bar.”
█ GUIDE
I said that we vet the theory in the most basic way possible. But, in truth, this indicator is very complex as a result of there being thousands of ways to define a ‘strong’ candle. And you get to define things on a very granular level with this indicator.
Features:
1. Candle Highlighting
When the user’s criteria is met, the candle is highlighted on the chart.
The following candle is highlighted based on whether it breaks out, breaks down, or is an inside bar.
2. User-Defined Criteria
Criteria that you define include:
Candle Type: Bull bars, Bear bars, or both
Candle Attributes
Average Size based on Standard Deviation or Average of all potential bars in price history
Search within a specific price range
Search within a specific time range
Clarify time range using defined sessions and with or without weekends
3. Strike Lines on Candle
Often you want to know how price reacts when it gets back to a certain candle. Also it might be true that candle types cluster in a price region. This can be identified visually by adding lines that extend right on candles that fit the criteria.
4. User-Defined Context
Labeled “Alternative Criteria,” this facet of the script allows the user to take the context provided from another indicator and import it into the indicator to use as a overriding criteria. To account for the fact that the external indicator must be imported as a float value, true (criteria of external indicator is met) must be imported as 1 and false (criteria of external indicator is not met) as 0. Basically a binary Boolean. This can be used to create context, such as in the case of a traditional fractal, or can be used to pair with other signals.
If you know how to code in Pinescript, you can save a copy and simply add your own code to the section indicated in the code and set your bull and bear variables accordingly and the code should compile just fine with no further editing needed.
Included with the script to maximize out-of-the-box functionality, there is preloaded as alternative criteria a code snippet. The criteria is met on the bull side when the current candle close breaks out above the prior candle high. The bear criteria is met when the close breaks below the prior candle. When Alternate Criteria is run by itself, this is the only criteria set and bars are highlighted when it is true. You can qualify these candles by adding additional attributes that you think would fit well.
Using Alternative Criteria, you are essentially setting a filter for the rest of the criteria.
5. Extensive Read Out in the Data Window (right side bar pop out window).
As you can see in the thumbnail, there is pasted a copy of the Data Window Dialogue. I am doubtful I can get the thumbnail to load up perfectly aligned. Its hard to get all these data points in here. It may be better suited for a table at this point. Let me know what you think.
The primary, but not exclusive, purpose of what is in the Data Window is to talk about how often your criteria happens and what happens on the next bar. There are a lot of pieces to this.
Red = Values pertaining to the size of the current bar only
Blue = Values pertaining or related to the total number of signals
Green = Values pertaining to the signal bars themselves, including their measurements
Purple = Values pertaining to bullish bars that happen after the signal bar
Fuchsia = Values pertaining to bearish bars that happen after the signal bar
Lime = Last four rows which are your percentage occurrence vs total signals percentages
The best way I can explain how to understand parts you don’t understand otherwise in the data window is search the title of the row in the code using ‘ctrl+f’ and look at it and see if it makes more sense.
█ [b}Available Candle Attributes
Candle attributes can be used in any combination. They include:
[*}Bodies
[*}High/Low Range
[*}Upper Wick
[*}Lower Wick
[*}Average Size
[*}Alternative Criteria
Criteria will evaluate each attribute independently. If none is set for a particular attribute it is bypassed.
Criteria Quantity can be in Ticks, Points, or Percentage. For percentage keep in mind if using anything involving the candle range will not work well with percentage.
Criteria Operators are “Greater Than,” “Less Than,” and “Threshold.” Threshold means within a range of two numbers.
█ Problems with this methodology and opportunities for future development:
#1 This kind of work is hard.
If you know what you’re doing you might be able to find success changing out the inputs for loops and logging results in arrays or matrices, but to manually go through and test various criteria is a lot of work. However, it is rewarding. At the time of publication in early Oct 2022, you will quickly find that you get MUCH more follow through on bear bars than bull bars. That should be obvious because we’re in the middle of a bear market, but you can still work with the parameters and contextual inputs to determine what maximizes your probability. I’ve found configurations that yield 70% probability across the full series of bars. That’s an edge. That means that 70% of the time, when this criteria is met, the next bar puts you in profit.
#2 The script is VERY heavy.
Takes an eternity to load. But, give it a break, it’s doing a heck of a lot! There is 10 unique arrays in here and a loop that is a bit heavy but gives us the debug window.
#3 If you don’t have a clear idea its hard to know where to start.
There are a lot of levers to pull on in this script. Knowing which ones are useful and meaningful is very challenging. Combine that with long load times… its not great.
#4 Your brain is the only thing that can optimize your results because the criteria come from your mind.
Machine learning would be much more useful here, but for now, you are the machine. Learn.
#5 You can’t save your settings.
So, when you find a good combo, you’ll have to write it down elsewhere for future reference. It would be nice if we could save templates on custom indicators like we can on some of the built in drawing tools, but I’ve had no success in that. So, I recommend screenshotting your settings and saving them in Notion.so or some other solid record keeping database. Then you can go back and retrieve those settings.
#6 no way to export these results into conditions that can be copy/pasted into another script.
Copy/Paste of labels or tables would be the best feature ever at this point. Because you could take the criteria and put it in a label, copy it and drop it into another strategy script or something. But… men can dream.
█ Opportunities to PineCoders Learn:
1. In this script I’m importing libraries, showing some of my libraries functionality. Hopefully that gives you some ideas on how to use them too.
The price displacement library (which I love!)
Creative and conventional ways of using debug()
how to display arrays and matrices on charts
I didn’t call in the library that holds the backtesting function. But, also demonstrating, you can always pull the library up and just copy/paste the function out of there and into your script. That’s fine to do a lot of the time.
2. I am using REALLY complicated logic in this script (at least for me). I included extensive descriptions of this ? : logic in the text of the script. I also did my best to bracket () my logic groups to demonstrate how they fit together, both for you and my future self.
3. The breakout, built-in, “alternative criteria” is actually a small bit of genius built in there if you want to take the time to understand that block of code and think about some of the larger implications of the method deployed.
As always, a big thank you to TradingView and the Pinescript community, the Pinescript pros who have mentored me, and all of you who I am privileged to help in their Pinescripting journey.
"Those who stay will become champions" - Bo Schembechler
DMI + HMA - No Risk ManagementDMI (Directional Movement Index) and HMA (Hull Moving Average)
The DMI and HMA make a great combination, The DMI will gauge the market direction, while the HMA will add confirmation to the trend strength.
What is the DMI?
The DMI is an indicator that was developed by J. Welles Wilder in 1978. The Indicator was designed to identify in which direction the price is moving. This is done by comparing previous highs and lows and drawing 2 lines.
1. A Positive movement line
2. A Negative movement line
A third line can be added, which would be known as the ADX line or Average Directional Index. This can also be used to gauge the strength in which direction the market is moving.
When the Positive movement line (DI+) is above the Negative movement line (DI-) there is more upward pressure. Ofcourse visa versa, when the DI- is above the DI+ that would indicate more downwards pressure.
Want to know more about HMA? Check out one of our other published scripts
What is this strategy doing?
We are first waiting for the DMI to cross in our favoured direction, after that, we wait for the HMA to signal the entry. Without both conditions being true, no trade will be made.
Long Entries
1. DI+ crosses above DI-
2. HMA line 1 is above HMA line 2
Short Entries
1. DI- Crosses above DI+
2. HMA line 1 is below HMA lilne 2
Its as simple as that.
Conclusion
While this strategy does have its downsides, that can be reduced by adding some risk manegment into the script. In general the trade profitability is above average, And the max drawdown is at a minimum.
The settings have been optimised to suite BTCUSDT PERP markets. Though with small adjustments it can be used on many assets!
Strat AssistantStrat Assistant
This script will help you follow the strat. While other collections of scripts exist to do similar functionality, the idea of this (work in progress) is to be a one stop shop for all things strat that will evolve over time. Fairly new to the strat and pine script. The script is for informational purposes only. Please do you due diligence.
Features:
=Candle numbering: will number candles underneath based on the prior candle. 1 for an inside bar 2 for a directional bar (up or down) and 3 for an outside bar.
=Candle coloring: will highlight candles. Yellow for an inside candle, magenta for an outside candle, red for a 2 down candle, green for a 2 up candle. It will not modify the outside border of the candle so you can still see green if the open was lower than the close or red if the close was below open.
=Candle shape: will place an arrow up if the 2 candle is a directional UP and arrows down if the 2 candle is a directional DOWN. It will display red if it's bearish and green if it's bullish.
=Strat combos: will provide a text description of all currently applicable strat combinations if they are active at the top right of the chart. It will display red if it's bearish and green if it's bullish.
=Actionable signals: will provide text description of actionable signals if they are active on the bottom right of the chart. Inside bar if the bar is inside the prior bar, the color of this signal will be blue (shows better on white background). Hammer will be 75% of the candle is at the bottom and the open and close are above the 75% of the wick. Hammers will display green for bullish. Shooters are just the opposite of hammers, 75% of the wick is at the top and the open and close are below 75% of the wick. Shooters will display at red for bearish.
=Time Frame Continuity: will provide time frame continuity across 15m, 30m, Hour, Day, Week, Quarter, Year with green arrows up if the close is above the open for the given time frame, or red arrows down if the close is below the open for the given time frame. This will also look to determine if the time frame is applicable based on what time frame the user selects as well as ensures history exists for the given time frame.
Backlog / Work in progress:
=Opacity for time frame continuity
=Line indicators (or maybe just a label) for highs and lows of previous periods (hour, day, week, quarter)
=Alert conditions
=User input for various indicators
McGinley Dynamic (Improved) - John R. McGinley, Jr.For all the McGinley enthusiasts out there, this is my improved version of the "McGinley Dynamic", originally formulated and publicized in 1990 by John R. McGinley, Jr. Prior to this release, I recently had an encounter with a member request regarding the reliability and stability of the general algorithm. Years ago, I attempted to discover the root of it's inconsistency, but success was not possible until now. Being no stranger to a good old fashioned computational crisis, I revisited it with considerable contemplation.
I discovered a lack of constraints in the formulation that either caused the algorithm to implode to near zero and zero OR it could explosively enlarge to near infinite values during unusual price action volatility conditions, occurring on different time frames. A numeric E-notation in a moving average doesn't mean a stock just shot up in excess of a few quintillion in value from just "10ish" moments ago. Anyone experienced with the usual McGinley Dynamic, has probably encountered this with dynamically dramatic surprises in their chart, destroying it's usability.
Well, I believe I have found an answer to this dilemma of 'susceptibility to miscalculation', to provide what is most likely McGinley's whole hearted intention. It required upgrading the formulation with two constraints applied to it using min/max() functions. Let me explain why below.
When using base numbers with an exponent to the power of four, some miniature numbers smaller than one can numerically collapse to near 0 values, or even 0.0 itself. A denominator of zero will always give any computational device a horribly bad day, not to mention the developer. Let this be an EASY lesson in computational division, I often entertainingly express to others. You have heard the terminology "$#|T happens!🙂" right? In the programming realm, "AnyNumber/0.0 CAN happen!🤪" too, and it happens "A LOT" unexpectedly, even when it's highly improbable. On the other hand, numbers a bit larger than 2 with the power of four can tremendously expand rapidly to the numeric limits of 64-bit processing, generating ginormous spikes on a chart.
The ephemeral presence of one OR both of those potentials now has a combined satisfactory remedy, AND you as TV members now have it, endowed with the ever evolving "Power of Pine". Oh yeah, this one plots from bar_index==0 too. It also has experimental settings tweaks to play with, that may reveal untapped potential of this formulation. This function now has gain of function capabilities, NOT to be confused with viral gain of function enhancements from reckless BSL-4 leaking laboratories that need to be eternally abolished from this planet. Although, I do have hopes this imd() function has the potential to go viral. I believe this improved function may have utility in the future by developers of the TradingView community. You have the source, and use it wisely...
I included an generic ema() plot for a basic comparison, ultimately unveiling some of this algorithm's unique characteristics differing on a variety of time frames. Also another unconstrained function is included to display some the disparities of having no limitations on a divisor in the calculation. I strongly advise against the use of umd() in any published script. There is simply just no reason to even ponder using it. I also included notes in the script to warn against this. It's funny now, but some folks don't always read/understand my advisories... You have been warned!
NOTICE: You have absolute freedom to use this source code any way you see fit within your new Pine projects, and that includes TV themselves. You don't have to ask for my permission to reuse this improved function in your published scripts, simply because I have better things to do than answer requests for the reuse of this simplistic imd() function. Sufficient accreditation regarding this script and compliance with "TV's House Rules" regarding code reuse, is as easy as copying the entire function as is. Fair enough? Good! I have a backlog of "computational crises" to contend with, including another one during the writing of this elaborate description.
When available time provides itself, I will consider your inquiries, thoughts, and concepts presented below in the comments section, should you have any questions or comments regarding this indicator. When my indicators achieve more prevalent use by TV members, I may implement more ideas when they present themselves as worthy additions. Have a profitable future everyone!
weighted support or resistance linesQ: Why should users choose this script?
A: I found that in all the publicly available scripts about support and resistance lines, there is basically no weight identification for these lines. In other words, users do not know which support or resistance lines are the most important. So I specifically wrote this script.
1. By adjusting the weights, only the most effective support or resistance lines are displayed. (Length threshold of trend price (Bar))
2. By selecting the number of K-lines, only the latest number of support or resistance lines generated will be displayed. (Maximum number of reserved S/R lines)
3. By selecting whether to automatically remove lines, only support or resistance lines that have not been penetrated by the k-line will be displayed. If this function is checked, the weight can be adjusted lower, as high-weight SR may have already been penetrated, and the newly generated SR may have a lower weight. (Automatically remove lines penetrated by closing price confirmation)
4. Notes: The default parameters work well in 15-minute candlestick charts. For candlestick charts with other time periods, the parameters can be adjusted appropriately. It is suitable for sideways trading but not for strong trends.
5. I'm quite satisfied with the performance of the script, as I specifically optimized it, lol
Follow Line Strategy Version 2.5 (React HTF)Follow Line Strategy v2.5 (React HTF) - TradingView Script Usage
This strategy utilizes a "Follow Line" concept based on Bollinger Bands and ATR to identify potential trading opportunities. It includes advanced features like optional working hours filtering, higher timeframe (HTF) trend confirmation, and improved trend-following entry/exit logic. Version 2.5 introduces reactivity to HTF trend changes for more adaptive trading.
Key Features:
Follow Line: The core of the strategy. It dynamically adjusts based on price breakouts beyond Bollinger Bands, using either the low/high or ATR-adjusted levels.
Bollinger Bands: Uses a standard Bollinger Bands setup to identify overbought/oversold conditions.
ATR Filter: Optionally uses the Average True Range (ATR) to adjust the Follow Line offset, providing a more dynamic and volatility-adjusted entry point.
Optional Trading Session Filter: Allows you to restrict trading to specific hours of the day.
Higher Timeframe (HTF) Confirmation: A significant feature that allows you to confirm trade signals with the trend on a higher timeframe. This can help to filter out false signals and improve the overall win rate.
HTF Selection Method: Choose between Auto and Manual HTF selection:
Auto: The script automatically determines the appropriate HTF based on the current chart timeframe (e.g., 1min -> 15min, 5min -> 4h, 1h -> 1D, Daily -> Monthly).
Manual: Allows you to select a specific HTF using the Manual Higher Timeframe input.
Trend-Following Entries/Exits: The strategy aims to enter trades in the direction of the established trend, using the Follow Line to define the trend.
Reactive HTF Trend Changes: v2.5 exits positions not only based on the trade timeframe (TTF) trend changing, but also when the higher timeframe trend reverses against the position. This makes the strategy more responsive to larger market movements.
Alerts: Provides buy and sell alerts for convenient trading signal notifications.
Visualizations: Plots the Follow Line for both the trade timeframe and the higher timeframe (optional), making it easy to understand the strategy's logic.
How to Use:
Add to Chart: Add the "Follow Line Strategy Version 2.5 (React HTF)" script to your TradingView chart.
Configure Settings: Customize the strategy's settings to match your trading style and preferences. Here's a breakdown of the key settings:
Indicator Settings:
ATR Period: The period used to calculate the ATR. A smaller period is more sensitive to recent price changes.
Bollinger Bands Period: The period used for the Bollinger Bands calculation. A longer period results in smoother bands.
Bollinger Bands Deviation: The number of standard deviations from the moving average that the Bollinger Bands are plotted. Higher deviations create wider bands.
Use ATR for Follow Line Offset?: Enable to use ATR to calculate the Follow Line offset. Disable to use the simple high/low.
Show Trade Signals on Chart?: Enable to show BUY/SELL labels on the chart.
Time Filter:
Use Trading Session Filter?: Enable to restrict trading to specific hours of the day.
Trading Session: The trading session to use (e.g., 0930-1600 for regular US stock market hours). Use 0000-2400 for all hours.
Higher Timeframe Confirmation:
Enable HTF Confirmation?: Enable to use the HTF trend to filter trade signals. If enabled, only trades in the direction of the HTF trend will be taken.
HTF Selection Method: Choose between "Auto" and "Manual" HTF selection.
Manual Higher Timeframe: If "Manual" is selected, choose the specific HTF (e.g., 240 for 4 hours, D for daily).
Show HTF Follow Line?: Enable to plot the HTF Follow Line on the chart.
Understanding the Signals:
Buy Signal: The price breaks above the upper Bollinger Band, and the HTF (if enabled) confirms the uptrend.
Sell Signal: The price breaks below the lower Bollinger Band, and the HTF (if enabled) confirms the downtrend.
Exit Long: The trade timeframe trend changes to downtrend or the higher timeframe trend changes to downtrend.
Exit Short: The trade timeframe trend changes to uptrend or the higher timeframe trend changes to uptrend.
Alerts:
The script includes alert conditions for buy and sell signals. To set up alerts, click the "Alerts" button in TradingView and select the desired alert condition from the script. The alert message provides the ticker and interval.
Backtesting and Optimization:
Use TradingView's Strategy Tester to backtest the strategy on different assets and timeframes.
Experiment with different settings to optimize the strategy for your specific trading style and risk tolerance. Pay close attention to the ATR Period, Bollinger Bands settings, and the HTF confirmation options.
Tips and Considerations:
HTF Confirmation: The HTF confirmation can significantly improve the strategy's performance by filtering out false signals. However, it can also reduce the number of trades.
Risk Management: Always use proper risk management techniques, such as stop-loss orders and position sizing, when trading any strategy.
Market Conditions: The strategy may perform differently in different market conditions. It's important to backtest and optimize the strategy for the specific markets you are trading.
Customization: Feel free to modify the script to suit your specific needs. For example, you could add additional filters or entry/exit conditions.
Pyramiding: The pyramiding = 0 setting prevents multiple entries in the same direction, ensuring the strategy doesn't compound losses. You can adjust this value if you prefer to pyramid into winning positions, but be cautious.
Lookahead: The lookahead = barmerge.lookahead_off setting ensures that the HTF data is calculated based on the current bar's closed data, preventing potential future peeking bias.
Trend Determination: The logic for determining the HTF trend and reacting to changes is critical. Carefully review the f_calculateHTFData function and the conditions for exiting positions to ensure you understand how the strategy responds to different market scenarios.
Disclaimer:
This script is for informational and educational purposes only. It is not financial advice, and you should not trade based solely on the signals generated by this script. Always do your own research and consult with a qualified financial advisor before making any trading decisions. The author is not responsible for any losses incurred as a result of using this script.
Trend with ADX/EMA - Buy & Sell SignalsThis script is designed to help traders make buy and sell decisions based on trend analysis using two key methods: ADX (Average Directional Index) and EMA (Exponential Moving Averages). Here's a breakdown in simple terms:
What Does It Do?
Identifies the Trend's Strength and Direction:
Uses the ADX indicator to determine how strong the trend is.
Compares two lines (DI+ and DI−) to identify whether the trend is moving up or down.
Generates Buy and Sell Signals:
Uses two EMAs (a fast one and a slow one) to check when the price crosses key levels, signaling a possible buy or sell opportunity.
Plots visual indicators (arrows and labels) for easy interpretation.
Color-Codes the Chart:
Highlights the background in green when the trend is bullish (uptrend).
Highlights the background in red when the trend is bearish (downtrend).
Alerts the User:
Creates alerts when specific conditions for buying or selling are met.
Key Components:
1. ADX (Trend Strength & Direction)
What is ADX?
ADX measures how strong the trend is (not the direction). Higher ADX means a stronger trend.
It also calculates two lines:
DI+: Measures upward movement strength.
DI−: Measures downward movement strength.
How It Works in the Script:
If DI+ is greater than DI−, it’s a bullish trend (upward).
If DI− is greater than DI+, it’s a bearish trend (downward).
The background turns green for an uptrend and red for a downtrend.
2. EMA (Buy and Sell Decisions)
What is EMA?
EMA is a moving average that gives more weight to recent prices. It’s used to smooth out price fluctuations.
How It Works in the Script:
The script calculates two EMAs:
Fast EMA (short-term average): Reacts quickly to price changes.
Slow EMA (long-term average): Reacts slower and shows overall trends.
When the Fast EMA crosses above the Slow EMA, it’s a signal to Buy.
When the Fast EMA crosses below the Slow EMA, it’s a signal to Sell.
These signals are marked on the chart as "Buy" and "Sell" labels.
3. Buy and Sell Alerts
The script sets up alerts for the user:
Buy Alert: When a crossover indicates a bullish signal.
Sell Alert: When a crossunder indicates a bearish signal.
Visual Elements on the Chart:
Background Colors:
Green: When the DI+ line indicates an uptrend.
Red: When the DI− line indicates a downtrend.
EMA Lines:
Green Line: Fast EMA.
Red Line: Slow EMA.
Buy/Sell Labels:
"Buy" label: Shown when the Fast EMA crosses above the Slow EMA.
"Sell" label: Shown when the Fast EMA crosses below the Slow EMA.
Why Use This Script?
Trend Analysis: Helps you quickly identify the strength and direction of the market trend.
Buy/Sell Signals: Gives clear signals to enter or exit trades based on trend and EMA crossovers.
Custom Alerts: Ensures you never miss a trading opportunity by notifying you when conditions are met.
Visual Simplicity: Makes it easy to interpret trading signals with color-coded backgrounds and labeled arrows.
Volatility Signaling 50SMAOverview of the Script:
The script implements a volatility signaling indicator using a 50-period Simple Moving Average (SMA). It incorporates Bollinger Bands and the Average True Range (ATR) to dynamically adjust the SMA's color based on volatility conditions. Here's a detailed breakdown:
Components of the Script:
1. Inputs:
The script allows the user to customize key parameters for flexibility:
Bollinger Bands Length (length): Determines the period for calculating the Bollinger Bands.
Source (src): The price data to use, defaulting to the closing price.
Standard Deviation Multiplier (mult): Scales the Bollinger Bands' width.
ATR Length (atrLength): Sets the period for calculating the ATR.
The 50-period SMA length (smaLength) is fixed at 50.
2. Bollinger Bands Calculation:
Basis: Calculated as the SMA of the selected price source over the specified length.
Upper and Lower Bands: Determined by adding/subtracting a scaled standard deviation (dev) from the basis.
3. ATR Calculation:
Computes the Average True Range over the user-defined atrLength.
4. Volatility-Based Conditions:
The script establishes thresholds for Bollinger Band width relative to ATR:
Yellow Condition: When the band width (upper - lower) is less than 1.25 times the ATR.
Orange Condition: When the band width is less than 1.5 times the ATR.
Red Condition: When the band width is less than 1.75 times the ATR.
5. Dynamic SMA Coloring:
The 50-period SMA is colored based on the above conditions:
Yellow: Indicates relatively low volatility.
Orange: Indicates moderate volatility.
Red: Indicates higher volatility.
White: Default color when no conditions are met.
6. Plotting the 50-Period SMA:
The script plots the SMA (sma50) with a dynamically assigned color, enabling visual analysis of market conditions.
Use Case:
This script is ideal for traders seeking to assess market volatility and identify changes using Bollinger Bands and ATR. The colored SMA provides an intuitive way to gauge market dynamics directly on the chart.
Example Visualization:
Yellow SMA: The market is in a low-volatility phase.
Orange SMA: Volatility is picking up but remains moderate.
Red SMA: Higher volatility, potentially signaling significant market activity.
White SMA: Neutral/default state.
Previous High and Low Count with Probabilities + Risk On/Off1. Purpose of the Script:
This trading script combines two important concepts:
Previous High and Low Count: It tracks whether the current price exceeds the previous day’s high or low and calculates probabilities for the next price movement (up or down).
Risk On / Risk Off Indicator: It evaluates market sentiment through various indicators (such as the Fear & Greed Index, VIX, and others) and shows whether the market is in a risk-on or risk-off state. This information impacts the probabilities of price movement.
2. How it Works:
Previous High and Low:
The script tracks how often the price exceeds the previous day’s high or low and calculates the probability of an upward or downward movement based on that. This gives you an idea of how often the market reacts at the previous day's high or low.
Risk On / Risk Off:
Based on various market factors (Fear & Greed Index, VIX, Put-Call Ratio, etc.), the script calculates the Risk On or Risk Off state.
In Risk On, the probability of an upward movement increases, and the probability of a downward movement decreases. In Risk Off, it’s the opposite.
Adjusted Probabilities:
The probabilities for an Up or Down movement are adjusted based on the current Risk On / Risk Off state. In a Risk On environment, the probability for an upward move increases, while in a Risk Off environment, the probability for a downward move increases.
3. How to Use the Script:
Add the Script in TradingView:
TradingView:
Click on "Add to Chart" to apply the script to your chart.
Manual Input of Indicators:
For the Fear & Greed Index, VIX, and other indicators, you need to manually enter the current values. You can get these values from various publicly available sources:
Fear & Greed Index: CNN Fear & Greed Index
VIX (Volatility Index): VIX Index
Other indicators like Put-Call Ratio, Bitcoin Volatility, Oil Prices, and US Dollar Index can also be manually inputted, and they can be found on finance websites like Yahoo Finance, MarketWatch, and Bloomberg.
Observe the Colors and Symbols:
If the market is in a Risk On state, the background will turn green, and a green triangle will appear below the candle.
If the market is in a Risk Off state, the background will turn red, and a red triangle will appear above the candle.
Track the Probabilities:
A label will appear on the chart showing the calculated probabilities for Up and Down movements. These probabilities are adjusted based on the current market state (Risk On/Off).
4. Meaning of the Probabilities:
Up Probability: Indicates the probability that the price will rise.
Down Probability: Indicates the probability that the price will fall.
The probabilities are dynamic and adjust based on the Risk On / Risk Off state, helping you make better decisions based on the current market conditions.
Value at Risk [OmegaTools]The "Value at Risk" (VaR) indicator is a powerful financial risk management tool that helps traders estimate the potential losses in a portfolio over a specified period of time, given a certain level of confidence. VaR is widely used by financial institutions, traders, and risk managers to assess the probability of portfolio losses in both normal and volatile market conditions. This TradingView script implements a comprehensive VaR calculation using several models, allowing users to visualize different risk scenarios and adjust their trading strategies accordingly.
Concept of Value at Risk
Value at Risk (VaR) is a statistical technique used to measure the likelihood of losses in a portfolio or financial asset due to market risks. In essence, it answers the question: "What is the maximum potential loss that could occur in a given portfolio over a specific time horizon, with a certain confidence level?" For instance, if a portfolio has a one-day 95% VaR of $10,000, it means that there is a 95% chance the portfolio will not lose more than $10,000 in a single day. Conversely, there is a 5% chance of losing more than $10,000. VaR is a key risk management tool for portfolio managers and traders because it quantifies potential losses in monetary terms, allowing for better-informed decision-making.
There are several ways to calculate VaR, and this indicator script incorporates three of the most commonly used models:
Historical VaR: This approach uses historical returns to estimate potential losses. It is based purely on past price data, assuming that the past distribution of returns is indicative of future risks.
Variance-Covariance VaR: This model assumes that asset returns follow a normal distribution and that the risk can be summarized using the mean and standard deviation of past returns. It is a parametric method that is widely used in financial risk management.
Exponentially Weighted Moving Average (EWMA) VaR: In this model, recent data points are given more weight than older data. This dynamic approach allows the VaR estimation to react more quickly to changes in market volatility, which is particularly useful during periods of market stress. This model uses the Exponential Weighted Moving Average Volatility Model.
How the Script Works
The script starts by offering users a set of customizable input settings. The first input allows the user to choose between two main calculation modes: "All" or "OCT" (Only Current Timeframe). In the "All" mode, the script calculates VaR using all available methodologies—Historical, Variance-Covariance, and EWMA—providing a comprehensive risk overview. The "OCT" mode narrows the calculation to the current timeframe, which can be particularly useful for intraday traders who need a more focused view of risk.
The next input is the lookback window, which defines the number of historical periods used to calculate VaR. Commonly used lookback periods include 21 days (approximately one month), 63 days (about three months), and 252 days (roughly one year), with the script supporting up to 504 days for more extended historical analysis. A longer lookback period provides a more comprehensive picture of risk but may be less responsive to recent market conditions.
The confidence level is another important setting in the script. This represents the probability that the loss will not exceed the VaR estimate. Standard confidence levels are 90%, 95%, and 99%. A higher confidence level results in a more conservative risk estimate, meaning that the calculated VaR will reflect a more extreme loss scenario.
In addition to these core settings, the script allows users to customize the visual appearance of the indicator. For example, traders can choose different colors for "Bullish" (Risk On), "Bearish" (Risk Off), and "Neutral" phases, as well as colors for highlighting "Breaks" in the data, where returns exceed the calculated VaR. These visual cues make it easy to identify periods of heightened risk at a glance.
The actual VaR calculation is broken down into several models, starting with the Historical VaR calculation. This is done by computing the logarithmic returns of the asset's closing prices and then using linear interpolation to determine the percentile corresponding to the desired confidence level. This percentile represents the potential loss in the asset over the lookback period.
Next, the script calculates Variance-Covariance VaR using the mean and standard deviation of the historical returns. The standard deviation is multiplied by a z-score corresponding to the chosen confidence level (e.g., 1.645 for 95% confidence), and the resulting value is subtracted from the mean return to arrive at the VaR estimate.
The EWMA VaR model uses the EWMA for the sigma parameter, the standard deviation, obtaining a specific dynamic in the volatility. It is particularly useful in volatile markets where recent price behavior is more indicative of future risk than older data.
For traders interested in intraday risk management, the script provides several methods to adjust VaR calculations for lower timeframes. By using intraday returns and scaling them according to the chosen timeframe, the script provides a dynamic view of risk throughout the trading day. This is especially important for short-term traders who need to manage their exposure during high-volatility periods within the same day. The script also incorporates an EWMA model for intraday data, which gives greater weight to the most recent intraday price movements.
In addition to calculating VaR, the script also attempts to detect periods where the asset's returns exceed the estimated VaR threshold, referred to as "Breaks." When the returns breach the VaR limit, the script highlights these instances on the chart, allowing traders to quickly identify periods of extreme risk. The script also calculates the average of these breaks and displays it for comparison, helping traders understand how frequently these high-risk periods occur.
The script further visualizes the risk scenario using a risk phase classification system. Depending on the level of risk, the script categorizes the market as either "Risk On," "Risk Off," or "Risk Neutral." In "Risk On" mode, the market is considered bullish, and the indicator displays a green background. In "Risk Off" mode, the market is bearish, and the background turns red. If the market is neither strongly bullish nor bearish, the background turns neutral, signaling a balanced risk environment.
Traders can customize whether they want to see this risk phase background, along with toggling the display of the various VaR models, the intraday methods, and the break signals. This flexibility allows traders to tailor the indicator to their specific needs, whether they are day traders looking for quick intraday insights or longer-term investors focused on historical risk analysis.
The "Risk On" and "Risk Off" phases calculated by this Value at Risk (VaR) script introduce a novel approach to market risk assessment, offering traders an advanced toolset to gauge market sentiment and potential risk levels dynamically. These risk phases are built on a combination of traditional VaR methodologies and proprietary logic to create a more responsive and intuitive way to manage exposure in both normal and volatile market conditions. This method of classifying market conditions into "Risk On," "Risk Off," or "Risk Neutral" is not something that has been traditionally associated with VaR, making it a groundbreaking addition to this indicator.
How the "Risk On" and "Risk Off" Phases Are Calculated
In typical VaR implementations, the focus is on calculating the potential losses at a given confidence level without providing an overall market outlook. This script, however, introduces a unique risk classification system that takes the output of various VaR models and translates it into actionable signals for traders, marking whether the market is in a Risk On, Risk Off, or Risk Neutral phase.
The Risk On and Risk Off phases are primarily determined by comparing the current returns of the asset to the average VaR calculated across several different methods, including Historical VaR, Variance-Covariance VaR, and EWMA VaR. Here's how the process works:
1. Threshold Setting and Effect Calculation: The script first computes the average VaR using the selected models. It then checks whether the current returns (expressed as a negative value to signify loss) exceed the average VaR value. If the current returns surpass the calculated VaR threshold, this indicates that the actual market risk is higher than expected, signaling a potential shift in market conditions.
2. Break Analysis: In addition to monitoring whether returns exceed the average VaR, the script counts the number of instances within the lookback period where this breach occurs. This is referred to as the "break effect." For each period in the lookback window, the script checks whether the returns surpass the calculated VaR threshold and increments a counter. The percentage of periods where this breach occurs is then calculated as the "effect" or break percentage.
3. Dual Effect Check (if "Double" Risk Scenario is selected): When the user chooses the "Double" risk scenario mode, the script performs two layers of analysis. First, it calculates the effect of returns exceeding the VaR threshold for the current timeframe. Then, it calculates the effect for the lower intraday timeframe as well. Both effects are compared to the user-defined confidence level (e.g., 95%). If both effects exceed the confidence level, the market is deemed to be in a high-risk situation, thus triggering a Risk Off phase. If both effects fall below the confidence level, the market is classified as Risk On.
4. Risk Phases Determination: The final risk phase is determined by analyzing these effects in relation to the confidence level:
- Risk On: If the calculated effect of breaks is lower than the confidence level (e.g., fewer than 5% of periods show returns exceeding the VaR threshold for a 95% confidence level), the market is considered to be in a relatively safe state, and the script signals a "Risk On" phase. This is indicative of bullish conditions where the potential for extreme loss is minimal.
- Risk Off: If the break effect exceeds the confidence level (e.g., more than 5% of periods show returns breaching the VaR threshold), the market is deemed to be in a high-risk state, and the script signals a "Risk Off" phase. This indicates bearish market conditions where the likelihood of significant losses is higher.
- Risk Neutral: If the break effect hovers near the confidence level or if there is no clear trend indicating a shift toward either extreme, the market is classified as "Risk Neutral." In this phase, neither bulls nor bears are dominant, and traders should remain cautious.
The phase color that the script uses helps visualize these risk phases. The background will turn green in Risk On conditions, red in Risk Off conditions, and gray in Risk Neutral phases, providing immediate visual feedback on market risk. In addition to this, when the "Double" risk scenario is selected, the background will only turn green or red if both the current and intraday timeframes confirm the respective risk phase. This double-checking process ensures that traders are only given a strong signal when both longer-term and short-term risks align, reducing the likelihood of false signals.
A New Way of Using Value at Risk
This innovative Risk On/Risk Off classification, based on the interaction between VaR thresholds and market returns, represents a significant departure from the traditional use of Value at Risk as a pure risk measurement tool. Typically, VaR is employed as a backward-looking measure of risk, providing a static estimate of potential losses over a given timeframe with no immediate actionable feedback on current market conditions. This script, however, dynamically interprets VaR results to create a forward-looking, real-time signal that informs traders whether they are operating in a favorable (Risk On) or unfavorable (Risk Off) environment.
By incorporating the "break effect" analysis and allowing users to view the VaR breaches as a percentage of past occurrences, the script adds a predictive element that can be used to time market entries and exits more effectively. This **dual-layer risk analysis**, particularly when using the "Double" scenario mode, adds further granularity by considering both current timeframe and intraday risks. Traders can therefore make more informed decisions not just based on historical risk data, but on how the market is behaving in real-time relative to those risk benchmarks.
This approach transforms the VaR indicator from a risk monitoring tool into a decision-making system that helps identify favorable trading opportunities while alerting users to potential market downturns. It provides a more holistic view of market conditions by combining both statistical risk measurement and intuitive phase-based market analysis. This level of integration between VaR methodologies and real-time signal generation has not been widely seen in the world of trading indicators, marking this script as a cutting-edge tool for risk management and market sentiment analysis.
I would like to express my sincere gratitude to @skewedzeta for his invaluable contribution to the final script. From generating fresh ideas to applying his expertise in reviewing the formula, his support has been instrumental in refining the outcome.
Johnny's Moving Average RibbonProps to Madrid for creating the original script: Madrid Moving Average Ribbon.
All I did was upgrade it to pinescript v5 and added a few changes to the script.
Features and Functionality
Moving Average Types: The indicator offers a choice between exponential moving averages (EMAs) and simple moving averages (SMAs), allowing users to select the type that best fits their trading strategy.
Dynamic Color Coding: Each moving average line within the ribbon changes color based on its direction and position relative to a reference moving average, providing visual cues for market sentiment and trend strength.
Lime Green: Indicates an uptrend and potential long positions, shown when a moving average is rising and above the longer-term reference MA.
Maroon: Suggests caution for long positions or potential short reentry points, displayed when a moving average is rising but below the reference MA.
Ruby Red: Represents a downtrend, suitable for short positions, shown when a moving average is falling and below the reference MA.
Green: Signals potential reentry points for downtrends or warnings for uptrend reversals, displayed when a moving average is falling but above the reference MA.
Usage and Application
Trend Identification: Traders can quickly ascertain the market's direction at a glance by observing the predominant color of the ribbon and its orientation.
Trade Entry and Exit Points: The color transitions within the ribbon can signal potential entry or exit points, with changes from green to lime or red to maroon indicating shifts in market momentum.
Customization: Users have the flexibility to toggle between exponential and simple moving averages, allowing for a tailored analytical approach that aligns with their individual trading preferences.
Technical Specifications
The ribbon consists of multiple moving averages calculated over different periods, typically ranging from shorter to longer-term intervals to capture various aspects of market behavior.
The color dynamics are determined by comparing each moving average to a reference point, often a longer-term moving average within the ribbon, to assess the relative trend strength and direction.
Liquidity Heatmap [BigBeluga]The Liquidity Heatmap is an indicator designed to spot possible resting liquidity or potential stop loss using volume or Open interest.
The Open interest is the total number of outstanding derivative contracts for an asset—such as options or futures—that have not been settled. Open interest keeps track of every open position in a particular contract rather than tracking the total volume traded.
The Volume is the total quantity of shares or contracts traded for the current timeframe.
🔶 HOW IT WORKS
Based on the user choice between Volume or OI, the idea is the same for both.
On each candle, we add the data (volume or OI) below or above (long or short) that should be the hypothetical liquidation levels; More color of the liquidity level = more reaction when the price goes through it.
Gradient color is calculated between an average of 2 points that the user can select. For example: 500, and the script will take the average of the highest data between 500 and 250 (half of the user's choice), and the gradient will be based on that.
If we take volume as an example, a big volume spike will mean a lot of long or short activity in that candle. A liquidity level will be displayed below/above the set leverage (4.5 = 20x leverage as an example) so when the price revisits that zone, all the 20x leverage should be liquidated.
Huge volume = a lot of activity
Huge OI = a lot of positions opened
More volume / OI will result in a stronger color that will generate a stronger reaction.
🔶 ROUTE
Here's an example of a route for long liquidity:
Enable the filter = consider only green candles.
Set the leverage to 4.5 (20x).
Choose Data = Volume.
Process:
A green candle is formed.
A liquidity level is established.
The level is placed below to simulate the 20x leverage.
Color is applied, considering the average volume within the chosen area.
Route completed.
🔶 FEATURE
Possibility to change the color of both long and short liquidity
Manual opacity value
Manual opacity average
Leverage
Autopilot - set a good average automatically of the opacity value
Enable both long or short liquidity visualization
Filtering - grab only red/green candle of the corresponding side or grab every candle
Data - nzVolume - Volume - nzOI - OI
🔶 TIPS
Since the limit of the line is 500, it's best to plot 2 scripts: one with only long and another with only short.
🔶 CONCLUSION
The liquidity levels are an interesting way to think about possible levels, and those are not real levels.
Ema Short Long Indicator[CHE]█ CONCEPTS
This Pine Script is an EMA Short Long indicator that displays the crossing EMA lines on the chart. The indicator uses three exponential moving averages (EMAs) to generate the buy and sell signals. The EMA lines are plotted as green (uptrend) and red (downtrend) lines. When the green line is above the white signal line, the indicator generates a buy signal, when the green line is below the white signal line, the indicator generates a sell signal. Arrows are also displayed marking the buy and sell signals. There is also an option to allow indicator repainting or not. Finally, users can also set alerts to be alerted to potential trading opportunities.
Note: please do not disable "time frame gaps". Allows to calculate the indicator on a Timeframe (TF) different from that of the chart Time window. The TF should ideally be higher than the charts to provide a broader perspective than
the TF of the chart. Using TFs lower than the chart's will deliver fragmentary results, since only the last value of intrabar is displayed (multiple values cannot be displayed for a single chart bar). The Gaps setting determines the behavior when the TF is higher than the TF of the chart. If 'gaps' is checked, higher TF values only come in and are interconnected on the diagram when the higher TF completed. This has the advantage of avoidance Real-time epainting. If Gaps is not enabled, Gaps are filled with the last higher TF value calculated, which will not produce a repaint Values on historical bars but repaint values realtime.
█ HOW TO USE IT
Load the indicator on an active chart (see the Help Center if you don't know how).
Time period
By default, the script uses an auto-stepping mechanism to adjust the time period of its moving window to the chart's timeframe. The following table shows chart timeframes and the corresponding time period used by the script. When the chart's timeframe is less than or equal to the timeframe in the first column, the second column's time period is used to calculate the Ema Short Long Indicator :
Chart Time
timeframe period
1min 🠆 1H
5min 🠆 4H
1H 🠆 1D
4H 🠆 3D
12H 🠆 1W
1D 🠆 1M
1W 🠆 3M
█ DESCRIPTION
The script begins by setting up the chart indicator with a short title, "ESLI", and enabling it as an overlay. It then initializes several variables for time conversions, to be used later in the script.
The timeStep_translate() function converts the timeframe of the chart into a string representing a larger time interval, based on the number of seconds in the timeframe. The resulting string is used to label the horizontal axis of the chart.
Next, the script defines several input variables that can be modified by the user. These include the colors of the EMA lines and the signals, whether or not the indicator is allowed to repaint (i.e. update past values based on future data), and the number of periods used to calculate the EMA and signal lines.
The f_security() function calls the request.security() function to fetch data from the specified security and timeframe, and is used to calculate the EMA and signal lines using the ta.ema() function. The clo variable is assigned the closing price data, adjusted for repainting and timeframe.
The EMA line is calculated using a weighted average of the EMA over the specified period and two times that period, as well as three times that period, divided by six. The signal line is calculated as the EMA of the EMA line over the specified period.
The col_css variable sets the color of the EMA line based on whether it is currently above or below the signal line. The script then plots the EMA and signal lines, and uses the plotshape() function to indicate long and short signals based on the crossovers and crossunders of the EMA and signal lines.
Finally, the script sets up alert conditions using the alertcondition() function to notify the user when a long or short signal is generated, including information about the symbol and closing price.
█ SPECIAL THANKS
Special thanks to LOXX, I wanted to take a moment to express my gratitude for his valuable input in the EMA calculation. His insights and expertise have greatly helped me in improving my Pine Script coding skills. Thanks to his suggestion, I was able to better understand the EMA formula and implement it effectively in my script.
Your generosity in sharing your knowledge and experience is truly appreciated. It is through collaboration and exchanging ideas that we can all grow and become better in our craft.
This script provides exact signals that, with suitable additional indicators, provide very good results.
Best regards
Chervolino
kNNLibrary "kNN"
Collection of experimental kNN functions. This is a work in progress, an improvement upon my original kNN script:
The script can be recreated with this library. Unlike the original script, that used multiple arrays, this has been reworked with the new Pine Script matrix features.
To make a kNN prediction, the following data should be supplied to the wrapper:
kNN : filter type. Right now either Binary or Percent . Binary works like in the original script: the system stores whether the price has increased (+1) or decreased (-1) since the previous knnStore event (called when either long or short condition is supplied). Percent works the same, but the values stored are the difference of prices in percents. That way larger differences in prices would give higher scores.
k : number k. This is how many nearest neighbors are to be selected (and summed up to get the result).
skew : kNN minimum difference. Normally, the prediction is done with a simple majority of the neighbor votes. If skew is given, then more than a simple majority is needed for a prediction. This also means that there are inputs for which no prediction would be given (if the majority votes are between -skew and +skew). Note that in Percent mode more profitable trades will have higher voting power.
depth : kNN matrix size limit. Originally, the whole available history of trades was used to make a prediction. This not only requires more computational power, but also neglects the fact that the market conditions are changing. This setting restricts the memory matrix to a finite number of past trades.
price : price series
long : long condition. True if the long conditions are met, but filters are not yet applied. For example, in my original script, trades are only made on crossings of fast and slow MAs. So, whenever it is possible to go long, this value is set true. False otherwise.
short : short condition. Same as long , but for short condition.
store : whether the inputs should be stored. Additional filters may be applied to prevent bad trades (for example, trend-based filters), so if you only need to consult kNN without storing the trade, this should be set to false.
feature1 : current value of feature 1. A feature in this case is some kind of data derived from the price. Different features may be used to analyse the price series. For example, oscillator values. Not all of them may be used for kNN prediction. As the current kNN implementation is 2-dimensional, only two features can be used.
feature2 : current value of feature 2.
The wrapper returns a tuple: [ longOK, shortOK ]. This is a pair of filters. When longOK is true, then kNN predicts a long trade may be taken. When shortOK is true, then kNN predicts a short trade may be taken. The kNN filters are returned whenever long or short conditions are met. The trade is supposed to happen when long or short conditions are met and when the kNN filter for the desired direction is true.
Exported functions :
knnStore(knn, p1, p2, src, maxrows)
Store the previous trade; buffer the current one until results are in. Results are binary: up/down
Parameters:
knn : knn matrix
p1 : feature 1 value
p2 : feature 2 value
src : current price
maxrows : limit the matrix size to this number of rows (0 of no limit)
Returns: modified knn matrix
knnStorePercent(knn, p1, p2, src, maxrows)
Store the previous trade; buffer the current one until results are in. Results are in percents
Parameters:
knn : knn matrix
p1 : feature 1 value
p2 : feature 2 value
src : current price
maxrows : limit the matrix size to this number of rows (0 of no limit)
Returns: modified knn matrix
knnGet(distance, result)
Get neighbours by getting k results with the smallest distances
Parameters:
distance : distance array
result : result array
Returns: array slice of k results
knnDistance(knn, p1, p2)
Create a distance array from the two given parameters
Parameters:
knn : knn matrix
p1 : feature 1 value
p2 : feature 2 value
Returns: distance array
knnSum(knn, p1, p2, k)
Make a prediction, finding k nearest neighbours and summing them up
Parameters:
knn : knn matrix
p1 : feature 1 value
p2 : feature 2 value
k : sum k nearest neighbors
Returns: sum of k nearest neighbors
doKNN(kNN, k, skew, depth, price, long, short, store, feature1, feature2)
execute kNN filter
Parameters:
kNN : filter type
k : number k
skew : kNN minimum difference
depth : kNN matrix size limit
price : series
long : long condition
short : short condition
store : store the supplied features (if false, only checks the results without storage)
feature1 : feature 1 value
feature2 : feature 2 value
Returns: filter output
Laguerre Multi-Filter [DW]This is an experimental study designed to identify underlying price activity using a series of Laguerre Filters.
Two different modes are included within this script:
-Ribbon Mode - A ribbon of 18 Laguerre Filters with separate Gamma values is calculated.
-Band Mode - An average of the 18 filters generates the basis line. Then, Golden Mean ATR over the specified sampling period multiplied by 1 and 2 are added and subtracted to the basis line to generate the bands.
Multi-Timeframe functionality is included. You can choose any timeframe that TradingView supports as the basis resolution for the script.
Custom bar colors are included. Bar colors are based on the direction of any of the 18 filters, or the average filter's direction in Ribbon Mode. In Band Mode, the colors are based solely on the average filter's direction.
Buy&Sell Hollow CandlesThe Hollow Candles Script is a type of candlestick analysis script designed to highlight the following:
Purpose of the Script: This script provides the user with buy and sell signals based on candlesticks that show an upward or downward reversal.
Mechanism of the Script: When a hollow (unfilled) red candle appears, it signals a potential entry, provided that this candle is at a low point, following a series of red candles with higher volume than previous days. Similarly, it gives a sell signal when a green candle appears at a peak with high sell volume surpassing that of prior days. However, the appearance of these candles alone should not prompt an immediate buy or sell; you should wait for a confirming candle to validate the signal.
Sideways Movement Caution: If these signals appear during a sideways or flat trend, it is not advisable to proceed with buying or selling.
Chart Insights: The chart demonstrates certain buy and sell operations along with some non-ideal signals where decision-making should be based on fundamental analytical experience.
Jason's Simple Moving Averages WaveUnderstanding the Script:
Purpose: This script identifies potential trend direction and momentum using a moving average and wave amplitude calculation. It shows a green line when the price is trending upwards and a red line when trending downwards.
Strategy: This script doesn't provide a complete trading strategy. It's an indicator designed to be used alongside other tools.
Parameters: You can adjust the "Moving Average Length" input to change the sensitivity of the indicator. A shorter length will react quicker to price changes, while a longer length will be smoother but less responsive.
How to Use it:
Load the Script: In TradingView, navigate to the indicator creation section and paste the provided script code.
Adjust Parameters: Set the "Moving Average Length" based on your preferred timeframe and trading style.
Combine with Other Tools: Use the indicator along with other technical indicators or price action analysis to confirm potential entry and exit points for trades.
Here are some additional points to consider:
Crossovers: You could look for buy signals when the price crosses above the green line and sell signals when it crosses below the red line. However, these can be prone to false signals.
Divergence: Look for divergences between the price movement and the wave indicator. For example, a rising price with a falling wave could indicate overbought conditions and a potential reversal.
Confirmation: Don't rely solely on this indicator. Use it alongside other confirmations from price action, volume analysis, or other indicators to identify higher probability trades.
Important Note:
ET's FlagsPurpose:
This Pine Script is designed for the TradingView platform to identify and visually highlight specific technical chart patterns known as "Bull Flags" and "Bear Flags" on financial charts. These patterns are significant in trading as they can indicate potential continuation trends after a brief consolidation. The script includes mechanisms to manage signal frequency through a cooldown period, ensuring that the trading signals are not excessively frequent and are easier to interpret.
Functionality:
Input Parameters:
flagpole_length: Defines the number of bars to consider when identifying the initial surge in price, known as the flagpole.
flag_length: Determines the number of bars over which the flag itself is identified, representing a period of consolidation.
percent_change: Sets the minimum percentage change required to validate the presence of a flagpole.
cooldown_period: Specifies the number of bars to wait before another flag can be identified, reducing the risk of overlapping signals.
Percentage Change Calculation:
The script calculates the percentage change between two price points using a helper function percentChange(start, end). This function is crucial for determining whether the price movement within the specified flagpole_length meets the threshold set by percent_change, thus qualifying as a potential flagpole.
Flagpole Identification:
Bull Flagpole: Identified by finding the lowest close price over the flagpole_length and determining if the subsequent price rise meets or exceeds the specified percent_change.
Bear Flagpole: Identified by finding the highest close price over the flagpole_length and checking if the subsequent price drop is sufficient as per the percent_change.
Flag Identification:
After identifying a flagpole, the script assesses if the price action within the next flag_length bars consolidates in a manner that fits a flag pattern. This involves checking if the price fluctuation stays within the bounds set by the percent_change.
Signal Plotting:
If a bull or bear flag pattern is confirmed, and the cooldown period has passed since the last flag of the same type was identified, the script plots a visual shape on the chart:
Green shapes below the price bar for Bull Flags.
Red shapes above the price bar for Bear Flags.
Line Drawing:
For enhanced visualization, the script draws lines at the high and low prices of the flag during its formation period. This visually represents the consolidation phase of the flag pattern.
Debugging Labels:
The script optionally displays labels at the flag formation points, showing the exact percentage change achieved during the flagpole formation. This feature aids users in understanding why a particular segment of the price chart was identified as a flag.
Compliance and Usage:
This script does not automate trading but provides visual aids and potential signals based on historical price analysis. It adheres to TradingView's scripting policies by only accessing publicly available price data and user-defined parameters without executing trades or accessing any external data.
Conclusion:
This Pine Script is a powerful tool for traders who follow technical analysis, offering a clear, automated way to spot potential continuation patterns in the markets they monitor. By emphasizing visual clarity and reducing signal redundancy through cooldown periods, the script enhances decision-making processes for chart analysis on TradingView.
Smart Money Analysis with Golden/Death Cross [YourTradingSensei]Description of the script "Smart Money Analysis with Golden/Death Cross":
This TradingView script is designed for market analysis based on the concept of "Smart Money" and includes the detection of Golden Cross and Death Cross signals.
Key features of the script:
Moving Averages (SMA):
Two moving averages are calculated: a short-term (50 periods) and a long-term (200 periods).
The intersections of these moving averages are used to determine Golden Cross and Death Cross signals.
High Volume:
The current trading volume is analyzed.
Periods of high volume are identified when the current volume exceeds the average volume by a specified multiplier.
Support and Resistance Levels:
Key support and resistance levels are determined based on the highest and lowest prices over a specified period.
Buy and Sell Signals:
Buy and sell signals are generated based on moving average crossovers, high volume, and the closing price relative to key levels.
Golden Cross and Death Cross:
A Golden Cross occurs when the short-term moving average crosses above the long-term moving average.
A Death Cross occurs when the short-term moving average crosses below the long-term moving average.
These signals are displayed on the chart with text color changes for better visualization.
Using the script:
The script helps traders visualize key signals and levels, aiding in making informed trading decisions based on the behavior of major market players and technical analysis.
Custom candle lighting(CCL) © 2024 by YourTradingSensei is licensed under CC BY-NC-SA 4.0. To view a copy of this license.
Monthly Performance Table by Dr. MauryaWhat is this ?
This Strategy script is not aim to produce strategy results but It aim to produce monthly PnL performance Calendar table which is useful for TradingView community to generate a monthly performance table for Own strategy.
So make sure to read the disclaimer below.
Why it is required to publish?:
I am not satisfied with the monthly performance available on TV community script. Sometimes it is very lengthy in code and sometimes it showing the wrong PNL for current month.
So I have decided to develop new Monthly performance or return in value as well as in percentage with highly flexible to adjust row automatically.
Features :
Accuracy increased for current month PnL.
There are 14 columns and automatically adjusted rows according to available trade years/month.
First Column reflect the YEAR, from second column to 13 column reflect the month and 14 column reflect the yearly PnL.
In tabulated data reflects the monthly PnL (value and (%)) in month column and Yearly PnL (value and (%)) in Yearly column.
Various color input also added to change the table look like background color, text color, heading text color, border color.
In tabulated data, background color turn green for profit and red for loss.
Copy from line 54 to last line as it is in your strategy script.
Credit: This code is modified and top up of the open-source code originally written by QuantNomad. Thanks for their contribution towards to give base and lead to other developers. I have changed the way of determining past PnL to array form and keep separated current month and year PnL from array. Which avoid the false pnl in current month.
Strategy description:
As in first line I said This strategy is aim to provide monthly performance table not focused on the strategy. But it is necessary to explain strategy which I have used here. Strategy is simply based on ADX available on TV community script. Long entry is based on when the difference between DIPlus and ADX is reached on certain value (Set value in Long difference in Input Tab) while Short entry is based on when the difference between DIMinus and ADX is reached on certain value (Set value in Short difference in Input Tab).
Default Strategy Properties used on chart(Important)
This script backtest is done on 1 hour timeframe of NSE:Reliance Inds Future cahrt, using the following backtesting properties:
Balance (default): 500 000 (default base currency)
Order Size: 1 contract
Comission: 20 INR per Order
Slippage: 5 tick
Default setting in Input tab
Len (ADX length) : 14
Th (ADX Threshhold): 20
Long Difference (DIPlus - ADX) = 5
Short Difference (DIMinus - ADX) = 5
We use these properties to ensure a realistic preview of the backtesting system, do note that default properties can be different for various reasons described below:
Order Size: 1 contract by default, this is to allow the strategy to run properly on most instruments such as futures.
Comission: Comission can vary depending on the market and instrument, there is no default value that might return realistic results.
We strongly recommend all users to ensure they adjust the Properties within the script settings to be in line with their accounts & trading platforms of choice to ensure results from the strategies built are realistic.
Disclaimer:
This script not provide indicative of any future results.
This script don’t provide any financial advice.
This strategy is only for the readymade snippet code for monthly PnL performance calender table for any own strategy.
Liquidations Meter [LuxAlgo]The Liquidation Meter aims to gauge the momentum of the bar, identify the strength of the bulls and bears, and more importantly identify probable exhaustion/reversals by measuring probable liquidations.
🔶 USAGE
This tool includes many features related to the concept of liquidation. The two core ones are the liquidation meter and liquidation price calculator, highlighted below.
🔹 Liquidation Meter
The liquidation meter presents liquidations on the price chart by measuring the highest leverage value of longs and shorts that have been potentially liquidated on the last chart bar, hence allowing traders to:
gauge the momentum of the bar.
identify the strength of the bulls and bears.
identify probable reversal/exhaustion points.
Liquidation of low-leveraged positions can be indicative of exhaustion.
🔹 Liquidation Price Calculator
A liquidation price calculator might come in handy when you need to calculate at what price level your leveraged position in Crypto, Forex, Stocks, or any other asset class gets liquidated to add a protective stop to mitigate risk. Monitoring an open position gets easier if the trader can calculate the total risk in order for them to choose the right amount of margin and leverage.
Liquidation price is the distance from the trader's entry price to the price where trader's leveraged position gets liquidated due to a loss. As the leverage is increased, the distance from trader's entry price to the liquidation price shrinks.
While you have one or several trades open you can quickly check their liquidation levels and determine which one of the trades is closest to their liquidation price.
If you are a day trader that uses leverage and you want to know which trade has the best outlook you can calculate the liquidation price to see which one of the trades looks best.
🔹 Dashboard
The bar statistics option enables measuring and presenting trading activity, volatility, and probable liquidations for the last chart bar.
🔶 DETAILS
It's important to note that liquidation price calculator tool uses a formula to calculate the liquidation price based on the entry price + leverage ratio.
Other factors such as leveraged fees, position size, and other interest payments have been excluded since they are variables that don’t directly affect the level of liquidation of a leveraged position.
The calculator also assumes that traders are using an isolated margin for one single position and does not take into consideration the additional margin they might have in their account.
🔹Liquidation price formula
the liquidation distance in percentage = 100 / leverage ratio
the liquidation distance in price = current asset price x the liquidation distance in percentage
the liquidation price (longs) = current asset price – the liquidation distance in price
the liquidation price (shorts) = current asset price + the liquidation distance in price
or simply
the liquidation price (longs) = entry price * (1 – 1 / leverage ratio)
the liquidation price (shorts) = entry price * (1 + 1 / leverage ratio)
Example:
Let’s say that you are trading a leverage ratio of 1:20. The first step is to calculate the distance to your liquidation point in percentage.
the liquidation distance in percentage = 100 / 20 = 5%
Now you know that your liquidation price is 5% away from your entry price. Let's calculate 5% below and above the entry price of the asset you are currently trading. As an example, we assume that you are trading bitcoin which is currently priced at $35000.
the liquidation distance in price = $35000 x 0.05 = $1750
Finally, calculate liquidation prices.
the liquidation price (longs) = $35000 – $1750 = $33250
the liquidation price (short) = $35000 + $1750 = $36750
In this example, short liquidation price is $36750 and long liquidation price is $33250.
🔹How leverage ratio affects the liquidation price
The entry price is the starting point of the calculation and it is from here that the liquidation price is calculated, where the leverage ratio has a direct impact on the liquidation price since the more you borrow the less “wiggle-room” your trade has.
An increase in leverage will subsequently reduce the distance to full liquidation. On the contrary, choosing a lower leverage ratio will give the position more room to move on.
🔶 SETTINGS
🔹Liquidations Meter
Base Price: The option where to set the reference/base price.
🔹Liquidation Price Calculator
Liquidation Price Calculator: Toggles the visibility of the calculator. Details and assumptions made during the calculations are stated in the tooltip of the option.
Entry Price: The option where to set the entry price, a value of 0 will use the current closing price. Details are given in the tooltip of the option.
Leverage: The option where to set the leverage value.
Show Calculated Liquidation Prices on the Chart: Toggles the visibility of the liquidation prices on the price chart.
🔹Dashboard
Show Bar Statistics: Toggles the visibility of the last bar statistics.
🔹Others
Liquidations Meter Text Size: Liquidations Meter text size.
Liquidations Meter Offset: Liquidations Meter offset.
Dashboard/Calculator Placement: Dashboard/calculator position on the chart.
Dashboard/Calculator Text Size: Dashboard text size.
🔶 RELATED SCRIPTS
Here are some of the scripts that are related to the liquidation and liquidity concept, for more and other conceptual scripts you are kindly invited to visit LuxAlgo-Scripts .
Liquidation-Levels
Liquidations-Real-Time
Buyside-Sellside-Liquidity