[Uhokang] Bollinger Band BB EMA SMMA SMA Multy timeframeYou can view indicators from the specified upper timeframe together.
( Bollinger Bands, SMMA, EMA, SMA )
If it is based on a 1-hour bar, you can see indicators for 4-hour bars and 1-day bars at the same time.
  =>   =>  
Minutes
1 => 5 => 30
2 => 10 => 60 
3 => 15 => 90
4 => 20 => 120 
5 => 30 => 120
6 => 30 => 120
10 => 60 => 240
15 => 60 => 240 
30 => 120 => 480
45 => 180 => 450
over Hours
1 => 4 => D
2 => 8 => 2D
3 => 12 => 3D
4 => D => W 
D => W => M
W => M => Y
Cari dalam skrip untuk "欧元汇率走势30天"
MAGIC MACDMAGIC MACD ( MACD Indicator with Trend Filter and EMA Crossover confirmation and Momentum). This MACD uses Default Trading view MACD
from Technical indicators library and adding a second MACD along with 3 EMA's to detect Trend and confirm MACD Signal.
Eliminates usage of 3different indicators (Default MACD , MACD-2,EMA5, EMA20, EMA50)
Basic IDEA.
Idea is to filter Histogram when price is above or below 50EMA. Similar to QQE -mod oscillator but Has a EMA Filter
1.Take DEFAULT MACD crossover signals with lower period
2.check with a Higher MACD Histogram.
3.Enter upon EMA crossover signal and Histogram confirmation.
Histogram changes to GRAY when price is below EMA 50 or above EMA 50 (Follows Trend)
4.Exit on next Default MACD crossover signal.
Overview :
Moving Average Convergence Divergence Indicator Popularly Known as MACD is widely used. MACD Usually generates a lots of False signals
and noise in Lower Time Frames, making it difficult to enter a trade in sideways market. Divergence is a major issue along with sideways
movement and tangling of MACD and Signal Lines. There is no way to confirm a Default MACD signal, except to switch time frames and
verify.
Magic MACD Can be used to in combination with other signals.
This MACD uses two MACD Signals to verify the signal given by Default MACD . The Histogram Plot shown is of a higher period
MACD (close,5,50,30) values. When a signal is generated on a lower MACD it is verified by the histogram with higher time period.
Technicals Used:
1. Lower MACD-1 values 12,26 and signal-9 (crossover Signals)
2. Higher MACD-2 values 5,50 and signal-30 (Histogram)
3. EMA 50 (Histogram Filter to allow only if price above or below Ema 50)
4. EMA 5 and EMA 20 for crossover confirmation of trend
What's is in this Indicator?
1.Histogram-(higher period 5,50 and 30signal)
2. MACD crossover Signals-(lower period Default MACD setting)
3.Signal Lines-( EMA 5 & 20)
Implemented & Removed in this Indicator
1. Default MACD and Signal Lines are removed completely
2. MACD crossover are taken on lower periods and plotted as signals(Blue Triangle or Red Triangle)
3. Histogram is plotted from a higher Period providing a clear picture with Higher Time period
4. EMA 5 and EMA 20 are used for MACD signal confirmation
How to use?
Up Signal
1. MACD Default (12,26,30) up signals are shown in Blue
2. Wait till the Histogram changes Blue
3. Look for EMA signals crossover near by
Down Signal
1. MACD Default (12,26,30) up signals are shown in Red
2. Wait till the Histogram changes Red
3. Look for EMA signals crossover near by
Do's
Consider only opposite color as signals
1. Red Triangle on Blue Histogram(likely to move down direction)
2. Blue Triangle on Red Histogram (Likely to move up direction)
Don'ts
1.Ignore Blue Signal on Blue Histogram (pull back signals can be used to enter trade if you miss first crossover)
2.Ignore Red Signal on Red Histogram(pull back signals can be used to enter trade if you miss first crossover)
3.Ignore Up and Down signals till Gray or Blacked out area is finished in Histogram
Tips:
1. EMA plot also shows pull back areas along with signals
2.side by side opposite signals shows sides ways movement
3. EMA 5,20 is plotted on MACD Histogram for Additional Benefit
Thanks & Credits
To Tradingview Team for allowing me to use their default MACD version and coding it in to a MAGIC MACD by adding a few lines of code that
makes it more enhanced.
Warning...!
This is purely for Educational purpose only. Not to be used as a stand alone indicator. Usage is at your own Risk. Please get familiar with its working before implementing. Its not a Financial Advice or Suggestion . Any losses or gains is at your own risk.
[blackcat] L3 Candle Skew 3821 TraderLevel 3
Background
By modeling skew to produce long and short entry points.
Function
The concept of skew comes from physics and statistics, and is used in market technical analysis to reflect the expectation of future stock price distribution. Because the return distribution of stocks in the trend market has skew (Skew), it is reasonable to judge the trend continuity according to the historical and current skew. It is precisely because the stock price rises that there is a skew. The greater the strength of the rise, the greater the angle of inclination and the greater the skew. The degree of this upward or downward slope in the statistical distribution of stock prices is defined as skew. Through the size of skew, we can know the direction, inertia and extent of the stock's rise or fall, and find stocks with a high probability of quick profit. The technical indicator introduced today is a simplified but effective stock price skew model used to generate buying and selling points.
The principle of this technical indicator is based on the success rate test results of different moving averages corresponding to different skews as follows:
10 trading cycles profit 5% success rate (%)
5 period moving average 10 period moving average 20 period moving average 30 period moving average 60 period moving average
skew>=0 51.36 52.26 52.65 52.55 52.08
skew>=0.5 55.44 58.06 60.56 62.37 65.66
skew>=1 59.72 63.06 67.07 69.78 70.62
skew>=1.5 63.01 67.08 71.61 72.9 70.61
skew>=2 65.53 70.22 74.18 73.76 70.12
skew>=2.5 67.89 72.93 75.32 73.66 68.92
skew>=3 70.07 75.32 75.69 72.54 67.45
skew>=3.5 71.85 77.05 75.32 73.63 63.82
skew>=4 73.6 78.06 74.19 68.96 59.91
skew>=4.5 76.04 78.56 72.85 69.55 49.24
skew>=5 77.44 78.88 71.58 67.28 51.69
skew>=5.5 78.97 78.39 70.33 64.31 49.7
skew>=6 79.68 78.07 68.82 61.65 53.57
Table 1
As can be seen from the above table, with the increase of the 5-period and 10-period moving average skew values, the success rate is increasing, but after the 20- and 30-period moving average skew values increase to an upper bound, it shows a downward trend. When the skew of the 20-period and 30-period moving averages is greater than 0.5, the 10-period profit of 5% is above 60%, and when it is greater than 1.5, the success rate can reach above 70%. The larger the 5-period moving average skew, the higher the success rate, but often because the short-term skew is too large, the stock price has risen rapidly to a high level, and chasing up is risky, which is not suitable for the investment habits of most people, so prudent investors may like to do swings. Investors may wish to pay more attention to the skew of the 20-period and 30-period moving averages. Based on the above analysis, as a short-term trading enthusiast, I need to choose the 5-period and 10-period moving average skew, and consider the medium-term trend as a compromise, and I also need to consider the 20-period moving average skew. Finally, according to the principle of personal preference, I chose 3 groups of periods based on Fibonacci magic numbers: 3 periods, 8 periods, 21 periods, and skews that take into account both short-term and mid-line trends. So, I named this indicator number 3821 as a distinction.
002084 1D from TradingView
BTCUSDT 1H from TradingView
Tesla 1D from TradingView
ICT Killzones by MoziThe ICT Killzone and important times indicator.
It highlights:
 
 London Killzone
 New York Killzone
 New York Lunch Hour
 New York Day End Hour
 Asian Range
 Judas Swing Time
 
