TTM Squeeze Momentum MTF [Cometreon]TTM Squeeze Momentum MTF combines the core logic of both the Squeeze Momentum by LazyBear and the TTM Squeeze by John Carter into a single, unified indicator. It offers a complete system to analyze the phase, direction, and strength of market movements.
Unlike the original versions, this indicator allows you to choose how to calculate the trend, select from 15 different types of moving averages, customize every parameter, and adapt the visual style to your trading preferences.
If you are looking for a powerful, flexible and highly configurable tool, this is the perfect choice for you.
🔷 New Features and Improvements
🟩 Unified System: Trend Detection + Visual Style
You can decide which logic to use for the trend via the "Show TTM Squeeze Trend" input:
✅ Enabled → Trend calculated using TTM Squeeze
❌ Disabled → Trend based on Squeeze Momentum
You can also customize the visual style of the indicator:
✅ Enable "Show Histogram" for a visual mode using Histogram, Area, or Column
❌ Disable it to display the classic LazyBear-style line
Everything updates automatically and dynamically based on your selection.
🟩 Full Customization
Every base parameter of the original indicator is now fully configurable: lengths, sources, moving average types, and more.
You can finally adapt the squeeze logic to your strategy — not the other way around.
🟩 Multi-MA Engine
Choose from 15 different Moving Averages for each part of the calculation:
SMA (Simple Moving Average)
EMA (Exponential Moving Average)
WMA (Weighted Moving Average)
RMA (Smoothed Moving Average)
HMA (Hull Moving Average)
JMA (Jurik Moving Average)
DEMA (Double Exponential Moving Average)
TEMA (Triple Exponential Moving Average)
LSMA (Least Squares Moving Average)
VWMA (Volume-Weighted Moving Average)
SMMA (Smoothed Moving Average)
KAMA (Kaufman’s Adaptive Moving Average)
ALMA (Arnaud Legoux Moving Average)
FRAMA (Fractal Adaptive Moving Average)
VIDYA (Variable Index Dynamic Average)
🟩 Dynamic Signal Line
Apply a moving average to the momentum for real-time cross signals, with full control over its length and type.
🟩 Multi-Timeframe & Multi-Ticker Support
You're no longer limited to the chart's current timeframe or ticker. Apply the squeeze to any symbol or timeframe without repainting.
🔷 Technical Details and Customizable Inputs
This indicator offers a fully modular structure with configurable parameters for every component:
1️⃣ Squeeze Momentum Settings – Choose the source, length, and type of moving average used to calculate the base momentum.
2️⃣ Trend Mode Selector – Toggle "Show TTM Squeeze Trend" to select the trend logic displayed on the chart:
✅ Enabled – Shows the trend based on TTM Squeeze (Bollinger Bands inside/outside Keltner Channel)
❌ Disabled – Displays the trend based on Squeeze Momentum logic
🔁 The moving average type for the Keltner Channel is handled automatically, so you don't need to select it manually, even if the custom input is disabled.
3️⃣ Signal Line – Toggle the Signal Line on the Squeeze Momentum. Select its length and MA type to generate visual cross signals.
4️⃣ Bollinger Bands – Configure the length, multiplier, source, and MA type used in the bands.
5️⃣ Keltner Channel – Adjust the length, multiplier, source, and MA type. You can also enable or disable the True Range option.
6️⃣ Advanced MA Parameters – Customize the parameters for advanced MAs (JMA, ALMA, FRAMA, VIDYA), including Phase, Power, Offset, Sigma, and Shift values.
7️⃣ Ticker & Input Source – Select the ticker and manage inputs for alternative chart types like Renko, Kagi, Line Break, and Point & Figure.
8️⃣ Style Settings – Choose how the squeeze is displayed:
Enable "Show Histogram" for Histogram, Area, or Column style
Disable it to show the classic LazyBear-style line
Use Reverse Color to invert line colors
Toggle Show Label to highlight Signal Line cross signals
Customize trend colors to suit your preferences
9️⃣ Multi-Timeframe Options - Timeframe – Use the squeeze on higher timeframes for stronger confirmation
🔟 Wait for Timeframe Closes -
✅ Enabled – Prevents multiple signals within the same candle
❌ Disabled – Displays the indicator smoothly without delay
🔧 Default Settings Reference
To replicate the default settings of the original indicators as they appear when first applied to the chart, use the following configurations:
🟩 TTM Squeeze (John Carter Style)
Squeeze
Length: 20
MA Type: SMA
Show TTM Squeeze Trend: Enabled
Bollinger Bands
Length: 20
Multiplier: 2.0
MA Type: SMA
Keltner Channel
Length: 20
Multiplier: 1.0
Use True Range: ON
MA Type: EMA
Style
Show Histogram: Enabled
Reverse Color: Enabled
🟩 Squeeze Momentum (LazyBear Style)
Squeeze
Length: 10
MA Type: SMA
Show TTM Squeeze Trend: Disabled
Bollinger Bands
Length: 20
Multiplier: 1.5
MA Type: SMA
Keltner Channel
Length: 10
Multiplier: 1.5
Use True Range: ON
MA Type: SMA
Style
Show Histogram: Disabled
Reverse Color: Disabled
⚠️ These values are intended as a starting point. The Cometreon indicator lets you fully customize every input to fit your trading style.
🔷 How to Use Squeeze Momentum Pro
🔍 Identifying Trends
Squeeze Momentum Pro supports two different methods for identifying the trend visually, each based on a distinct logic:
Squeeze Momentum Trend (LazyBear-style):
Displays 3 states based on the position of the Bollinger Bands relative to the Keltner Channel:
🔵 Blue = No Squeeze (BB outside KC and KC outside BB)
⚪️ White = Squeeze Active (BB fully inside KC)
⚫️ Gray = Neutral state (none of the above)
TTM Squeeze Trend (John Carter-style):
Calculates the difference in width between the Bollinger Bands and the Keltner Channel:
🟩 Green = BB width is greater than KC → potential expansion phase
🟥 Red = BB are tighter than KC → possible compression or pre-breakout
📈 Interpreting Signals
Depending on the active configuration, the indicator can provide various signals, including:
Trend color → Reflects the current compression/expansion state (based on selected mode)
Momentum value (above or below 0) → May indicate directional pressure
Signal Line cross → Can highlight momentum shifts
Color change in the momentum → May suggest a potential trend reversal
🛠 Integration with Other Tools
Squeeze Momentum Pro works well alongside other indicators to strengthen market context:
✅ Volume Profile / OBV – Helps confirm accumulation or distribution during squeezes
✅ RSI – Useful to detect divergence between momentum and price
✅ Moving Averages – Ideal for defining primary trend direction and filtering signals
☄️ If you find this indicator useful, leave a Boost to support its development!
Every piece of feedback helps improve the tool and deliver an even better trading experience.
🔥 Share your ideas or feature requests in the comments!
Cerca negli script per "文华财经tick价格"
Premarket High/Low Breakout AlertsPremarket High/Low Breakout Alerts
Description: This custom TradingView indicator helps you track premarket breakouts and breakdowns for a list of selected stocks. The indicator monitors the premarket session and sends an alert every time the stock's price breaks above the premarket high or below the premarket low.
Key Features:
Track Multiple Stocks: Easily monitor multiple stocks (e.g., AAPL, TSLA, NVDA, etc.) and get alerts when they break premarket levels.
Premarket Session Monitoring: The indicator checks for price movements during the premarket session (4:00 AM to 9:30 AM EST).
Customizable Ticker List: Modify the list of tickers directly from the TradingView settings to suit your daily trading needs.
Breakout and Breakdown Alerts: Receive instant alerts for both breakout (above premarket high) and breakdown (below premarket low) conditions.
Plot Premarket Levels: The premarket high and low levels are plotted on the chart for easy reference.
How to Use:
Add this indicator to your chart.
Go to the indicator settings and input your desired stock tickers (e.g., AAPL, TSLA, MSFT).
The indicator will automatically track the premarket levels and send alerts when those levels are broken.
Customize the tickers daily if needed.
Ideal For:
Day Traders who want to track premarket movements.
Swing Traders looking for strong breakouts from premarket levels.
Scalpers who need quick alerts to catch price action early.
Daily Close Levels with ATR and Custom OffsetsDescription:
This Pine Script visualizes daily close levels, calculates key price zones based on custom offsets and ATR (Average True Range), and is an essential tool for traders analyzing support and resistance zones.
Features
Close Value Line: Displays the daily close value as a line on the chart.
ATR Values: Shows the ATR value in both price and tick format.
Custom Offsets:
Calculates positive and negative price levels based on a user-defined tick offset.
Supports multipliers for extended zones (e.g., 2x offset).
Labels:
Displays the close value and ATR on the chart.
Annotates calculated price levels directly on the corresponding lines.
Time Control: Calculates levels at a user-defined hour (e.g., 20:00).
Customizable Parameters:
Close Time (Hour): Choose the specific hour for analyzing the close price.
Custom Line Offset: Define the price offset in ticks.
ATR Length: Adjust the ATR calculation length.
Timezone Offset: Supports time adjustments for different time zones.
Enable/Disable Labels and Values: Toggle the display of labels and values on the chart.
BTC-SPX Momentum Gauge + EMA SignalHere's an explanation of the market dynamics and signal benefits of this script:
Momentum and Sentiment Indicator:
The script uses the momentum of the S&P 500 to change the chart's background color, providing a quick visual cue of market sentiment. Green indicates potential bullish momentum in the broader market, while red suggests bearish momentum. This can help traders gauge overall market direction at a glance.
Bitcoin Trend Analysis:
By plotting the scaled TEMA of Bitcoin (BTC), traders can see how Bitcoin's trend correlates or diverges from the current asset being analyzed. Since Bitcoin is often viewed as a hedge against traditional financial systems or inflation, its trend can signal broader economic shifts or investor sentiment towards alternative investments.
Dual Trend Confirmation:
The script offers two trend lines: one for Bitcoin and one for the current ticker. When these lines move in tandem, it might indicate a strong market trend across both traditional and crypto markets. Divergence between these lines can highlight potential market anomalies or opportunities for arbitrage or hedging.
Smoothness vs. Reactivity:
The use of TEMA for Bitcoin provides a smoother signal than a simple moving average, reducing lag while still reacting to price changes. This can be particularly useful for identifying longer-term trends in Bitcoin's volatile market. The 20-period EMA for the current ticker, on the other hand, gives a quicker response to price changes in the asset you're directly trading.
Cross-Asset Correlation:
By overlaying Bitcoin's trend on another asset's chart, traders can analyze how these markets might influence each other. For instance, if Bitcoin is in an uptrend while a traditional asset is declining, it might suggest capital rotation into cryptocurrencies.
Trading Signals:
Crossovers or divergences between the TEMA of Bitcoin and the EMA of the current ticker could be used as signals for entry or exit points. For example, if the BTC TEMA crosses above the current ticker's EMA, it might suggest a shift towards crypto assets.
Risk Management:
The visual cues from the background color and moving averages can aid in risk management. For example, trading in the direction of the momentum indicated by the background color might be seen as going with the market flow, potentially reducing risk.
Macro-Economic Insights:
The relationship between Bitcoin and traditional markets can offer insights into macroeconomic conditions, particularly related to inflation, monetary policy, and investor sentiment towards fiat currencies.
Headwind and tailwind:
Currently BTC correlated trade instruments experience headwind or tailwind from the broader market. This indicator lets the user see it to help their trade decision process.
Additional Statement:
As the market realizes the dangers of the fiat that its construct is built upon and evolves and migrates into stable money, incorruptible by inflation, this indicator will reveal the external influence of that corruptible and the internal influence of the incorruptible; having diminishing returns as the rise of stable money overtakes the treasuries of the fiat construct.
Scaled Historical ATR [SS]Hello again everyone,
This is the Scaled ATR Range indicator. This was done in response to an article/analysis I posted regarding the expected high and range on SPX. I would encourage you to read it here:
Essentially, I took SPX data, scaled it to correct for inflation, then calculated the ATR for Bullish years to get our average range to expect and our close range to expected.
I accomplished this analysis using Excel; however, I figured Pinescript would handle this type of task more elegantly, and I was correct!
This indicator is the result.
What it does:
This indicator permits the analyst to select a historic period in time. The indicator will then scale the period into returns and convert the range to a corrected range based on the current position of the ticker. How it does this is by converting the returns of the historic period selected, then multiplying the returns by the current period open, to ensure that the range amounts are corrected for inflation and natural growth of a ticker.
I say analyst because this indicator is intended to be used by both professional and recreational analysts, to give them an easy way to:
a) Scale historic data and correct it based on the current rate; and
b) Offer insight into a ticker’s ATR and behaviour during bullish and bearish periods.
Prior to this indicator, the only way to do this would be manually or the use of statistical software.
How to use?
The indicator’s use is quite simple. Once launched, the indicator will ask the user to input a timeframe period that the user is interested in assessing. In the main chart above, I chose SPX between 1995 and 2001.
The user can further filter down the data using the settings menu. In the settings menu, there is an option to filter by “All”, “Bullish Periods” or “Bearish Periods”.
Filtering by “All”
Filtering by “All” will include all candles selected within the timeframe. This includes both bearish and bullish candles. It will give you the averaged out range for the entire period of time, including both bearish and bullish instances.
Filtering by “Bullish”
Filtering by “Bullish” will omit any red candles from the analysis. It will only return the ATR ranges for green, bullish candles.
Filtering by “Bearish”
Inverse to filtering by Bullish, if you filter by Bearish, it will only include the red, bearish candles in the analysis.
My suggestion? If you are trying to determine t he likely outcome of a bullish year, filter by Bullish instances. If you want the likely outcome of a bearish year, filter by Bearish.
Other features of the Indicator:
The indicator will display the current period statistics. In the main chart above, you can see that the current ranges for this year are displayed. This allows you to do a side by side comparison of the current period vs. the historic period you are looking at. This can alert you to further upside, further downside and the anticipated close range. It can also alert you to whether or not we are following a similar trajectory as the historical periods you are looking at.
As well, the indicator will list target prices for the current period based on the historical periods you are looking at. This helps to put things into perspective.
Concluding Remarks
And that is the indicator in a nutshell! I encourage you to read the article I linked above to see how you may use it in an analysis. This would be the best example of a real world application of this indicator!
Otherwise, I hope you enjoy and, as always, safe trades!
ICT Silver Bullet | Flux Charts💎 GENERAL OVERVIEW
Introducing our new ICT Silver Bullet Indicator! This indicator is built around the ICT's "Silver Bullet" strategy. The strategy has 5 steps for execution and works best in 1-5 min timeframes. For more information about the process, check the "HOW DOES IT WORK" section.
Features of the new ICT Silver Bullet Indicator :
Implementation of ICT's Silver Bullet Strategy
Customizable Execution Settings
2 NY Sessions & London Session
Customizable Backtesting Dashboard
Alerts for Buy, Sell, TP & SL Signals
📌 HOW DOES IT WORK ?
ICT's Silver Bullet strategy has 5 steps :
1. Mark your market sessions open (This indicator has 3 -> NY 10-11, NY 14-15, LDN 03-04)
2. Mark the swing liquidity points
3. Wait for market to take down one liquidity side
4. Look for a market structure-shift for reversals
5. Wait for a FVG for execution
This indicator follows these steps and inform you step by step by plotting them in your chart. You can switch execution types between FVG and MSS.
🚩UNIQUENESS
This indicator is an all-in-one suit for the ICT's Silver Bullet concept. It's capable of plotting the strategy, giving signals, a backtesting dashboard and alerts feature. It's designed for simplyfing a rather complex strategy, helping you to execute it with clean signals. The backtesting dashboard allows you to see how your settings perform in the current ticker. You can also set up alerts to get informed when the strategy is executable for different tickers.
⚙️SETTINGS
1. General Configuration
Execution Type -> FVG execution type will require a FVG to take an entry, while the MSS setting will take an entry as soon as it detects a market structure-shift.
MSS Swing Length -> The swing length when finding liquidity zones for market structure-shift detection.
Breakout Method -> If "Wick" is selected, a bar wick will be enough to confirm a market structure-shift. If "Close" is selected, the bar must close above / below the liquidity zone to confirm a market structure-shift.
FVG Detection -> "Same Type" means that all 3 bars that formed the FVG should be the same type. (Bullish / Bearish). "All" means that bar types may vary between bullish / bearish.
FVG Detection Sensitivity -> You can turn this setting on and off. If it's off, any 3 consecutive bullish / bearish bars will be calculated as FVGs. If it's on, the size of FVGs will be filtered by the selected sensitivity. Lower settings mean less but larger FVGs.
2. TP / SL
TP / SL Method -> If "Fixed" is selected, you can adjust the TP / SL ratios from the settings below. If "Dynamic" is selected, the TP / SL zones will be auto-determined by the algorithm.
Risk -> The risk you're willing to take if "Dynamic" TP / SL Method is selected. Higher risk usually means a better winrate at the cost of losing more if the strategy fails.
Close Position @ Session End -> If this setting is enabled, the current position (if any) will be closed at the beginning of a new session, regardless if it hit the TP / SL zone. If it's off, the position will be open until it hits a TP / SL zone.
Footprint liteFootprint Lite enables you to monitor volume distribution for the current ticker, offering resolutions as 1 second, segmented by specified price levels with visual representations. Additionally, you have the flexibility to customize the displayed Imbalance price level and the number of consecutive Imbalance level lines.
Here are the input options:
Group Display:
This section allows you to adjust how Footprints are displayed.
"Count show bars": Directly adjusts the display to show the last 'n' bars.
"Display all available bars": Shows all available bars.
Group Row size:
Adjusts the parameters for generating Footprints based on price step size.
"Ticks Per Row": Directly sets the price step, calculated by multiplying the entered value by syminfo.mintick.
"Auto": Enables automatic mode for selecting the "Ticks Per Row" value.
"Max row": Relevant for auto mode, it sets the acceptable number of rows within a bar. The automatic "Ticks Per Row" calculation is based on the first available bar and applied to subsequent bars.
Group Imbalance:
Customizes the display of price levels represented by Imbalance and emphasizes consecutive lines.
"Imbalance Percent": A coefficient expressed as a percentage to determine the Imbalance of price levels, comparing the buy price diagonally to the previous sell price.
"Stacked levels": Sets the minimum number of consecutive Imbalance levels required to draw extended lines.
Alerts:
You can set alerts for various events:
"New imbalance line sell": Alerts on the appearance of a new imbalance line for selling.
"New imbalance line buy": Alerts on the appearance of a new imbalance line for buying.
"Stop past imbalance line sell": Alerts when the previous imbalance line for selling stops, indicating it has reached the range from low to high of the current bar.
"Stop past imbalance line buy": Alerts when the previous imbalance line for buying stops, indicating it is within the range from low to high of the current bar.
"New imbalance buy": Alerts on the appearance of a new or change in the current imbalance level for buying.
"New imbalance sell": Alerts on the appearance of a new or change in the current imbalance level for selling.
Trend Correlation HeatmapHello everyone!
I am excited to release my trend correlation heatmap, or trend heatmap for short.
Per usual, I think its important to explain the theory before we get into the use of the indicator, so let's get into the theory!
The theory:
So what is a correlation?
Correlation is the relationship one variable has to another. Correlations are the basis of everything I do as a quantitative trader. From the correlation between the same variables (i.e. autocorrelation), the correlation between other variables (i.e. VIX and SPY, SPY High and SPY Low, DXY and ES1! close, etc.) and, as well, the correlation between price and time (time series correlation).
This may sound very familiar to you, especially if you are a user, observer or follower of my ideas and/or indicators. Ninety-five percent of my indicators are a function of one of those three things. Whether it be a time series based indicator (i.e.my time series indicator), whether it be autocorrelation (my autoregressive cloud indicator or my autocorrelation oscillator) or whether it be regressive in nature (i.e. my SPY Volume weighted close, or even my expected move which uses averages in lieu of regressive approaches but is foundational in regression principles. Or even my VIX oscillator which relies on the premise of correlations between tickers.) So correlation is extremely important to me and while its true I am more of a regression trader than anything, I would argue that I am more of a correlation trader, because correlations are the backbone of how I develop math models of stocks.
What I am trying to stress here is the importance of correlations. They really truly are foundational to any type of quantitative analysis for stocks. And as such, understanding the current relationship a stock has to time is pivotal for any meaningful analysis to be conducted.
So what is correlation to time and what does it tell us?
Correlation to time, otherwise known and commonly referred to as "Time Series", is the relationship a ticker's price has to the passing of time. It is displayed in the traditional Pearson Correlation Coefficient or R value and can be any value from -1 (strong negative relationship, i.e. a strong downtrend) to + 1 (i.e. a strong positive relationship, i.e. a strong uptrend). The higher or lower the value the stronger the up or downtrend is.
As such, correlation to time tells us two very important things. These are:
a) The direction of the stock; and
b) The strength of the trend.
Let's take a look at an example:
Above we have a chart of QQQ. We can see a trendline that seems to fit well. The questions we ask as traders are:
1. What is the likelihood QQQ breaks down from this trendline?
2. What is the likelihood QQQ continues up?
3. What is the likelihood QQQ does a false breakdown?
There are numerous mathematical approaches we can take to answer these questions. For example, 1 and 2 can be answered by use of a Cumulative Distribution Density analysis (CDDA) or even a linear or loglinear regression analysis and 3 can be answered, more or less, with a linear regression analysis and standard error ascertainment, or even just a general comparison using a data science approach (such as cosine similarity or Manhattan distance).
But, the reality is, all 3 of these questions can be visualized, at least in some way, by simply looking at the correlation to time. Let's look at this chart again, this time with the correlation heatmap applied:
If we look at the indicator we can see some pivotal things. These are:
1. We have 4, very strong uptrends that span both higher AND lower timeframes. We have a strong uptrend of 0.96 on the 5 minute, 50 candle period. We have a strong uptrend at the 300 candle lookback period on the 1 minute, we have a strong uptrend on the 100 day lookback on the daily timeframe period and we have a strong uptrend on the 5 minute on the 500 candle lookback period.
2. By comparison, we have 3 downtrends, all of which have correlations less than the 4 uptrends. All of the downtrends have a correlation above -0.8 (which we would want lower than -0.8 to be very strong), and all of the uptrends are greater than + 0.80.
3. We can also see that the uptrends are not confined to the smaller timeframes. We have multiple uptrends on multiple timeframes and both short term (50 to 100 candles) and long term (up to 500 candles).
4. The overall trend is strengthening to the upside manifested by a positive Max Change and a Positive Min change (to be discussed later more in-depth).
With this, we can see that QQQ is actually very strong and likely will continue at least some upside. If we let this play out:
We continued up, had one test and then bounced.
Now, I want to specify, this indicator is not a panacea for all trading. And in relation to the 3 questions posed, they are best answered, at least quantitatively, not only by correlation but also by the aforementioned methods (CDDA, etc.) but correlation will help you get a feel for the strength or weakness present with a stock.
What are some tangible applications of the indicator?
For me, this indicator is used in many ways. Let me outline some ways I generally apply this indicator in my day and swing trading:
1. Gauging the strength of the stock: The indictor tells you the most prevalent behavior of the stock. Are there more downtrends than uptrends present? Are the downtrends present on the larger timeframes vs uptrends on the shorter indicating a possible bullish reversal? or vice versa? Are the trends strengthening or weakening? All of these things can be visualized with the indicator.
2. Setting parameters for other indicators: If you trade EMAs or SMAs, you may have a "one size fits all" approach. However, its actually better to adjust your EMA or SMA length to the actual trend itself. Take a look at this:
This is QQQ on the 1 hour with the 200 EMA with 200 standard deviation bands added. If we look at the heatmap, we can see, yes indeed 200 has a fairly strong uptrend correlation of 0.70. But the strongest hourly uptrend is actually at 400 candles, with a correlation of 0.91. So what happens if we change the EMA length and standard deviation to 400? This:
The exact areas are circled and colour coded. You can see, the 400 offers more of a better reference point of supports and resistances as well as a better overall trend fit. And this is why I never advocate for getting married to a specific EMA. If you are an EMA 200 lover or 21 or 51, know that these are not always the best depending on the trend and situation.
Components of the indicator:
Ah okay, now for the boring stuff. Let's go over the functionality of the indicator. I tried to keep it simple, so it is pretty straight forward. If we open the menu here are our options:
We have the ability to toggle whichever timeframes we want. We also have the ability to toggle on or off the legend that displays the colour codes and the Max and Min highest change.
Max and Min highest change: The max and min highest change simply display the change in correlation over the previous 14 candles. An increasing Max change means that the Max trend is strengthening. If we see an increasing Max change and an increasing Min change (the Min correlation is moving up), this means the stock is bullish. Why? Because the min (i.e. ideally a big negative number) is going up closer to the positives. Therefore, the downtrend is weakening.
If we see both the Max and Min declining (red), that means the uptrend is weakening and downtrend is strengthening. Here are some examples:
Final Thoughts:
And that is the indicator and the theory behind the indicator.
In a nutshell, to summarize, the indicator simply tracks the correlation of a ticker to time on multiple timeframes. This will allow you to make judgements about strength, sentiment and also help you adjust which tools and timeframes you are using to perform your analyses.
As well, to make the indicator more user friendly, I tried to make the colours distinctively different. I was going to do different shades but it was a little difficult to visualize. As such, I have included a toggle-able legend with a breakdown of the colour codes!
That's it my friends, I hope you find it useful!
Safe trades and leave your questions, comments and feedback below!
Put to Call Ratio CorrelationHello!
Excited to share this with the community!
This is actually a very simple indicator but actually usurpingly helpful, especially for those who trade indices such as SPX, IWM, QQQ, etc.
Before I get into the indicator itself, let me explain to you its development.
I have been interested in the use of option data to detect sentiment and potential reversals in the market. However, I found option data on its own is full of noise. Its very difficult if not impossible for a trader to make their own subjective assessment about how option data is reflecting market sentiment.
Generally speaking, put to call ratios generally range between 0.8 to 1.1 on average. Unless there is a dramatic pump in calls or puts causing an aggressive spike up to over this range, or fall below this range, its really difficult to make the subjective assessment about what is happening.
So what I thought about trying to do was, instead of looking directly at put to call ratio, why not see what happens when you perform a correlation analysis of the PTC ratio to the underlying stock.
So I tried this in pinescript, pulling for Tradingview's ticker PCC (Total Equity Put to Call Ratio) and using the ta.correlation function against whichever ticker I was looking at.
I played around with this idea a bit, pulled the data into excel and from this I found something interesting. When there is a very significant negative or positive correlation between PTC ratio and price movement, we see a reversal impending. In fact, a significant negative or positive correlation (defined as a R value of 0.8 or higher or -0.8 or lower) corresponded to a stock reversal about 92% of the time when data was pulled on a 5 minute timeframe on SPY.
But wait, what is a correlation?
If you are not already familiar, a correlation is simply a statistical relationship. It is defined with a Pearson R correlation value which ranges from 0 (no correlation) to 1 (significant positive correlation) and 0 to -1 (significant negative correlation).
So what does positive vs negative mean?
A significant positive correlation means the correlation is moving the same as the underlying. In the case of this indicator, if there is a significant positive correlation could mean the stock price is climbing at the same time as the PTC ratio.
Inversely, it could mean the stock price is falling as well as the PTC ratio.
A significant negative correlation means the correlation is moving in the opposite direction. So in this case, if the stock price is climbing and the PTC ratio is falling proportionately, we would see a significant negative correlation.
So how does this work in real life?
To answer this, let's get into the actual indicator!
In the image above, you will see the arrow pointing to an area of significant POSITIVE correlation.
The indicator will paint the bars on the actual chart purple (customizable of course) to signify this is an area of significant correlation.
So, in the above example this means that the PTC ratio is increase proportionately to the increase in the stock price in the SAME direction (Puts are going up proportionately to the stock price). Thus, we can make the assumption that the underlying sentiment is overwhelmingly BEARISH. Why? Because option trading activity is significantly proportionate to stock movement, meaning that there is consensus among the options being traded and the movement of the market itself.
And in the above example we will see, the stock does indeed end up selling:
In this case, IWM fell roughly 1 point from where there was bearish consensus in the market.
Let's use this same trading day and same example to show the inverse:
You will see a little bit later, a significant NEGATIVE correlation developed.
In this case identified, the stock wise RISING and the PTC ratio was FALLING.
This means that Puts were not being bought up as much as calls and the sentiment had shifted to bullish .
And from that point, IWM ended up going up an additional 0.75 points from where there was a significant INVERSE correlation.
So you can see that it is helpful for identifying reversals. But what is also can be used for is identifying areas of LOW conviction. Meaning, areas where there really is no relationship between option activity and stock movement. Let's take spy on the 1 hour timeframe for this example:
You can see in the above example there really is no consensus in the option trading activity with the overarching sentiment. The price action is choppy and so too is option trading activity. Option traders are not pushing too far in one direction or the other. We can also see the lack of conviction in the option trading activity by looking at the correlation SMA (the white line).
When a ticker is experiencing volatile and good movement up and down, the SMA will generally trade to the top of the correlation range (roughly + 1.0) and then make a move down to the bottom (roughly - 1.0), see the example below:
When the SMA is not moving much and accumulating around the centerline, it generally means a lot of indecision.
Additional Indicator Information:
As I have said, the indicator is very simple. It pulls the data from the ticker PCC and runs a correlation assessment against whichever ticker you are on.
PCC pulls averaged data from all equities within the market and is not limited to a single equity. As such, its helpful to use this with indices such as SPY, IWM and QQQ, but I have had success with using it on individual tickers such as NVDA and AMD.
The correlation length is defaulted to 14. You can modify it if you wish, but I do recommend leaving it at this as the default and the testing I have done with this have all been on the 14 correlation length.
You can chose to smooth the SMA over whichever length of period you wish as well.
When the indicator is approaching a significant negative or positive relationship, you will see the indicator flash red in the upper or lower band to signify the relationship. As well, the chart will change the bar colour to purple:
Everything else is pretty straight forward.
Let me know your questions/comments or suggestions around the indicator and its applications.
As always, no indicator is meant to provide a single, reliable strategy to your trading regimen and no indicator or group of indicators should be relied on solely. Be sure to do your own analysis and assessments of the stock prior to taking any trades.
Safe trades everyone!
Strategy DesignerHello traders.
Thanks to the tool I have published, everyone who knows or does not know coding will be able to create strategies and see the results instantly on the screen. Yes it looks very nice :)
What does this script do?
Thanks to this tool, even if you don't know any coding, you will be able to create your own strategies. You can add and remove indicators.
Entrance
The first thing you need to do is to set a strategy in your mind.
Then you need to adjust the settings of the indicators installed in the system. Please set the indicators first, because later they are forgotten.
The screen for entering the parameters of the indicators will be as follows.
After entering the parameters there is an important part . In this section, we can adjust the strategy settings.
First we choose between which dates we want the strategy to run. We then choose whether we want the strategy results to be displayed in a table or not.
We choose how the Terms should be linked together. For example, if you have a condition that is expected to produce more than one receive signal, select whether these conditions are connected to each other with and or with the connector.
In this way, you can determine whether all or any of the rules in your strategy should apply.
Next, we choose whether our strategy will work in the spot market or in a bidirectional market. Yes, you can design a strategy for both spot and bidirectional trades :)
At the bottom of the above image, we see a screen where we can adjust the stop level and tp level. As a standard, adjustments are made according to the percentage level you enter. However, if you remove the tick next to the percent sign, the previous stop level and the next profit level are determined as much as the value you entered.
At the bottom is the trailing stop. When you open the trailing stop, the trailing stop becomes active in your strategy.
Very important, when the trailing stop and the stop are active at the same time, the trailing stop value is valid.
It's time to design our strategy. Each chapter that begins with an exclamation point is a separate fiction.
If you do not mark the Active button, that condition will not be included in the calculation.
Direction = It is the direction for which the fiction in this region is valid.
We came to the indicator setting screen. Here, there is a screen where we can select two different indicators on the right and left.
We choose the first indicator starting with 1.
Then we choose from the middle region how we want these two indicators to interact.
We choose our second indicator from the place starting with 2.
If you want an indicator to interact with any value, tick the box where it says Value and fill in the value in the blank. When Value is ticked, the second indicator does not work.
Anchored SMAThis is not your usual single moving average (SMA) indicator. It is an anchored SMA indicator. The anchored SMA does what other SMAs cannot--it stays at an anchored timeframe and presents that SMA relative to the timeframe you are in. For example, standard SMA indicators adjust to the timeframe you are viewing in your chart. So if you set it to a 20 day SMA while in the 1 Day timeframe, when you switch to the 5 minute timeframe, your 20 day SMA now becomes a 100 minute SMA indicator--that is it is only calculating the SMA for 20 ticks at 5 minutes each rather than holding the 20 day indicator at the higher timeframe. However, with the anchored SMA, the indicator would have held at the 20 day SMA while you were in the 5 minute timeframe.
The default setting is for the anchored SMA is the five day SMA. This can be adjusted in the settings to be any amount of ticks in any timeframe you choose from 1 minute to 1 week. The indicator does not hold accurately at timeframes outside of this range. The accompanying chart is the SPX in the 15 minute timeframe with the default anchored SMA settings in blue and the standard 200 tick SMA in black. Now, you could manually adjust the ticks to 130 SMA to fit the same blue line, but why do so when the anchored SMA does it for you?
This brings us to a very important note--this indicator is set to standard market hours at 6.5 hours per day. This means this indicator would not give the same results in markets with different hours, such as futures, FOREX, or Crypto markets. This only holds for equity markets. However, that is not to say it cannot be used in these other markets, it's that it wouldn't be the same result. Anyway, enjoy!
Position Tool█ OVERVIEW
This script is an interactive measurement tool that can be used to evaluate or keep track of trades. Like the long and short position drawing tools, it calculates a risk reward ratio and a risk-adjusted position size from the entry, stop and take profit levels, but it also does much more:
• It can be used to configure long or short trades.
• All monetary values can be expressed in any number of currencies.
• The value of tick/pip movement (which varies with the position's size) is displayed in the currency you have selected.
• The CAGR ( Compound Annual Growth Rate ) for the trade can be displayed.
• It does live tracking of the position.
• You can configure alerts on entries and exits.
█ HOW TO USE IT
Load the indicator on an active chart (see here if you don't know how).
When you first load this script on a chart, you will enter an interactive selection mode where the script asks you to pick three points in price and time on your chart by clicking on the chart. Directions will appear in a blue box at the bottom of the screen with each click of the mouse. The first selection is the entry point for the trade you are considering, which takes into account both the time and level you choose, the next are the take profit and stop levels. Once you have selected all three points, the script will draw trade zones and labels containing the trade metrics. The script determines if the trade is a long or short from the position of the take profit and stop loss levels in relation to the entry price. If the take profit level is above the entry price, the stop must be below and vice versa, otherwise an error occurs.
You can change levels by dragging the handles that appear when you select the indicator, or by entering new values in the script's settings. The only way to re-enter interactive mode is to re-add the indicator to your chart.
Once you place the position tool on a chart, it will appear at the same levels on all symbols you use. If your scale is not set to "Scale price chart only", the position tool's levels will be taken into account when scaling the chart, which can cause the symbol's bars to be compressed. If your scale is set to "Scale price chart only", the position tool will still be there, but it will not impact the scale of the chart's bars, so you won't see it if it sits outside the symbol's price scale.
If you select the position tool on your chart and delete it, this will also delete the indicator from the chart. You will need to re-add it if you want to draw another position tool. You can add multiple instances of the indicator if you need a position tool on more than one of your charts.
█ FEATURES
Display
The position tool displays the following information for entries:
• The entry's price level with an '@' sign before it.
• Open or Closed P&L : For an open trade, the "Open P&L" displays the difference in money value between the entry level and the chart's current price.
For a closed trade, the "Closed P&L" displays the realized P&L on the trade.
• Quantity : The trade size, which takes into account the risk tolerance you set in the script's settings.
• RR : The reward to risk ratio expresses the relationship of the distance between the entry and the take profit level vs the entry and the stop level.
Example: A $100 stop with a $100 target will have a ratio of 1:1, whereas a $200 target with the same stop will have a 2:1 ratio.
• Per tick/pip : Represents the money value of a tick or pip movement.
• CAGR : The Compound Annual Growth Rate will be displayed on the main order label on trades that exceed one day in duration.
This value is calculated the same way as in our CAGR Custom Range indicator.
If the trade duration is less than one day, the metric will not be present in the display.
The stop and take profit levels display:
• Their price level with an '@' sign before it.
• Their distance from the entry in money value, percentage and ticks/pips.
• The projected end money value of the position if the level is reached. These values are calculated based on the trade size and the currency.
Currency adjustments
This indicator modifies the trade label's colors and values based on the final Profit and Loss (P&L), which considers the dynamic exchange rate between base and conversion currencies in its calculations when the conversion currency is a specified value other than the default. Depending on the cross rate between the base and account currencies, this process can yield a negative P&L on an otherwise successful simulated trade.
For instance, if your account is in currency XYZ, you might buy 10 Apple shares at $150 each, with the XYZ to USD exchange rate being 2:1. This purchase would cost you 3000 units of XYZ. Suppose that later on, the shares appreciate to $170 each, and you decide to sell. One might expect this trade to result in profit. However, if the exchange rate has now equalized to 1:1, the return on selling the shares, calculated in XYZ, would only be 1700 units, resulting in a loss of 1300 units XYZ.
The indicator will mark the P&L and the target labels in red in such cases, regardless of whether the market price reached the profit target, as the trade produced a net loss due to reduced funds after currency conversion. Conversely, an otherwise unsuccessful position can result in a net profit in the account currency due to conversion rate fluctuations. The final losses or gains appear in the label metrics, and the corresponding color coding reflects the trade's success or failure.
Settings
The settings in the "Trade sizing" section are used to calculate the position size and the monetary value of trades. Two types of risk can be chosen from the menu; a percentage based risk calculation, or a fixed money value. The risk is used to calculate the quantity of units to purchase to achieve that level of risk exposure. Example: An account size of $1000 and 10% risk will have a projected end amount of $900 if the stop loss is hit. The quantity is a product of this relationship; a projected number of units to allow for the equivalent of $100 of risk exposure over the change in price from the entry to the stop value.
The "Trade levels" allow you to manually set the entry, take profit and stop levels of an existing position tool on your chart.
You can control the appearance of the tool and the values it displays in the settings following these first two sections.
Alerts
Three alerts that will trigger when you configure an alert on this indicator. The first will send an alert when the entry price is breached by price action if that price has not already been breached in the previous price history. This is dependant on the entry location you select when placing the indicator on the chart. The other two alerts will trigger when either the stop loss or the take profit level is breached to signal that a trade exit has occurred.
█ NOTES FOR Pine Script™ CODERS
• Interactive inputs are implemented for input.time() and input.price() . These specialized input functions allow users to interact with a script.
You can create one interactive input for both time and price values by using the same `inline` argument in a pair of input.time() and input.price() function calls.
• We use the `cagr()` function from our ta library.
• The script uses the runtime.error() function to throw an error if the stop and limit prices are not placed on opposing sides of the entry price.
• We use the `currency` parameter in a request.security() call to convert currencies.
Look first. Then leap.
Generalized Step Moving Average w/ Pips Filter [Loxx]Generalized Step Moving Average w/ Pips Filter is a stepping function on source input to derive a moving average. This general form the stepping can also be applied to any other input such as EMA, SMA, HMA, WMA, etc.. This moving average employ a filtering system based on the following:
Core filter, both min and max value: pips * (multiplier) or the (average of momentum) * (multiplier).
Post processing filter: pips * (multiplier)
These filtering options require trend to shift by the above values before changing direction thereby reducing noise and yielding a better defined trend.
Things to note
This indicator requires fine tuning to make it work on all tickers. If you place this on a chart and it shows all green or red candles, then you must adjust the indicator to coincide with the pip movement of that ticker.
This indicator can be used on any timeframe.
Included
Bar coloring
Signals
Alerts
Loxx's Expanded Source Types
[MAD] CMF 5x MTF BTCthis is a revised classic CMF indicator, with some additional features
Features:
4 different Exchanges:Tickers (clouds).
your current exchanges:ticker (white)
an averaged cmf over all 5 tickers (black)
a selectable time frame for all tickers
3 buy and 3 sell lines (visual H-lines only)
autocentering over ghosts
color scheme is for a dark theme, change in settings if needed.
how to use:
act the crossins
when one or two cmfs move steeply into an h-line, when moving back to the middle they have their signal and do their own risk management.
sometimes really crazy things happen in small time frames (whalegames) that you can use as a tradestop and sit it out.
generally try to go with a bigger trend that give less but better results
MACD Indicator for 5 Min ScalpThis Indicator merges the 1 min MACD with BollingerBands to dedect a bigger than avarage tick on the Macd for the 5 min Scalping Strategy
You can change the length of the bollinger bands for the upper and lower channel individually so that you can get better signals
if a tick is bigger than avarage it will be colored, else it would be gray
this is the same indicator i used to get entrys in my 5 min scalping statagy, but i wouldnt just go in a trade when there is a bigger than usual tick. You have to look at other things to
Risk Management & Position Size DashboardRisk Management and Position Size Calculator
This indicator is designed to assist traders by instantly providing the necessary information to execute orders based on defined risk parameters. This is not an indicator that tells you WHEN to buy or sell, but HOW MUCH to buy or sell based on your risk appetite. The indicator is compatible with any strategy and any instrument
The indicator uses some great pinescript features, allowing you to drag and drop your levels directly on the chart for instant feedback from the risk management dashboard. Huge timesaver.
Instructions:
1. The first time you add the indicator to your chart, you will be asked to identify your Entry, Stop and Target levels by clicking on them directly on the chart. You can at any point adjust these levels directly on the chart, or you can manually enter them in settings
2. Setup your risk profile in the indicator settings:
(a) Current Capital: Enter the current value of your trading account
(b) Max Risk Per Trade: Enter the maximum % of your Capital you want to risk per trade
(c) Max Leverage: Enter the maximum leverage you want applied to your account. This comes in handy when you trade on very low timeframes where position sizes can become very large. No matter what you enter here, position size will never exceed Max Risk Per Trade
(d) Stop Ticks: Number of ticks to use above/below the identified high/low for stops
(e) Use Current Price as Entry (Market Orders): By default, the system will use the entry level you have selected for limit orders. If you want to use the system to display data based on current price for market orders, select “Use Current Price as Entry (Market Orders)”
3. Based on your stop and target levels, the system will automatically display the dashboard for Longs (bottom of screen) or Shorts (top of screen). The levels will also be displayed to the right of the current price bar
4. Display Free Trade Level: toggle this on to display the level you should exit 50% of your position to make the trade risk free
5. Dashboard / Text size and level colours and positions are customisable
The Dashboard displays the following information at all times:
1. Entry
2. Stop
3. Trade Risk (%): Percentage price difference between Entry and Stop
4. Max Risk ($): Currency value of loss if the trade is stopped out
5. Size: Position Size to execute your trade based on your risk profile/appetite
6. Size($): Position Size in currency value
7. P&L($): Potential profit to your Capital in currency value
8. P&L(%): Potential profit to your Capital in %
9. R:R: Risk to Reward Ratio
10. % to Target: Percent price needs to move to achieve your target
Hope this helps you with your trading. I built this as I was tired of wasting time opening up spreadsheets or calculators to execute trades - especially on lower timeframes. Making the code open source so if you do make improvements to this I'd love to hear from you. Also open to suggestions.
Happy Trading!
Countdown Interval TimerCountdown Interval Timer calculates the time remaining (in seconds) until bar close and 5 custom intervals (minutes).
Given the execution model of Pine Script is ticked-based, alerts based on this indicator will only trigger if there is a tick at the right time.
Specifically, a tick would be required between the event target (close of bar time, end of minute/s interval), less the Trigger Threshold (default = 5 seconds before).
Alert instructions:
1. Create new alert
2. Select Condition options as:
a) This indicator & desired plot (Ti_Cl, Ti_01, Ti_02, Ti_03, Ti_04 or Ti_05)
b) 'Crossing Down'
c) This indicator & 'Trigger'
3. Set Options to 'Once Per Minute'
Note that if you change the input values of this indicator you will need to recreate the alert as it will not pick up the changes.
For example if you change 'Time interval 01' from 1 to 3, the alert will remain at 1
logLibrary "log"
Logging library for easily displaying debug, info, warn, error and critical messages.
No real need to explain why you might want to use this library! I'm sure you've all experienced the frustration of trying to understand the data state of your scripts... so, enjoy! More on it's way...
(Don't forget to check the helpers in the script and the useful tips below)
Some Useful Tips
By default the log console persists between bars (for history) and bars and ticks (for realtime).
Sometimes it is useful to clear the log after each candle or tick (assuming we are using the above helpers):
```
log_print(clear = true) // starts afresh on every bar and tick (excludes historical bars but good realtime tick analysis)
log_print(clear = barstate.isnew) // clears the log at the start of each bar (again, excludes historical but good realtime candle analysis)
```
It is also useful to be able to selectively understand the state of data at specific points or times within a script:
```
if log.once()
debug('useful variable', my_var) // this log only gets written once, upon first execution of this statement
if log.only(5)
debug3(a, b, c) // these variables are only logged the first five times this statement is executed
log_print(clear = false) // clear must be false and you should not write other logs on every bar, or the above will be lost
```
Final tip. If you want to view ONLY log entries of a particular level, then negate the constant:
```
log_print(level = -LOG_DEBUG)
```
Detailed Interface
once() Restrict execution to only happen once. Usage: if assert.once()\n happens_once()
Returns: bool, true on first execution within scope, false subsequently
only(repeat) Restrict execution to happen a set number of times. Usage: if assert.only(5)\n happens_five_times()
Parameters:
repeat : int, the number of times to return true
Returns: bool, true for the set number of times within scope, false subsequently
init() Initialises the log array
Returns: string , tuple based array to contain all pending log entries (__LOG)
clear(msgs) Clears the log array
Parameters:
msgs : string , the current collection of unfiltered and unprocessed logs (__LOG)
trace(msgs, msg) Writes a trace message to the log console
Parameters:
msgs : string , the current collection of unfiltered and unprocessed logs (__LOG)
msg : string, the trace message to write to the log
debug(msgs, msg) Writes a debug message to the log console
Parameters:
msgs : string , the current collection of unfiltered and unprocessed logs (__LOG)
msg : string, the debug message to write to the log
info(msgs, msg) Writes an info message to the log console
Parameters:
msgs : string , the current collection of unfiltered and unprocessed logs (__LOG)
msg : string, the info message to write to the log
warn(msgs, msg) Writes a warning message to the log console
Parameters:
msgs : string , the current collection of unfiltered and unprocessed logs (__LOG)
msg : string, the warn message to write to the log
error(msgs, msg) Writes an error message to the log console
Parameters:
msgs : string , the current collection of unfiltered and unprocessed logs (__LOG)
msg : string, the error message to write to the log
fatal(msgs, msg) Writes a critical message to the log console
Parameters:
msgs : string , the current collection of unfiltered and unprocessed logs (__LOG)
msg : string, the fatal message to write to the log
log(msgs, level, msg) Write a log message to the log console with a custom level
Parameters:
msgs : string , the current collection of unfiltered and unprocessed logs (__LOG)
level : ing, the logging level to assign to the message
msg : string, the log message to write to the log
severity(msgs) Checks the unprocessed log messages and returns the highest present level
Parameters:
msgs : string , the current collection of unfiltered and unprocessed logs (__LOG)
Returns: int, the highest level found within the unfiltered logs
print(msgs, level, clear, rows, text_size, position) Prints all log messages to the screen
Parameters:
msgs : string , the current collection of unfiltered and unprocessed logs (__LOG)
level : int, the minimum required log level of each message to be displayed
clear : bool, clear the printed log console after each render (useful with realtime when set to barstate.isconfirmed)
rows : int, the number of rows to display in the log console
text_size : string, the text size of the log console (global size vars)
position : string, the position of the log console (global position vars)
unittest_log(case) Log module unit tests, for inclusion in parent script test suite. Usage: log.unittest_log(__ASSERTS)
Parameters:
case : string , the current test case and array of previous unit tests (__ASSERTS)
unittest(verbose) Run the log module unit tests as a stand alone. Usage: log.unittest()
Parameters:
verbose : bool, optionally disable the full report to only display failures
Tape [LucF]█ OVERVIEW
This script prints an ersatz of a trading console's "tape" section to the right of your chart. It displays the time, price and volume of each update of the chart's feed. It also calculates volume delta for the bar. As it calculates from realtime information, it will not display information on historical bars.
█ FEATURES
Calculations
Each new line in the tape displays the last price/volume update from the TradingView feed that's building your chart. These updates do not necessarily correspond to ticks from the originating broker/exchange's matching engine. Multiple broker/exchange ticks are often aggregated in one chart update.
The script first determines if price has moved up or down since the last update. The polarity of the price change, in turn, determines the polarity of the volume for that specific update. If price does not move between consecutive updates, then the last known polarity is used. Using this method, we can calculate a running volume delta accumulation for the bar, which becomes the bar's final volume delta value when the bar closes (you can inspect values of elapsed realtime bars in the Data Window or the indicator's values). Note that these values will all reset if the script re-executes because of a change in inputs or a chart refresh.
While this method of calculating volume delta is not perfect, it is currently the most precise way of calculating volume delta available on TradingView at the moment. Calculating more precise results would require scripts to have access to bid/ask levels from any chart timeframe. Charts at seconds timeframes do use exchange/broker ticks when the feeds you are using allow for it, and this indicator will run on them, but tick data is not yet available from higher timeframes, for now. Also note that the method used in this script is far superior to the intrabar inspection technique used on historical bars in my other "Delta Volume" indicators. This is because volume delta here is calculated from many more realtime updates than the available intrabars in history.
Inputs
You can use the script's inputs to configure:
• The number of lines displayed in the tape.
• If new lines appear at the top or bottom.
• If you want to hide lines with low volume.
• The precision of volume values.
• The size of the text and the colors used to highlight either the tape's text or background.
• The position where you want the tape on your chart.
• Conditions triggering three different markers.
Display
Deltas are shown at the bottom of the tape. They are reset on each bar. Time delta displays the time elapsed since the beginning of the bar, on intraday timeframes only. Contrary to the price change display by TradingView at the top left of charts, which is calculated from the close of the previous bar, the price delta in the tape is calculated from the bar's open, because that's the information used in the calculation of volume delta. The time will become orange when volume delta's polarity diverges from that of the bar. The volume delta value represents the current, cumulative value for the bar. Its color reflects its polarity.
When new realtime bars appear on the chart, a ↻ symbol will appear before the volume value in tape lines.
Markers
There are three types of markers you can choose to display:
• Marker 1 on volume bumps. A bump is defined as two consecutive and increasing/decreasing plus/minus delta volume values,
when no divergence between the polarity of delta volume and the bar occurs on the second bar.
• Marker 2 on volume delta for the bar exceeding a limit of your choice when there is no divergence between the polarity of delta volume and the bar. These trigger at the bar's close.
• Marker 3 on tape lines with volume exceeding a threshold. These trigger in realtime. Be sure to set a threshold high enough so that it doesn't generate too many alerts.
These markers will only display briefly under the bar, but another marker appears next to the relevant line in the tape.
The marker conditions are used to trigger alerts configured on the script. Alert messages will mention the marker(s) that triggered the specific alert event, along with the relevant volume value that triggered the marker. If more than one marker triggers a single alert, they will overprint under the bar, which can make it difficult to distinguish them.
For more detailed on-chart analysis of realtime volume delta, see my Delta Volume Realtime Action .
█ NOTES FOR CODERS
This script showcases two new Pine features:
• Tables, which allow Pine programmers to display tabular information in fixed locations of the chart. The tape uses this feature.
See the Pine User Manual's page on Tables for more information.
• varip -type variables which we can use to save values between realtime updates.
See the " Using `varip` variables " publication by PineCoders for more information.
Bitfinex Spot PremiumOverview
A tool to display the spot price premium of Bitfinex coins vs the other big 3 exchanges.
Premium is calculated against:
- Coinbase
- Binance
- FTX
The average is calculated through volume weighting. The absolute difference between the Bitfinex spot price and the calculated average is then displayed on the histogram.
Interacting with the tool
Colours: Green bars indicate a positive premium (Bitfinex spot price is greater than the average), Red bars indicate a negative premium. The ability to grey out smaller premiums is also enabled with the "Grey Small Vals" checkbox, this can be used to further emphasise larger premiums.
Ticker: The ticker input allows you to detect the Bitfinex premium for any coin traded within all 4 exchanges (Bitfinex, Coinbase, Binance, FTX). Just input the coins ticker symbol, for example, "BTC", "ETH", "UNI".
Indicator Ideology
Bitfinex is known for being the home of crypto "smart money". Therefore, positive premiums indicate stronger buying from "smart money". Although this premium is a good sign of bullish/ bearish market conditions, for example, consecutive days of a negative Bitfinex premium have been pretty good at indicating short term tops in BTC, this indicator should only be used as a confirmation signal.
Combing in MACD and MTFHi all, I'm trying to wedge in the MACD into a multiple timeframe. Scope is to create:
1) an alert when the MACD across all timeframes is positive,
2) an alert when the MACD across all timeframes is negative, and
3) one when neither of them is applicable.
Would anyone be so kind to give it some thoughts, please?
//@version=2
strategy(" Easy MTF Strategy", overlay=false)
TF_1_time = input("3", "Timeframe 1")
TF_2_time = input("5", "Timeframe 2")
TF_3_time = input("15", "Timeframe 3")
TF_4_time = input("30", "Timeframe 4")
fastLen = input(title="Fast Length", type=integer, defval=12)
slowLen = input(title="Slow Length", type=integer, defval=26)
sigLen = input(title="Signal Length", type=integer, defval=9)
= macd(close, fastLen, slowLen, sigLen)
width = 5
upcolor = green
downcolor = red
neutralcolor = blue
linestyle = line
TF_1 = security(tickerid, TF_1_time, open) < security(tickerid, TF_1_time, close) ? true:false
TF_1_color = TF_1 ? upcolor:downcolor
TF_2 = security(tickerid, TF_2_time, open) < security(tickerid, TF_2_time, close) ? true:false
TF_2_color = TF_2 ? upcolor:downcolor
TF_3 = security(tickerid, TF_3_time, open) < security(tickerid, TF_3_time, close) ? true:false
TF_3_color = TF_3 ? upcolor:downcolor
TF_4 = security(tickerid, TF_4_time, open) < security(tickerid, TF_4_time, close) ? true:false
TF_4_color = TF_4 ? upcolor:downcolor
TF_global = TF_1 and TF_2 and TF_3 and TF_4
TF_global_bear = TF_1 == false and TF_2 == false and TF_3 == false and TF_4 == false
TF_global_color = TF_global ? green : TF_global_bear ? red : white
TF_trigger_width = TF_global ? 6 : width
plot(1, style=linestyle, linewidth=width, color=TF_1_color)
plot(5, style=linestyle, linewidth=width, color=TF_2_color)
plot(10, style=linestyle, linewidth=width, color=TF_3_color)
plot(15, style=linestyle, linewidth=width, color=TF_4_color)
plot(25, style=linestyle, linewidth=4, color=TF_global_color)
exitCondition_Long = TF_global_bear
exitCondition_Short = TF_global
longCondition = TF_global
if (longCondition)
strategy.entry("MTF_Long", strategy.long)
shortCondition = TF_global_bear
if (shortCondition)
strategy.entry("MTF_Short", strategy.short)
strategy.close("MTF_Long", when=exitCondition_Long)
strategy.close("MTF_Short", when=exitCondition_Short)
Aggregated Multi-Exchange Delta Volume Histogram (w ADMF)This indicator is multi-exchange aggregated volume with additional ATR-based length ADMF EMA (orange/green line).
It has pre-defined ticker list for BTC, ETH and SOL but feel free to use settings to add a multi-exchange ticker list for any other ticker.
Market Cap Landscape 3DHello, traders and creators! 👋
Market Cap Landscape 3D. This project is more than just a typical technical analysis tool; it's an exploration into what's possible when code meets artistry on the financial charts. It's a demonstration of how we can transcend flat, two-dimensional lines and step into a vibrant, three-dimensional world of data.
This project continues a journey that began with a previous 3D experiment, the T-Virus Sentiment, which you can explore here:
The Market Cap Landscape 3D builds on that foundation, visualizing market data—particularly crypto market caps—as a dynamic 3D mountain range. The entire landscape is procedurally generated and rendered in real-time using the powerful drawing capabilities of polyline.new() and line.new() , pushed to their creative limits.
This work is intended as a guide and a design example for all developers, born from the spirit of learning and a deep love for understanding the Pine Script™ language.
---
🧐 Core Concept: How It Works
The indicator synthesizes multiple layers of information into a single, cohesive 3D scene:
The Surface: The mountain range itself is a procedurally generated 3D mesh. Its peaks and valleys create a rich, textured landscape that serves as the canvas for our data.
Crypto Data Integration: The core feature is its ability to fetch market cap data for a list of cryptocurrencies you provide. It then sorts them in descending order and strategically places them onto the 3D surface.
The Summit: The highest point on the mountain is reserved for the asset with the #1 market cap in your list, visually represented by a flag and a custom emblem.
The Mountain Labels: The other assets are distributed across the mountainside, with their rank determining their general elevation. This creates an intuitive visual hierarchy.
The Leaderboard Pole: For clarity, a dedicated pole in the back-right corner provides a clean, ranked list of the symbols and their market caps, ensuring the data is always easy to read.
---
🧐 Example of adjusting the view
To evoke the feeling of flying over mountains
To evoke the feeling of looking at a mountain peak on a low plain
🧐 Example of predefined colors
---
🚀 How to Use
Getting started with the Market Cap Landscape 3D:
Add to Chart: Apply the "Market Cap Landscape 3D" indicator to your active chart.
Open Settings: Double-click anywhere on the 3D landscape or click the "Settings" icon next to the indicator's name.
Customize Your Crypto List: The most important setting is in the Crypto Data tab. In the "Symbols" text area, enter a comma-separated list of the crypto tickers you want to visualize (e.g., BTC,ETH,SOL,XRP ). The indicator supports up to 40 unique symbols.
> Important Note: This indicator exclusively uses TradingView's `CRYPTOCAP` data source. To find valid symbols, use the main symbol search bar on your chart. Type `CRYPTOCAP:` (including the colon) and you will see a list of available options. For example, typing `CRYPTOCAP:BTC` will confirm that `BTC` is a valid ticker for the indicator's settings. Using symbols that do not exist in the `CRYPTOCAP` index will result in a script error. or, to display other symbols, simply type CRYPTOCAP: (including the colon) and you will see a list of available options.
Adjust Your View: Use the settings in the Camera & Projection tab to rotate ( Yaw ), tilt ( Pitch ), and scale the landscape until you find a view you love.
Explore & Customize: Play with the color palettes, flag design, and other settings to make the landscape truly your own!
---
⚙️ Settings & Customization
This indicator is highly customizable. Here’s a breakdown of what each setting does:
#### 🪙 Crypto Data
Symbols: Enter the crypto tickers you want to track, separated by commas. The script automatically handles duplicates and case-insensitivity.
Show Market Cap on Mountain: When checked, it displays the full market cap value next to the symbol on the mountain. When unchecked, it shows a cleaner look with just the symbol and a colored circle background.
#### 📷 Camera & Projection
Yaw (°): Rotates the camera view horizontally (side to side).
Pitch (°): Tilts the camera view vertically (up and down).
Scale X, Y, Z: Stretches or compresses the landscape in width, depth, and height, respectively. Fine-tune these to get the perfect perspective.
#### 🏞️ Grid / Surface
Grid X/Y resolution: Controls the detail level of the 3D mesh. Higher values create a smoother surface but may use more resources.
Fill surface strips: Toggles the beautiful color gradient on the surface.
Show wireframe lines: Toggles the visibility of the grid lines.
Show nodes (markers): Toggles the small dots at each grid intersection point.
#### 🏔️ Peaks / Mountains
Fill peaks volume: Draws vertical lines on high peaks, giving them a sense of volume.
Fill peaks surface: Draws a cross-hatch pattern on the surface of high peaks.
Peak height threshold: Defines the minimum height for a peak to receive the fill effect.
Peak fill color/density: Customizes the appearance of the fill lines.
#### 🚩 Flags (3D)
Show Flag on Summit: A master switch to show or hide the flag and emblem entirely.
Flag height, width, etc.: Provides full control over the dimensions and orientation of the flag on the highest peak.
#### 🎨 Color Palette
Base Gradient Palette: Choose from 13 stunning, pre-designed color themes for the landscape, from the classic SUNSET_WAVE to vibrant themes like NEON_DREAM and OCEANIC .
#### 🛡️ Emblem / Badge Controls
This section gives you granular control over every element of the custom emblem on the flag. Tweak rotation, offsets, and scale to design your unique logo.
---
👨💻 Developer's Corner: Modifying the Core Logic
If you're a developer and wish to customize the indicator's core data source, this section is for you. The script is designed to be modular, making it easy to change what data is being ranked and visualized.
The heart of the data retrieval and ranking logic is within the f_getSortedCryptoData() function. Here’s how you can modify it:
1. Changing the Data Source (from Market Cap to something else):
The current logic uses request.security("CRYPTOCAP:" + syms.get(i), ...) to fetch market capitalization data. To change this, you need to modify this line.
Example: Ranking by RSI (14) on the Daily timeframe.
First, you'll need a function to calculate RSI. Add this function to the script:
f_getRSI(symbol, timeframe, length) =>
request.security(symbol, timeframe, ta.rsi(close, length))
Then, inside f_getSortedCryptoData() , find the `for` loop that populates the `caps` array and replace the `request.security` call:
// OLD LINE:
// caps.set(i, request.security("CRYPTOCAP:" + syms.get(i), timeframe.period, close))
// NEW LINE for RSI:
// Note: You'll need to decide how to format the symbol name (e.g., "BINANCE:" + syms.get(i) + "USDT")
caps.set(i, f_getRSI("BINANCE:" + syms.get(i) + "USDT", "D", 14))
2. Changing the Data Formatting:
The ranking values are formatted for display using the f_fmtCap() function, which currently formats large numbers into "M" (millions), "B" (billions), etc.
If you change the data source to something like RSI, you'll want to change the formatting. You can modify f_fmtCap() or create a new formatting function.
Example: Formatting for RSI.
// Modify f_fmtCap or create f_fmtRSI
f_fmtRSI(float v) =>
str.tostring(v, "#.##") // Simply format to two decimal places
Remember to update the calls to this function in the main drawing loop where the labels are created (e.g., str.format("{0}: {1}", crypto.symbol, f_fmtCap(crypto.cap)) ).
By modifying these key functions ( f_getSortedCryptoData and f_fmtCap ), you can adapt the Market Cap Landscape 3D to visualize and rank almost any dataset you can imagine, from technical indicators to fundamental data.
---
We hope you enjoy using the Market Cap Landscape 3D as much as we enjoyed creating it. Happy charting! ✨