SirSeff's EMA RainbowThis strategy uses divergences between three exponential moving averages and their slope directions as well as crosses between the price and these moving averages to switch between a long or short position. The strategy is non-stop in the market and always either long or short.\
This trend trading strategy uses exponential moving averages of 10, 20, 50, 100, 150, 200 to gauge the price action cycle if it is on Stage 2 aka Mark up famously coined by Dr.Wykcoff.
It opens a position when the closing price crosses above the 10ema and all the exponential moving averages are stacked up together. Stacked-up Moving averages are used by Mark Minervini and Oliver Kell.
I close a position at an 8% trailing stop from the opened position which makes the succeeding buy orders as scaling up or averaging up from an established bullish trend.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
Search in scripts for "liquidity"
Webhook Starter Kit [HullBuster]
Introduction
This is an open source strategy which provides a framework for webhook enabled projects. It is designed to work out-of-the-box on any instrument triggering on an intraday bar interval. This is a full featured script with an emphasis on actual trading at a brokerage through the TradingView alert mechanism and without requiring browser plugins.
The source code is written in a self documenting style with clearly defined sections. The sections “communicate” with each other through state variables making it easy for the strategy to evolve and improve. This is an excellent place for Pine Language beginners to start their strategy building journey. The script exhibits many Pine Language features which will certainly ad power to your script building abilities.
This script employs a basic trend follow strategy utilizing a forward pyramiding technique. Trend detection is implemented through the use of two higher time frame series. The market entry setup is a Simple Moving Average crossover. Positions exit by passing through conditional take profit logic. The script creates ten indicators including a Zscore oscillator to measure support and resistance levels. The indicator parameters are exposed through 47 strategy inputs segregated into seven sections. All of the inputs are equipped with detailed tool tips to help you get started.
To improve the transition from simulation to execution, strategy.entry and strategy.exit calls show enhanced message text with embedded keywords that are combined with the TradingView placeholders at alert time. Thereby, enabling a single JSON message to generate multiple execution events. This is genius stuff from the Pine Language development team. Really excellent work!
This document provides a sample alert message that can be applied to this script with relatively little modification. Without altering the code, the strategy inputs can alter the behavior to generate thousands of orders or simply a few dozen. It can be applied to crypto, stocks or forex instruments. A good way to look at this script is as a webhook lab that can aid in the development of your own endpoint processor, impress your co-workers and have hours of fun.
By no means is a webhook required or even necessary to benefit from this script. The setups, exits, trend detection, pyramids and DCA algorithms can be easily replaced with more sophisticated versions. The modular design of the script logic allows you to incrementally learn and advance this script into a functional trading system that you can be proud of.
Design
This is a trend following strategy that enters long above the trend line and short below. There are five trend lines that are visible by default but can be turned off in Section 7. Identified, in frequency order, as follows:
1. - EMA in the chart time frame. Intended to track price pressure. Configured in Section 3.
2. - ALMA in the higher time frame specified in Section 2 Signal Line Period.
3. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
4. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
5. - DEMA in the higher time frame specified in Section 2 Trend Line Period.
The Blue, Green and Orange lines are signal lines are on the same time frame. The time frame selected should be at least five times greater than the chart time frame. The Purple line represents the trend line for which prices above the line suggest a rising market and prices below a falling market. The time frame selected for the trend should be at least five times greater than the signal lines.
Three oscillators are created as follows:
1. Stochastic - In the chart time frame. Used to enter forward pyramids.
2. Stochastic - In the Trend period. Used to detect exit conditions.
3. Zscore - In the Signal period. Used to detect exit conditions.
The Stochastics are configured identically other than the time frame. The period is set in Section 2.
Two Simple Moving Averages provide the trade entry conditions in the form of a crossover. Crossing up is a long entry and down is a short. This is in fact the same setup you get when you select a basic strategy from the Pine editor. The crossovers are configured in Section 3. You can see where the crosses are occurring by enabling Show Entry Regions in Section 7.
The script has the capacity for pyramids and DCA. Forward pyramids are enabled by setting the Pyramid properties tab with a non zero value. In this case add on trades will enter the market on dips above the position open price. This process will continue until the trade exits. Downward pyramids are available in Crypto and Range mode only. In this case add on trades are placed below the entry price in the drawdown space until the stop is hit. To enable downward pyramids set the Pyramid Minimum Span In Section 1 to a non zero value.
This implementation of Dollar Cost Averaging (DCA) triggers off consecutive losses. Each loss in a run increments a sequence number. The position size is increased as a multiple of this sequence. When the position eventually closes at a profit the sequence is reset. DCA is enabled by setting the Maximum DCA Increments In Section 1 to a non zero value.
It should be noted that the pyramid and DCA features are implemented using a rudimentary design and as such do not perform with the precision of my invite only scripts. They are intended as a feature to stress test your webhook endpoint. As is, you will need to buttress the logic for it to be part of an automated trading system. It is for this reason that I did not apply a Martingale algorithm to this pyramid implementation. But, hey, it’s an open source script so there is plenty of room for learning and your own experimentation.
How does it work
The overall behavior of the script is governed by the Trading Mode selection in Section 1. It is the very first input so you should think about what behavior you intend for this strategy at the onset of the configuration. As previously discussed, this script is designed to be a trend follower. The trend being defined as where the purple line is predominately heading. In BiDir mode, SMA crossovers above the purple line will open long positions and crosses below the line will open short. If pyramiding is enabled add on trades will accumulate on dips above the entry price. The value applied to the Minimum Profit input in Section 1 establishes the threshold for a profitable exit. This is not a hard number exit. The conditional exit logic must be satisfied in order to permit the trade to close. This is where the effort put into the indicator calibration is realized. There are four ways the trade can exit at a profit:
1. Natural exit. When the blue line crosses the green line the trade will close. For a long position the blue line must cross under the green line (downward). For a short the blue must cross over the green (upward).
2. Alma / Linear Regression event. The distance the blue line is from the green and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 6 and relies on the period and length set in Section 2. A long position will exit on an upward thrust which exceeds the activation threshold. A short will exit on a downward thrust.
3. Exponential event. The distance the yellow line is from the blue and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 3 and relies on the period and length set in the same section.
4. Stochastic event. The purple line stochastic is used to measure overbought and over sold levels with regard to position exits. Signal line positions combined with a reading over 80 signals a long profit exit. Similarly, readings below 20 signal a short profit exit.
Another, optional, way to exit a position is by Bale Out. You can enable this feature in Section 1. This is a handy way to reduce the risk when carrying a large pyramid stack. Instead of waiting for the entire position to recover we exit early (bale out) as soon as the profit value has doubled.
There are lots of ways to implement a bale out but the method I used here provides a succinct example. Feel free to improve on it if you like. To see where the Bale Outs occur, enable Show Bale Outs in Section 7. Red labels are rendered below each exit point on the chart.
There are seven selectable Trading Modes available from the drop down in Section 1:
1. Long - Uses the strategy.risk.allow_entry_in to execute long only trades. You will still see shorts on the chart.
2. Short - Uses the strategy.risk.allow_entry_in to execute short only trades. You will still see long trades on the chart.
3. BiDir - This mode is for margin trading with a stop. If a long position was initiated above the trend line and the price has now fallen below the trend, the position will be reversed after the stop is hit. Forward pyramiding is available in this mode if you set the Pyramiding value in the Properties tab. DCA can also be activated.
4. Flip Flop - This is a bidirectional trading mode that automatically reverses on a trend line crossover. This is distinctively different from BiDir since you will get a reversal even without a stop which is advantageous in non-margin trading.
5. Crypto - This mode is for crypto trading where you are buying the coins outright. In this case you likely want to accumulate coins on a crash. Especially, when all the news outlets are talking about the end of Bitcoin and you see nice deep valleys on the chart. Certainly, under these conditions, the market will be well below the purple line. No margin so you can’t go short. Downward pyramids are enabled for Crypto mode when two conditions are met. First the Pyramiding value in the Properties tab must be non zero. Second the Pyramid Minimum Span in Section 1 must be non zero.
6. Range - This is a counter trend trading mode. Longs are entered below the purple trend line and shorts above. Useful when you want to test your webhook in a market where the trend line is bisecting the signal line series. Remember that this strategy is a trend follower. It’s going to get chopped out in a range bound market. By turning on the Range mode you will at least see profitable trades while stuck in the range. However, when the market eventually picks a direction, this mode will sustain losses. This range trading mode is a rudimentary implementation that will need a lot of improvement if you want to create a reliable switch hitter (trend/range combo).
7. No Trade. Useful when setting up the trend lines and the entry and exit is not important.
Once in the trade, long or short, the script tests the exit condition on every bar. If not a profitable exit then it checks if a pyramid is required. As mentioned earlier, the entry setups are quite primitive. Although they can easily be replaced by more sophisticated algorithms, what I really wanted to show is the diminished role of the position entry in the overall life of the trade. Professional traders spend much more time on the management of the trade beyond the market entry. While your trade entry is important, you can get in almost anywhere and still land a profitable exit.
If DCA is enabled, the size of the position will increase in response to consecutive losses. The number of times the position can increase is limited by the number set in Maximum DCA Increments of Section 1. Once the position breaks the losing streak the trade size will return the default quantity set in the Properties tab. It should be noted that the Initial Capital amount set in the Properties tab does not affect the simulation in the same way as a real account. In reality, running out of money will certainly halt trading. In fact, your account would be frozen long before the last penny was committed to a trade. On the other hand, TradingView will keep running the simulation until the current bar even if your funds have been technically depleted.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that the endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Webhook Integration
The TradingView alerts dialog provides a way to connect your script to an external system which could actually execute your trade. This is a fantastic feature that enables you to separate the data feed and technical analysis from the execution and reporting systems. Using this feature it is possible to create a fully automated trading system entirely on the cloud. Of course, there is some work to get it all going in a reliable fashion. Being a strategy type script place holders such as {{strategy.position_size}} can be embedded in the alert message text. There are more than 10 variables which can write internal script values into the message for delivery to the specified endpoint.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that my endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Here is an excerpt of the fields I use in my webhook signal:
"broker_id": "kraken",
"account_id": "XXX XXXX XXXX XXXX",
"symbol_id": "XMRUSD",
"action": "{{strategy.order.action}}",
"strategy": "{{strategy.order.id}}",
"lots": "{{strategy.order.contracts}}",
"price": "{{strategy.order.price}}",
"comment": "{{strategy.order.alert_message}}",
"timestamp": "{{time}}"
Though TradingView does a great job in dispatching your alert this feature does come with a few idiosyncrasies. Namely, a single transaction call in your script may cause multiple transmissions to the endpoint. If you are using placeholders each message describes part of the transaction sequence. A good example is closing a pyramid stack. Although the script makes a single strategy.close() call, the endpoint actually receives a close message for each pyramid trade. The broker, on the other hand, only requires a single close. The incongruity of this situation is exacerbated by the possibility of messages being received out of sequence. Depending on the type of order designated in the message, a close or a reversal. This could have a disastrous effect on your live account. This broker simulator has no idea what is actually going on at your real account. Its just doing the job of running the simulation and sending out the computed results. If your TradingView simulation falls out of alignment with the actual trading account lots of really bad things could happen. Like your script thinks your are currently long but the account is actually short. Reversals from this point forward will always be wrong with no one the wiser. Human intervention will be required to restore congruence. But how does anyone find out this is occurring? In closed systems engineering this is known as entropy. In practice your webhook logic should be robust enough to detect these conditions. Be generous with the placeholder usage and give the webhook code plenty of information to compare states. Both issuer and receiver. Don’t blindly commit incoming signals without verifying system integrity.
Setup
The following steps provide a very brief set of instructions that will get you started on your first configuration. After you’ve gone through the process a couple of times, you won’t need these anymore. It’s really a simple script after all. I have several example configurations that I used to create the performance charts shown. I can share them with you if you like. Of course, if you’ve modified the code then these steps are probably obsolete.
There are 47 inputs divided into seven sections. For the most part, the configuration process is designed to flow from top to bottom. Handy, tool tips are available on every field to help get you through the initial setup.
Step 1. Input the Base Currency and Order Size in the Properties tab. Set the Pyramiding value to zero.
Step 2. Select the Trading Mode you intend to test with from the drop down in Section 1. I usually select No Trade until I’ve setup all of the trend lines, profit and stop levels.
Step 3. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Remember that the profit is taken as a conditional exit not a fixed limit. The actual profit taken will almost always be greater than the amount specified. The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached.
Step 4. Apply the appropriate value to the Tick Scalar field in Section 1. This value is used to remove the pipette from the price. You can enable the Summary Report in Section 7 to see the TradingView minimum tick size of the current chart.
Step 5. Apply the appropriate Price Normalizer value in Section 1. This value is used to normalize the instrument price for differential calculations. Basically, we want to increase the magnitude to significant digits to make the numbers more meaningful in comparisons. Though I have used many normalization techniques, I have always found this method to provide a simple and lightweight solution for less demanding applications. Most of the time the default value will be sufficient. The Tick Scalar and Price Normalizer value work together within a single calculation so changing either will affect all delta result values.
Step 6. Turn on the trend line plots in Section 7. Then configure Section 2. Try to get the plots to show you what’s really happening not what you want to happen. The most important is the purple trend line. Select an interval and length that seem to identify where prices tend to go during non-consolidation periods. Remember that a natural exit is when the blue crosses the green line.
Step 7. Enable Show Event Regions in Section 7. Then adjust Section 6. Blue background fills are spikes and red fills are plunging prices. These measurements should be hard to come by so you should see relatively few fills on the chart if you’ve set this up as intended. Section 6 includes the Zscore oscillator the state of which combines with the signal lines to detect statistically significant price movement. The Zscore is a zero based calculation with positive and negative magnitude readings. You want to input a reasonably large number slightly below the maximum amplitude seen on the chart. Both rise and fall inputs are entered as a positive real number. You can easily use my code to create a separate indicator if you want to see it in action. The default value is sufficient for most configurations.
Step 8. Turn off Show Event Regions and enable Show Entry Regions in Section 7. Then adjust Section 3. This section contains two parts. The entry setup crossovers and EMA events. Adjust the crossovers first. That is the Fast Cross Length and Slow Cross Length. The frequency of your trades will be shown as blue and red fills. There should be a lot. Then turn off Show Event Regions and enable Display EMA Peaks. Adjust all the fields that have the word EMA. This is actually the yellow line on the chart. The blue and red fills should show much less than the crossovers but more than event fills shown in Step 7.
Step 9. Change the Trading Mode to BiDir if you selected No Trades previously. Look on the chart and see where the trades are occurring. Make adjustments to the Minimum Profit and Stop Offset in Section 1 if necessary. Wider profits and stops reduce the trade frequency.
Step 10. Go to Section 4 and 5 and make fine tuning adjustments to the long and short side.
Example Settings
To reproduce the performance shown on the chart please use the following configuration: (Bitcoin on the Kraken exchange)
1. Select XBTUSD Kraken as the chart symbol.
2. On the properties tab set the Order Size to: 0.01 Bitcoin
3. On the properties tab set the Pyramiding to: 12
4. In Section 1: Select “Crypto” for the Trading Model
5. In Section 1: Input 2000 for the Minimum Profit
6. In Section 1: Input 0 for the Stop Offset (No Stop)
7. In Section 1: Input 10 for the Tick Scalar
8. In Section 1: Input 1000 for the Price Normalizer
9. In Section 1: Input 2000 for the Pyramid Minimum Span
10. In Section 1: Check mark the Position Bale Out
11. In Section 2: Input 60 for the Signal Line Period
12. In Section 2: Input 1440 for the Trend Line Period
13. In Section 2: Input 5 for the Fast Alma Length
14. In Section 2: Input 22 for the Fast LinReg Length
15. In Section 2: Input 100 for the Slow LinReg Length
16. In Section 2: Input 90 for the Trend Line Length
17. In Section 2: Input 14 Stochastic Length
18. In Section 3: Input 9 Fast Cross Length
19. In Section 3: Input 24 Slow Cross Length
20. In Section 3: Input 8 Fast EMA Length
21. In Section 3: Input 10 Fast EMA Rise NetChg
22. In Section 3: Input 1 Fast EMA Rise ROC
23. In Section 3: Input 10 Fast EMA Fall NetChg
24. In Section 3: Input 1 Fast EMA Fall ROC
25. In Section 4: Check mark the Long Natural Exit
26. In Section 4: Check mark the Long Signal Exit
27. In Section 4: Check mark the Long Price Event Exit
28. In Section 4: Check mark the Long Stochastic Exit
29. In Section 5: Check mark the Short Natural Exit
30. In Section 5: Check mark the Short Signal Exit
31. In Section 5: Check mark the Short Price Event Exit
32. In Section 5: Check mark the Short Stochastic Exit
33. In Section 6: Input 120 Rise Event NetChg
34. In Section 6: Input 1 Rise Event ROC
35. In Section 6: Input 5 Min Above Zero ZScore
36. In Section 6: Input 120 Fall Event NetChg
37. In Section 6: Input 1 Fall Event ROC
38. In Section 6: Input 5 Min Below Zero ZScore
In this configuration we are trading in long only mode and have enabled downward pyramiding. The purple trend line is based on the day (1440) period. The length is set at 90 days so it’s going to take a while for the trend line to alter course should this symbol decide to node dive for a prolonged amount of time. Your trades will still go long under those circumstances. Since downward accumulation is enabled, your position size will grow on the way down.
The performance example is Bitcoin so we assume the trader is buying coins outright. That being the case we don’t need a stop since we will never receive a margin call. New buy signals will be generated when the price exceeds the magnitude and speed defined by the Event Net Change and Rate of Change.
Feel free to PM me with any questions related to this script. Thank you and happy trading!
CFTC RULE 4.41
These results are based on simulated or hypothetical performance results that have certain inherent limitations. Unlike the results shown in an actual performance record, these results do not represent actual trading. Also, because these trades have not actually been executed, these results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated or hypothetical trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to these being shown.
EBB & Flow: a multi-EMA-based BB cloudIntro
This is an idea evolved out of the market maker method and EMA convergence, divergence, and mean reversion.
The market maker method informs us that the 5, 13, 50 and 200 EMAs are important to regulating price. Those EMA lengths are multiples of the 50 and 200 on lower major timeframes -- the 1 minute, 5, 15, 1H, 4H, 1D. I include the 21 because it is also a multiple and in crypto very often respected.
When market makers are testing price, they set their range and spike in the direction they test for liquidity. This can get chaotic. For instance, in a shorter time frame consolidation inside a bigger timeframe uptrend, it can be too easy to forget where you are in the many trends playing out.
When the EMAs are dragged over each other during normal price movement, you get these crisscrossing tracks of price, and the individual breaks can be hard to trace.
The range is what matters, ultimately, and the range is dynamic. In that case, the Bollinger Band is a great tool for detecting outliers in this case.
The Answer
So the answer this indicator seeks to give, is to look for outliers. This gives you a scalping strategy built on Traders Reality thinking and best put together with the PVSRA indicator, which I may include in this indicator just for the sake of concision, but they can work alongside each other or separately.
The key thing is the different EMA clouds, which are bollinger bands. Tight bands mean imminent breaks, favouring the trend. Vector candles out of a zone, pins to the low/high, etc. are all very relevant alongside this indicator.
You can also use it on its own and scalp the breaks of a cloud.
How it works
Each cloud is a standard deviation from their respective EMA, all in the same colour. The deviation multiple is 1.618 by default. Yes, fibonacci sequences are usually nonsense, but it works better with the BB than 2, 2.5 or 3.
Using just the clouds, you can see where each EMA is headed and how it behaves within the deviation of the others.
But that on its own isn't enough.
The indicator will also print snowflakes above and below the candle for notable outliers. It will be in the colour of the cloud it breaks, but only if that break is also breaking the smaller EMA clouds too.
The most snowflakes will be yellow because that's the 13 EMA. That one is dependent on nothing else and every break will print a snowflake. The 21 will be dependent on the 13. The 50 dependent on the 13 and 21 breaks. The 200 the most important.
For example, if the 200 EMA-BB or EBB is broken at the upper band, deviating by more than 162% of price over a 200 period EMA, and that break is not above the 50 EMA cloud, there will be no snowflake. However, if it exceeds the 13, 21, 50, and 200 clouds, then a purple snowflake will appear above the bar.
Any snowflake is an extreme in price. The purple is an especially good point of entry. That doesn't mean it is a perfect entry. You can build position from it, though, and be relatively certain of a price correction in the near future, because not only was this major EMA cloud violated, but all of the smaller ones too.
Reminder
You still need your PVSRA and candlesticks. This indicator on its own may have a nice hit rate for scalping and building position, as an alternative to the TDI or alongside it, but it is not enough on its own, just like the TDI.
Enjoy!
Scalping Dips On Trend (by Coinrule)Coinrule's Community is an excellent source of inspiration for our trading strategies.
In these months of Bull Market, our traders opted mostly on buy-the-dips strategies, which resulted in great returns recently. But there has been an element that turned out to be the cause for deep division among the Community.
Is it advisable or not to use a stop-loss during a Bull Market?
This strategy comes with a large stop-loss to offer a safer alternative for those that are not used to trade with a downside protection.
Entry
The strategy buys only when the price is above the Moving Average 50 , making it less risky to buy the dip, which is set to 2%.
The preferred time frame is 1-hour.
The stop-loss is set to be quite loose to increase the chances of closing the trade in profit, yet protecting from unexpected larger drawdowns that could undermine the allocation's liquidity.
Exit
Stop loss: 10%
Take Profit: 3%
In times of Bull Market, such a trading system has a very high percentage of trades closed in profit (ranging between 70% to 80%), which makes it still overall profitable to have a stop-loss three times larger than the take profit.
Pro tip: use a larger stop-loss only when you expect to close in profit most of the trades!
The strategy assumes each order to trade 30% of the available capital and opens a trade at a time. A trading fee of 0.1% is taken into account.
Zweig Market Breadth Thrust Indicator StrategyThe Breadth Thrust Indicator is a technical indicator which determines market momentum, signaling the start of a potential new bull market.
The Breadth Thrust Indicator was developed by Martin Zweig, an American stock investor, financial analyst, and investment adviser. According to Zweig, the concept is based on the principle that the sudden change of money in the investment markets elevates stocks and signals increased liquidity. In other words, this indicator is all about how quickly the NYSE's advancing and declining numbers go from poor to great in a compressed time period.
A "Thrust" indicates that the stock market has rapidly changed from an oversold condition to one of strength, but has not yet become overbought. This is very rare and has happened only a few times. Dr . Zweig also points out that most bull markets begin with a Breadth Thrust.
More info can be found at www.investopedia.com
I have inspired by indicator introduced in TradingView by LazyBear and adopted the logic from there. Thanks LazyBear !!!
Though indicator signals the new Bull market, but I have not found much information how to use it in daily market. So I had come up with a strategy, which would allow us to trade SPY, QQQ , AMEX and securities under these markets.
I have used MA setting as 65 (since Zweig indicator setting was 10 days , based on that I set 65 for Hourly chart ... 10d x 6.5 Hrs = 65 in my startegy). You have to change this setting if you change the timeframe. Also , note that this strategy is for Stock Market only.
Strategy Rule/Settings
===================
Select the market type based on your security symbol.
SPY => use NYSE
QQQ => use NASDAQ
any other security => check exchange it was listed and select the corresponding market.
if you dont know , use COMBINED option
BUY
====
when indicator cross 0.40 from below
Note:
1. see how well it picks the bottoms ... example : Nov 2020 ....
2. setting 0.45 is also produces good results , only thing is you get more signals.
EXIT
=====
Exit when indicator cross down from 0.60 . I have used RSI (5) for partial exits. These two are available in settings
Close the whole position when indicator crossing down 0.40
STOP LOSS
=========
defaulted to 5%
Please Note , I have tested SPY , QQQ on Horly chart with MA 65. You need to chnage the MA setting based on your time frame and check the results.
WARNING
========
For the use of educational purposes only
Simple Momentum Strategy Based on SMA, EMA and VolumeA simple, non short selling (long positions only, i.e. buy low and sell high) strategy. Strategy makes use of simple SMA, EMA and Volume indicators to attempt to enter the market at the most optimum time (i.e. when momentum and price are moving upwards). Optimum time is defined mainly by picking best timing for price moves higher based on upwards momentum.
This script is targeted / meant for an average/typical trader or investor. This is why a non short selling approach was selected for optimisation for this strategy because "typpical", "average" traders and investors usually use basic (i.e. minimum fees / free membership) exchanges that would not usually offer short selling functionality (at least without additional fees). The assumption used here is that only advanced and sophisticated traders and investors would pay for advanced trading platforms that enable short selling, have a risk appetite for short selling and thus use short selling as a strategy.
The results of the strategy are:
In an overall roughly bearish market (backward testing from beginning to end of 2018) i.e. the market immediately following the highs of around 20k USD per BTC, this strategy made a loss of £3231 USD on trades of a maximum of 1 BTC per long position.
But in an overall bullish market, it makes a profit of about $6800 USD from beginning of 2019 onwards by trading a maximum of 1 BTC per long position.
NOTE: All trading involves high risk. Most strategies use past performance and behaviour as indicators of future performance and that is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations too. One limitation is that unlike an actual performance record, simulated results do not represent actual trading and since the trades have not actually been executed, the results of those trades themselves do not have any influence on actual market results, which in real life they would have had (no matter how minor). Additionally, simulated results may have under or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also, by their nature, designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
Armando Bitmex Liquidation LevelsHi Guys!
- This script show you liquidations levels with leverage of 100X, 50X, 25X & 10X (shorts & longs).
- This indicator "only" works for XBT on Bitmex.
- Other indicators only show the liquidations up to 25X.
- You need to set the time frame according to your graph. e.g. 1, 60, 240, D, 3D, W, etc.
- The idea of this indicator is to help the user to determine those levels where Bitmex hunt liquidity.
Best Regards.
Armando M.
EMA Slope + EMA Cross Strategy (by ChartArt)This strategy uses divergences between three exponential moving averages and their slope directions as well as crosses between the price and these moving averages to switch between a long or short position. The strategy is non-stop in the market and always either long or short.
In addition the moving averages and price bars are colored depending if they are trending up or down.
The strategy was created for the "EURUSD" daily timeframe.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
Bollinger + RSI, Double Strategy Long-Only (by ChartArt) v1.2This strategy uses the RSI indicator together with the Bollinger Bands to go long when the price is below the lower Bollinger Band (and to close the long trade when this value is above the upper Bollinger band).
This simple strategy only places a long, when both the RSI and the Bollinger Bands indicators are at the same time in a oversold condition.
In this new version 1.2 the strategy was simplified even more than before by going long-only, which made the strategy more successful in backtesting than the previous version (that older version also opened short trades).
This strategy does not repaint and was updated to PineScript version 3.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
P.S. For advanced users: If you want also be able to short with the same strategy approach, then please use my older version 1.1:
Pairs Volume FXCM mini accountScript shows the volume of the currency pairs in the FXCM mini account. I set it daily or weekly to see which pair is picking up in activity. My style of currency trading is short holds on the highest volatility. This helps me determine which pairs have the highest volume (or tick activity since there is no true exchange for currency). I use this in conjunction with the other script I wrote, "Pairs Range" which shows which pairs have the highest daily range. This script has a built in 5-sma on each pair. High daily range and high volume is volatility and liquidity. **** This does not include currencies in CHF ****
Golden Cross, SMA 200 Moving Average Strategy (by ChartArt)This famous moving average strategy is very easy to follow to decide when to buy (go long) and when to take profit.
The strategy goes long when the faster SMA 50 (the simple moving average of the last 50 bars) crosses above the slower SMA 200. Orders are closed when the SMA 50 crosses below the SMA 200. This simple strategy does not have any other stop loss or take profit money management logic. The strategy does not short and goes long only!
Here is an article explaining the "golden cross" strategy in more detail:
www.stockopedia.com
On the S&P 500 index (symbol "SPX") this strategy worked on the daily chart 81% since price data is available since 1982. And on the DOW Jones Industrial Average (symbol "DOWI") this strategy worked on the daily chart 55% since price data is available since 1916. The low number of trades is in both cases not statistically significant though.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
Fractal Breakout Strategy (by ChartArt)This long only strategy determines the price of the last fractal top and enters a trade when the price breaks above the last fractal top. The strategy also calculates the average price of the last fractal tops to get the trend direction. The strategy exits the long trade, when the average of the fractal tops is falling (when the trend is lower highs as measured by fractals). And the user can manually set a time delay of this exit condition. The default setting is a long strategy exit always 3 bars after the long entry condition appeared.
In addition as gimmicks the fractals tops can be highlighted (the default is blue) and a line can be drawn based on the fractal tops.This fractal top line is colored by the fractal top average trend in combination with the fractal breakout condition.
This strategy works better on higher time-frames (weekly and monthly), but it also works on the daily and some other time-frames. This strategy does not repaint, no repainting.
P.S. I thank Tradingview user barracuda who helped me with the time based exit condition code. And user RicardoSantos for coding the definition of the fractal top, which he uses in his " Fractals" scripts.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
Daily Close Comparison Strategy (by ChartArt via sirolf2009)Comparing daily close prices as a strategy.
This strategy is equal to the very popular "ANN Strategy" coded by sirolf2009(1) which calculates the percentage difference of the daily close price, but this bar-bone version works completely without his Artificial Neural Network (ANN) part.
Main difference besides stripping out the ANN is that my version uses close prices instead of OHLC4 prices, because they perform better in backtesting. And the default threshold is set to 0 to keep it simple instead of 0.0014 with a larger step value of 0.001 instead of 0.0001. Just like the ANN strategy this strategy goes long if the close of the current day is larger than the close price of the last day. If the inverse logic is true, the strategy goes short (last close larger current close). (2)
This basic strategy does not have any stop loss or take profit money management logic. And I repeat, the credit for the fundamental code idea goes to sirolf2009.
(2) Because the multi-time-frame close of the current day is future data, meaning not available in live-trading (also described as repainting), is the reason why this strategy and the original "ANN Strategy" coded by sirolf2009 perform so excellent in backtesting.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
(1) You can get the original code by sirolf2009 including the ANN as indicator here:
(1) and this is sirolf2009's very popular strategy version of his ANN:
MACD + Stochastic, Double Strategy (by ChartArt)This strategy combines the classic stochastic strategy to buy when the stochastic is oversold with a classic MACD strategy to buy when the MACD histogram value goes above the zero line. Only difference to the classic stochastic is a default setting of 71 for overbought (classic setting 80) and 29 for oversold (classic setting 20).
Therefore this strategy goes long if the MACD histogram goes above zero and the stochastic indicator detects a oversold condition (value below 29). If the inverse logic is true, the strategy goes short (stochastic overbought condition with a value above 71 and the MACD histogram falling below the zero line value).
Please be aware that this pure double strategy using simply two classic indicators does not have any stop loss or take profit money management logic.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
Bollinger + RSI, Double Strategy (by ChartArt) v1.1This strategy uses the RSI indicator together with the Bollinger Bands to sell when the price is above the upper Bollinger Band (and to buy when this value is below the lower band). This simple strategy only triggers when both the RSI and the Bollinger Band indicators are at the same time in a overbought or oversold condition.
UPDATE
In this updated version 1.1 the strategy was both simplified for the user (less inputs) and made more successful in backtesting by now using a 200 period for the SMA which is the basis for the Bollinger Band. I also reduced the number of color alerts to show fewer, but more relevant trading opportunities.
And just like the first version this strategy does not use close prices from higher-time frame and should not repaint after the current candle has closed. It might repaint like every Tradingview indicator while the current candle hasn't closed.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
P.S. For advanced users if you want access to more functions of this strategy script, then please use version 1.0:
Bollinger + RSI, Double Strategy (by ChartArt)Bollinger Bands + RSI, Double Strategy
This strategy uses a slower RSI with period 16 to sell when the RSI increases over the value of 55 (or to buy when the value falls below 45), with the classic Bollinger Bands strategy to sell when the price is above the upper Bollinger Band and falls below it (and to buy when the price is below the lower band and rises above it). This strategy only triggers when both the RSI and the Bollinger Bands indicators are at the same time in the described overbought or oversold condition. In addition there are color alerts which can be deactivated.
This basic strategy is based upon the "RSI Strategy" and "Bollinger Bands Strategy" which were created by Tradingview and uses no money management like a trailing stop loss and no scalping methods. Every win/loss trade is simply counted from the last overbought/oversold condition to the next one.
This strategy does not use close prices from higher-time frame and should not repaint after the current candle has closed. It might repaint like every Tradingview indicator while the current candle hasn't closed.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
Moving Average Consecutive Up/Down Strategy (by ChartArt)This simple strategy goes long (or short) if there are several consecutive increasing (or decreasing) moving average values in a row in the same direction. The bars can be colored using the raw moving average trend. And the background can be colored using the consecutive moving average trend setting. In addition a experimental line of the moving average change can be drawn.
The strategy is based upon the "Consecutive Up/Down Strategy" which was created by Tradingview.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
MACD + SMA 200 Strategy (by ChartArt)Here is a combination of the classic MACD (moving average convergence divergence indicator) with the classic slow moving average SMA with period 200 together as a strategy.
This strategy goes long if the MACD histogram and the MACD momentum are both above zero and the fast MACD moving average is above the slow MACD moving average. As additional long filter the recent price has to be above the SMA 200. If the inverse logic is true, the strategy goes short. For the worst case there is a max intraday equity loss of 50% filter.
Save another $999 bucks with my free strategy.
This strategy works in the backtest on the daily chart of Bitcoin, as well as on the S&P 500 and the Dow Jones Industrial Average daily charts. Current performance as of November 30, 2015 on the SPX500 CFD daily is percent profitable: 68% since the year 1970 with a profit factor of 6.4. Current performance as of November 30, 2015 on the DOWI index daily is percent profitable: 51% since the year 1915 with a profit factor of 10.8.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
Forex Session OverlapApplies gray background coloring for each major active Forex session, the more sessions active the lighter the background. Adjusted coloring for low (Sydney, Tokyo) and high (Frankfurt, London, New York) liquidity. Market opening hours for Sydney, Tokyo, Frankfurt, London and New York have been set to 08:00 - 17:00 local time and are converted to EST while taking daylight saving time into account across regions (REMEMBER: configure manually!). Sessions can be turned on or off separately. By default this indicator hides itself in larger time-frames (>30min by default). Enabling session breaks or daily pivots helps distinguish between sessions.
Manuel_Air//@version=6
indicator(title="Manuel_Air", shorttitle="Manuel_Air", overlay=true)
// ====== Layout / Estilo ======
posInput = input.string(defval="Top Right", title="Posición tabla", options= )
Table_Position = switch posInput
"Top Left" => position.top_left
"Top Center" => position.top_center
"Top Right" => position.top_right
"Middle Left" => position.middle_left
"Middle Center" => position.middle_center
"Middle Right" => position.middle_right
"Bottom Left" => position.bottom_left
"Bottom Center" => position.bottom_center
"Bottom Right" => position.bottom_right
label_size = input.string(defval="Normal", title="Tamaño texto", options= )
Tsize = switch label_size
"Tiny" => size.tiny
"Small" => size.small
"Normal" => size.normal
"Large" => size.large
"Huge" => size.huge
// ====== Inputs checklist y nombres personalizables ======
check1 = input.bool(true, "HTF Alignment")
check2 = input.bool(true, "Liquidity Sweep")
check3 = input.bool(true, "Boss + Imbalance")
check4 = input.bool(true, "71% Retracement")
showTradeScore = input.bool(true, "Mostrar Trade Score")
name1 = input.string("HTF Alignment", "Nombre Check 1")
name2 = input.string("Liquidity Sweep", "Nombre Check 2")
name3 = input.string("Boss + Imbalance", "Nombre Check 3")
name4 = input.string("71% Retracement", "Nombre Check 4")
tableTitle = input.string("Checklist 📝", "Título tabla")
headerText = input.string("Manuel_Air", "Texto header")
// ====== Colores personalizables ======
colorChecked = input.color(color.green, "Color ✔")
colorUnchecked = input.color(color.red, "Color ✘")
colorHeader = input.color(color.black, "Color Header")
colorRow = input.color(color.new(color.black, 85), "Color Filas")
colorTradeHigh = input.color(color.green, "Color Trade Score Alto")
colorTradeMid = input.color(color.yellow, "Color Trade Score Medio")
colorTradeLow = input.color(color.red, "Color Trade Score Bajo")
colorText = input.color(color.white, "Color texto filas")
// ====== Preparar checklist ======
checks = array.new_bool()
names = array.new_string()
array.push(checks, check1)
array.push(checks, check2)
array.push(checks, check3)
array.push(checks, check4)
array.push(names, name1)
array.push(names, name2)
array.push(names, name3)
array.push(names, name4)
numChecks = array.size(checks)
// ====== Calcular Trade Score ======
checkedRows = 0
for i = 0 to numChecks - 1
checkedRows += array.get(checks, i) ? 1 : 0
tradeScore = math.round((checkedRows / numChecks) * 100)
tradeScoreColor = tradeScore >= 75 ? colorTradeHigh : tradeScore >= 50 ? colorTradeMid : colorTradeLow
// ====== Definir filas totales ======
totalRows = 1 + 1 + numChecks + (showTradeScore ? 1 : 0) // Header + título checklist + checks + Trade Score
var table myTable = table.new(position = Table_Position, columns = 2, rows = totalRows, border_width = 1, border_color = color.gray)
if barstate.islast
rowIndex = 0
// Header (merge 2 columnas)
table.cell(table_id = myTable, column = 0, row = rowIndex, text = headerText, text_size = Tsize, text_color = colorText, bgcolor = colorHeader)
table.merge_cells(table_id = myTable, start_column = 0, start_row = rowIndex, end_column = 1, end_row = rowIndex)
rowIndex += 1
// Título checklist (merge)
table.cell(table_id = myTable, column = 0, row = rowIndex, text = tableTitle, text_size = Tsize, text_color = colorText, bgcolor = colorHeader)
table.merge_cells(table_id = myTable, start_column = 0, start_row = rowIndex, end_column = 1, end_row = rowIndex)
rowIndex += 1
// Filas checklist
for i = 0 to numChecks - 1
checked = array.get(checks, i)
name = array.get(names, i)
table.cell(table_id = myTable, column = 0, row = rowIndex, text = (checked ? "✔" : "✘"), text_size = Tsize, text_color = (checked ? colorChecked : colorUnchecked), bgcolor = colorRow)
table.cell(table_id = myTable, column = 1, row = rowIndex, text = name, text_size = Tsize, text_color = colorText, bgcolor = colorRow)
rowIndex += 1
// Trade Score
if showTradeScore
table.cell(table_id = myTable, column = 0, row = rowIndex, text = str.tostring(tradeScore) + "%", text_size = Tsize, text_color = tradeScoreColor, bgcolor = colorRow)
table.cell(table_id = myTable, column = 1, row = rowIndex, text = "Trade Score", text_size = Tsize, text_color = colorText, bgcolor = colorRow)
MTF Levels [OmegaTools]📖 Introduction
The Ω Levels Indicator is a complete market structure and level-mapping framework designed to help traders identify key zones where price is likely to react.
It blends classic technical anchors (VWAP, pivots, means, standard deviations) with modern statistical pattern recognition to dynamically project areas of manipulation, extension, and equilibrium.
At its core, Ω Levels creates an evolving map of market balance vs. imbalance, showing traders where liquidity is most likely to build and where price could pivot or accelerate.
But what makes it truly unique is the Pivot Forecaster — an embedded predictive engine that applies machine-learning inspired logic to recognize conditions that historically precede market turning points.
🔎 Key Features
Customizable Levels Framework
Define up to three levels (manipulation, extensions, VWAP, pivots, stdev bands, or prior extremes).
Choose mean references such as Open, VWAP, Pivot Mean, or Previous Session Mean.
Style controls (solid, dotted, dashed) and fill modes (internal, external, ranges) allow you to adapt the chart to your visual workflow.
Dynamic Zone Highlighting
Automatic fills between internal/external levels, or between specific level pairs (1–2, 1–3, 2–3).
Makes it easy to visualize value areas, expansions, and compression zones at a glance.
Multi-Timeframe Anchoring
Works on any timeframe, but calculations can be anchored to a higher timeframe (e.g., show daily VWAP & pivots on a 15m chart).
This allows traders to align intraday execution with higher timeframe context.
Pivot Forecaster (Machine Learning / Pattern Recognition)
This is the advanced predictive component.
The algorithm collects historical conditions observed around pivot highs and lows (volume state, ATR state, % candle expansion, oscillator conditions).
It then builds statistical “profiles” of typical pivot behavior and compares them in real-time against current market conditions.
When conditions match the “signature” of a pivot, the indicator highlights a Forecast Pivot High or Forecast Pivot Low (displayed as small diamond markers).
This functions as a pattern-recognition system, effectively learning from past pivots to anticipate where the next turning point is more likely to occur.
⚡ How Traders Can Use It
Intraday Execution: Use VWAP, manipulation, and extension levels to frame trades around liquidity zones.
Swing Context: Overlay higher timeframe pivots and means to guide medium-term positioning.
Fade Setups: Forecasted pivots often coincide with exhaustion zones where fading momentum carries edge.
Breakout Validation: When price breaks a structural level but the forecaster does not confirm a pivot, continuation probability is higher.
Risk Management: Levels provide natural stop/target placements, while pivot forecasts serve as warning signals for potential reversals.
⚙️ Settings Overview
Timeframe: Choose the anchor timeframe for calculations (default: Daily).
Means: Two selectable mean references (Open, VWAP, Pivot Point, Previous Mean).
Levels: Three levels can be customized (Manipulation, Extension, 1–2 StDev, Pivot Point, VWAP, Previous Extremes).
Fill Modes: Highlight zones between internal/external levels or custom ranges.
Visual Customization: Colors, line styles, fill opacity, and toggle for old levels.
Pivot Forecaster: Fully automated — no settings required, it adapts to instrument and timeframe.
🧭 Best Practices
Align Levels With Market Profile: Treat the levels as dynamic S/R zones and watch how price interacts with them.
Use Forecaster as Confirmation: The diamonds are not standalone signals; they are context filters that help you decide whether a move has higher reversal odds.
Higher Timeframe Anchoring: On intraday charts, set the timeframe to Daily or Weekly to trade with institutional levels.
Combine With ATR: Pair with the Ω ATR Indicator to size positions according to volatility while Ω Levels provides the structural roadmap.
📌 Summary
The Ω Levels Indicator is more than a level plotter — it’s a market map + predictive engine.
By combining traditional levels with an intelligent pivot forecaster, it gives traders both the static structure of where price should react, and the dynamic signal of where it is likely to react next.
This dual-layer approach — structural + predictive — makes it an invaluable tool for discretionary intraday traders, swing traders, and anyone who wants to anticipate price behavior instead of just reacting to it.
Trading Activity Index (Zeiierman)█ Overview
Trading Activity Index (Zeiierman) is a volume-based market activity meter that transforms dollar-volume into a smooth, normalized “activity index.”
It highlights when market participation is unusually low or high with a dynamic color gradient:
Light Blue → Low Activity (thin participation, low liquidity conditions)
Red/Orange → High Activity (active markets, large trades flowing in)
Additional percentile bands (20/40/60/80%) give context, helping you see whether the current activity level is in the bottom quintile, mid-range, or near historical extremes.
█ How It Works
⚪ Dollar Volume Transformation
Each bar, dollar volume is computed:
float dlrVol = close * volume
float dlrVolAvg = ta.sma(dlrVol, len_form)
Dollar volume = price × volume, smoothed by a configurable SMA window.
The result is log-transformed, compressing large outliers for a more stable signal.
⚪ Rolling Percentiles & Ranking
The log-dollar-volume series is compared to its rolling history (len_hist bars):
float p20 = ta.percentile_linear_interpolation(vscale, len_hist, 20)
float p40 = ta.percentile_linear_interpolation(vscale, len_hist, 40)
float p60 = ta.percentile_linear_interpolation(vscale, len_hist, 60)
float p80 = ta.percentile_linear_interpolation(vscale, len_hist, 80)
A normalized rank (0–1) is produced to color the main Trading Activity line.
█ How to Use
⚪ Detect High-Impact Sessions
Quickly see if today’s session is active or quiet relative to its own history — great for filtering setups that need activity.
⚪ Spot Breakouts & Traps
Combine with price action:
High activity near breakouts = strong follow-through likely.
Low activity breakouts = vulnerable to fake-outs.
⚪ Market Regime Context
Percentile bands help you assess whether participation is building up, in the middle of the range, or drying out — valuable for timing mean-reversion trades.
Above 80th percentile (red/orange) → Market is highly active, breakout trades and trend strategies are favored.
Below 20th percentile (light blue) → Market is quiet; fade moves or wait for expansion.
Watch transitions from blue → orange as a signal of growing institutional participation.
█ Settings
Formation Window (bars) – Number of bars used to average dollar volume before log transform.
History Window (bars) – Lookback period for percentile calculations and rank normalization.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Sentinel Nexus Dashboard [AGP] Ver.1.5Sentinel Nexus Dashboard is a versatile Pine Script designed as a comprehensive technical analysis tool. It condenses a variety of key indicators and metrics into a single, intuitive visual dashboard, providing an integrated view of market trends, momentum, volatility, and liquidity, all neatly organized on your TradingView chart.
Key Features and Benefits
All-in-One Dashboard: This script centralizes relevant information, offering a clean, efficient control panel that helps you make quick decisions without cluttering your chart with multiple overlays.
Trend Analysis with ADX: It incorporates the Average Directional Index (ADX) to measure trend strength. The dashboard displays ADX, DI+, and DI- values with dynamic color-coding to highlight trend intensity (e.g., blue for a very strong trend).
Momentum Analysis with MACD: The dashboard shows MACD line and signal line values in a table. The background color of the MACD values reflects the histogram's direction, allowing you to quickly identify crosses and shifts in market momentum.
Multi-Timeframe RSI Analysis: The RSI (Relative Strength Index) dashboard displays values across multiple timeframes (from 1 minute to 1 month). Overbought (77) and oversold (23) levels are color-coded for immediate identification of market conditions, making it an ideal tool for multi-timeframe analysis.
Smart and Dynamic Volume: The script uses a bar coloring algorithm based on average volume. Chart bars change color according to volume magnitude (extreme, high, average, or low) relative to the average, distinguishing between bullish and bearish bars. This helps you identify significant, liquidity-driven price movements.
Fair Value Analysis: The script calculates an asset's "fair value" using a noise filter (similar to a Kalman filter) on recent highs and lows to determine a midpoint. The price dashboard's background color changes to indicate if the current price is above or below this fair value.
Fibonacci EMA Analysis: A table displays several Exponential Moving Averages (EMAs) based on the Fibonacci sequence. The values are color-coded to show whether the current price is above (white) or below (orange) each EMA, helping you quickly identify dynamic support and resistance levels.
CME Futures Data Integration: For Bitcoin, the script can show a chart label with the Bitcoin futures price (CME:BTC1!), allowing you to compare the spot price with the CME futures market.
Potential Uses and Applications
The Sentinel Nexus Dashboard is an excellent support tool for trading. It is not a signal system but rather a suite of confirmation tools that can be used to:
Confirm Trend Strength: Before entering a trade, use the ADX data to ensure the trend has enough strength for your expected move.
Detect Reversal Points: Multi-timeframe RSI data can alert you to potential overbought or oversold conditions, indicating possible exhaustion of a price move.
Validate Price Movements: Bar coloring based on volume helps you determine if a price move is genuine and supported by strong market participation. High volume can confirm a breakout or reversal.
Identify Support and Resistance: The Fibonacci EMAs allow you to quickly visualize key levels where price might find support or resistance, aiding in planning entries and exits.
In short, this script is perfect for traders who want a comprehensive market overview without chart clutter. It efficiently integrates trend, momentum, and volume analysis in one place.
Legal Disclaimer
RISK WARNING:
This Pine Script is a technical analysis tool and should not be considered financial advice. Past performance of any indicator is no guarantee of future results. Trading in financial markets involves a high risk of loss and is not suitable for all investors. By using this indicator, you accept full responsibility for your trading decisions and acknowledge that any financial loss is your sole responsibility.
IMPORTANT:
Some script functions, such as the CME price label, may not work correctly if your TradingView subscription plan is not a paid one. Please check your plan's limitations to ensure the indicator's optimal functionality.