In addition to this, it highlights the US and UK holidays with a background color and a label, so that you don't miss any bank holiday and you are sitting in front of your charts and are wondering, why the chart is not moving ;-)
I manually draw vertical lines at specific times like 08:30 London, 09:30 London, 08:30 New York, 09:30 New York, 11:00 New York (Take Profit Time)
Multi TF Trend Indicator
...Mark Douglas in his book Trading in the Zone wrote
 The longer the time frame, the more significant the trend, so a trending market on a daily bar chart is more significant than a trending market on a 30-minute bar chart. Therefore, the trend on the daily bar chart would take precedence over the trend on the 30-minute bar chart and would be considered the major trend. To determine the direction of the major trend, look at what is happening on a daily bar chart. If the trend is up on the daily, you are only going to look for a sell-off or retracement down to what your edge defines as support on the 30-minute chart. That's where you will become a buyer. On the other hand, if the trend is down on the daily, you are only going to look for a rally up to what your edge defines as a resistance level to be a seller on the 30-minute chart. Your objective is to determine, in a downtrending market, how far it can rally on an intraday basis and still not violate the symmetry of the longer trend. In an up-trending market, your objective is to determine how far it can sell off on an intraday basis without violating the symmetry of the longer trend. There's usually very little risk associated with these intraday support and resistance points, because you don't have to let the market go very far beyond them to tell you the trade isn't working. 
 
The purpose of this indicator to show both the major and minor trend on the same chart with no need to switch between timeframes 
 Script includes 
 
 timeframe to determine the major trend
 price curve, close price is default, but you can pick MA you want
 type of coloring, either curve color or the background color
 
 Implementation details 
 
  major trend is determined by the slope of the price curve
 
 Further improvements 
 
  a variation of techniques for determining the major trend (crossing MA, pivot points etc.)
  major trend change alerts
 
Thanks @loxx for pullData helper function 
TARVIS Labs - Bitcoin Macro Bottom/Top SignalsSCRIPT DESCRIPTION 
This is a script specifically written to help provide indicators from a macro view. This script is best run on the 1 day interval on Bitstamp's $BTCUSD chart. It helps indicate when to accumulate bitcoin, and when its in a bull run when there are local tops, strong top warnings, and a signal to exit a bull run. This is described further below.
If you don't have interest in trading on the way to the top I suggest turning off the following indicators in the settings of the indicator:
- Opportunity To Buy Back In Indicator
- Local Top Near Bull Run Top Indicator
 ACCUMULATION ZONE INDICATOR - LIGHT GREEN 
 Description 
When we look at the history of Bitcoin every bottom has crossed below the 100 week EMA. Once it does its accompanied by hash ribbon cross with miner capitulation. After that is the prime time to accumulate as theres a clearer signal the bottom is in. Specifically, a signal to look for is the 14 day MACD/signal cross and the 14 day MACD continuing to stay above the signal until the price returns above the 100 week EMA. This is prime accumulation territory.
 Strategy for Usage 
A good strategy to use when accumulating the bottom is dollar-cost averaging over a 30 day period. The accumulation zone can last longer than 30 days but 30 days is a good range of time to DCA.
 STRONG BUY IN ACCUMULATION ZONE INDICATOR - DARK GREEN 
 Description 
We can add to the bottoming signal by looking for post-downtrend reversals inside the bottoming signal. We do this by using a 9/19 daily cross.
 Strategy for Usage 
These post-downtrend reversals can potentially provide better targeted days for accumulation than the broader bottoming signal and can be used to add more on that day than on an average day for the dollar cost average strategy. Say for example, use 1/3 of funds on these days rather than 1/30th. 
 OPPORTUNITY TO BUY BACK IN INDICATOR - BLUE 
 Description 
When the 1d 18 EMA > 1d 63 EMA and the 12/52 1d crosses. These together provide good buy opportunities to buy bitcoin.
 Strategy for Usage 
If you happen to find yourself out of the market from your own TA or a trade, this signal can provide a buy opportunity to reenter the market if you're out of it. 
 BULL RUN LOCAL TOP INDICATOR - ORANGE 
 Description 
We will similarly use the 100 week EMA to determine trend reversal into a bull run. When we see the 100 week EMA uptrending, we can begin to look for local tops using the 9/19 daily MACD/signal bearish cross along with the 12 EMA having a negative slope, which could be the beginning signal for a local top.
 Strategy for Usage 
This is a rather light indicator, but can be used in tandem with your own technical analysis to determine if you want to reenter after you exit from its signal. 
 LOCAL TOP NEAR BULL RUN TOP INDICATOR - RED 
 Description 
When the 100 week EMA is in an uptrend we can look for significant loss of momentum in order to determine if a local top is in near a bull run top. Similar to the Bull Run Local Top Indicator, this strategy uses a MACD/signal cross but instead uses the 30/65 day EMAs. 
 Strategy for Usage 
Ideally the right strategy to use here is to exit the market when this indicator starts. When the indicator ends if the "End of Bull Run Indicator" is not showing on the chart you can buy back into the market. 
 TOP IS LIKELY IN INDICATOR 
 Description 
When the 100 week EMA is in a very strong uptrend and the 9/19 weekly MACD/signal bearish cross occurs, and the 63 EMA begins to downtrend. 
 Strategy for Usage 
This signal typically accompanies the "Local Top Near Bull Run Top Indicator" therefore if you're following the strategy you would likely already be out of the market, but if you're not and this signal fires its a strong signal the top is in and we're likely going to start seeing a strong retrace. This is typically right before we see the "End of Bull Run Indicator". There is only one occurrence where it wasn't followed by a large drop & the "End of Bull Run Indicator" and that was in the 2017 bull run where there were many strong retracements post local top. The likelihood we see that again is low, but if it were to happen you can buy back into the market when the "Top is Likely In Indicator" and the "Local Top Near Bull Run Top Indicator" are not firing.
 TOP IS LIKELY IN INDICATOR 
 Description 
When the 100 week EMA is in a strong uptrend and the 9/19 weekly MACD/signal bearish cross occurs, and the 63 EMA begins to downtrend. 
 Strategy for Usage 
This signal typically accompanies the "Local Top Near Bull Run Top Indicator" therefore if you're following the strategy you would likely already be out of the market, but if you're not and this signal fires its a strong signal the top is in and we're likely going to start seeing a strong retrace. This is typically right before we see the "End of Bull Run Indicator". There is only one occurrence where it wasn't followed by a large drop & the "End of Bull Run Indicator" and that was in the 2017 bull run where there were many strong retracements post local top. The likelihood we see that again is low, but if it were to happen you can buy back into the market when the "Top is Likely In Indicator" and the "Local Top Near Bull Run Top Indicator" are not firing.
 END OF BULL RUN INDICATOR 
 Description 
When the 100 week EMA is in an uptrend and the 1d 18 EMA crosses the 1d 63 EMA. 
 Strategy for Usage 
When the 100 week EMA is a strong uptrend and the 18/63 cross occurs the top is very likely in. It has occurred in every bull run top leading to the bear market.
Time█   OVERVIEW 
This library is a Pine Script™ programmer’s tool containing a variety of time related functions to calculate or measure time, or format time into string variables.
█   CONCEPTS 
 `formattedTime()`, `formattedDate()` and `formattedDay()` 
Pine Script™, like many other programming languages, uses timestamps in UNIX format, expressed as the number of milliseconds elapsed since 00:00:00 UTC, 1 January 1970. These three functions convert a UNIX timestamp to a formatted string for human consumption. 
These are examples of ways you can call the functions, and the ensuing results:
 CODE                                                            RESULT
formattedTime(timenow)                                  >>>     "00:40:35"
formattedTime(timenow, "short")                         >>>     "12:40 AM"
formattedTime(timenow, "full")                          >>>     "12:40:35 AM UTC"
formattedTime(1000 * 60 * 60 * 3.5, "HH:mm")            >>>     "03:30"
formattedDate(timenow, "short")                         >>>     "4/30/22"
formattedDate(timenow, "medium")                        >>>     "Apr 30, 2022"
formattedDate(timenow, "full")                          >>>     "Saturday, April 30, 2022"
formattedDay(timenow, "E")                              >>>     "Sat"
formattedDay(timenow, "dd.MM.yy")                       >>>     "30.04.22"
formattedDay(timenow, "yyyy.MM.dd G 'at' hh:mm:ss z")   >>>     "2022.04.30 AD at 12:40:35 UTC" 
These functions use  str.format()  and some of the special formatting codes it allows for. Pine Script™ documentation does not yet contain complete specifications on these codes, but in the meantime you can find some information in the  The Java™ Tutorials  and in Java documentation of its  MessageFormat class . Note that  str.format()  implements only a subset of the MessageFormat features in Java.
 `secondsSince()` 
