`security()` revisited [PineCoders]NOTE
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.
█ OVERVIEW
This script presents a new function to help coders use security() in both repainting and non-repainting modes. We revisit this often misunderstood and misused function, and explain its behavior in different contexts, in the hope of dispelling some of the coder lure surrounding it. The function is incredibly powerful, yet misused, it can become a dangerous WMD and an instrument of deception, for both coders and traders.
We will discuss:
• How to use our new `f_security()` function.
• The behavior of Pine code and security() on the three very different types of bars that make up any chart.
• Why what you see on a chart is a simulation, and should be taken with a grain of salt.
• Why we are presenting a new version of a function handling security() calls.
• Other topics of interest to coders using higher timeframe (HTF) data.
█ WARNING
We have tried to deliver a function that is simple to use and will, in non-repainting mode, produce reliable results for both experienced and novice coders. If you are a novice coder, stick to our recommendations to avoid getting into trouble, and DO NOT change our `f_security()` function when using it. Use `false` as the function's last argument and refrain from using your script at smaller timeframes than the chart's. To call our function to fetch a non-repainting value of close from the 1D timeframe, use:
f_security(_sym, _res, _src, _rep) => security(_sym, _res, _src )
previousDayClose = f_security(syminfo.tickerid, "D", close, false)
If that's all you're interested in, you are done.
If you choose to ignore our recommendation and use the function in repainting mode by changing the `false` in there for `true`, we sincerely hope you read the rest of our ramblings before you do so, to understand the consequences of your choice.
Let's now have a look at what security() is showing you. There is a lot to cover, so buckle up! But before we dig in, one last thing.
What is a chart?
A chart is a graphic representation of events that occur in markets. As any representation, it is not reality, but rather a model of reality. As Scott Page eloquently states in The Model Thinker : "All models are wrong; many are useful". Having in mind that both chart bars and plots on our charts are imperfect and incomplete renderings of what actually occurred in realtime markets puts us coders in a place from where we can better understand the nature of, and the causes underlying the inevitable compromises necessary to build the data series our code uses, and print chart bars.
Traders or coders complaining that charts do not reflect reality act like someone who would complain that the word "dog" is not a real dog. Let's recognize that we are dealing with models here, and try to understand them the best we can. Sure, models can be improved; TradingView is constantly improving the quality of the information displayed on charts, but charts nevertheless remain mere translations. Plots of data fetched through security() being modelized renderings of what occurs at higher timeframes, coders will build more useful and reliable tools for both themselves and traders if they endeavor to perfect their understanding of the abstractions they are working with. We hope this publication helps you in this pursuit.
█ FEATURES
This script's "Inputs" tab has four settings:
• Repaint : Determines whether the functions will use their repainting or non-repainting mode.
Note that the setting will not affect the behavior of the yellow plot, as it always repaints.
• Source : The source fetched by the security() calls.
• Timeframe : The timeframe used for the security() calls. If it is lower than the chart's timeframe, a warning appears.
• Show timeframe reminder : Displays a reminder of the timeframe after the last bar.
█ THE CHART
The chart shows two different pieces of information and we want to discuss other topics in this section, so we will be covering:
A — The type of chart bars we are looking at, indicated by the colored band at the top.
B — The plots resulting of calling security() with the close price in different ways.
C — Points of interest on the chart.
A — Chart bars
The colored band at the top shows the three types of bars that any chart on a live market will print. It is critical for coders to understand the important distinctions between each type of bar:
1 — Gray : Historical bars, which are bars that were already closed when the script was run on them.
2 — Red : Elapsed realtime bars, i.e., realtime bars that have run their course and closed.
The state of script calculations showing on those bars is that of the last time they were made, when the realtime bar closed.
3 — Green : The realtime bar. Only the rightmost bar on the chart can be the realtime bar at any given time, and only when the chart's market is active.
Refer to the Pine User Manual's Execution model page for a more detailed explanation of these types of bars.
B — Plots
The chart shows the result of letting our 5sec chart run for a few minutes with the following settings: "Repaint" = "On" (the default is "Off"), "Source" = `close` and "Timeframe" = 1min. The five lines plotted are the following. They have progressively thinner widths:
1 — Yellow : A normal, repainting security() call.
2 — Silver : Our recommended security() function.
3 — Fuchsia : Our recommended way of achieving the same result as our security() function, for cases when the source used is a function returning a tuple.
4 — White : The method we previously recommended in our MTF Selection Framework , which uses two distinct security() calls.
5 — Black : A lame attempt at fooling traders that MUST be avoided.
All lines except the first one in yellow will vary depending on the "Repaint" setting in the script's inputs. The first plot does not change because, contrary to all other plots, it contains no conditional code to adapt to repainting/no-repainting modes; it is a simple security() call showing its default behavior.
C — Points of interest on the chart
Historical bars do not show actual repainting behavior
To appreciate what a repainting security() call will plot in realtime, one must look at the realtime bar and at elapsed realtime bars, the bars where the top line is green or red on the chart at the top of this page. There you can see how the plots go up and down, following the close value of each successive chart bar making up a single bar of the higher timeframe. You would see the same behavior in "Replay" mode. In the realtime bar, the movement of repainting plots will vary with the source you are fetching: open will not move after a new timeframe opens, low and high will change when a new low or high are found, close will follow the last feed update. If you are fetching a value calculated by a function, it may also change on each update.
Now notice how different the plots are on historical bars. There, the plot shows the close of the previously completed timeframe for the whole duration of the current timeframe, until on its last bar the price updates to the current timeframe's close when it is confirmed (if the timeframe's last bar is missing, the plot will only update on the next timeframe's first bar). That last bar is the only one showing where the plot would end if that timeframe's bars had elapsed in realtime. If one doesn't understand this, one cannot properly visualize how his script will calculate in realtime when using repainting. Additionally, as published scripts typically show charts where the script has only run on historical bars, they are, in fact, misleading traders who will naturally assume the script will behave the same way on realtime bars.
Non-repainting plots are more accurate on historical bars
Now consider this chart, where we are using the same settings as on the chart used to publish this script, except that we have turned "Repainting" off this time:
The yellow line here is our reference, repainting line, so although repainting is turned off, it is still repainting, as expected. Because repainting is now off, however, plots on historical bars show the previous timeframe's close until the first bar of a new timeframe, at which point the plot updates. This correctly reflects the behavior of the script in the realtime bar, where because we are offsetting the series by one, we are always showing the previously calculated—and thus confirmed—higher timeframe value. This means that in realtime, we will only get the previous timeframe's values one bar after the timeframe's last bar has elapsed, at the open of the first bar of a new timeframe. Historical and elapsed realtime bars will not actually show this nuance because they reflect the state of calculations made on their close , but we can see the plot update on that bar nonetheless.
► This more accurate representation on historical bars of what will happen in the realtime bar is one of the two key reasons why using non-repainting data is preferable.
The other is that in realtime, your script will be using more reliable data and behave more consistently.
Misleading plots
Valiant attempts by coders to show non-repainting, higher timeframe data updating earlier than on our chart are futile. If updates occur one bar earlier because coders use the repainting version of the function, then so be it, but they must then also accept that their historical bars are not displaying information that is as accurate. Not informing script users of this is to mislead them. Coders should also be aware that if they choose to use repainting data in realtime, they are sacrificing reliability to speed and may be running a strategy that behaves very differently from the one they backtested, thus invalidating their tests.
When, however, coders make what are supposed to be non-repainting plots plot artificially early on historical bars, as in examples "c4" and "c5" of our script, they would want us to believe they have achieved the miracle of time travel. Our understanding of the current state of science dictates that for now, this is impossible. Using such techniques in scripts is plainly misleading, and public scripts using them will be moderated. We are coding trading tools here—not video games. Elementary ethics prescribe that we should not mislead traders, even if it means not being able to show sexy plots. As the great Feynman said: You should not fool the layman when you're talking as a scientist.
You can readily appreciate the fantasy plot of "c4", the thinnest line in black, by comparing its supposedly non-repainting behavior between historical bars and realtime bars. After updating—by miracle—as early as the wide yellow line that is repainting, it suddenly moves in a more realistic place when the script is running in realtime, in synch with our non-repainting lines. The "c5" version does not plot on the chart, but it displays in the Data Window. It is even worse than "c4" in that it also updates magically early on historical bars, but goes on to evaluate like the repainting yellow line in realtime, except one bar late.
Data Window
The Data Window shows the values of the chart's plots, then the values of both the inside and outside offsets used in our calculations, so you can see them change bar by bar. Notice their differences between historical and elapsed realtime bars, and the realtime bar itself. If you do not know about the Data Window, have a look at this essential tool for Pine coders in the Pine User Manual's page on Debugging . The conditional expressions used to calculate the offsets may seem tortuous but their objective is quite simple. When repainting is on, we use this form, so with no offset on all bars:
security(ticker, i_timeframe, i_source )
// which is equivalent to:
security(ticker, i_timeframe, i_source)
When repainting is off, we use two different and inverted offsets on historical bars and the realtime bar:
// Historical bars:
security(ticker, i_timeframe, i_source )
// Realtime bar (and thus, elapsed realtime bars):
security(ticker, i_timeframe, i_source )
The offsets in the first line show how we prevent repainting on historical bars without the need for the `lookahead` parameter. We use the value of the function call on the chart's previous bar. Since values between the repainting and non-repainting versions only differ on the timeframe's last bar, we can use the previous value so that the update only occurs on the timeframe's first bar, as it will in realtime when not repainting.
In the realtime bar, we use the second call, where the offsets are inverted. This is because if we used the first call in realtime, we would be fetching the value of the repainting function on the previous bar, so the close of the last bar. What we want, instead, is the data from the previous, higher timeframe bar , which has elapsed and is confirmed, and thus will not change throughout realtime bars, except on the first constituent chart bar belonging to a new higher timeframe.
After the offsets, the Data Window shows values for the `barstate.*` variables we use in our calculations.
█ NOTES
Why are we revisiting security() ?
For four reasons:
1 — We were seeing coders misuse our `f_secureSecurity()` function presented in How to avoid repainting when using security() .
Some novice coders were modifying the offset used with the history-referencing operator in the function, making it zero instead of one,
which to our horror, caused look-ahead bias when used with `lookahead = barmerge.lookahead_on`.
We wanted to present a safer function which avoids introducing the dreaded "lookahead" in the scripts of unsuspecting coders.
2 — The popularity of security() in screener-type scripts where coders need to use the full 40 calls allowed per script made us want to propose
a solid method of allowing coders to offer a repainting/no-repainting choice to their script users with only one security() call.
3 — We wanted to explain why some alternatives we see circulating are inadequate and produce misleading behavior.
4 — Our previous publication on security() focused on how to avoid repainting, yet many other considerations worthy of attention are not related to repainting.
Handling tuples
When sending function calls that return tuples with security() , our `f_security()` function will not work because Pine does not allow us to use the history-referencing operator with tuple return values. The solution is to integrate the inside offset to your function's arguments, use it to offset the results the function is returning, and then add the outside offset in a reassignment of the tuple variables, after security() returns its values to the script, as we do in our "c2" example.
Does it repaint?
We're pretty sure Wilder was not asked very often if RSI repainted. Why? Because it wasn't in fashion—and largely unnecessary—to ask that sort of question in the 80's. Many traders back then used daily charts only, and indicator values were calculated at the day's close, so everybody knew what they were getting. Additionally, indicator values were calculated by generally reputable outfits or traders themselves, so data was pretty reliable. Today, almost anybody can write a simple indicator, and the programming languages used to write them are complex enough for some coders lacking the caution, know-how or ethics of the best professional coders, to get in over their heads and produce code that does not work the way they think it does.
As we hope to have clearly demonstrated, traders do have legitimate cause to ask if MTF scripts repaint or not when authors do not specify it in their script's description.
► We recommend that authors always use our `f_security()` with `false` as the last argument to avoid repainting when fetching data dependent on OHLCV information. This is the only way to obtain reliable HTF data. If you want to offer users a choice, make non-repainting mode the default, so that if users choose repainting, it will be their responsibility. Non-repainting security() calls are also the only way for scripts to show historical behavior that matches the script's realtime behavior, so you are not misleading traders. Additionally, non-repainting HTF data is the only way that non-repainting alerts can be configured on MTF scripts, as users of MTF scripts cannot prevent their alerts from repainting by simply configuring them to trigger on the bar's close.
Data feeds
A chart at one timeframe is made up of multiple feeds that mesh seamlessly to form one chart. Historical bars can use one feed, and the realtime bar another, which brokers/exchanges can sometimes update retroactively so that elapsed realtime bars will reappear with very slight modifications when the browser's tab is refreshed. Intraday and daily chart prices also very often originate from different feeds supplied by brokers/exchanges. That is why security() calls at higher timeframes may be using a completely different feed than the chart, and explains why the daily high value, for example, can vary between timeframes. Volume information can also vary considerably between intraday and daily feeds in markets like stocks, because more volume information becomes available at the end of day. It is thus expected behavior—and not a bug—to see data variations between timeframes.
Another point to keep in mind concerning feeds it that when you are using a repainting security() plot in realtime, you will sometimes see discrepancies between its plot and the realtime bars. An artefact revealing these inconsistencies can be seen when security() plots sometimes skip a realtime chart bar during periods of high market activity. This occurs because of races between the chart and the security() feeds, which are being monitored by independent, concurrent processes. A blue arrow on the chart indicates such an occurrence. This is another cause of repainting, where realtime bar-building logic can produce different outcomes on one closing price. It is also another argument supporting our recommendation to use non-repainting data.
Alternatives
There is an alternative to using security() in some conditions. If all you need are OHLC prices of a higher timeframe, you can use a technique like the one Duyck demonstrates in his security free MTF example - JD script. It has the great advantage of displaying actual repainting values on historical bars, which mimic the code's behavior in the realtime bar—or at least on elapsed realtime bars, contrary to a repainting security() plot. It has the disadvantage of using the current chart's TF data feed prices, whereas higher timeframe data feeds may contain different and more reliable prices when they are compiled at the end of the day. In its current state, it also does not allow for a repainting/no-repainting choice.
When `lookahead` is useful
When retrieving non-price data, or in special cases, for experiments, it can be useful to use `lookahead`. One example is our Backtesting on Non-Standard Charts: Caution! script where we are fetching prices of standard chart bars from non-standard charts.
Warning users
Normal use of security() dictates that it only be used at timeframes equal to or higher than the chart's. To prevent users from inadvertently using your script in contexts where it will not produce expected behavior, it is good practice to warn them when their chart is on a higher timeframe than the one in the script's "Timeframe" field. Our `f_tfReminderAndErrorCheck()` function in this script does that. It can also print a reminder of the higher timeframe. It uses one security() call.
Intrabar timeframes
security() is not supported by TradingView when used with timeframes lower than the chart's. While it is still possible to use security() at intrabar timeframes, it then behaves differently. If no care is taken to send a function specifically written to handle the successive intrabars, security() will return the value of the last intrabar in the chart's timeframe, so the last 1H bar in the current 1D bar, if called at "60" from a "D" chart timeframe. If you are an advanced coder, see our FAQ entry on the techniques involved in processing intrabar timeframes. Using intrabar timeframes comes with important limitations, which you must understand and explain to traders if you choose to make scripts using the technique available to others. Special care should also be taken to thoroughly test this type of script. Novice coders should refrain from getting involved in this.
█ TERMINOLOGY
Timeframe
Timeframe , interval and resolution are all being used to name the concept of timeframe. We have, in the past, used "timeframe" and "resolution" more or less interchangeably. Recently, members from the Pine and PineCoders team have decided to settle on "timeframe", so from hereon we will be sticking to that term.
Multi-timeframe (MTF)
Some coders use "multi-timeframe" or "MTF" to name what are in fact "multi-period" calculations, as when they use MAs of progressively longer periods. We consider that a misleading use of "multi-timeframe", which should be reserved for code using calculations actually made from another timeframe's context and using security() , safe for scripts like Duyck's one mentioned earlier, or TradingView's Relative Volume at Time , which use a user-selected timeframe as an anchor to reset calculations. Calculations made at the chart's timeframe by varying the period of MAs or other rolling window calculations should be called "multi-period", and "MTF-anchored" could be used for scripts that reset calculations on timeframe boundaries.
Colophon
Our script was written using the PineCoders Coding Conventions for Pine .
The description was formatted using the techniques explained in the How We Write and Format Script Descriptions PineCoders publication.
Snippets were lifted from our MTF Selection Framework , then massaged to create the `f_tfReminderAndErrorCheck()` function.
█ THANKS
Thanks to apozdnyakov for his help with the innards of security() .
Thanks to bmistiaen for proofreading our description.
Look first. Then leap.
在腳本中搜尋"backtest"
Squeeze Momentum Strategy based on Indicator [LazyBear][Bitduke]I improved Squeeze Momentum Indicator by LazyBear (momentum filter, changed data source to ohlc4) and transformed it into a strategy, adding a risk management system + ability to customize time frames for backtest.
Shortly about Squeeze Momentum Indicator:
This is a derivative of John Carter's "TTM Squeeze" volatility indicator, as discussed in his book "Mastering the Trade" (chapter 11).
Backtested on XBTUSD, ETHUSD (Bitmex). As you may notice it shows good results on 1h - 4h timeframes on these timeframes among these pairs. Relatively low drawdown ~ 12% (to date).
T7 JNSARJNSAR stands for Just Nifty Stop & Reverse. This is a trend following daily bar trading system for NIFTY. Original idea belongs to ILLANGO @ I coded the pine version of this system based on a request from @stocksonfire. Use it at your own risk after validation at your end. Neither me or my company is responsible for any losses you may incur using this system. Hope you like this system and enjoy trading it !!!
While trading this system you must follow these simple rules.
1. Go Long when the daily close is above the JNSAR line. Go Short when the daily close is below the JNSAR line. JNSAR line is the varying green line overlayed over the price chart. Once a signal comes at market close enter in the direction of the signal @ market price @ next day market open.
2. Trade only Nifty Index. This system was developed and backtested only for NIFTY Index. So trade in its Futures or Options, as you may deem fit. My recommendation is to choose futures for simplicity. If you want to reduce the trading cost and go with options, trade with deep in the money options, preferably 2 strikes far from the spot price.
3. Trade all signals. Markets trend only 30-35% of the time and hence the system is only accurate to that extend. But system tends to make enough money, in this small trending window, to keep the overall profitability in good health. But one never knows when a big trend may come and when it comes its absolutely imperative that you take it. To ensure that, trade all signals and don't be choosy about what signals you are going to trade. Also I wouldn't recommend using your own analysis to trade this system. Too many drivers will crash the car.
4. Like all trend following systems, this system will have many whipsaws during flat markets along with large trade and account drawdowns. Also some months and even years may not be profitable. But to trade this system profitably, it is necessary to take these in one's stride and keep trading. As the backtester results from 1990 to 2016 proves, this system is profitable overall thus far. Take confidence from that objective fact.
5. Initial capital that you need to have to trade one lot of NIFTY should be atleast - (Margin Money required to take and hold 1 lot position + maximum drawdown amount per lot)*1.2. Be prepared to add more if need be, but the above formula will give a rough idea of what you need to have to start trading and be in the game always.
6. Follow all the 5 rules above religiously as if your life depends on it. If you cant, then don't trade this system; You will certainly loose money.
S4_IBS_Mean_Rev_3candleExitOverview:
This is a rules-based, mean reversion strategy designed to trade pullbacks using the Internal Bar Strength (IBS) indicator. The system looks for oversold conditions based on IBS, then enters long trades , holding for a maximum of 3 bars or until the trade becomes profitable.
The strategy includes:
✅ Strict entry rules based on IBS
✅ Hardcoded exit conditions for risk management
✅ A clean visual table summarizing key performance metrics
How It Works:
1. Internal Bar Strength (IBS) Setup:
The IBS is calculated using the previous bar’s price range:
IBS = (Previous Close - Previous Low) / (Previous High - Previous Low)
IBS values closer to 0 indicate price is near the bottom of the previous range, suggesting oversold conditions.
2. Entry Conditions:
IBS must be ≤ 0.25, signaling an oversold setup.
Trade entries are only allowed within a user-defined backtest window (default: 2024).
Only one trade at a time is permitted (long-only strategy).
3. Exit Conditions:
If the price closes higher than the entry price, the trade exits with a profit.
If the trade has been open for 3 bars without showing profit, the trade is forcefully exited.
All trades are closed automatically at the end of the backtest window if still open.
Additional Features:
📊 A real-time performance metrics table is displayed on the chart, showing:
- Total trades
- % of profitable trades
- Total P&L
- Profit Factor
- Max Drawdown
- Best/Worst trade performance
📈 Visual markers indicate trade entries (green triangle) and exits (red triangle) for easy chart interpretation.
Who Is This For?
This strategy is designed for:
✅ Traders exploring systematic mean reversion approaches
✅ Those who prefer strict, rules-based setups with no subjective decision-making
✅ Traders who want built-in performance tracking directly on the chart
Note: This strategy is provided for educational and research purposes. It is a backtested model and past performance does not guarantee future results. Users should paper trade and validate performance before considering real capital.
MC Geopolitical Tension Events📌 Script Title: Geopolitical Tension Events
📖 Description:
This script highlights key geopolitical and military tension events from 1914 to 2024 that have historically impacted global markets.
It automatically plots vertical dashed lines and labels on the chart at the time of each major event. This allows traders and analysts to visually assess how markets have responded to global crises, wars, and significant political instability over time.
🧠 Use Cases:
Historical backtesting: Understand how market responded to past geopolitical shocks.
Contextual analysis: Add macro context to technical setups.
🗓️ List of Geopolitical Tension Events in the Script
Date Event Title Description
1914-07-28 WWI Begins Outbreak of World War I following the assassination of Archduke Franz Ferdinand.
1929-10-24 Wall Street Crash Black Thursday, the start of the 1929 stock market crash.
1939-09-01 WWII Begins Germany invades Poland, starting World War II.
1941-12-07 Pearl Harbor Japanese attack on Pearl Harbor; U.S. enters WWII.
1945-08-06 Hiroshima Bombing First atomic bomb dropped on Hiroshima by the U.S.
1950-06-25 Korean War Begins North Korea invades South Korea.
1962-10-16 Cuban Missile Crisis 13-day standoff between the U.S. and USSR over missiles in Cuba.
1973-10-06 Yom Kippur War Egypt and Syria launch surprise attack on Israel.
1979-11-04 Iran Hostage Crisis U.S. Embassy in Tehran seized; 52 hostages taken.
1990-08-02 Gulf War Begins Iraq invades Kuwait, triggering U.S. intervention.
2001-09-11 9/11 Attacks Coordinated terrorist attacks on the U.S.
2003-03-20 Iraq War Begins U.S.-led invasion of Iraq to remove Saddam Hussein.
2008-09-15 Lehman Collapse Bankruptcy of Lehman Brothers; peak of global financial crisis.
2014-03-01 Crimea Crisis Russia annexes Crimea from Ukraine.
2020-01-03 Soleimani Strike U.S. drone strike kills Iranian General Qasem Soleimani.
2022-02-24 Ukraine Invasion Russia launches full-scale invasion of Ukraine.
2023-10-07 Hamas-Israel War Hamas launches attack on Israel, sparking war in Gaza.
2024-01-12 Red Sea Crisis Houthis attack ships in Red Sea, prompting Western naval response.
Smart Bar Counter with Alerts🚀 Smart Bar Counter with Alerts 🚀
-----------------------------------------------------
Overview
-----------------------------------------------------
Ever wanted to count a specific number of bars from a key point on your chart—such as after a Break of Structure (BOS), the start of a new trading session, or from any point of interest— without having to stare at the screen?
This "Smart Bar Counter" indicator was created to solve this exact problem. It's a simple yet powerful tool that allows you to define a custom "Start Point" and a "Target Bar Count." Once the target count is reached, it can trigger an Alert to notify you immediately.
-----------------------------------------------------
Key Features
-----------------------------------------------------
• Manual Start Point: Precisely select the date and time from which you want the count to begin, offering maximum flexibility in your analysis.
• Custom Bar Target: Define exactly how many bars you want to count, whether it's 50, 100, or 200 bars.
• On-Chart Display: A running count is displayed on each bar after the start time, allowing you to visually track the progress.
• Automatic Alerts: Set up alerts to be notified via TradingView's various channels (pop-up, mobile app, email) once the target count is reached.
-----------------------------------------------------
How to Use
-----------------------------------------------------
1. Add this indicator to your chart.
2. Go to the indicator's Settings (Gear Icon ⚙️).
- Select Start Time: Set the date and time you wish to begin counting.
- Number of Bars to Count: Input your target number.
3. Set up the Alert ( Very Important! ).
- Right-click on the chart > Select " Add alert ."
- In the " Condition " dropdown, select this indicator: Smart Bar Counter with Alerts .
- In the next dropdown, choose the available alert condition.
- Set " Options " to Once Per Bar Close .
- Choose your desired notification methods under " Alert Actions ."
- Click " Create ."
-----------------------------------------------------
Use Cases
-----------------------------------------------------
• Post-Event Analysis: Count bars after a key event like a Break of Structure (BOS) or Change of Character (CHoCH) to observe subsequent price action.
• Time-based Analysis: Use it to count bars after a market open for a specific session (e.g., London, New York).
• Strategy Backtesting: Useful for testing trading rules that are based on time or a specific number of bars.
-----------------------------------------------------
Final Words
-----------------------------------------------------
Hope you find this indicator useful for your analysis and trading strategies! Feel free to leave comments or suggestions below.
EMA 200 Monitor - Bybit CoinsEMA 200 Monitor - Bybit Coins
📊 OVERVIEW
The EMA 200 Monitor - Bybit Coins is an advanced indicator that automatically monitors 30 of the top cryptocurrencies traded on Bybit, alerting you when they are close to the 200-period Exponential Moving Average on the 4-hour timeframe.
This indicator was developed especially for traders who use the EMA 200 as a key support/resistance level in their swing trading and position trading strategies.
🎯 WHAT IT'S FOR
Multi-Asset Monitoring: Simultaneous monitoring of 30 cryptocurrencies without having to switch between charts
Opportunity Identification: Detects when coins are approaching the 200 EMA, a crucial technical level
Automated Alerts: Real-time notifications when a coin reaches the configured proximity
Time Efficiency: Eliminates the need to manually check chart collections
⚙️ HOW IT WORKS
Main Functionality
The indicator uses the request.security() function to fetch price data and calculate the 200 EMA of each monitored asset. With each new bar, the script:
Calculates the distance between the current price and the 200 EMA for each coin
Identifies proximity based on the configured percentage (default: 2%)
Displays results in a table organized on the chart
Generates automatic alerts when proximity is detected
Monitored Coins
Major : BTC, ETH, BNB, ADA, XRP, SOL, DOT, DOGE, AVAX
DeFi : UNI, LINK, ATOM, ICP, NEAR, OP, ARB, INJ
Memecoins : SHIB, PEPE, WIF, BONK, FLOKI
Emerging : SUI, TON, APT, POL (ex-MATIC)
📋 AVAILABLE SETTINGS
Adjustable Parameters
EMA Length (Default: 200): Exponential Moving Average Period
Proximity Percentage (Default: 2%): Distance in percentage to consider "close"
Show Table (Default: Active): Show/hide results table
Table Position: Position of the table on the chart (9 options available)
Color System
🔴 Red: Distance ≤ 1% (very close)
🟠 Orange: Distance ≤ 1.5% (close)
🟡 Yellow: Distance ≤ 2% (approaching)
🚀 HOW TO USE
Initial Configuration
Add the indicator to the 4-hour timeframe chart
Set the parameters according to your strategy
Position the table where there is no graphic preference
Setting Alerts
Click "Create Alert" in TradingView
Select the "EMA 200 Monitor" indicator
Set the notification frequency and method
Activate the alert to receive automatic notifications
Results Interpretation
The table shows:
Coin: Asset name (e.g. BTC, ETH)
Price: Current currency quote
EMA 200: Current value of the moving average
Distance: Percentage of proximity to the core code
💡 STRATEGIES TO USE
Reversal Trading
Entry: When price touches or approaches the EMA 200
Stop: Below/above the EMA with a safety margin
Target: Previous resistance/support levels
Breakout Trading
Monitoring: Watch for currencies consolidating near the EMA 200
Entry: When the media is finally broken
Confirmation: Volume and close above/below the EMA
Swing Trading
Identification: Use the monitor to detect setups in formation
Timing: Wait for the EMA 200 to approach for detailed analysis
Management: Use the EMA as a reference for stops dynamics
⚠️ IMPORTANT CONSIDERATIONS
Technical Limitations
Request Bybit data: Access to exchange symbols required
Specific timeframe: Optimized for 4-hour analysis
Minimum delay: Data updated with each new bar
Usage Recommendations
Combine with technical analysis: Use together with other indicators
Confirm the configuration: Check the graphic patterns before trading
Manage risk: Always use stop loss and adequate position sizing
Backtesting: Test your strategy before applying with real capital
Disclaimer
This indicator is a technical analysis tool and does not constitute investment advice. Always do your own analysis and manage detailed information about the risks of your operations.
🔧 TECHNICAL INFORMATION
Pine Script version: v6
Type: Indicator (overlay=true)
Compatibility: All TradingView plans
Resources used: request.security(), arrays, tables
Performance: Optimized for multiple simultaneous queries
📈 COMPETITIVE ADVANTAGES
✅ Simultaneous monitoring of 30 major assets ✅ Clear visual interface with intuitive core system ✅ Customizable alerts for different details ✅ Optimized code for maximum performance ✅ Flexible configuration adaptable to different strategies ✅ Real-time update without the need for manual refresh
Developed for traders who value efficiency and accuracy in identifying market opportunities based on the EMA 20
CISD Levels by HAZEDCISD Levels by HAZED - Advanced Market Structure Analysis
📊 Overview
The CISD Levels indicator is a sophisticated market structure analysis tool that automatically identifies and plots critical support and resistance levels based on Change in State Direction (CISD) methodology. This indicator helps traders visualize key market turning points and potential breakout/breakdown levels with precision.
🎯 What are CISD Levels?
CISD (Change in State Direction) levels represent significant price points where market sentiment shifts from bullish to bearish or vice versa. These levels are dynamically calculated based on:
Market structure breaks (higher highs/lower lows)
Pullback patterns and trend continuations
Real-time price action analysis
Dynamic level updates as market conditions evolve
✨ Key Features
🔥 Smart Level Detection
Automatically identifies bullish (+CISD) and bearish (-CISD) levels
Real-time updates as market structure evolves
Intelligent pullback detection algorithm
🎨 Full Customization
Colors: Customize bullish/bearish level colors
Line Styles: Choose from solid, dotted, or dashed lines
Text Labels: Fully customizable text, size, and font options
Transparency: Adjustable line transparency (0-100%)
Extensions: Control how far lines extend into the future
📈 Historical Analysis
Show All Levels: Option to display historical CISD levels
Max Levels Control: Limit the number of historical levels shown (1-50)
Level Management: Automatic cleanup of old levels
🚨 Smart Alerts
Bullish Alerts: Get notified when price breaks above +CISD levels
Bearish Alerts: Get notified when price breaks below -CISD levels
Alert Frequency: Choose between "Once Per Bar" or "Once Per Bar Close"
📊 Statistics Table
Market State: Current bullish/bearish market condition
Active Levels: Count of currently active CISD levels
Latest Levels: Display of most recent +CISD and -CISD values
Positioning: 5 different table positions available
🛠️ How to Use
For Swing Traders:
Use CISD levels as key support/resistance zones
Enter positions on level breaks with proper risk management
Set stop losses below/above opposite CISD levels
For Day Traders:
Watch for price reactions at CISD levels
Use levels for entry/exit timing
Combine with volume analysis for confirmation
For Position Traders:
Identify major market structure changes
Use higher timeframe CISD levels for strategic entries
Monitor level breaks for trend continuation signals
⚙️ Settings Guide
CISD Level Settings
Bullish/Bearish Colors: Customize level appearance
Custom Text: Add your own labels to levels
Alert Setup: Enable notifications for level breaks
Historical Levels: Choose to show past levels for context
Appearance Customization
Line Width: 1-5 pixel thickness options
Line Style: Solid, dotted, or dashed
Extension Bars: Control future projection (1-50 bars)
Text Options: Size, font, and bold formatting
Statistics Table
Enable/Disable: Toggle table visibility
Position: 5 placement options on chart
Real-time Data: Live market state and level information
🎯 Best Practices
Multi-Timeframe Analysis: Use CISD levels across different timeframes for confluence
Risk Management: Always use proper position sizing and stop losses
Confirmation: Combine with volume, momentum, or other indicators
Market Context: Consider overall market conditions and news events
Backtesting: Test the levels on historical data before live trading
📋 Technical Specifications
Overlay: True (plots directly on price chart)
Max Lines: 500 (handles multiple historical levels)
Max Labels: 500 (supports extensive labeling)
Real-time Updates: Dynamic level calculation and alerts
Performance: Optimized code for smooth chart operation
🚀 Why Choose CISD Levels?
Precision: Advanced algorithm for accurate level identification
Flexibility: Extensive customization options for any trading style
Reliability: Proven market structure analysis methodology
User-Friendly: Intuitive settings with helpful tooltips
Professional: Clean, professional appearance on any chart
📞 Support & Updates
This indicator is actively maintained and updated. For questions, suggestions, or feature requests, feel free to reach out through TradingView messaging.
⚠️ Disclaimer: This indicator is for educational and informational purposes only. Always conduct your own analysis and risk management. Past performance does not guarantee future results.
Supertrend with Volume Filter AlertSupertrend with Volume Filter Alert - Indicator Overview
What is the Supertrend Indicator?
The Supertrend indicator is a popular trend-following tool used by traders to identify the direction of the market and potential entry/exit points. It is based on the Average True Range (ATR), which measures volatility, and plots a line on the chart that acts as a dynamic support or resistance level. When the price is above the Supertrend line, it signals an uptrend (bullish), and when the price is below, it indicates a downtrend (bearish). The indicator is particularly effective in trending markets but can generate false signals during choppy or sideways conditions.
How This Script Works
The "Supertrend with Volume Filter Alert" enhances the classic Supertrend indicator by adding a customizable volume filter to improve signal reliability.
Here's how it functions:
Supertrend Calculation:The Supertrend is calculated using the ATR over a user-defined period (default: 55) and a multiplier (default: 1.85). These parameters control the sensitivity of the indicator:A higher ATR period smooths out volatility, making the indicator less reactive to short-term price fluctuations.The multiplier determines the distance of the Supertrend line from the price, affecting how quickly it responds to trend changes.The script plots the Supertrend line in cyan for uptrends and red for downtrends, making it easy to visualize the market direction.
Volume Filter:A key feature of this script is the volume filter, which helps filter out false signals in choppy markets. The filter compares the current volume to the average volume over a lookback period (default: 20) and only triggers signals if the volume exceeds the average by a specified multiplier (default: 2.0).This ensures that trend changes are accompanied by significant market participation, increasing the likelihood of a genuine trend shift.
Signals and Alerts:
Buy signals (cyan triangle below the bar) are generated when the price crosses above the Supertrend line (indicating an uptrend) and the volume condition is met.Sell signals (red triangle above the bar) are generated when the price crosses below the Supertrend line (indicating a downtrend) and the volume condition is met.Alerts are set up for both buy and sell signals, notifying traders only when the volume filter confirms the trend change.
Customizable Settings for Multiple Markets
The default settings in this script (ATR Period: 55, ATR Multiplier: 1.85, Volume Lookback Period: 20, Volume Multiplier: 2.0) were carefully chosen to provide a balance of sensitivity and reliability across various markets, including stocks, indices (like the S&P 500), forex, and cryptocurrencies.
Here's why these settings work well:
ATR Period (55): A longer ATR period smooths out volatility, making the indicator less prone to whipsaws in volatile markets like crypto or forex, while still being responsive enough for trending markets like indices.
ATR Multiplier (1.85): This multiplier strikes a balance between capturing early trend changes and avoiding noise. A smaller multiplier would make the indicator too sensitive, while a larger one might miss early opportunities.
Volume Lookback Period (20): A 20-bar lookback for volume averaging provides a robust baseline for identifying significant volume spikes, adaptable to both short-term (e.g., daily charts) and longer-term (e.g., weekly charts) timeframes.
Volume Multiplier (2.0): Requiring volume to be at least 2x the average ensures that only high-conviction moves trigger signals, which is crucial for markets with varying liquidity levels.
These parameters are fully customizable, allowing traders to adjust the indicator to their specific market, timeframe, or trading style. For example, you might reduce the ATR period for faster-moving markets or increase the volume multiplier for more conservative signal filtering.
How the Volume Filter Reduces Bad Trades in Choppy Markets
One of the main drawbacks of the Supertrend indicator is its tendency to generate false signals during choppy or ranging markets, where price fluctuates without a clear trend. The volume filter in this script addresses this issue by ensuring that trend changes are backed by significant market activity:
In choppy markets, price movements often lack strong volume, leading to false breakouts or reversals. By requiring volume to be a multiple (default: 2x) of the average volume over the lookback period, the script filters out these low-volume, low-conviction moves.This reduces the likelihood of taking bad trades during sideways markets, as only trend changes with strong volume confirmation will trigger signals. For example, on a daily chart of the S&P 500, a buy signal will only fire if the price crosses above the Supertrend line and the volume on that day is at least twice the 20-day average, indicating genuine buying pressure.
Usage Tips
Markets and Timeframes: This indicator is versatile and can be used on various assets (stocks, indices, forex, crypto) and timeframes (1-minute, 1-hour, daily, etc.). Adjust the settings based on the market's volatility and your trading strategy.
Combine with Other Indicators: While the volume filter improves reliability, consider using additional indicators like RSI or MACD to confirm trends, especially in ranging markets.
Backtesting: Test the indicator on historical data for your chosen market to optimize the settings and ensure they align with your trading goals.
Alerts: Set up alerts for buy and sell signals to stay informed of high-probability trend changes without constantly monitoring the chart.
ConclusionThe "Supertrend with Volume Filter Alert" is a powerful tool for trend-following traders, combining the simplicity of the Supertrend indicator with a volume-based filter to enhance signal accuracy. Its customizable settings make it adaptable to multiple markets, while the volume filter helps reduce false signals in choppy conditions, allowing traders to focus on high-probability trades. Whether you're trading stocks, indices, forex, or crypto, this indicator can help you identify trends with greater confidence.
RSI + MACD + Liquidity FinderLiquidity Finder: The liquidity zones are heuristic and based on volume and swing points. You may need to tweak the volumeThreshold and lookback to match the asset's volatility and timeframe.
Timeframe: This script works on any timeframe, but signals may vary in reliability (e.g., higher timeframes like 4H or 1D may reduce noise).
Customization: You can modify signal conditions (e.g., require only RSI or MACD) or add filters like trend direction using moving averages.
Backtesting: Use TradingView's strategy tester to evaluate performance by converting the indicator to a strategy (replace plotshape with strategy.entry/strategy.close).
QuantumSync Pulse [ w.aritas ]QuantumSync Pulse (QSP) is an advanced technical indicator crafted for traders seeking a dynamic and adaptable tool to analyze diverse market conditions. By integrating momentum, mean reversion, and regime detection with quantum-inspired calculations and entropy analysis, QSP offers a powerful histogram that reflects trend strength and market uncertainty. With multi-timeframe synchronization, adaptive filtering, and customizable visualization, it’s a versatile addition to any trading strategy.
Key Features
Hybrid Signals: Combines momentum and mean reversion, dynamically weighted by market regime.
Quantum Tunneling: Enhances responsiveness in volatile markets using volatility-adjusted calculations.
3-State Entropy: Assesses market uncertainty across up, down, and neutral states.
Regime Detection: Adapts signal weights with Hurst exponent and volatility ROC.
Multi-Timeframe Alignment: Syncs with higher timeframe trends for context.
Customizable Histogram: Displays trend strength with ADX-based visuals and flexible styling.
How to Use and Interpret
Histogram Interpretation
Positive (Above Zero): Bullish momentum; color intensity shows trend strength.
Negative (Below Zero): Bearish momentum; gradients indicate weakness.
Overlaps: Alignment of final_z (signal) and ohlc4 (price) histograms highlights key price levels or turning points.
Regime Visualization
Green Background: Trending market; prioritize momentum signals.
Red Background: Mean-reverting market; focus on reversion signals.
Blue Background: Neutral state; balance both signal types.
Trading Signals
Buy: Histogram crosses above zero or shows positive divergence between histograms.
Sell: Histogram crosses below zero or exhibits negative divergence.
Confirmation: Match signals with regime background—green for trends, red for ranges.
Customization
Tweak Momentum Length, Entropy Lookback, and Hurst Exponent Lookback for sensitivity.
Adjust color themes and transparency to suit your charts.
Tips for Optimal Use
Timeframes: Use higher timeframes (1h, 4h) for trend context and lower (5m, 15m) for entries.
Pairing: Combine with RSI, MACD, or volume indicators for confirmation.
Backtesting: Test settings on historical data for asset-specific optimization.
Overlaps: Watch for histogram overlaps to identify support, resistance, or reversals.
Simulated Performance
Trending Markets: Histogram stays above/below zero, with overlaps at retracements for entries.
Range-Bound Markets: Oscillates around zero; overlaps signal reversals in red regimes.
Volatile Markets: Quantum tunneling ensures quick reactions, with filters reducing noise.
Elevate your trading with QuantumSync Pulse—a sophisticated tool that adapts to the market’s rhythm and your unique style.
Green*DiamondGreen*Diamond (GD1)
Unleash Dynamic Trading Signals with Volatility and Momentum
Overview
GreenDiamond is a versatile overlay indicator designed for traders seeking actionable buy and sell signals across various markets and timeframes. Combining Volatility Bands (VB) bands, Consolidation Detection, MACD, RSI, and a unique Ribbon Wave, it highlights high-probability setups while filtering out noise. With customizable signals like Green-Yellow Buy, Pullback Sell, and Inverse Pullback Buy, plus vibrant candle and volume visuals, GreenDiamond adapts to your trading style—whether you’re scalping, day trading, or swing trading.
Key Features
Volatility Bands (VB): Plots dynamic upper and lower bands to identify breakouts or reversals, with toggleable buy/sell signals outside consolidation zones.
Consolidation Detection: Marks low-range periods to avoid choppy markets, ensuring signals fire during trending conditions.
MACD Signals: Offers flexible buy/sell conditions (e.g., cross above signal, above zero, histogram up) with RSI divergence integration for precision.
RSI Filter: Enhances signals with customizable levels (midline, oversold/overbought) and bullish divergence detection.
Ribbon Wave: Visualizes trend strength using three EMAs, colored by MACD and RSI for intuitive momentum cues.
Custom Signals: Includes Green-Yellow Buy, Pullback Sell, and Inverse Pullback Buy, with limits on consecutive signals to prevent overtrading.
Candle & Volume Styling: Blends MACD/RSI colors on candles and scales volume bars to highlight momentum spikes.
Alerts: Set up alerts for VB signals, MACD crosses, Green*Diamond signals, and custom conditions to stay on top of opportunities.
How It Works
Green*Diamond integrates multiple indicators to generate signals:
Volatility Bands: Calculates bands using a pivot SMA and standard deviation. Buy signals trigger on crossovers above the lower band, sell signals on crossunders below the upper band (if enabled).
Consolidation Filter: Suppresses signals when candle ranges are below a threshold, keeping you out of flat markets.
MACD & RSI: Combines MACD conditions (e.g., cross above signal) with RSI filters (e.g., above midline) and optional volume spikes for robust signals.
Custom Logic: Green-Yellow Buy uses MACD bullishness, Pullback Sell targets retracements, and Inverse Pullback Buy catches reversals after downmoves—all filtered to avoid consolidation.
Visuals: Ribbon Wave shows trend direction, candles blend momentum colors, and volume bars scale dynamically to confirm signals.
Settings
Volatility Bands Settings:
VB Lookback Period (20): Adjust to 10–15 for faster markets (e.g., 1-minute scalping) or 25–30 for daily charts.
Upper/Lower Band Multiplier (1.0): Increase to 1.5–2.0 for wider bands in volatile stocks like AEHL; decrease to 0.5 for calmer markets.
Show Volatility Bands: Toggle off to reduce chart clutter.
Use VB Signals: Enable for breakout-focused trades; disable to focus on Green*Diamond signals.
Consolidation Settings:
Consolidation Lookback (14): Set to 5–10 for small caps (e.g., AEHL) to catch quick consolidations; 20 for higher timeframes.
Range Threshold (0.5): Lower to 0.3 for stricter filtering in choppy markets; raise to 0.7 for looser signals.
MACD Settings:
Fast/Slow Length (12/26): Shorten to 8/21 for scalping; extend to 15/34 for swing trading.
Signal Smoothing (9): Reduce to 5 for faster signals; increase to 12 for smoother trends.
Buy/Sell Signal Options: Choose “Cross Above Signal” for classic MACD; “Histogram Up” for momentum plays.
Use RSI Div + MACD Cross: Enable for high-probability reversal signals.
RSI Settings:
RSI Period (14): Drop to 10 for 1-minute charts; raise to 20 for daily.
Filter Level (50): Set to 55 for stricter buys; 45 for sells.
Overbought/Oversold (70/30): Tighten to 65/35 for small caps; widen to 75/25 for indices.
RSI Buy/Sell Options: Select “Bullish Divergence” for reversals; “Cross Above Oversold” for momentum.
Color Settings:
Adjust bullish/bearish colors for visibility (e.g., brighter green/red for dark themes).
Border Thickness (1): Increase to 2–3 for clearer candle outlines.
Volume Settings:
Volume Average Length (20): Shorten to 10 for scalping; extend to 30 for swing trades.
Volume Multiplier (2.0): Raise to 3.0 for AEHL’s volume surges; lower to 1.5 for steady stocks.
Bar Height (10%): Increase to 15% for prominent bars; decrease to 5% to reduce clutter.
Ribbon Settings:
EMA Periods (10/20/30): Tighten to 5/10/15 for scalping; widen to 20/40/60 for trends.
Color by MACD/RSI: Disable for simpler visuals; enable for dynamic momentum cues.
Gradient Fill: Toggle on for trend clarity; off for minimalism.
Custom Signals:
Enable Green-Yellow Buy: Use for momentum confirmation; limit to 1–2 signals to avoid spam.
Pullback/Inverse Pullback % (50): Set to 30–40% for small caps; 60–70% for indices.
Max Buy Signals (1): Increase to 2–3 for active markets; keep at 1 for discipline.
Tips and Tricks
Scalping Small Caps (e.g., AEHL):
Use 1-minute charts with VB Lookback = 10, Consolidation Lookback = 5, and Volume Multiplier = 3.0 to catch $0.10–$0.20 moves.
Enable Green-Yellow Buy and Inverse Pullback Buy for quick entries; disable VB Signals to focus on Green*Diamond logic.
Pair with SMC+ green boxes (if you use them) for reversal confirmation.
Day Trading:
Try 5-minute charts with MACD Fast/Slow = 8/21 and RSI Period = 10.
Enable RSI Divergence + MACD Cross for high-probability setups; set Max Buy Signals = 2.
Watch for volume bars turning yellow to confirm entries.
Swing Trading:
Use daily charts with VB Lookback = 30, Ribbon EMAs = 20/40/60.
Enable Pullback Sell (60%) to exit after rallies; disable RSI Color for cleaner candles.
Check Ribbon Wave gradient for trend strength—bright green signals strong bulls.
Avoiding Noise:
Increase Consolidation Threshold to 0.7 on volatile days to skip false breakouts.
Disable Ribbon Wave or Volume Bars if the chart feels crowded.
Limit Max Buy Signals to 1 for disciplined trading.
Alert Setup:
In TradingView’s Alerts panel, select:
“GD Buy Signal” for standard entries.
“RSI Div + MACD Cross Buy” for reversals.
“VB Buy Signal” for breakout plays.
Set to “Once Per Bar Close” for confirmed signals; “Once Per Bar” for scalping.
Backtesting:
Replay on small caps ( Float < 5M, Price $0.50–$5) to test signals.
Focus on “GD Buy Signal” with yellow volume bars and green Ribbon Wave.
Avoid signals during gray consolidation squares unless paired with RSI Divergence.
Usage Notes
Markets: Works on stocks, forex, crypto, and indices. Best for volatile assets (e.g., small-cap stocks, BTCUSD).
Timeframes: Scalping (1–5 minutes), day trading (15–60 minutes), or swing trading (daily). Adjust settings per timeframe.
Risk Management: Combine with stop-losses (e.g., 1% risk, $0.05 below AEHL entry) and take-profits (3–5%).
Customization: Tweak inputs to match your strategy—experiment in replay to find your sweet spot.
Disclaimer
Green*Diamond is a technical tool to assist with trade identification, not a guarantee of profits. Trading involves risks, and past performance doesn’t predict future results. Always conduct your own analysis, manage risk, and test settings before live trading.
Feedback
Love Green*Diamond? Found a killer setup?
Dynamic Trend Indicator (DTI) - VWAP FilterThe Dynamic Trend Indicator (DTI) with VWAP Filter is a trend-following indicator.
It aims to identify and follow market trends while minimizing false signals in choppy or ranging markets.
The DTI combines a dynamically adjusted Exponential Moving Average (EMA) with a daily Volume Weighted Average Price (VWAP) confirmation filter and a cooldown mechanism to enhance signal reliability. This indicator is particularly useful for traders on intraday timeframes (e.g., 4-hour charts) who want to align their trades with the broader daily trend while avoiding whipsaws.
Key Features:
Dynamic Trend Line:
The core of the DTI is a trend line calculated using a custom EMA that adjusts its period dynamically based on market conditions.
The period of the EMA is determined by a combination of volatility (measured via ATR) and trend strength (measured via price momentum). In strong trends, the period shortens for faster responsiveness; in weak or ranging markets, it lengthens to reduce noise.
An optional smoothing EMA can be applied to the dynamic trend line to further reduce noise, with a user-defined smoothing length.
Daily VWAP Confirmation Filter:
A daily VWAP is calculated to provide a higher-timeframe trend bias. VWAP represents the average price paid for an asset during the day, weighted by volume, and is often used as a benchmark by institutional traders.
Buy signals are only generated when the price is above the daily VWAP (indicating a bullish daily bias), and sell signals are only generated when the price is below the VWAP (indicating a bearish daily bias).
The VWAP resets at the start of each day, ensuring it reflects the current day’s trading activity.
Cooldown Mechanism:
To prevent rapid signal reversals (whipsaws), the indicator includes a cooldown period between signals. After a buy or sell signal is generated, no new signals can be generated for a user-defined number of bars (default: 5 bars).
This helps filter out noise in choppy markets, ensuring signals are spaced out and more likely to align with significant trend changes.
Visual Elements:
Trend Line: Plotted on the chart, colored green when the price is above (uptrend) and red when below (downtrend). A gray color indicates a neutral trend.
Buy/Sell Signals: Displayed as green triangles below the bar for buy signals and red triangles above the bar for sell signals.
Background Coloring: The chart background is shaded green during uptrends and red during downtrends, providing a quick visual cue of the trend direction.
Daily VWAP Line: Optionally plotted as a purple step line, allowing traders to see the VWAP level and its relationship to the price.
Alerts:
The indicator includes built-in alerts for buy and sell signals, triggered when the price crosses the trend line and satisfies the VWAP filter and cooldown conditions.
Alert messages specify whether the signal is a buy or sell and confirm that the VWAP condition was met (e.g., "DTI Buy Signal: Price crossed above trend line and VWAP").
Input Parameters
Base Length (default: 14): The base period for calculating volatility and trend strength, used to adjust the dynamic EMA period.
Volatility Multiplier (default: 1.5): Adjusts the sensitivity of the dynamic period to market volatility (via ATR).
Trend Threshold (default: 0.5): Controls the sensitivity of the dynamic period to trend strength (via price momentum).
Use Smoothing (default: true): Enables/disables smoothing of the trend line with an additional EMA.
Smoothing Length (default: 3): The period for the smoothing EMA, if enabled.
Cooldown Bars (default: 5): The minimum number of bars between consecutive signals, reducing signal frequency in choppy markets.
Show Daily VWAP (default: true): Toggles the display of the daily VWAP line on the chart.
How It Works
Dynamic Trend Line Calculation:
Volatility is measured using the Average True Range (ATR) over the base length, scaled by the volatility multiplier.
Trend strength is calculated as the absolute price momentum (change in price over the base length) divided by the volatility factor.
The dynamic EMA period is adjusted based on the trend strength: stronger trends result in a shorter period (faster response), while weaker trends result in a longer period (more stability). The period is constrained between 5 and 50 to avoid extreme values.
A custom EMA function is used to handle the dynamic period, as Pine Script’s built-in ta.ema() requires a fixed length. The trend line is optionally smoothed with a secondary EMA.
Signal Generation:
A buy signal is generated when the price crosses above the trend line, the price is above the daily VWAP, and the cooldown period has elapsed.
A sell signal is generated when the price crosses below the trend line, the price is below the daily VWAP, and the cooldown period has elapsed.
The cooldown mechanism ensures that signals are not generated too frequently, reducing false signals in ranging markets.
Daily VWAP Calculation:
The VWAP is calculated by accumulating the price-volume product (close * volume) and total volume for the day, resetting at the start of each new day.
The VWAP is then computed as the cumulative price-volume divided by the cumulative volume, providing a volume-weighted average price for the day.
Usage
Timeframe: Best suited for intraday timeframes (e.g., 1-hour, 4-hour) where the daily VWAP provides a higher-timeframe trend bias. It can also be used on daily charts with adjustments to the cooldown period.
Markets: Works well in trending markets (e.g., forex, crypto, stocks) where the dynamic trend line can capture sustained price movements. The VWAP filter helps align signals with the daily trend, making it effective for assets with clear daily biases.
Trading Strategy:
Buy: Enter a long position when a green triangle (buy signal) appears, indicating the price has crossed above the trend line and is above the daily VWAP.
Sell: Enter a short position (or exit a long) when a red triangle (sell signal) appears, indicating the price has crossed below the trend line and is below the daily VWAP.
Use the trend line and VWAP as dynamic support/resistance levels to set stop-losses or take-profit targets.
Backtesting: Use TradingView’s strategy tester to evaluate the indicator’s performance on your chosen market and timeframe, adjusting parameters like cooldown_bars and volatility_mult to optimize for profitability.
Example
On a 4-hour SOLUSDT chart, the DTI with VWAP Filter might show:
An uptrend with the price above the green trend line and above the daily VWAP, generating buy signals as the price continues to rise.
A downtrend where the price falls below the red trend line and the daily VWAP, generating sell signals that align with the bearish daily bias.
During choppy periods, the cooldown mechanism and VWAP filter reduce false signals, ensuring trades are taken only when the price aligns with the daily trend.
Limitations
Lagging Nature: Like all trend-following indicators, the DTI may lag during sharp price reversals, as the dynamic EMA needs time to adjust.
Ranging Markets: While the VWAP filter and cooldown mechanism reduce whipsaws, the indicator may still generate some false signals in strongly ranging markets. Combining it with a trend strength filter (e.g., ADX) can help.
VWAP Dependency: The effectiveness of the VWAP filter depends on the market’s respect for the daily VWAP as a support/resistance level. In markets with low volume or erratic price action, the VWAP may be less reliable.
Potential Improvements
VWAP Buffer: Add a percentage buffer around the VWAP (e.g., require the price to be 1% above/below) to further reduce noise.
Multi-Timeframe VWAP: Incorporate a weekly VWAP for additional trend confirmation on longer timeframes.
Trend Strength Filter: Add an ADX filter to ensure signals are generated only during strong trends (e.g., ADX > 25).
Nef33-Volume Footprint ApproximationDescription of the "Volume Footprint Approximation" Indicator
Purpose
The "Volume Footprint Approximation" indicator is a tool designed to assist traders in analyzing market volume dynamics and anticipating potential trend changes in price. It is inspired by the concept of a volume footprint chart, which visualizes the distribution of trading volume across different price levels. However, since TradingView does not provide detailed intrabar data for all users, this indicator approximates the behavior of a footprint chart by using available volume and price data (open, close, volume) to classify volume as buy or sell, calculate volume delta, detect imbalances, and generate trend change signals.
The indicator is particularly useful for identifying areas of high buying or selling activity, imbalances between supply and demand, delta divergences, and potential reversal points in the market. It provides specific signals for bullish and bearish trend changes, making it suitable for traders looking to trade reversals or confirm trends.
How It Works
The indicator uses volume and price data from each candlestick to perform the following calculations:
Volume Classification:
Classifies the volume of each candlestick as "buy" or "sell" based on price movement:
If the closing price is higher than the opening price (close > open), the volume is classified as "buy."
If the closing price is lower than the opening price (close < open), the volume is classified as "sell."
If the closing price equals the opening price (close == open), it compares with the previous close to determine the direction:
If the current close is higher than the previous close, it is classified as "buy."
If the current close is lower than the previous close, it is classified as "sell."
If the current close equals the previous close, the classification from the previous bar is used.
Delta Calculation:
Calculates the volume delta as the difference between buy volume and sell volume (buyVolume - sellVolume).
A positive delta indicates more buy volume; a negative delta indicates more sell volume.
Imbalance Detection:
Identifies imbalances between buy and sell volume:
A buy imbalance occurs when buy volume exceeds sell volume by a defined percentage (default is 300%).
A sell imbalance occurs when sell volume exceeds buy volume by the same percentage.
Delta Divergence Detection:
Positive Delta Divergence: Occurs when the price is falling (for at least 2 bars) but the delta is increasing or becomes positive, indicating that buyers are entering despite the price decline.
Negative Delta Divergence: Occurs when the price is rising (for at least 2 bars) but the delta is decreasing or becomes negative, indicating that sellers are entering despite the price increase.
Trend Change Signals:
Bullish Signal (trendChangeBullish): Generated when the following conditions are met:
There is a positive delta divergence.
The delta has moved from a negative value (e.g., -500) to a positive value (e.g., +200) over the last 3 bars.
There is a buy imbalance.
The price is near a historical support level (approximated as the lowest low of the last 50 bars).
Bearish Signal (trendChangeBearish): Generated when the following conditions are met:
There is a negative delta divergence.
The delta has moved from a positive value (e.g., +500) to a negative value (e.g., -200) over the last 3 bars.
There is a sell imbalance.
The price is near a historical resistance level (approximated as the highest high of the last 50 bars).
Visual Elements
The indicator is displayed in a separate panel below the price chart (overlay=false) and includes the following elements:
Volume Histograms:
Buy Volume: Represented by a green histogram. Shows the volume classified as "buy."
Sell Volume: Represented by a red histogram. Shows the volume classified as "sell."
Note: The histograms overlap, and the last plotted histogram (red) takes visual precedence, meaning the sell volume may cover the buy volume if it is larger.
Delta Line:
Delta Volume: Represented by a blue line. Shows the difference between buy and sell volume.
A line above zero indicates more buy volume; a line below zero indicates more sell volume.
A dashed gray horizontal line marks the zero level for easier interpretation.
Imbalance Backgrounds:
Buy Imbalance: Light green background when buy volume exceeds sell volume by the defined percentage.
Sell Imbalance: Light red background when sell volume exceeds buy volume by the defined percentage.
Divergence Backgrounds:
Positive Delta Divergence: Lime green background when a positive delta divergence is detected.
Negative Delta Divergence: Fuchsia background when a negative delta divergence is detected.
Trend Change Signals:
Bullish Signal: Green label with the text "Bullish Trend Change" when the conditions for a bullish trend change are met.
Bearish Signal: Red label with the text "Bearish Trend Change" when the conditions for a bearish trend change are met.
Information Labels:
Below each bar, a label displays:
Total Vol: The total volume of the bar.
Delta: The delta volume value.
Alerts
The indicator generates the following alerts:
Positive Delta Divergence: "Positive Delta Divergence Detected! Price is falling, but delta is increasing."
Negative Delta Divergence: "Negative Delta Divergence Detected! Price is rising, but delta is decreasing."
Bullish Trend Change Signal: "Bullish Trend Change Signal! Positive Delta Divergence, Delta Rise, Buy Imbalance, and Near Support."
Bearish Trend Change Signal: "Bearish Trend Change Signal! Negative Delta Divergence, Delta Drop, Sell Imbalance, and Near Resistance."
These alerts can be configured in TradingView to receive real-time notifications.
Adjustable Parameters
The indicator allows customization of the following parameters:
Imbalance Threshold (%): The percentage required to detect an imbalance between buy and sell volume (default is 300%).
Lookback Period for Divergence: Number of bars to look back for detecting price and delta trends (default is 2 bars).
Support/Resistance Lookback Period: Number of bars to look back for identifying historical support and resistance levels (default is 50 bars).
Delta High Threshold (Bearish): Minimum delta value 2 bars ago for the bearish signal (default is +500).
Delta Low Threshold (Bearish): Maximum delta value in the current bar for the bearish signal (default is -200).
Delta Low Threshold (Bullish): Maximum delta value 2 bars ago for the bullish signal (default is -500).
Delta High Threshold (Bullish): Minimum delta value in the current bar for the bullish signal (default is +200).
Practical Use
The indicator is useful for the following purposes:
Identifying Trend Changes:
The trend change signals (trendChangeBullish and trendChangeBearish) indicate potential price reversals. For example, a bullish signal near a support level may be an opportunity to enter a long position.
Detecting Divergences:
Delta divergences (positive and negative) can anticipate trend changes by showing a disagreement between price movement and underlying buying/selling pressure.
Finding Key Levels:
Imbalances (green and red backgrounds) often coincide with support and resistance levels, helping to identify areas where the market might react.
Confirming Trends:
A consistently positive delta in an uptrend or a negative delta in a downtrend can confirm the strength of the trend.
Identifying Failed Auctions:
Although not detected automatically, you can manually identify failed auctions by observing a price move to new highs/lows with decreasing volume in the direction of the move.
Limitations
Intrabar Data: It does not use detailed intrabar data, making it less precise than a native footprint chart.
Approximations: Volume classification and support/resistance detection are approximations, which may lead to false signals.
Volume Dependency: It requires reliable volume data, so it may be less effective on assets with inaccurate volume data (e.g., some forex pairs).
False Signals: Divergences and imbalances do not always indicate a trend change, especially in strongly trending markets.
Recommendations
Combine with Other Indicators: Use tools like RSI, MACD, support/resistance levels, or candlestick patterns to confirm signals.
Trade on Higher Timeframes: Signals are more reliable on higher timeframes like 1-hour or 4-hour charts.
Perform Backtesting: Evaluate the indicator's accuracy on historical data to adjust parameters and improve effectiveness.
Adjust Parameters: Modify thresholds (e.g., imbalanceThreshold or supportResistanceLookback) based on the asset and timeframe you are trading.
Conclusion
The "Volume Footprint Approximation" indicator is a powerful tool for analyzing volume dynamics and anticipating price trend changes. By classifying volume, calculating delta, detecting imbalances and divergences, and generating trend change signals, it provides traders with valuable insights into market buying and selling pressure. While it has limitations due to the lack of intrabar data, it can be highly effective when used in combination with other technical analysis tools and on assets with reliable volume data.
Adaptive Regression Channel [MissouriTim]The Adaptive Regression Channel (ARC) is a technical indicator designed to empower traders with a clear, adaptable, and precise view of market trends and price boundaries. By blending advanced statistical techniques with real-time market data, ARC delivers a comprehensive tool that dynamically adjusts to price action, volatility, volume, and momentum. Whether you’re navigating the fast-paced world of cryptocurrencies, the steady trends of stocks, or the intricate movements of FOREX pairs, ARC provides a robust framework for identifying opportunities and managing risk.
Core Components
1. Color-Coded Regression Line
ARC’s centerpiece is a linear regression line derived from a Weighted Moving Average (WMA) of closing prices. This line adapts its calculation period based on market volatility (via ATR) and is capped between a minimum of 20 bars and a maximum of 1.5 times the user-defined base length (default 100). Visually, it shifts colors to reflect trend direction: green for an upward slope (bullish) and red for a downward slope (bearish), offering an instant snapshot of market sentiment.
2. Dynamic Residual Channels
Surrounding the regression line are upper (red) and lower (green) channels, calculated using the standard deviation of residuals—the difference between actual closing prices and the regression line. This approach ensures the channels precisely track how closely prices follow the trend, rather than relying solely on overall price volatility. The channel width is dynamically adjusted by a multiplier that factors in:
Volatility: Measured through the Average True Range (ATR), widening channels during turbulent markets.
Trend Strength: Based on the regression slope, expanding channels in strong trends and contracting them in consolidation phases.
3. Volume-Weighted Moving Average (VWMA)
Plotted in orange, the VWMA overlays a volume-weighted price trend, emphasizing movements backed by significant trading activity. This complements the regression line, providing additional confirmation of trend validity and potential breakout strength.
4. Scaled RSI Overlay
ARC features a Relative Strength Index (RSI) overlay, plotted in purple and scaled to hover closely around the regression line. This compact display reflects momentum shifts within the trend’s context, keeping RSI visible on the price chart without excessive swings. User-defined overbought (default 70) and oversold (default 30) levels offer reference points for momentum analysis."
Technical Highlights
ARC leverages a volatility-adjusted lookback period, residual-based channel construction, and multi-indicator integration to achieve high accuracy. Its parameters—such as base length, channel width, ATR period, and RSI length—are fully customizable, allowing traders to tailor it to their specific needs.
Why Choose ARC?
ARC stands out for its adaptability and precision. The residual-based channels offer tighter, more relevant support and resistance levels compared to standard volatility measures, while the dynamic adjustments ensure it performs well in both trending and ranging markets. The inclusion of VWMA and scaled RSI adds depth, merging trend, volume, and momentum into a single, cohesive overlay. For traders seeking a versatile, all-in-one indicator, ARC delivers actionable insights with minimal noise.
Best Ways to Use the Adaptive Regression Channel (ARC)
The Adaptive Regression Channel (ARC) is a flexible tool that supports a variety of trading strategies, from trend-following to breakout detection. Below are the most effective ways to use ARC, along with practical tips for maximizing its potential. Adjustments to its settings may be necessary depending on the timeframe (e.g., intraday vs. daily) and the asset being traded (e.g., stocks, FOREX, cryptocurrencies), as each market exhibits unique volatility and behavior.
1. Trend Following
• How to Use: Rely on the regression line’s color to guide your trades. A green line (upward slope) signals a bullish trend—consider entering or holding long positions. A red line (downward slope) indicates a bearish trend—look to short or exit longs.
• Best Practice: Confirm the trend with the VWMA (orange line). Price above the VWMA in a green uptrend strengthens the bullish case; price below in a red downtrend reinforces bearish momentum.
• Adjustment: For short timeframes like 15-minute crypto charts, lower the Base Regression Length (e.g., to 50) for quicker trend detection. For weekly stock charts, increase it (e.g., to 200) to capture broader movements.
2. Channel-Based Trades
• How to Use: Use the upper channel (red) as resistance and the lower channel (green) as support. Buy when the price bounces off the lower channel in an uptrend, and sell or short when it rejects the upper channel in a downtrend.
• Best Practice: Check the scaled RSI (purple line) for momentum cues. A low RSI (e.g., near 30) at the lower channel suggests a stronger buy signal; a high RSI (e.g., near 70) at the upper channel supports a sell.
• Adjustment: In volatile crypto markets, widen the Base Channel Width Coefficient (e.g., to 2.5) to reduce false signals. For stable FOREX pairs (e.g., EUR/USD), a narrower width (e.g., 1.5) may work better.
3. Breakout Detection
• How to Use: Watch for price breaking above the upper channel (bullish breakout) or below the lower channel (bearish breakout). These moves often signal strong momentum shifts.
• Best Practice: Validate breakouts with VWMA position—price above VWMA for bullish breaks, below for bearish—and ensure the regression line’s slope aligns (green for up, red for down).
• Adjustment: For fast-moving assets like crypto on 1-hour charts, shorten ATR Length (e.g., to 7) to make channels more reactive. For stocks on daily charts, keep it at 14 or higher for reliability.
4. Momentum Analysis
• How to Use: The scaled RSI overlay shows momentum relative to the regression line. Rising RSI in a green uptrend confirms bullish strength; falling RSI in a red downtrend supports bearish pressure.
• Best Practice: Look for RSI divergences—e.g., price hitting new highs at the upper channel while RSI flattens or drops could signal an impending reversal.
• Adjustment: Reduce RSI Length (e.g., to 7) for intraday trading in FOREX or crypto to catch short-term momentum shifts. Increase it (e.g., to 21) for longer-term stock trades.
5. Range Trading
• How to Use: When the regression line’s slope is near zero (flat) and channels are tight, ARC indicates a ranging market. Buy near the lower channel and sell near the upper channel, targeting the regression line as the mean price.
• Best Practice: Ensure VWMA hovers close to the regression line to confirm the range-bound state.
• Adjustment: For low-volatility stocks on daily charts, use a moderate Base Regression Length (e.g., 100) and tight Base Channel Width (e.g., 1.5). For choppy crypto markets, test shorter settings.
Optimization Strategies
• Timeframe Customization: Adjust ARC’s parameters to match your trading horizon. Short timeframes (e.g., 1-minute to 1-hour) benefit from lower Base Regression Length (20–50) and ATR Length (7–10) for agility, while longer timeframes (e.g., daily, weekly) favor higher values (100–200 and 14–21) for stability.
• Asset-Specific Tuning:
○ Stocks: Use longer lengths (e.g., 100–200) and moderate widths (e.g., 1.8) for stable equities; tweak ATR Length based on sector volatility (shorter for tech, longer for utilities).
○ FOREX: Set Base Regression Length to 50–100 and Base Channel Width to 1.5–2.0 for smoother trends; adjust RSI Length (e.g., 10–14) based on pair volatility.
○ Crypto: Opt for shorter lengths (e.g., 20–50) and wider widths (e.g., 2.0–3.0) to handle rapid price swings; use a shorter ATR Length (e.g., 7) for quick adaptation.
• Backtesting: Test ARC on historical data for your asset and timeframe to optimize settings. Evaluate how often price respects channels and whether breakouts yield profitable trades.
• Enhancements: Pair ARC with volume surges, key support/resistance levels, or candlestick patterns (e.g., doji at channel edges) for higher-probability setups.
Practical Considerations
ARC’s adaptability makes it suitable for diverse markets, but its performance hinges on proper calibration. Cryptocurrencies, with their high volatility, may require shorter, wider settings to capture rapid moves, while stocks on longer timeframes benefit from broader, smoother configurations. FOREX pairs often fall in between, depending on their inherent volatility. Experiment with the adjustable parameters to align ARC with your trading style and market conditions, ensuring it delivers the precision and reliability you need.
ETH/USDT EMA Crossover Strategy - OptimizedStrategy Name: EMA Crossover Strategy for ETH/USDT
Description:
This trading strategy is designed for the ETH/USDT pair and is based on exponential moving average (EMA) crossovers combined with momentum and volatility indicators. The strategy uses multiple filters to identify high-probability signals in both bullish and bearish trends, making it suitable for traders looking to trade in trending markets.
Strategy Components
EMAs (Exponential Moving Averages):
EMA 200: Used to identify the primary trend. If the price is above the EMA 200, it is considered a bullish trend; if below, a bearish trend.
EMA 50: Acts as an additional filter to confirm the trend.
EMA 20 and EMA 50 Short: These short-term EMAs generate entry signals through crossovers. A bullish crossover (EMA 20 crosses above EMA 50 Short) is a buy signal, while a bearish crossover (EMA 20 crosses below EMA 50 Short) is a sell signal.
RSI (Relative Strength Index):
The RSI is used to avoid overbought or oversold conditions. Long trades are only taken when the RSI is above 30, and short trades when the RSI is below 70.
ATR (Average True Range):
The ATR is used as a volatility filter. Trades are only taken when there is sufficient volatility, helping to avoid false signals in quiet markets.
Volume:
A volume filter is used to confirm sufficient market participation in the price movement. Trades are only taken when volume is above average.
Strategy Logic
Long Trades:
The price must be above the EMA 200 (bullish trend).
The EMA 20 must cross above the EMA 50 Short.
The RSI must be above 30.
The ATR must indicate sufficient volatility.
Volume must be above average.
Short Trades:
The price must be below the EMA 200 (bearish trend).
The EMA 20 must cross below the EMA 50 Short.
The RSI must be below 70.
The ATR must indicate sufficient volatility.
Volume must be above average.
How to Use the Strategy
Setup:
Add the script to your ETH/USDT chart on TradingView.
Adjust the parameters according to your preferences (e.g., EMA periods, RSI, ATR, etc.).
Signals:
Buy and sell signals will be displayed directly on the chart.
Long trades are indicated with an upward arrow, and short trades with a downward arrow.
Risk Management:
Use stop-loss and take-profit orders in all trades.
Consider a risk-reward ratio of at least 1:2.
Backtesting:
Test the strategy on historical data to evaluate its performance before using it live.
Advantages of the Strategy
Trend-focused: The strategy is designed to trade in trending markets, increasing the probability of success.
Multiple filters: The use of RSI, ATR, and volume reduces false signals.
Adaptability: It can be adjusted for different timeframes, although it is recommended to test it on 5-minute and 15-minute charts for ETH/USDT.
Warnings
Sideways markets: The strategy may generate false signals in markets without a clear trend. It is recommended to avoid trading in such conditions.
Optimization: Make sure to optimize the parameters according to the market and timeframe you are using.
Risk management: Never trade without stop-loss and take-profit orders.
Author
Jose J. Sanchez Cuevas
Version
v1.0
Mogwai Method with RSI and EMA - BTCUSD 15mThis is a custom TradingView indicator designed for trading Bitcoin (BTCUSD) on a 15-minute timeframe. It’s based on the Mogwai Method—a mean-reversion strategy—enhanced with the Relative Strength Index (RSI) for momentum confirmation. The indicator generates buy and sell signals, visualized as green and red triangle arrows on the chart, to help identify potential entry and exit points in the volatile cryptocurrency market.
Components
Bollinger Bands (BB):
Purpose: Identifies overextended price movements, signaling potential reversions to the mean.
Parameters:
Length: 20 periods (standard for mean-reversion).
Multiplier: 2.2 (slightly wider than the default 2.0 to suit BTCUSD’s volatility).
Role:
Buy signal when price drops below the lower band (oversold).
Sell signal when price rises above the upper band (overbought).
Relative Strength Index (RSI):
Purpose: Confirms momentum to filter out false signals from Bollinger Bands.
Parameters:
Length: 14 periods (classic setting, effective for crypto).
Overbought Level: 70 (price may be overextended upward).
Oversold Level: 30 (price may be overextended downward).
Role:
Buy signal requires RSI < 30 (oversold).
Sell signal requires RSI > 70 (overbought).
Exponential Moving Averages (EMAs) (Plotted but not currently in signal logic):
Purpose: Provides trend context (included in the script for visualization, optional for signal filtering).
Parameters:
Fast EMA: 9 periods (short-term trend).
Slow EMA: 50 periods (longer-term trend).
Role: Can be re-added to filter signals (e.g., buy only when Fast EMA > Slow EMA).
Signals (Triangles):
Buy Signal: Green upward triangle below the bar when price is below the lower Bollinger Band and RSI is below 30.
Sell Signal: Red downward triangle above the bar when price is above the upper Bollinger Band and RSI is above 70.
How It Works
The indicator combines Bollinger Bands and RSI to spot mean-reversion opportunities:
Buy Condition: Price breaks below the lower Bollinger Band (indicating oversold conditions), and RSI confirms this with a reading below 30.
Sell Condition: Price breaks above the upper Bollinger Band (indicating overbought conditions), and RSI confirms this with a reading above 70.
The strategy assumes that extreme price movements in BTCUSD will often revert to the mean, especially in choppy or ranging markets.
Visual Elements
Green Upward Triangles: Appear below the candlestick to indicate a buy signal.
Red Downward Triangles: Appear above the candlestick to indicate a sell signal.
Bollinger Bands: Gray lines (upper, middle, lower) plotted for reference.
EMAs: Blue (Fast) and Orange (Slow) lines for trend visualization.
How to Use the Indicator
Setup
Open TradingView:
Log into TradingView and select a BTCUSD chart from a supported exchange (e.g., Binance, Coinbase, Bitfinex).
Set Timeframe:
Switch the chart to a 15-minute timeframe (15m).
Add the Indicator:
Open the Pine Editor (bottom panel in TradingView).
Copy and paste the script provided.
Click “Add to Chart” to apply it.
Verify Display:
You should see Bollinger Bands (gray), Fast EMA (blue), Slow EMA (orange), and buy/sell triangles when conditions are met.
Trading Guidelines
Buy Signal (Green Triangle Below Bar):
What It Means: Price is oversold, potentially ready to bounce back toward the Bollinger Band middle line.
Action:
Enter a long position (buy BTCUSD).
Set a take-profit near the middle Bollinger Band (bb_middle) or a resistance level.
Place a stop-loss 1-2% below the entry (or based on ATR, e.g., ta.atr(14) * 2).
Best Context: Works well in ranging markets; avoid during strong downtrends.
Sell Signal (Red Triangle Above Bar):
What It Means: Price is overbought, potentially ready to drop back toward the middle line.
Action:
Enter a short position (sell BTCUSD) or exit a long position.
Set a take-profit near the middle Bollinger Band or a support level.
Place a stop-loss 1-2% above the entry.
Best Context: Effective in ranging markets; avoid during strong uptrends.
Trend Filter (Optional):
To reduce false signals in trending markets, you can modify the script:
Add and ema_fast > ema_slow to the buy condition (only buy in uptrends).
Add and ema_fast < ema_slow to the sell condition (only sell in downtrends).
Check the Fast EMA (blue) vs. Slow EMA (orange) alignment visually.
Tips for BTCUSD on 15-Minute Charts
Volatility: BTCUSD can be erratic. If signals are too frequent, increase bb_mult (e.g., to 2.5) or adjust RSI levels (e.g., 75/25).
Confirmation: Use volume spikes or candlestick patterns (e.g., doji, engulfing) to confirm signals.
Time of Day: Mean-reversion works best during low-volume periods (e.g., Asian session in crypto).
Backtesting: Use TradingView’s Strategy Tester (convert to a strategy by adding entry/exit logic) to evaluate performance with historical BTCUSD data up to March 13, 2025.
Risk Management
Position Size: Risk no more than 1-2% of your account per trade.
Stop Losses: Always use stops to protect against BTCUSD’s sudden moves.
Avoid Overtrading: Wait for clear signals; don’t force trades in choppy or unclear conditions.
Example Scenario
Chart: BTCUSD, 15-minute timeframe.
Buy Signal: Price drops to $58,000, below the lower Bollinger Band, RSI at 28. A green triangle appears.
Action: Buy at $58,000, target $59,000 (middle BB), stop at $57,500.
Sell Signal: Price rises to $60,500, above the upper Bollinger Band, RSI at 72. A red triangle appears.
Action: Sell at $60,500, target $59,500 (middle BB), stop at $61,000.
This indicator is tailored for mean-reversion trading on BTCUSD. Let me know if you’d like to tweak it further (e.g., add filters, alerts, or alternative indicators)!
Money Flow Indicator (Chaikin Oscillator) with VWAPStrategy Overview
Entry Conditions:
Buy Entry:
The Chaikin Oscillator crosses above the signal line.
The current price is above the VWAP.
Sell Entry:
The Chaikin Oscillator crosses below the signal line.
The current price is below the VWAP.
Exit Conditions:
Profit Taking:
Take profit when a target profit is reached (e.g., a 2% increase from the entry price).
Stop Loss:
Set a stop loss, for example, at a 1% decline from the entry price.
Risk Management:
Manage risk by limiting each trade to no more than 1-2% of the account balance.
Calculate position size based on risk and trade accordingly.
Trend Confirmation:
Use other indicators (like moving averages) to confirm the overall trend and focus trades in the direction of the trend.
In an uptrend, prioritize buy entries; in a downtrend, prioritize sell entries.
Specific Trade Scenarios
Example 1: Buy Entry:
Enter a buy position when the Chaikin Oscillator crosses above the signal line and the price is above the VWAP.
Set a stop loss 1% below the entry price and a profit target 2% above the entry price.
Example 2: Sell Entry:
Enter a sell position when the Chaikin Oscillator crosses below the signal line and the price is below the VWAP.
Set a stop loss 1% above the entry price and a profit target 2% below the entry price.
Additional Considerations
Backtesting: Test this strategy with historical data to evaluate performance and make adjustments as needed.
Market Conditions: Pay attention to market volatility and economic indicators, adjusting the trading strategy flexibly.
Psychological Factors: Avoid emotional decisions and follow clear rules when trading.
Sunil 2 Bar Breakout StrategyDetailed Explanation of the Sunil 2 Bar Breakout Strategy
Introduction
The Sunil 2 Bar Breakout Strategy is a simple yet effective price-action-based approach designed to identify breakout opportunities in financial markets. This strategy analyzes the movement of the last three candles to detect momentum and initiates trades in the direction of the breakout. It is equipped with a built-in stop-loss mechanism to protect capital, making it suitable for traders looking for a structured and disciplined trading system.
The strategy works well across different timeframes and asset classes, including indices, stocks, forex, and cryptocurrencies. Its versatility makes it ideal for both intraday and swing trading.
Core Concept
The strategy revolves around two primary conditions: breakout identification and risk management.
Breakout Identification:
Long Trade Setup: The strategy identifies bullish breakouts when:
The current candle's closing price is higher than the previous candle's closing price.
The high of the previous candle is greater than the highs of the two candles before it.
Short Trade Setup: The strategy identifies bearish breakouts when:
The current candle's closing price is lower than the previous candle's closing price.
The low of the previous candle is lower than the lows of the two candles before it.
Risk Management:
Stop-Loss: For each trade, a stop-loss is automatically set:
For long trades, the stop-loss is set to the low of the previous candle.
For short trades, the stop-loss is set to the high of the previous candle.
This ensures that losses are minimized if the breakout fails.
Exit Logic:
The trade is closed automatically when the stop-loss is hit.
This approach maintains discipline and prevents emotional trading.
Strategy Workflow
Entry Criteria:
Long Entry: A long trade is triggered when:
The current close is greater than the previous close.
The high of the previous candle exceeds the highs of the two candles before it.
Short Entry: A short trade is triggered when:
The current close is less than the previous close.
The low of the previous candle is below the lows of the two candles before it.
Stop-Loss Placement:
For long trades, the stop-loss is set at the low of the previous candle.
For short trades, the stop-loss is set at the high of the previous candle.
Trade Management:
Trades are exited automatically if the stop-loss level is hit.
The strategy avoids re-entering trades until new breakout conditions are met.
Default Settings
Position Sizing:
The default position size is set to 1% of the account equity. This ensures proper risk management and prevents overexposure to the market.
Stop-Loss:
Stop-loss levels are automatically calculated based on the previous candle’s high or low.
Timeframes:
The strategy is versatile and works across multiple timeframes. However, it is recommended to test it on 15-minute, 1-hour, and daily charts for optimal performance.
Key Features
Automated Trade Execution:
The strategy handles both trade entry and exit automatically based on pre-defined conditions.
Built-In Risk Management:
The automatic stop-loss placement ensures losses are minimized on failed breakouts.
Works Across Markets:
The strategy is compatible with a wide range of instruments, including indices, stocks, forex, and cryptocurrencies.
Clear Signals:
Entry and exit points are straightforward and based on objective conditions, reducing ambiguity.
Versatility:
Can be used for both day trading and swing trading, depending on the chosen timeframe.
Best Practices for Using This Strategy
Backtesting:
Test the strategy on your chosen instrument and timeframe using TradingView's Strategy Tester to evaluate its performance.
Market Conditions:
The strategy performs best in trending markets or during periods of high volatility. Avoid using it in range-bound or choppy markets.
Position Sizing:
Use the default position size (1% of equity) or adjust based on your risk tolerance and account size.
Instrument Selection:
Focus on instruments with good liquidity and volatility, such as indices (e.g., NIFTY, BANKNIFTY), forex pairs, or major cryptocurrencies (e.g., Bitcoin, Ethereum).
Potential Enhancements
To make the strategy even more robust, consider adding the following optional features:
Stop-Loss Multiplier:
Allow users to customize the stop-loss distance as a multiple of the default level (e.g., 1.5x the low or high of the previous candle).
Take-Profit Levels:
Add user-defined take-profit levels, such as a fixed risk-reward ratio (e.g., 1:2).
Time Filter:
Include an option to restrict trading to specific market hours (e.g., avoid low-liquidity times).
Conclusion
The Sunil 2 Bar Breakout Strategy is an excellent tool for traders looking to capitalize on breakout opportunities while maintaining disciplined risk management. Its simplicity, combined with its effectiveness, makes it suitable for traders of all experience levels. By adhering to the clearly defined rules, traders can achieve consistent results while avoiding emotional trading decisions.
This strategy is a reliable addition to any trader’s toolbox and is designed to work seamlessly across different market conditions and instruments.
Top-Down Trend and Key Levels with Swing Points//by antaryaami0
Overview
The “Top-Down Trend and Key Levels with Swing Points” indicator is a comprehensive tool designed to enhance your technical analysis by integrating multiple trading concepts into a single, easy-to-use script. It combines higher timeframe trend analysis, key price levels, swing point detection, and ranging market identification to provide a holistic view of market conditions. This indicator is particularly useful for traders who employ multi-timeframe analysis, support and resistance levels, and price action strategies.
Key Features
1. Higher Timeframe Trend Background Shading:
• Purpose: Identifies the prevailing trend on a higher timeframe to align lower timeframe trading decisions with the broader market direction.
• How it Works: The indicator compares the current higher timeframe close with the previous one to determine if the trend is up, down, or ranging.
• Customization:
• Trend Timeframe: Set your preferred higher timeframe (e.g., Daily, Weekly).
• Up Trend Color & Down Trend Color: Customize the background colors for uptrends and downtrends.
• Ranging Market Color: A separate color to indicate when the market is moving sideways.
2. Key Price Levels:
• Previous Day High (PDH) and Low (PDL):
• Purpose: Identifies key support and resistance levels from the previous trading day.
• Visualization: Plots horizontal lines at PDH and PDL with labels.
• Customization: Option to show or hide these levels and customize their colors.
• Pre-Market High (PMH) and Low (PML):
• Purpose: Highlights the price range during the pre-market session, which can indicate potential breakout levels.
• Visualization: Plots horizontal lines at PMH and PML with labels.
• Customization: Option to show or hide these levels and customize their colors.
3. First 5-Minute Marker (F5H/F5L):
• Purpose: Marks the high or low of the first 5 minutes after the market opens, which is significant for intraday momentum.
• How it Works:
• If the first 5-minute high is above the Pre-Market High (PMH), an “F5H” label is placed at the first 5-minute high.
• If the first 5-minute high is below the PMH, an “F5L” label is placed at the first 5-minute low.
• Visualization: Labels are placed at the 9:35 AM candle (closing of the first 5 minutes), colored in purple by default.
• Customization: Option to show or hide the marker and adjust the marker color.
4. Swing Points Detection:
• Purpose: Identifies significant pivot points in price action to help recognize trends and reversals.
• How it Works: Uses left and right bars to detect pivot highs and lows, then determines if they are Higher Highs (HH), Lower Highs (LH), Higher Lows (HL), or Lower Lows (LL).
• Visualization: Plots small markers (circles) with labels (HH, LH, HL, LL) at the corresponding swing points.
• Customization: Adjust the number of left and right bars for pivot detection and the size of the markers.
5. Ranging Market Detection:
• Purpose: Identifies periods when the market is consolidating (moving sideways) within a defined price range.
• How it Works: Calculates the highest high and lowest low over a specified period and determines if the price range is within a set percentage threshold.
• Visualization: Draws a gray box around the price action during the ranging period and labels the high and low prices at the end of the range.
• Customization: Adjust the range detection period and threshold, as well as the box color.
6. Trend Coloring on Chart:
• Purpose: Provides a visual cue for the short-term trend based on a moving average.
• How it Works: Colors the candles green if the price is above the moving average and red if below.
• Customization: Set the moving average length and customize the uptrend and downtrend colors.
How to Use the Indicator
1. Adding the Indicator to Your Chart:
• Copy the Pine Script code provided and paste it into the Pine Script Editor on TradingView.
• Click “Add to Chart” to apply the indicator.
2. Configuring Inputs and Settings:
• Access Inputs:
• Click on the gear icon next to the indicator’s name on your chart to open the settings.
• Customize Key Levels:
• Show Pre-Market High/Low: Toggle on/off.
• Show Previous Day High/Low: Toggle on/off.
• Show First 5-Minute Marker: Toggle on/off.
• Set Trend Parameters:
• Trend Timeframe for Background: Choose the higher timeframe for trend analysis.
• Moving Average Length for Bar Color: Set the period for the moving average used in bar coloring.
• Adjust Ranging Market Detection:
• Range Detection Period: Specify the number of bars to consider for range detection.
• Range Threshold (%): Set the maximum percentage range for the market to be considered ranging.
• Customize Visuals:
• Colors: Adjust colors for trends, levels, markers, and ranging market boxes.
• Label Font Size: Choose the size of labels displayed on the chart.
• Level Line Width: Set the thickness of the lines for key levels.
3. Interpreting the Indicator:
• Background Shading:
• Green Shade: Higher timeframe is in an uptrend.
• Red Shade: Higher timeframe is in a downtrend.
• Gray Box: Market is ranging (sideways movement).
• Key Levels and Markers:
• PDH and PDL Lines: Represent resistance and support from the previous day.
• PMH and PML Lines: Indicate potential breakout levels based on pre-market activity.
• F5H/F5L Labels: Early indication of intraday momentum after market open.
• Swing Point Markers:
• HH (Higher High): Suggests bullish momentum.
• LH (Lower High): May indicate a potential bearish reversal.
• HL (Higher Low): Supports bullish continuation.
• LL (Lower Low): Indicates bearish momentum.
• Ranging Market Box:
• Gray Box Around Price Action: Highlights consolidation periods where breakouts may occur.
• Range High and Low Labels: Provide the upper and lower bounds of the consolidation zone.
4. Applying the Indicator to Your Trading Strategy:
• Trend Alignment:
• Use the higher timeframe trend shading to align your trades with the broader market direction.
• Key Levels Trading:
• Watch for price reactions at PDH, PDL, PMH, and PML for potential entry and exit points.
• Swing Points Analysis:
• Identify trend continuations or reversals by observing the sequence of HH, HL, LH, and LL.
• Ranging Market Strategies:
• During ranging periods, consider range-bound trading strategies or prepare for breakout trades when the price exits the range.
• Intraday Momentum:
• Use the F5H/F5L marker to gauge early market sentiment and potential intraday trends.
Practical Tips
• Adjust Settings to Your Trading Style:
• Tailor the indicator’s inputs to match your preferred timeframes and trading instruments.
• Combine with Other Indicators:
• Use in conjunction with volume indicators, oscillators, or other technical tools for additional confirmation.
• Backtesting:
• Apply the indicator to historical data to observe how it performs and refine your settings accordingly.
• Stay Updated on Market Conditions:
• Be aware of news events or economic releases that may impact market behavior and the effectiveness of technical levels.
Customization Options
• Time Zone Adjustment:
• The script uses “America/New_York” time zone by default. Adjust the timezone variable in the script if your chart operates in a different time zone.
var timezone = "Your/Timezone"
• Session Times:
• Modify the Regular Trading Session and Pre-Market Session times in the indicator settings to align with the trading hours of different markets or exchanges.
• Visual Preferences:
• Colors: Personalize the indicator’s colors to suit your visual preferences or to enhance visibility.
• Label Sizes: Adjust label sizes if you find them too intrusive or not prominent enough.
• Marker Sizes: Further reduce or enlarge the swing point markers by modifying the swing_marker_size variable.
Understanding the Indicator’s Logic
1. Higher Timeframe Trend Analysis:
• The indicator retrieves the closing prices of a higher timeframe using the request.security() function.
• It compares the current higher timeframe close with the previous one to determine the trend direction.
2. Key Level Calculation:
• Previous Day High/Low: Calculated by tracking the highest and lowest prices of the previous trading day.
• Pre-Market High/Low: Calculated by monitoring price action during the pre-market session.
3. First 5-Minute Marker Logic:
• At 9:35 AM (end of the first 5 minutes after market open), the indicator evaluates whether the first 5-minute high is above or below the PMH.
• It then places the appropriate label (F5H or F5L) on the chart.
4. Swing Points Detection:
• The script uses ta.pivothigh() and ta.pivotlow() functions to detect pivot points.
• It then determines the type of swing point based on comparisons with previous swings.
5. Ranging Market Detection:
• The indicator looks back over a specified number of bars to find the highest high and lowest low.
• It calculates the percentage difference between these two points.
• If the difference is below the set threshold, the market is considered to be ranging, and a box is drawn around the price action.
Limitations and Considerations
• Indicator Limitations:
• Maximum Boxes and Labels: Due to Pine Script limitations, there is a maximum number of boxes and labels that can be displayed simultaneously.
• Performance Impact: Adding multiple visual elements (boxes, labels, markers) can affect the performance of the script on lower-end devices or with large amounts of data.
• Market Conditions:
• False Signals: Like any technical tool, the indicator may produce false signals, especially during volatile or erratic market conditions.
• Not a Standalone Solution: This indicator should be used as part of a comprehensive trading strategy, including risk management and other forms of analysis.
Conclusion
The “Top-Down Trend and Key Levels with Swing Points” indicator is a versatile tool that integrates essential aspects of technical analysis into one script. By providing insights into higher timeframe trends, highlighting key price levels, detecting swing points, and identifying ranging markets, it equips traders with valuable information to make more informed trading decisions. Whether you are a day trader looking for intraday opportunities or a swing trader aiming to align with the broader trend, this indicator can enhance your chart analysis and trading strategy.
Disclaimer
Trading involves significant risk, and it’s important to understand that past performance is not indicative of future results. This indicator is a tool to assist in analysis and should not be solely relied upon for making trading decisions. Always conduct thorough research and consider seeking advice from financial professionals before engaging in trading activities.
ADM Indicator [CHE] Comprehensive Description of the Three Market Phases for TradingView
Introduction
Financial markets often exhibit patterns that reflect the collective behavior of participants. Recognizing these patterns can provide traders with valuable insights into potential future price movements. The ADM Indicator is designed to help traders identify and capitalize on these patterns by detecting three primary market phases:
1. Accumulation Phase
2. Manipulation Phase
3. Distribution Phase
This indicator places labels on the chart to signify these phases, aiding traders in making informed decisions. Below is an in-depth explanation of each phase, including how the ADM Indicator detects them.
1. Accumulation Phase
Definition
The Accumulation Phase is a period where informed investors or institutions discreetly purchase assets before a potential price increase. During this phase, the price typically moves within a confined range between established highs and lows.
Characteristics
- Price Range Bound: The asset's price stays within the previous high and low after a timeframe change.
- Low Volatility: Minimal price movement indicates a balance between buyers and sellers.
- Steady Volume: Trading volume may remain relatively constant or show slight increases.
- Market Sentiment: General market interest is low, as the accumulation is not yet apparent to the broader market.
Detection with ADM Indicator
- Criteria: An accumulation is detected when the price remains within the previous high and low after a timeframe change.
- Indicator Action: At the end of the period, if accumulation has occurred, the indicator places a label "Accumulation" on the chart.
- Visual Cues: A yellow semi-transparent background highlights the accumulation phase, enhancing visual recognition.
Implications for Traders
- Entry Opportunity: Consider preparing for potential long positions before a possible upward move.
- Risk Management: Use tight stop-loss orders below the support level due to the defined trading range.
2. Manipulation Phase
Definition
The Manipulation Phase, also known as the Shakeout Phase, occurs when dominant market players intentionally move the price to trigger stop-loss orders and create panic among less-informed traders. This action generates liquidity and better entry prices for large positions.
Characteristics
- False Breakouts: The price moves above the previous high or below the previous low but quickly reverses.
- Increased Volatility: Sharp price movements occur without fundamental reasons.
- Stop-Loss Hunting: The price targets common stop-loss areas, triggering them before reversing.
- Emotional Trading: Retail traders may react impulsively, leading to poor trading decisions.
Detection with ADM Indicator
- Manipulation Up:
- Criteria: Detected when the price rises above the previous high and then falls back below it.
- Indicator Action: Places a label "Manipulation Up" on the chart at the point of detection.
- Manipulation Down:
- Criteria: Detected when the price falls below the previous low and then rises back above it.
- Indicator Action: Places a label "Manipulation Down" on the chart at the point of detection.
- Visual Cues:
- Manipulation Up: Blue background highlights the phase.
- Manipulation Down: Orange background highlights the phase.
Implications for Traders
- Caution Advised: Be wary of false signals and avoid overreacting to sudden price changes.
- Preparation for Next Phase: Use this phase to anticipate potential distribution and adjust strategies accordingly.
3. Distribution Phase
Definition
The Distribution Phase occurs when the institutions or informed investors who accumulated positions start selling to the general market at higher prices. This phase often follows a Manipulation Phase and may signal an impending trend reversal.
Characteristics
- Price Reversal: The price moves in the opposite direction of the prior manipulation.
- High Trading Volume: Increased selling activity as large players offload positions.
- Trend Weakening: The previous trend loses momentum, indicating a potential shift.
- Market Sentiment Shift: Optimism fades, and uncertainty or pessimism may emerge.
Detection with ADM Indicator
- Distribution Up:
- Criteria: Detected after a verified Manipulation Up when the price subsequently falls below the previous low.
- Indicator Action: Places a label "Distribution Up" on the chart.
- Distribution Down:
- Criteria: Detected after a verified Manipulation Down when the price subsequently rises above the previous high.
- Indicator Action: Places a label "Distribution Down" on the chart.
- Visual Cues:
- Distribution Up: Purple background highlights the phase.
- Distribution Down: Maroon background highlights the phase.
Implications for Traders
- Exit Signals: Consider closing long positions if in a Distribution Up phase.
- Short Selling Opportunities: Potential to enter short positions anticipating a downtrend.
Using the ADM Indicator on TradingView
Indicator Overview
The ADM Indicator automates the detection of Accumulation, Manipulation, and Distribution phases by analyzing price movements relative to previous highs and lows on a selected timeframe. It provides visual cues and labels on the chart, helping traders quickly identify the current market phase.
Features
- Multi-Timeframe Analysis: Choose from auto, multiplier, or manual timeframe settings.
- Visual Labels: Clear labeling of market phases directly on the chart.
- Background Highlighting: Distinct background colors for each phase.
- Customizable Settings: Adjust colors, styles, and display options.
- Period Separators: Optional separators delineate different timeframes.
Interpreting the Indicator
1. Accumulation Phase
- Detection: Price stays within the previous high and low after a timeframe change.
- Label: "Accumulation" placed at the period's end if detected.
- Background: Yellow semi-transparent color.
- Action: Prepare for potential long positions.
2. Manipulation Phase
- Detection:
- Manipulation Up: Price rises above previous high and then falls back below.
- Manipulation Down: Price falls below previous low and then rises back above.
- Labels: "Manipulation Up" or "Manipulation Down" placed at detection.
- Background:
- Manipulation Up: Blue color.
- Manipulation Down: Orange color.
- Action: Exercise caution; avoid impulsive trades.
3. Distribution Phase
- Detection:
- Distribution Up: After a Manipulation Up, price falls below previous low.
- Distribution Down: After a Manipulation Down, price rises above previous high.
- Labels: "Distribution Up" or "Distribution Down" placed at detection.
- Background:
- Distribution Up: Purple color.
- Distribution Down: Maroon color.
- Action: Consider exiting positions or entering counter-trend trades.
Configuring the Indicator
- Timeframe Type: Select Auto, Multiplier, or Manual for analysis timeframe.
- Multiplier: Set a custom multiplier when using "Multiplier" type.
- Manual Resolution: Define a specific timeframe with "Manual" option.
- Separator Settings: Customize period separators for visual clarity.
- Label Display Options: Choose to display all labels or only the most recent.
- Visualization Settings: Adjust colors and styles for personal preference.
Practical Tips
- Combine with Other Analysis Tools: Use alongside volume indicators, trend lines, or other technical tools.
- Backtesting: Review historical data to understand how the indicator signals would have impacted past trades.
- Stay Informed: Keep abreast of market news that might affect price movements beyond technical analysis.
- Risk Management: Always employ stop-loss orders and position sizing strategies.
Conclusion
The ADM Indicator is a valuable tool for traders seeking to understand and leverage market phases. By detecting Accumulation, Manipulation, and Distribution phases through specific price action criteria, it provides actionable insights into market dynamics.
Understanding the precise conditions under which each phase is detected empowers traders to make more informed decisions. Whether preparing for potential breakouts during accumulation, exercising caution during manipulation, or adjusting positions during distribution, the ADM Indicator aids in navigating the complexities of the financial markets.
Disclaimer:
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
This indicator is inspired by the Super 6x Indicators: RSI, MACD, Stochastic, Loxxer, CCI, and Velocity . A special thanks to Loxx for their relentless effort, creativity, and contributions to the TradingView community, which served as a foundation for this work.
Best regards Chervolino
Overview of the Timeframe Levels in the `autotimeframe()` Function
The `autotimeframe()` function automatically adjusts the higher timeframe based on the current chart timeframe. Here are the specific timeframe levels used in the function:
- Current Timeframe ≤ 1 Minute
→ Higher Timeframe: 240 Minutes (4 Hours)
- Current Timeframe ≤ 5 Minutes
→ Higher Timeframe: 1 Day
- Current Timeframe ≤ 1 Hour
→ Higher Timeframe: 3 Days
- Current Timeframe ≤ 4 Hours
→ Higher Timeframe: 7 Days
- Current Timeframe ≤ 12 Hours
→ Higher Timeframe: 1 Month
- Current Timeframe ≤ 1 Day
→ Higher Timeframe: 3 Months
- Current Timeframe ≤ 7 Days
→ Higher Timeframe: 6 Months
- For All Higher Timeframes (over 7 Days)
→ Higher Timeframe: 12 Months
Summary:
The function assigns a corresponding higher timeframe based on the current timeframe to optimize the analysis:
- 1 Minute or Less → 4 Hours
- Up to 5 Minutes → 1 Day
- Up to 1 Hour → 3 Days
- Up to 4 Hours → 7 Days
- Up to 12 Hours → 1 Month
- Up to 1 Day → 3 Months
- Up to 7 Days → 6 Months
- Over 7 Days → 12 Months
This automated adjustment ensures that the indicator works effectively across different chart timeframes without requiring manual changes.
MAC Investor V3.0 [VK]This indicator combines multiple functionalities to assist traders in making informed decisions. It primarily uses Heikin Ashi candles, Moving Averages, and a Price Action Channel (PAC) to provide signals for entering and exiting trades. Here's a detailed breakdown:
Inputs
MAC Length: Sets the length for the PAC calculation.
Use Heikin Ashi Candles: Option to use Heikin Ashi candles for calculations.
Show Coloured Bars around MAC: Option to color bars based on their relation to the PAC.
Show Long/Short Signals: Options to display long and short signals.
Show MAs? : Option to show moving averages on the chart.
Show MAs Trend at the Bottom?: Option to show trend signals at the bottom of the chart.
MA Lengths: Length settings for three different moving averages.
Change MA Color Based on Direction?: Option to change the color of moving averages based on trend direction.
MA Higher TimeFrame: Allows setting a higher timeframe for moving averages.
Show SL-TP Lines: Option to display Stop Loss and Take Profit lines.
SL/TP Percentages: Set the percentages for Stop Loss and three levels of Take Profit.
Calculations and Features
Heikin Ashi Candles: Calculations are based on Heikin Ashi candle data if selected.
Price Action Channel (PAC): Uses Exponential Moving Averages (EMA) of the high, low, and close to create a channel.
Bar Coloring: Colors the bars based on their position relative to the PAC.
Long and Short Signals: Uses crossovers of the close price and PAC upper/lower bands to generate signals.
Moving Averages (MA): Plots three moving averages and colors them based on their trend direction.
Overall Trend Indicators: Uses triangles at the bottom of the chart to show the overall trend of the MAs.
Stop Loss and Take Profit Levels: Calculates and plots these levels based on user-defined percentages from the entry price.
Alerts: Provides alerts for long and short signals.
Use Cases and How to Use
Identifying Trends: The PAC helps to identify the trend direction. If the closing price is above the PAC upper band, it suggests an uptrend; if below the lower band, it suggests a downtrend.
Entering Trades: Use the long and short signals to enter trades. A long signal is generated when the closing price crosses above the PAC upper band, and a short signal is generated when it crosses below the PAC lower band.
Exit Strategies: Utilize the Stop Loss (SL) and Take Profit (TP) levels to manage risk and lock in profits. These levels are automatically calculated based on the entry price and user-defined percentages.
Trend Confirmation with MAs: The moving averages provide additional confirmation of the trend. When all three MAs are trending in the same direction (e.g., all green for an uptrend), it adds confidence to the trade signal.
Overall Trend Indicators: The triangles at the bottom of the chart show the overall trend direction of the MAs:
Green Triangle: All three MAs are trending upwards, indicating a strong uptrend.
Red Triangle: All three MAs are trending downwards, indicating a strong downtrend.
Yellow Triangle: Mixed signals from the MAs, indicating no clear trend.
Bar Coloring for Quick Analysis: The colored bars give a quick visual cue about the market condition, aiding in faster decision-making.
Alerts: Set up alerts to get notified when a long or short signal is generated, allowing you to act promptly without constantly monitoring the chart.
Maximizing Profit
To maximize profit with this indicator:
Follow the Signals: Use the long and short signals to time your entries. Ensure you follow the trend indicated by the PAC and MAs.
Risk Management: Always set your Stop Loss and Take Profit levels to manage risk. This will help you cut losses early and secure profits.
Confirm with MAs: Look for confirmation from the moving averages. When all MAs align with the signal, it indicates a stronger trend.
Overall Trend Indicators: Pay attention to the triangles at the bottom for overall trend confirmation. Only enter trades when the overall trend is in your favor.
Heikin Ashi for Smoothing: Use Heikin Ashi candles for smoother trends and fewer false signals.
Backtesting: Test the indicator on historical data to understand its performance and adjust settings as necessary.
Adapt to Market Conditions: Adjust the lengths of PAC and MAs based on the market's volatility and timeframe you are trading on.
How to Use the Indicator
Add to Chart: Add the indicator to your TradingView chart.
Configure Settings: Customize the input settings to fit your trading strategy and timeframe.
Monitor Signals: Watch for long and short signals and observe the trend direction with the PAC and MAs.
Check Overall Trend: Look at the triangles at the bottom of the chart to see the overall trend direction of the MAs.
Set Alerts: Configure alerts to get notified of new signals.
Manage Trades: Use the SL and TP levels to manage your trades effectively.
Precise Gap FinderPrecise Gap Finder
This indicator identifies Fair Value Gaps (FVGs) in price action and it is perfect for traders looking to exploit price imbalances and capitalize on trading opportunities.
How It Works:
The Precise Gap Finder detects Fair Value Gaps by analyzing three consecutive candles. A gap is identified when the middle candle’s price range (open to close) is not overlapped by the high and low prices of the surrounding candles. This indicates a price imbalance, which can be a strong signal for potential market moves.
How to Use for Trading:
Identify Entry Points: Use the highlighted Fair Value Gaps to spot potential entry points. An upward FVG can indicate a potential buying opportunity, while a downward FVG can signal a potential selling opportunity.
Confirm Trends: Combine the FVG signals with other technical indicators to confirm trends and enhance the accuracy of your trades.
Risk Management: Use FVGs to identify potential stop-loss and take-profit levels. Gaps can serve as natural support and resistance levels.
Backtesting: Analyze historical data to understand how FVGs have impacted price movements in the past, helping you refine your trading strategy