The introduction of  varip  variables in Pine Script™ has made it possible to track the time for which a condition is true when a script is executing on a realtime bar. One obvious use case that comes to mind is to enable trades to exit only when the exit condition has been true for a period of time, whether that period is shorter that the chart's timeframe, or spans across multiple realtime bars.
For more information on this function and  varip  please see our  Using `varip` variables  publication. 
 `timeFrom( )` 
When plotting  lines ,  boxes , and  labels  one often needs to calculate an offset for past or future end points relative to the time a condition or point occurs in history. Using  xloc.bar_index  is often the easiest solution, but some situations require the use of  xloc.bar_time . We introduce  `timeFrom()`  to assist in calculating time-based offsets. The function calculates a timestamp using a negative (into the past) or positive (into the future) offset from the current bar's starting or closing time, or from the current time of day. The offset can be expressed in units of chart timeframe, or in seconds, minutes, hours, days, months or years. This function was ported from our  Time Offset Calculation Framework .
 `formattedNoOfPeriods()` and `secondsToTfString()`  
Our final two offerings aim to confront two remaining issues: 
 How much time is represented in a given timestamp? 
How can I produce a "simple string" timeframe usable with  request.security()  from a timeframe expressed in seconds? 
 `formattedNoOfPeriods()`  converts a time value in ms to a quantity of time units. This is useful for calculating a difference in time between 2 points and converting to a desired number of units of time. If no unit is supplied, the function automatically chooses a unit based on a predetermined time step. 
 `secondsToTfString()`  converts an input time in seconds to a target timeframe string in  timeframe.period  string format. This is useful for implementing stepped timeframes relative to the chart time, or calculating multiples of a given chart timeframe. Results from this function are in  simple  form, which means they are useable as `timeframe` arguments in functions like  request.security() . 
 
█   NOTES 
Although the example code is commented in detail, the size of the library justifies some further explanation as many concepts are demonstrated. Key points are as follows: 
 • Pivot points are used to draw lines from.  `timeFrom( )`  calculates the length of the lines in the specified unit of time.
  By default the script uses 20 units of the charts timeframe. Example: a 1hr chart has arrows 20 hours in length.
 • At the point of the arrows  `formattedNoOfPeriods()`  calculates the line length in the specified unit of time from the input menu. 
  If  “Use Input Time”  is disabled, a unit of time is automatically assigned. 
 • At each pivot point a label with a formatted date or time is placed with one of the three formatting helper functions to display the time or date the pivot occurred. 
 • A label on the last bar showcases  `secondsSince()` . The label goes through three stages of detection for a timed alert.
  If the difference between the high and the open in ticks exceeds the input value, a timer starts and will turn the label red once the input time is exceeded to simulate a time-delayed alert. 
 • In the bottom right of the screen  `secondsToTfString()`  posts the chart timeframe in a table. This can be multiplied from the input menu. 
 Look first. Then leap.  
█   FUNCTIONS 
 formattedTime(timeInMs, format)  
  Converts a UNIX timestamp (in milliseconds) to a formatted time string.
  Parameters:
     timeInMs : (series float) Timestamp to be formatted. 
     format : (series string) Format for the time. Optional. The default value is "HH:mm:ss".
  Returns: (string) A string containing the formatted time.
 formattedDate(timeInMs, format)  
  Converts a UNIX timestamp (in milliseconds) to a formatted date string.
  Parameters:
     timeInMs : (series float) Timestamp to be formatted. 
     format : (series string) Format for the date. Optional. The default value is "yyyy-MM-dd".
  Returns: (string) A string containing the formatted date.
 formattedDay(timeInMs, format)  
  Converts a UNIX timestamp (in milliseconds) to the name of the day of the week.
  Parameters:
     timeInMs : (series float) Timestamp to be formatted. 
     format : (series string) Format for the day of the week. Optional. The default value is "EEEE" (complete day name).
  Returns: (string) A string containing the day of the week.
 secondsSince(cond, resetCond)  
  The duration in milliseconds that a condition has been true.
  Parameters:
     cond : (series bool) Condition to time.       
     resetCond : (series bool) When `true`, the duration resets. 
  Returns: The duration in seconds for which `cond` is continuously true.
 timeFrom(from, qty, units)  
  Calculates a +/- time offset in variable units from the current bar's time or from the current time.
  Parameters:
     from : (series string) Starting time from where the offset is calculated: "bar" to start from the bar's starting time, "close" to start from the bar's closing time, "now" to start from the current time.
     qty : (series int) The +/- qty of units of offset required. A "series float" can be used but it will be cast to a "series int".
     units : (series string) String containing one of the seven allowed time units: "chart" (chart's timeframe), "seconds", "minutes", "hours", "days", "months", "years".
  Returns: (int) The resultant time offset `from` the `qty` of time in the specified `units`.
 formattedNoOfPeriods(ms, unit)  
  Converts a time value in ms to a quantity of time units.
  Parameters:
     ms : (series int) Value of time to be formatted. 
     unit : (series string) The target unit of time measurement. Options are "seconds", "minutes", "hours", "days", "weeks", "months". If not used one will be automatically assigned. 
  Returns: (string) A formatted string from the number of `ms` in the specified `unit` of time measurement
 secondsToTfString(tfInSeconds, mult)  
  Convert an input time in seconds to target string TF in `timeframe.period` string format.
  Parameters:
     tfInSeconds : (simple int) a timeframe in seconds to convert to a string.       
     mult : (simple float) Multiple of `tfInSeconds` to be calculated. Optional. 1 (no multiplier) is default. 
  Returns: (string) The `tfInSeconds` in `timeframe.period` format usable with `request.security()`.
Realtime FootprintThe purpose of this script is to gain a better understanding of the order flow by the footprint. To that end, i have added unusual features in addition to the standard features.
I use "Real Time 5D Profile by LucF" main engine to create basic footprint(profile type) and added some popular features and my favorites.
This script can only be used in realtime, because tradingview doesn't provide historical Bid/Ask date.
Bid/Ask date used this script are up/down ticks.
This script can only be used by time based chart (1m, 5m , 60m and daily etc)
This script use many labels and these are limited max 500, so you can't display many bars. 
If you want to display foot print bars longer, turn off the unused sub-display function.
Default setting is footprint is 25 labels, IB count is 1, COT high and Ratio high is 1, COT low and Ratio low is 1 and Delta Box Ratio Volume is 1 , total 29.
plus UA , IB stripes , ladder fading mark use several labels.
///////// General Setting ///////////
Resets on Volume / Range bar
: If you want to use simple time based Resets on, please set Total Volume is 0.
   Your timeframe is always the first condition. So if you set Total Volume is 1000, both conditions(Volume >= 1000 and your timeframe start next bar) must be met. (that is, new footprint bar doesn't start at when total volume = exactly 1000).
Ticks per row and Maximum row of Bar
: 1 is minimum size(tick). "Maximum row of Bar" decide the number of rows used in one footprint. 1 row is created from 1 label, so you need to reduce this number to display many footprints (Max label is 500).
Volume Filter and  For Calculation and Display
: "Volume Filter" decide minimum size of using volume for this script. 
   "For Calculation and Display"  is used to convert volume to an integer.
   This script only use integer to make profile look better (I contained Bid number and Ask number in one row( one label) to saving labels. This require to make no difference in width by the number of digits and this script corresponds integers from 0 to 3 digits).
   ex) Symbol average volume size is from 0.0001 to 0.001. You decide only use Volume >= 0.0005 by "Volume Filter". 
        Next, you convert volume to integer, by setting "For Calculation and Display" is 1000 (0.0005 * 1000 = 5). 
        If 0.00052 → 5.2 → 5, 0.00058 → 5.8 → 6 (Decimal numbers are rounded off)
   This integer is used to all calculation in this script.
   
//////// Main Display ///////
Footprint, Total, Row Delta, Diagonal Delta and Profile
: "Footprint" display Ask and Bid per row. "Total" display Ask + Bid per row.
   "Row Delta" display Ask - Bid per row. "Diagonal Delta" display Ask(row N) - Bid(row N -1) per row.
   Profile display Total Volume(Ask + Bid) per row by using Block. Profile Block coloring are decided by Row Delta value(default: positive Row Delta (Ask > Bid) is greenish colors and negative Row Delta (Ask < Bid) is reddish colors.)
Volume per Profile Block, Row Imbalance Ratio and Delta Bull/Bear/Neutral Colors
: "Volume per Profile Block" decide one block contain how many total volume.
   ex) When you set 20, Total volume 70 display 3 block.
   The maximum number of blocks that can be used per low is 20. 
   So if you set 20, Total volume 400 is 20 blocks. total volume 800 is 20 blocks too. 
   "Row Imbalance Ratio" decide block coloring. The row imbalance is that the difference between Ask and Bid (row delta) is large.
    default is x3, x2 and x1. The larger the difference, the brighter the color.
    ex) Ask 30 Bid 10 is light green. Ask 20 Bid 10 is green. Ask 11 Bid 10 is dark green.
        Ask 0 Bid 1 is light red. Ask 1 Bid 2 is red. ask 30 Bid 59 is dark green.
        Ask 10 Bid 10 is neutral color(gray)
   profile coloring is reflected  same row's other elements(Ask, Bid, Total and Delta) too.
   It's because one label can only use one text color.
  
/////// Sub Display /////// 
Delta, total and Commitment of Traders
: "Delta" is total Ask - total Bid in one footprint bar. Total is total Ask + total Bid in one footprint bar.
  "Commitment of traders" is variation of "Delta". COT High is reset to 0 when current highest is touched. COT Low is opposite.
  Basic concept of Delta is to compare price with Delta. Ordinary, when price move up, delta is positive. Price move down is negative delta.
  This is because market orders move price and market orders are counted by Delta (although this description is not exactly correct).
  But, sometimes prices do not move even though many market orders are putting pressure on price , or conversely, price move strongly without many market orders.
  This is key point. Big player absorb market orders by iceberg order(Subdivide large orders and pretend to be small limit orders. 
  Small limit orders look weak in the order book, but they are added each time you fill, so they are more powerful than they look.), so price don't move. 
  On the other hand, when the price is moving easily, smart players may be aiming to attract and counterattack to a better price for them.
  It's more of a sport than science, and there's always no right response. Pay attention to the relationship between price, volume and delta.
  ex) If COT Low is large negative value, it means many sell market orders is coming, but iceberg order is absorbing their attack at limit order.
  you should not do buy entry, only this clue. but this is one of the hints.
  "Delta, Box Ratio and Total texts is contained same label and its color are "Delta" coloring. Positive Delta is Delta Bull color(green),Negative Delta is Delta Bear Color
  and Delta = 0 is Neutral Color(gray). When Delta direction and price direction are opposite is Delta Divergence Color(yellow).
  I didn't add the cumulative volume delta because I prefer to display the CVD line on the price chart rather than the number.
Box Ratio , Box Ratio Divisor and Heavy Box Ratio Ratio
: This is not ordinary footprint features, but I like this concept so I added.
  Box Ratio by Richard W. Arms is simple but useful tool. calculation is "total volume (one bar) divided by Bar range (highest - lowest)."
  When Bull and bear are fighting fiercely this number become large, and then important price move happen.  
  I made average BR from something like 5 SMA and if current BR exceeds average BR x (Heavy Box Ratio Ratio), BR box mark will be filled. 
  Box Ratio Divisor is used to good looking display(BR multiplied by Box Ratio Divisor is rounded off and displayed as an integer)
  
Diagonal Imbalance Count , D IB Mark and D IB Stripes
: Diagonal Imbalance is defined by "Diagonal Imbalance Ratio".
  ex) You set 2. When Ask(row N) 30 Bid(row N -1)10, it's  30 > 10*2, so positive Diagonal Imbalance.
      When Ask(row N) 4 Bid(row N -1)9, it's  4*2 < 9, so negative Diagonal Imbalance.
      This calculation does not use equals to avoid Ask(row N) 0 Bid(row N -1)0 became Diagonal Imbalance.
       Ask(row N) 0 Bid(row N -1)0, it's  0 = 0*2, not Diagonal Imbalance. Ask(row N) 10 Bid(row N -1)5, it's  10 = 5*2, not Diagonal Imbalance.
  "D IB Mark" emphasize Ask or Bid number which is dominant side(Winner of Diagonal Imbalance calculation), by under line. 
  "Diagonal Imbalance Count" compare Ask side D IB Mark to Bid side D IB Mark in one footprint.
   Coloring depend on which is more aggressive side (it has many IB Mark) and When Aggressive direction and price direction are opposite is Delta Divergence Color(yellow).
  "D IB Stripes" is a function that further emphasizes with an arrow Mark, when a DIB mark is added on the same side for three consecutive row. Three consecutive arrow is added at third row.
Unfinished Auction, Ratio Bounds and Ladder fading Mark
: "Unfinished Auction" emphasize highest or lowest row which has both Ask and Bid, by Delta Divergence Color(yellow) XXXXXX mark.
  Unfinished Auction sometimes has magnet effect, price may touch and breakout at UA side in the future. 
  This concept is famous as profit taking target than entry decision.
  But, I'm interested in the case that Big player make fake breakout at UA side and trapped retail traders, and then do reversal with retail traders stop-loss hunt. 
  Anyway, it's not stand alone signal.
  "Ratio Bounds" gauge decrease of pressure at extreme price. Ratio Bounds High is number which second highest ask is divided by highest ask. 
  Ratio Bounds Low is number which second lowest bid is divided by lowest bid. The larger the number, the less momentum the price has.
  ex)first footprint bar has Ratio Bounds Low 2, second footprint bar has RBL 4, third footprint bar has RBL 20. 
  This indicates that the bear's power is gradually diminishing.
  "Ladder fading mark" emphasizes the decrease of the value in 3 consecutive row at extreme price. I added two type Marks.
  Ask/Bid type(triangle Mark) is Ask/Bid values are decreasing of three consecutive row at extreme price. 
  Row Imbalance type(Diamond Mark) are row Imbalance values are decreasing of three consecutive row at extreme price. 
  ex)Third lowest Bid 40, second lowest Bid 10 and lowest Bid 5 have triangle up Mark. That is bear's power is gradually diminishing.
     (This Mark only check Bid value at lowest price and Ask value at highest price).
     Third highest row delta + 60, second highest row delta + 5, highest delta - 20 have diamond Mark. That is Bull's power is gradually diminishing.
  Sub display use Delta colors at bottom of Sub display section.
////// Candle & POC /////////
candle and POC
: Ordinary, "POC" Point of Control is row of largest total volume, but this script'POC is volume weighted average.
  This is because the regular POC was visually displayed by the profile ,and I was influenced LucF's ideas.
  POC coloring is decided in relation to the previous POC. When current POC is higher than previous POC, color is UP Bar Color(green).
  In the opposite case, Down Bar color is used.
  POC Divergence Color is used when Current POC is up but current bar close is lower than open (Down price Bar),or in the opposite case. 
  POC coloring has option also highlight background by Delta Divergence Color(yellow). but bg color is displayed at your time frame current price bar not current footprint bar.
  
The basic explanation is over.
I add some image to promote understanding basic ideas.
  
  
  
   
30min_breakEnglish:
It is an indicator that displays the high and low prices as of 30 minutes before the event,
and when you break it, you can see it with a balloon.
The high and low lines at 30 minutes before the front are shown as candidates for support lines and resistance lines.
Used in the minute chart
Japanese:
前場 30分時点の 高値・安値の線を表示し、そこをBreakしたら吹き出しでわかるようにしたインジケーターです
前場 30分時点の 高値安値の線を支持線・抵抗線の候補として図示します。
分足のチャートで利用します
30min_breakEnglish:
It is an indicator that displays the high and low prices as of 30 minutes before the event,
and when you break it, you can see it with a balloon.
The high and low lines at 30 minutes before the front are shown as candidates for support lines and resistance lines.
Used in the minute chart
Japanese:
前場 30分時点の 高値・安値の線を表示し、そこをBreakしたら吹き出しでわかるようにしたインジケーターです
前場 30分時点の 高値安値の線を支持線・抵抗線の候補として図示します。
分足のチャートで利用します
Timeframe Time of Day Buying and Selling StrategyThis strategy allows you to back test longing or shorting or do nothing during time increments of 30 minutes. The price trends in one direction every 30 minutes and this strategy allows you to test various 30 minute time frames across a range of dates to capitalize on this.
Make sure you are in the 30 minute time frame while viewing the performance and trade history.
McClellan Oscillator for DAX (GER30) [aftabmk modified]About McClellan Oscillator 
Developed by Sherman and Marian McClellan, the McClellan Oscillator is a breadth indicator derived from Net Advances, the number of advancing issues less the number of declining issues. Subtracting the 39-day exponential moving average of Net Advances from the 19-day exponential moving average of Net Advances forms the oscillator.
As the formula reveals, the McClellan Oscillator is a momentum indicator that works similar to MACD .
McClellan Oscillator signals can be generated with breadth thrusts, centerline crossovers, overall levels and divergences.
 About my version 
This version here is a modification, though:
- It can only be used on the DAX index (DAX 30 or GER 30)
- It only considers the DAX 30 stocks
- The data window will provide a summary about rising and declining stocks
- The data window will output the last change for each of the 30 stocks
 BUG 
I am only publishing this version because I am not sure if my current version is saved when I leave tradingview.com without publishing the script.
This version still contains a bug - the if/else clauses do not correctly recognize declining stocks. So the oscillator should not be used as it is.
Working on it these days. Feel free to provide feedback!
 Stuff I am working on 
- Coloring the area green/red according to the value
- Fixing this bug/making this script more efficient
 DISCLAIMER 
This script was mainly written for educational purposes (training myself how to write custom indicatotors).
As you can see, the code is really messy.
 Credits 
Based on the simple version of aftabmk
You can find the original version by searching for McClellan Oscillator for nifty 50.
Gann RetracementThe indicator is based on W. D. Gann's method of retracement studies. Gann looked at stock retracement action in terms of Halves (1/2), Thirds (1/3, 2/3), Fifths (1/5, 2/5, 3/5, and 4/5) and more importantly the Eighths (1/8, 2/8, 3/8, 4/8, 5/8, 6/8, and 7/8). Needless to say, {2, 3, 5, 8} are the only Fibonacci numbers between 1 to 10. These ratios can easily be visualized in the form of division of a Circle as follows : 
 
  Divide the circle in 12 equal parts of 30 degree each to produce the Thirds :
30 x 4 = 120 is 1/3 of 360
30 x 8 = 240 is 2/3 of 360
The 30 degree retracement captures fundamental geometric shapes like a regular Triangle (120-240-360), a Square (90-180-270-360), and a regular Hexagon (60-120-180-240-300-360) inscribed inside of the circle.
  Now, divide the circle in 10 equal parts of 36 degree each to produce the Fifths :
36 x 2 = 72 is 1/5 of 360
36 x 4 = 144 is 2/5 of 360
36 x 6 = 216 is 3/5 of 360
36 x 8 = 288 is 4/5 of 360
where, (72-144-216-288-360) is a regular Pentagon.
  Finally, divide the circle in 8 equal parts of 45 degree each to produce the Eighths :
45 x 1 = 45 is 1/8 of 360
45 x 2 = 90 is 2/8 of 360 
45 x 3 = 135 is 3/8 of 360 
45 x 4 = 180 is 4/8 of 360 
45 x 5 = 225 is 5/8 of 360 
45 x 6 = 270 is 6/8 of 360 
45 x 7 = 315 is 7/8 of 360 
where, (45-90-135-180-225-270-315-360) is a regular Octagon.
 
 How to Use this indicator ? 
The indicator generates Gann retracement levels between any two significant price points, such as a high and a low.
 Input : 
 
  Swing High (significant high price point, such as a top)
  Swing Low (significant low price point, such as a bottom)
  Degree (degree of retracement)
 
 Output : 
Gann retracement levels (color coded as follows) :
 
  Swing High and Swing Low (BLUE)
  50% retracement (ORANGE)
  Retracements between Swing Low and 50% level (RED)
  Retracements between 50% level and Swing High (LIME)
 
Bollinger Bands %B + ATR This indicator is best suitable for the 30-minutes interval OIL charts, due to ATR accuracy. 
BB%B is great for showing oversold/overbought market conditions and offers excellent entry/exit opportunities for Day Trading (30 minutes chart), as well as reliable convergence/divergence patterns. ATR is conveniently combined and shows potential market volatility levels for the day when used in 30-minutes charts, thus demarcating your day trade exit point.  
To use the ATR on this indicator:  Just read the ATR value of the lowest (for a new bull trend) or the highest (for a new bear trend) candlestick of the newly formed trend leg. Let's suppose the ATR reads 0.2891, then you project a move of 2.891 points towards the given trend direction using the ruler tool (30-minutes charts). That's all, and there you have your take profit target!
Good Luck!!! 
ADX strategy (considering  ADX and +DI only )I have been checking the strategies on ADX indicator.  
I have found that +DI  crossing  above ADX line  under  threshold 30  and   exit on crossdown when ADX above 30 has better results   than just following crossovers of +DI and -DI ,    ADX crossing above 30 .
BUY Rule
========
fast ema  is above  slow ema    (default 13 and 55 , you can change these values in settings)
+DI  cross above ADX    well beloe threshold level  (default 30)
Exit reule
========
when  +DI  cross down ADX   , well above on threshold level 
Stop Loss
=========
Default is set to 8%
Take a look and let me know how your symbol  works with this strategy
Note : Bar color changes to yellow when the BUY condition is met.
Bar color and Background color   shows  to blue  --- if Long position is active 
fast ema and long ema doesnt print on the chart -- please add manually to the chart
Warning :  for the use of educational purposes only
EulerMethod: DeltaEN 
Shows the  Integral Volume Delta  (IVD)
It is a detailed OBV. Each bar sums up the volume for bars of a shorter timeframe.
For example, inside a 1M bar, every 12h bar is added up, and inside a 1h bar, every 1min bar is added. Thus, a conditional volume delta inside the bar is obtained.
The indicator for each bar shows the volume of purchases (positive), sales (negative) and the difference — IVD
The delta histogram is thicker than the volume histograms
 Settings detalisation 
M   — 6 hours, 12 hours and 1 day for the M timeframe (720 by default)
W   — 4 hours, 6 hours and 12 hours for the W timeframe (240 by default)
D   — 30 minutes, 1 hour and 2 hours for the D timeframe (60 by default)
H   — 1 minute, 5 minutes and 15 minutes for timeframes  [1h, D) (default is 1)
For timeframes of 15m and less, the calculation is carried out by minute bars
 VSA mode 
The classic OBV adds volume to the cumulative sum under the condition Сlose (n) > Close (n-1) and subtracts it under the condition Close (n) < Close (n-1)
When VSA mode is disabled, all volumes are summed up under these conditions.
When the VSA approximation is turned on, the volume per bar of detail is divided by the factor (Close - Low) / (High - Low)
That is, it takes into account the spread per bar and closing relative to the spread. VSA is enabled by default
 A/D mode 
Shows the cumulative Accumulation / Distribution Index
The delta of the detail bar is multiplied by (High + Low + Close) / 3 bars, the result is added to the cumulative sum
No additional price conversions required due to integral summation
Index line view is customizable
  EM Delta does not receive intermediate values in real time.
To see the result, wait until the bar closes or switch to a smaller timeframe
 RU 
 
Показывает  Интегральную Дельту Объёма  (ИДО)
Представляет собой детализированный OBV. В каждом баре суммируется объём за бары меньшего таймфрейма. 
Например, внутри 1М-бара суммируется каждый 12h-бар, а внутри 1h — каждый 1m-бар. Таким образом получается условная дельта объёма внутри бара
Индикатор на каждый бар показывает объём покупок (положительный), объём продаж (отрицательный) и разницу — ИДО
Гистограмма дельты толще гистограмм объёмов
 Настройки детализации внутри бара 
M   — 6 часов, 12 часов и 1 день для таймфрейма M (по-умолчанию 720)
W   — 4 часа, 6 часов и 12 часов для таймфрейма W (по-умолчанию 240)
D   — 30 минут, 1 час и 2 часа для таймфрейма D (по-умолчанию 60)
H   — 1 минута, 5 минут и 15 минут для таймфреймов  [1h, D) (по-умолчанию 1)
Для таймфреймов 15m и меньше расчёт ведётся по минутным барам
 Режим VSA 
Классический OBV прибавляет объём к кумулятивной сумме при условии Сlose(n) > Close(n-1) и отнимает при условии Close(n) < Close(n-1)
При отключении режима VSA все объёмы суммируются по этим условиям
При включённой VSA-аппроксимации объём за бар детализации делится по фактору (Close - Low) / (High - Low)
То есть учитывает спред за бар и закрытие относительно спреда. По-умолчанию режим VSA включен
 Режим A/D 
Показывает кумулятивный индекс Накопления/Распределения
Дельта бара детализации умножается на (High + Low + Close) / 3 бара, результат прибавляется к кумулятивной сумме
Дополнительные преобразования цены не требуются ввиду интегрального суммирования
Вид линии индекса настраивается
   EM Delta не получает промежуточные значения в реальном времени. 
Чтобы увидеть результат, дождитесь закрытия бара или перейдите на меньший таймфрейм
Crypto Trading Hours UTC based on Berlin time (UTC +2)Although crypto markets trade 24/7, there are spikes in volume according to the general hours at which different parts of the world do the majority of their trading.
This Script highlights the US, European and Asian markets when they are most active. The normal market hours are always from 08:00 to 16:30 local time. 
US market opens at 8:00 Silicon Valley local time, and closes at 16:30 New York local time.
European market opens at 8:00 London local time, and closes at 16:30 Frankfurt local time.
Asian market opens at 8:00 Hong Kong local time, and closes at 16:30 Sydney local time.
Supertrend MTF LAG ISSUEThis script based on 
we all use Super trend but it main issue is the lag as it buy too late or sell too late 
using Deavaet study of Heat map MTF we can do a little trick 
if you look on his study you can see that major signal for example will happen  in the time frame before it happen at larger time frame
so in this example if signal at MTF 30 min and signal at MTF 60 min happen at the same time at 2 hours or 4 hours candles then this signal are more likely to be true then random signal at each time frame specific.
since we use shorter time frame on larger time frame we can remove the lag issue that make supertrend not so effective 
In this example I set the signal to be MTF 30 +60 om 2 hour TF , can be good also for 4 hour candles..
So you get the signal to close inside the larger candle 
now if you want to make on even shorter TF then change the code to 15 and 30 MTF on candles on 1 hour 
or 1 and 5 min on 30 min or 15 min 
 
Panchang Time//This indicator is required in NimblrTA and can be used to define timeslots for the trend confirmation
study("Panchang Time", overlay=true)
timeinrange(res, sess) => time(res, sess) != 0
premarket = #C0C0C0 
regular = #0000FF
regularslot2 = #00CCFF
postmarket = #5000FF
notrading = na
sessioncolor = timeinrange("30", "0915-0930") ? premarket : timeinrange("30", "0915-0930") ? regular : timeinrange("30", "0931-1200") ? regularslot2 : timeinrange("30", "1201-1305") ? postmarket : notrading
bgcolor(sessioncolor, transp=90)
extended session - Regular  Opening-Range- JayyOpening Range and some other scripts updated to plot correctly (see comments  below.)  There are three variations of the fibonacci expansion beyond the opening range and retracements within the  opening range of the US Market session - I have not  put in the script for the other markets yet.
The three scripts have different uses and strengths:
The extended session script (with the script here below) will plot the opening range whether you are using the extended session or the regular session.   (that is to say whether "ext" in the lower right hand corner is highlighted or not.).  While in the extended session the opening range has some plotting issues with periods like 13 minutes or any period that is not divisible into 330 mins with a round number outcome  (eg 330/60 =5.5.  Therefore an hour long opening range has problems in the extended session.
The pre session script is only for the premarket.  You can select any opening range period you like.  I have set the opening range to be the full premarket session.  If you select a different session you will have to unselect  "pre open to 9:30 EST for Opening Range?" in the format section.  The script defaults to 15 minutes in the "period Of Pre Opening Range?".  To go back to the 4 am to 9:30 pre opening range select  "pre open to 9:30 EST for Opening Range?" there is no automatic 330 minute selection.
The past days offset script only works in 5 min or 15 minute period.  It will show the opening range from up to 20 days past over the current days price action.  Use this for the regular session only.  0 shows the current day's opening range. Use the positive integers for number of days back  ie 1, 2, 3 etc not -1, -2, -3 etc.  The script is preprogrammed to use the current day (0).
 Scripts updated to plot correctly:  One thing they all have in common is a way of they deal with a somewhat random problem that shifts the plots 4 hours in one direction or the other ie  the plot started at 9:30 EST or 1:30PM EST. This issue started to occur approximately June 22, 2015 and impacts any script that tried to use "session" times to manage a plot in my scripts.  The issue now seems to have been resolved during this past week.   
 Just in case the problem reoccurs I have added a "Switch session plot?" to each script.  If the plot looks funny check or uncheck the "Switch session plot?" and see the difference.  Of course if a new issue crops up it will likely require a different fix.
I have updated all of the scripts shown on this chart.  If you are using a script of mine that suffers from the compiler issue then you will find an update on this chart.  You can get any and all of the scripts by clicking on the small sideways wishbone on the left middle of  the chart.  You will see a dialogue box.  Then click "make it mine".  This will import all of the scripts to your computer and you can play around with them all to decide what you want and what you don't want.  This is the easiest way to get all of the scripts in one fell swoop.  It is also the easiest way for me to make all of the scripts available.  I do not have all of the plots visible since it is too messy and one of the scripts (pre OR) is only for the regular session.  To view the scripts click on the blue eye to the right of the script title to show it on this script.  If you can only use the regular session.  The scripts will all (with the exception of the pre OR) work fine.
If for any reason this script seems flakey refresh the page r try a slightly different period.  I have noticed that sometimes randomly the script loves to return to the 5 min OR.  This is a very new issue transient issue.  As always if you see an issue please let me know.
Cheers Jayy
Advanced Psychological Levels with Dynamic Spacing═══════════════════════════════════════
 ADVANCED PSYCHOLOGICAL LEVELS WITH DYNAMIC SPACING 
═══════════════════════════════════════
A comprehensive psychological price level indicator that automatically identifies and displays round number levels across multiple timeframes. Features dynamic ATR-based spacing, smart crypto detection, distance tracking, and customizable alert system.
───────────────────────────────────────
 WHAT THIS INDICATOR DOES 
───────────────────────────────────────
This indicator automatically draws psychological price levels (round numbers) that often act as support and resistance:
- Dynamic ATR-Based Spacing - Adapts level spacing to market volatility
- Multiple Level Types - Major (250 pip), Standard (100 pip), Mid, and Intraday levels
- Smart Asset Detection - Automatically adjusts for Forex, Crypto, Indices, and CFDs
- Crypto Price Adaptation - Intelligent level spacing based on cryptocurrency price magnitude
- Distance Information Table - Real-time percentage distance to nearest levels
- Combined Level Labels - Clear identification when multiple level types coincide
- Performance Optimized - Configurable visible range and label limits
- Comprehensive Alerts - Notifications when price crosses any level type
───────────────────────────────────────
 HOW IT WORKS 
───────────────────────────────────────
 PSYCHOLOGICAL LEVELS CONCEPT: 
Psychological levels are round numbers where traders tend to place orders, creating natural support and resistance zones. These include:
- Forex: 1.0000, 1.0100, 1.0050 (pips)
- Crypto: $100, $1,000, $10,000 (whole numbers)
- Indices: 10,000, 10,500, 11,000 (points)
Why They Matter:
- Traders naturally gravitate to round numbers
- Stop losses cluster at these levels
- Take profit orders concentrate here
- Institutional algorithmic trading often targets these levels
 DYNAMIC ATR-BASED SPACING: 
Traditional Method:
- Fixed spacing regardless of volatility
- May be too tight in volatile markets
- May be too wide in quiet markets
Dynamic Method (Recommended):
- Uses ATR (Average True Range) to measure volatility
- Automatically adjusts level spacing
- Tighter levels in low volatility
- Wider levels in high volatility
Calculation:
1. Calculate ATR over specified period (default: 14)
2. Multiply by ATR multiplier (default: 2.0)
3. Round to nearest psychological level
4. Generate levels at dynamic intervals
Benefits:
- Adapts to market conditions
- More relevant levels in all volatility regimes
- Reduces clutter in trending markets
- Provides more detail in ranging markets
 LEVEL TYPES: 
Major Levels (250 pip/point):
- Highest significance
- Primary support/resistance zones
- Color: Red (default)
- Style: Solid lines
- Spacing: 2.5x standard step
Standard Levels (100 pip/point):
- Secondary importance
- Common psychological barriers
- Color: Blue (default)
- Style: Dashed lines
- Spacing: Standard step
Mid Levels (50% between major):
- Optional intermediate levels
- Halfway between major levels
- Color: Gray (default)
- Style: Dotted lines
- Usage: Additional confluence points
Intraday Levels (sub-100 pip):
- For intraday traders
- Fine-grained precision
- Color: Yellow (default)
- Style: Dotted lines
- Only shown on intraday timeframes
 SMART ASSET DETECTION: 
Forex Pairs:
- Detects major currency pairs automatically
- Uses pip-based calculations
- Standard: 100 pips (0.0100)
- Major: 250 pips (0.0250)
- Intraday: 20, 50, 80 pip subdivisions
Cryptocurrencies:
- Automatic price magnitude detection
- Adaptive spacing based on price:
  * Under $0.10: Levels at $0.01, $0.05
  * $0.10-$1: Levels at $0.10, $0.50
  * $1-$10: Levels at $1, $5
  * $10-$100: Levels at $10, $50
  * $100-$1,000: Levels at $100, $500
  * $1,000-$10,000: Levels at $1,000, $5,000
  * Over $10,000: Levels at $5,000, $10,000
Indices & CFDs:
- Fixed point-based system
- Major: 500 point intervals (with 250 sub-levels)
- Standard: 100 point intervals
- Suitable for stock indices like SPX, NASDAQ
 COMBINED LEVEL LABELS: 
When multiple level types coincide at the same price:
- Single line drawn (highest priority color)
- Combined label shows all types
- Priority: Major > Standard > Mid > Intraday
Example Label Formats:
- "1.1000 Major" - Major level only
- "1.1000 Std + Major" - Both standard and major
- "50000 Intra + Mid + Std" - Three levels coincide
Benefits:
- Cleaner chart appearance
- Clear identification of confluence
- Reduced visual clutter
- Easy to spot high-importance levels
 DISTANCE INFORMATION TABLE: 
Real-time tracking of nearest levels:
Table Contents:
- Nearest major level above (price and % distance)
- Nearest standard level above (price and % distance)
- Nearest standard level below (price and % distance)
Display:
- Top right corner (configurable)
- Color-coded by level type
- Real-time percentage calculations
- Helpful for position management
Usage:
- Identify proximity to key levels
- Set realistic profit targets
- Gauge potential move magnitude
- Monitor approaching resistance/support
ALERT SYSTEM:
Comprehensive crossing alerts:
Alert Types:
- Major Level Crosses
- Standard Level Crosses
- Intraday Level Crosses
Alert Modes:
- First Cross Only: Alert once when level is crossed
- All Crosses: Alert every time level is crossed
Alert Information:
- Level type crossed
- Specific price level
- Direction (above/below)
- One alert per bar to prevent spam
Configuration:
- Enable/disable by level type
- Choose alert frequency
- Customize for your trading style
───────────────────────────────────────
 HOW TO USE 
───────────────────────────────────────
 INITIAL SETUP: 
General Settings:
1. Enable "Use Dynamic ATR-Based Spacing" (recommended)
2. Set ATR Period (14 is standard)
3. Adjust ATR Multiplier (2.0 is balanced)
Visibility Settings:
1. Set Visible Range % (10% recommended for clarity)
2. Adjust Label Offset for readability
3. Configure performance limits if needed
Level Selection:
1. Enable/disable level types based on trading style
2. Adjust line counts for each type
3. Choose line styles and colors for visibility
 TRADING STRATEGIES: 
Breakout Trading:
1. Wait for price to approach major or standard level
2. Monitor for consolidation near level
3. Enter on confirmed break above/beyond level
4. Stop loss just beyond the broken level
5. Target: Next major or standard level
Rejection Trading:
1. Identify major psychological level
2. Wait for price to test the level
3. Look for rejection signals (wicks, bearish/bullish candles)
4. Enter in direction of rejection
5. Stop beyond the level
6. Target: Previous level or mid-level
Range Trading:
1. Identify range between two major levels
2. Buy at lower psychological level
3. Sell at upper psychological level
4. Use standard and mid-levels for position management
5. Exit if major level breaks with volume
Confluence Trading:
1. Look for combined levels (Std + Major)
2. These represent high-probability zones
3. Use as primary support/resistance
4. Increase position size at confluence
5. Expect stronger reactions at these levels
Session-Based Trading:
1. Note opening level at session start (Asian/London/NY)
2. Trade breakouts of major levels during high-volume sessions
3. London/NY sessions: More likely to break levels
4. Asian session: More likely to respect levels (range trading)
 RISK MANAGEMENT WITH PSYCHOLOGICAL LEVELS: 
Stop Loss Placement:
- Place stops just beyond psychological levels
- Add buffer (5-10 pips for forex)
- Avoid exact round numbers (stop hunting risk)
- Use previous major level as maximum stop
Take Profit Strategy:
- First target: Next standard level (partial profit)
- Second target: Next major level (remaining position)
- Trail stops to breakeven at first target
- Use distance table to calculate risk/reward
Position Sizing:
- Larger positions at major levels (higher probability)
- Smaller positions at intraday levels (lower probability)
- Scale in at standard levels between major levels
- Reduce size when multiple levels are close together
 TIMEFRAME CONSIDERATIONS: 
Higher Timeframes (4H, Daily, Weekly):
- Focus on Major and Standard levels only
- Disable Intraday and Mid levels
- Wider level spacing expected
- Use for swing trading and position trading
Lower Timeframes (5m, 15m, 1H):
- Enable all level types
- Use Intraday levels for precision
- Tighter level spacing acceptable
- Good for day trading and scalping
Multi-Timeframe Approach:
- Identify major levels on Daily/4H charts
- Refine entries using 15m/1H intraday levels
- Trade in direction of higher timeframe bias
- Use lower timeframe levels for position management
───────────────────────────────────────
 CONFIGURATION GUIDE 
───────────────────────────────────────
GENERAL SETTINGS:
Dynamic ATR-Based Spacing:
- Enabled: Recommended for most markets
- Disabled: Fixed psychological levels
- ATR Period: 14 (standard), 10 (responsive), 20 (smooth)
- ATR Multiplier: 1.0-5.0 (2.0 is balanced)
VISIBILITY SETTINGS:
Visible Range %:
- 5%: Very tight range, minimal clutter
- 10%: Balanced view (recommended)
- 20%: Wide range, more context
- 50%: Maximum range, all levels visible
Label Offset:
- 10-20 bars: Close to current price
- 30-50 bars: Moderate distance
- 50-100 bars: Far from price action
Performance Limits:
- Max Historical Bars: Reduce if indicator loads slowly
- Max Labels: Reduce for cleaner chart (20-30 recommended)
LEVEL CUSTOMIZATION:
Line Count:
- Lower (1-3): Cleaner chart, fewer levels
- Medium (4-6): Balanced view
- Higher (7-10): More context, busier chart
Line Styles:
- Solid: High importance, easy to see
- Dashed: Medium importance, clear but subtle
- Dotted: Low importance, minimal visual weight
Colors:
- Use contrasting colors for different level types
- Red/Blue/Yellow default works well
- Adjust based on chart background and personal preference
DISTANCE TABLE:
Position:
- Top Right: Doesn't interfere with price action
- Top Left: Good for right-side price scale
- Bottom positions: Less common but available
Colors:
- Default (white text, dark background) works for most charts
- Match your chart theme for consistency
- Ensure text is readable against background
ALERT CONFIGURATION:
Alert by Level Type:
- Major: Most important, fewer false signals
- Standard: Balance of frequency and importance
- Intraday: Many signals, best for active traders
Alert Frequency:
- First Cross Only: Cleaner, less noise (recommended for swing trading)
- All Crosses: Every touch, good for scalping
Alert Setup in TradingView:
1. Configure desired alert types in indicator settings
2. Right-click chart → Add Alert
3. Select this indicator
4. Choose "Any alert() function call"
5. Set delivery method (mobile, email, webhook)
───────────────────────────────────────
 ASSET-SPECIFIC TIPS 
───────────────────────────────────────
FOREX (EUR/USD, GBP/USD, etc.):
- Major levels at x.x000, x.x500
- Standard levels at x.xx00
- Intraday levels at 20/50/80 pips
- Most effective during London/NY sessions
- Watch for "figure" levels (1.0000, 1.1000)
CRYPTOCURRENCIES (BTC, ETH, etc.):
- Enable dynamic spacing for volatile markets
- Levels adjust automatically based on price
- Watch major $1,000 increments for BTC
- $100 levels important for ETH
- Smaller caps: Use standard levels
- High volatility: Increase ATR multiplier to 3.0
STOCK INDICES (SPX, NASDAQ, etc.):
- 100-point levels most important
- 500-point levels for major S/R
- 50-point mid-levels for refinement
- Watch end-of-day for level reactions
- Futures often lead spot on level breaks
GOLD/COMMODITIES:
- Major levels at $50 increments ($1,900, $1,950)
- Standard levels at $10 increments
- Very reactive to psychological levels
- Watch for false breaks during low volume
- Best reactions during active trading hours
───────────────────────────────────────
 BEST PRACTICES 
───────────────────────────────────────
Chart Setup:
- Use clean price action charts
- Avoid too many indicators
- Ensure psychological levels are clearly visible
- Match colors to your chart theme
Level Selection:
- Start with Major and Standard levels only
- Add Mid and Intraday as needed
- Less is more - avoid chart clutter
- Adjust based on timeframe
Combining with Other Tools:
- Volume profile for confluence
- Trendlines intersecting psychological levels
- Moving averages near round numbers
- Fibonacci levels coinciding with psychological levels
Common Mistakes to Avoid:
- Trading every level touch (be selective)
- Ignoring volume confirmation
- Setting stops exactly at levels (stop hunting)
- Forgetting to adjust for different assets
- Over-relying on levels without price action confirmation
Performance Optimization:
- Reduce visible range for faster loading
- Lower max historical bars on lower timeframes
- Limit labels to 30-50 for clarity
- Disable unused level types
───────────────────────────────────────
 EDUCATIONAL DISCLAIMER 
───────────────────────────────────────
This indicator identifies psychological price levels based on round numbers that tend to act as support and resistance. The methodology includes:
- Round number detection algorithms
- ATR-based dynamic spacing calculations
- Asset-specific level determination
- Distance percentage calculations
Psychological levels are a recognized concept in technical analysis, studied by traders and institutions. However, they do not guarantee price reactions and should be used as part of a comprehensive trading strategy including proper risk management, volume analysis, and price action confirmation.
───────────────────────────────────────
 USAGE DISCLAIMER 
───────────────────────────────────────
This tool is for educational and analytical purposes. Psychological levels can act as support or resistance but price reactions are not guaranteed. Dynamic spacing may generate different levels in different market conditions. Always conduct independent analysis, use proper risk management, and never risk capital you cannot afford to lose. Past performance does not indicate future results.
───────────────────────────────────────
 CREDITS & ATTRIBUTION 
───────────────────────────────────────
Original Concept: Sonar Lab
cd_correlation_analys_Cxcd_correlation_analys_Cx 
 General: 
This indicator is designed for correlation analysis by classifying stocks (487 in total) and indices (14 in total) traded on Borsa İstanbul (BIST) on a sectoral basis.
Tradingview's sector classifications (20) have been strictly adhered to for sector grouping.
Depending on user preference, the analysis can be performed within sectors, between sectors, or manually (single asset).
Let me express my gratitude to the code author, @fikira, beforehand; you will find the reason for my thanks in the context.
 Details: 
First, let's briefly mention how this indicator could have been prepared using the classic method before going into details.
Classically, assets could be divided into groups of forty (40), and the analysis could be performed using the built-in function:
ta.correlation(source1, source2, length) → series float.
I chose sectoral classification because I believe there would be a higher probability of assets moving together, rather than using fixed-number classes.
In this case, 21 arrays were formed with the following number of elements: 
(3, 11, 21, 60, 29, 20, 12, 3, 31, 5, 10, 11, 6, 48, 73, 62, 16, 19, 13, 34 and indices (14)). 
However, you might have noticed that some arrays have more than 40 elements. This is exactly where @Fikira's indicator came to the rescue. When I examined their excellent indicator, I saw that it could process 120 assets in a single operation. (I believe this was the first limit overrun; thanks again.)
It was amazing to see that data for 3 pairs could be called in a single request using a special method.
You can find the details here: 
When I adapted it for BIST, I found it sufficient to call data for 2 pairs instead of 3 in a single go. Since asset prices are regular and have 2 decimal places, I used a fixed multiplier of $10^8$ and a fixed decimal count of 2 in Fikira's formulas.
With this method, the (high, low, open, close) values became accessible for each asset.
The summary up to this point is that instead of the ready-made formula + groups of 40, I used variable-sized groups and the method I will detail now.
Correlation/harmony/co-movement between assets provides advantages to market participants. Coherent assets are expected to rise or fall simultaneously.
Therefore, to convert co-movement into a mathematical value, I defined the possible movements of the current candle relative to the previous candle bar over a certain period (user-defined). These are:
 Up  := high > high  and low > low 
 Down  := high < high  and low < low 
 Inside  := high <= high  and low >= low 
 Outside  := high >= high  and low <= low  and NOT Inside.
 Ignore  := high = low = open = close
If both assets performed the same movement, 1 was added to the tracking counter.
If (Up-Up), (Down-Down), (Inside-Inside), or (Outside-Outside), then counter := counter + 1.
If the period length is 100 and the counter is 75, it means there is 75% co-movement.
Corr = counter / period ($75/100$)
Average = ta.sma(Corr, 100) is obtained.
The highest coefficients recorded in the array are presented to the user in a table.
From the user menu options, the user can choose to compare:
•	With assets in its own sector
•	With assets in the selected sector
•	By activating the confirmation box and manually entering a single asset for comparison.
Table display options can be adjusted from the Settings tab.
  
In the attached examples:
Results for AKBNK stock from the Finance sector compared with GARAN stock from the same sector:
Timeframe: Daily, Period: 50 => Harmony 76% (They performed the same movement in 38 out of 50 bars)
Comment: Opposite movements at swing high and low levels may indicate a change in the direction of the price flow (SMT).
  
Looking at ASELS from the Electronic Technology sector over the last 30 daily candles, they performed the same movements by 40% with XU100, 73.3% (22/30) with XUTEK (Technology Index), and 86.9% according to the averages.
Comment: It is more appropriate to follow ASELS stock with XUTEK (Technology index) instead of the general index (XU100). Opposite movements at swing high and low levels may indicate a change in the direction of the price flow (SMT).
  
Again, when ASELS stock is taken on H1 instead of daily, and the length is 100 instead of 30, the harmony rate is seen to be 87%.
  
Please share your thoughts and criticisms regarding the indicator, which I prepared with a bit of an educational purpose specifically for BIST.
Happy trading.
Supertrend with Coppock Curve and Dynamic Time WindowOverview
This indicator combines the **Supertrend** trend-following system with the **Coppock Curve** momentum oscillator to generate high-probability buy and sell signals. An additional **dynamic time window filter** ensures trades only occur during your specified trading hours, making it ideal for intraday traders who want to avoid low-liquidity periods.
How It Works
**Signal Generation:**
- **BUY Signal** (Green label below bar): Triggered when the Coppock Curve crosses above zero, the Supertrend confirms an uptrend, and the current time is within your specified trading window
- **SELL Signal** (Purple label above bar): Triggered when the Coppock Curve crosses below zero, the Supertrend confirms a downtrend, and the current time is within your specified trading window
**Triple Confirmation System:**
1. **Coppock Curve** - Identifies momentum shifts using rate-of-change calculations
2. **Supertrend** - Confirms the prevailing trend direction to filter false signals
3. **Time Window** - Ensures trades only occur during high-liquidity hours
 Input Parameters
**Supertrend Settings:**
- **ATR Length** (Default: 19) - Period for calculating the Average True Range
- **Factor** (Default: 3.0) - Multiplier for ATR to determine Supertrend sensitivity
**Time Window Settings (Tehran Time UTC+3:30):**
- **Start Hour/Minute** (Default: 10:30) - Beginning of active trading window
- **End Hour/Minute** (Default: 22:30) - End of active trading window
 Best Practices
- Works best on **trending markets** due to the Supertrend filter
- Recommended timeframes: **15min, 30min, 1H, 4H**
- Lower the Factor value (2.0-2.5) for more signals in volatile markets
- Increase the Factor value (3.5-4.0) for fewer, higher-quality signals in ranging markets
- Adjust the time window to match your market's peak liquidity hours
 Risk Disclaimer
This indicator is for educational purposes only. Always use proper risk management, position sizing, and combine with your own analysis before making trading decisions.






















