T3 Volatility Quality Index (VQI) w/ DSL & Pips Filtering [Loxx]T3 Volatility Quality Index (VQI) w/ DSL & Pips Filtering is a VQI indicator that uses T3 smoothing and discontinued signal lines to determine breakouts and breakdowns. This also allows filtering by pips.***
What is the Volatility Quality Index ( VQI )?
The idea behind the volatility quality index is to point out the difference between bad and good volatility in order to identify better trade opportunities in the market. This forex indicator works using the True Range algorithm in combination with the open, close, high and low prices.
What are DSL Discontinued Signal Line?
A lot of indicators are using signal lines in order to determine the trend (or some desired state of the indicator) easier. The idea of the signal line is easy : comparing the value to it's smoothed (slightly lagging) state, the idea of current momentum/state is made.
Discontinued signal line is inheriting that simple signal line idea and it is extending it : instead of having one signal line, more lines depending on the current value of the indicator.
"Signal" line is calculated the following way :
When a certain level is crossed into the desired direction, the EMA of that value is calculated for the desired signal line
When that level is crossed into the opposite direction, the previous "signal" line value is simply "inherited" and it becomes a kind of a level
This way it becomes a combination of signal lines and levels that are trying to combine both the good from both methods.
In simple terms, DSL uses the concept of a signal line and betters it by inheriting the previous signal line's value & makes it a level.
What is the T3 moving average?
Better Moving Averages Tim Tillson
November 1, 1998
Tim Tillson is a software project manager at Hewlett-Packard, with degrees in Mathematics and Computer Science. He has privately traded options and equities for 15 years.
Introduction
"Digital filtering includes the process of smoothing, predicting, differentiating, integrating, separation of signals, and removal of noise from a signal. Thus many people who do such things are actually using digital filters without realizing that they are; being unacquainted with the theory, they neither understand what they have done nor the possibilities of what they might have done."
This quote from R. W. Hamming applies to the vast majority of indicators in technical analysis . Moving averages, be they simple, weighted, or exponential, are lowpass filters; low frequency components in the signal pass through with little attenuation, while high frequencies are severely reduced.
"Oscillator" type indicators (such as MACD , Momentum, Relative Strength Index ) are another type of digital filter called a differentiator.
Tushar Chande has observed that many popular oscillators are highly correlated, which is sensible because they are trying to measure the rate of change of the underlying time series, i.e., are trying to be the first and second derivatives we all learned about in Calculus.
We use moving averages (lowpass filters) in technical analysis to remove the random noise from a time series, to discern the underlying trend or to determine prices at which we will take action. A perfect moving average would have two attributes:
It would be smooth, not sensitive to random noise in the underlying time series. Another way of saying this is that its derivative would not spuriously alternate between positive and negative values.
It would not lag behind the time series it is computed from. Lag, of course, produces late buy or sell signals that kill profits.
The only way one can compute a perfect moving average is to have knowledge of the future, and if we had that, we would buy one lottery ticket a week rather than trade!
Having said this, we can still improve on the conventional simple, weighted, or exponential moving averages. Here's how:
Two Interesting Moving Averages
We will examine two benchmark moving averages based on Linear Regression analysis.
In both cases, a Linear Regression line of length n is fitted to price data.
I call the first moving average ILRS, which stands for Integral of Linear Regression Slope. One simply integrates the slope of a linear regression line as it is successively fitted in a moving window of length n across the data, with the constant of integration being a simple moving average of the first n points. Put another way, the derivative of ILRS is the linear regression slope. Note that ILRS is not the same as a SMA ( simple moving average ) of length n, which is actually the midpoint of the linear regression line as it moves across the data.
We can measure the lag of moving averages with respect to a linear trend by computing how they behave when the input is a line with unit slope. Both SMA (n) and ILRS(n) have lag of n/2, but ILRS is much smoother than SMA .
Our second benchmark moving average is well known, called EPMA or End Point Moving Average. It is the endpoint of the linear regression line of length n as it is fitted across the data. EPMA hugs the data more closely than a simple or exponential moving average of the same length. The price we pay for this is that it is much noisier (less smooth) than ILRS, and it also has the annoying property that it overshoots the data when linear trends are present.
However, EPMA has a lag of 0 with respect to linear input! This makes sense because a linear regression line will fit linear input perfectly, and the endpoint of the LR line will be on the input line.
These two moving averages frame the tradeoffs that we are facing. On one extreme we have ILRS, which is very smooth and has considerable phase lag. EPMA has 0 phase lag, but is too noisy and overshoots. We would like to construct a better moving average which is as smooth as ILRS, but runs closer to where EPMA lies, without the overshoot.
A easy way to attempt this is to split the difference, i.e. use (ILRS(n)+EPMA(n))/2. This will give us a moving average (call it IE /2) which runs in between the two, has phase lag of n/4 but still inherits considerable noise from EPMA. IE /2 is inspirational, however. Can we build something that is comparable, but smoother? Figure 1 shows ILRS, EPMA, and IE /2.
Filter Techniques
Any thoughtful student of filter theory (or resolute experimenter) will have noticed that you can improve the smoothness of a filter by running it through itself multiple times, at the cost of increasing phase lag.
There is a complementary technique (called twicing by J.W. Tukey) which can be used to improve phase lag. If L stands for the operation of running data through a low pass filter, then twicing can be described by:
L' = L(time series) + L(time series - L(time series))
That is, we add a moving average of the difference between the input and the moving average to the moving average. This is algebraically equivalent to:
2L-L(L)
This is the Double Exponential Moving Average or DEMA , popularized by Patrick Mulloy in TASAC (January/February 1994).
In our taxonomy, DEMA has some phase lag (although it exponentially approaches 0) and is somewhat noisy, comparable to IE /2 indicator.
We will use these two techniques to construct our better moving average, after we explore the first one a little more closely.
Fixing Overshoot
An n-day EMA has smoothing constant alpha=2/(n+1) and a lag of (n-1)/2.
Thus EMA (3) has lag 1, and EMA (11) has lag 5. Figure 2 shows that, if I am willing to incur 5 days of lag, I get a smoother moving average if I run EMA (3) through itself 5 times than if I just take EMA (11) once.
This suggests that if EPMA and DEMA have 0 or low lag, why not run fast versions (eg DEMA (3)) through themselves many times to achieve a smooth result? The problem is that multiple runs though these filters increase their tendency to overshoot the data, giving an unusable result. This is because the amplitude response of DEMA and EPMA is greater than 1 at certain frequencies, giving a gain of much greater than 1 at these frequencies when run though themselves multiple times. Figure 3 shows DEMA (7) and EPMA(7) run through themselves 3 times. DEMA^3 has serious overshoot, and EPMA^3 is terrible.
The solution to the overshoot problem is to recall what we are doing with twicing:
DEMA (n) = EMA (n) + EMA (time series - EMA (n))
The second term is adding, in effect, a smooth version of the derivative to the EMA to achieve DEMA . The derivative term determines how hot the moving average's response to linear trends will be. We need to simply turn down the volume to achieve our basic building block:
EMA (n) + EMA (time series - EMA (n))*.7;
This is algebraically the same as:
EMA (n)*1.7-EMA( EMA (n))*.7;
I have chosen .7 as my volume factor, but the general formula (which I call "Generalized Dema") is:
GD (n,v) = EMA (n)*(1+v)-EMA( EMA (n))*v,
Where v ranges between 0 and 1. When v=0, GD is just an EMA , and when v=1, GD is DEMA . In between, GD is a cooler DEMA . By using a value for v less than 1 (I like .7), we cure the multiple DEMA overshoot problem, at the cost of accepting some additional phase delay. Now we can run GD through itself multiple times to define a new, smoother moving average T3 that does not overshoot the data:
T3(n) = GD ( GD ( GD (n)))
In filter theory parlance, T3 is a six-pole non-linear Kalman filter. Kalman filters are ones which use the error (in this case (time series - EMA (n)) to correct themselves. In Technical Analysis , these are called Adaptive Moving Averages; they track the time series more aggressively when it is making large moves.
Included
Signals
Alerts
Related indicators
Zero-line Volatility Quality Index (VQI)
Volatility Quality Index w/ Pips Filtering
Variety Moving Average Waddah Attar Explosion (WAE)
***This indicator is tuned to Forex. If you want to make it useful for other tickers, you must change the pip filtering value to match the asset. This means that for BTC, for example, you likely need to use a value of 10,000 or more for pips filter.
Cari dalam skrip untuk "文华财经tick价格"
Quick LevelsQuick Levels allow users to quickly add multiple levels to their chart all at once through an intuitive user interface!
No need to fiddle with drawing lines and then inputting their exact position afterwards, do all of it with one string of numbers!
Insert multiple levels at once, simply separate your price levels by commas(,).
Insert levels across tickers to save time when switching between charts.
Notes:
For users coming from "Copy/Paste Levels", this system is very robust.
The only user input variable that is not multiple choice is the "levels" box. I have taken steps to fool proof this box, by (input processing) removing spaces, removing commas at the start or end, and replacing semicolons with commas. You can see in the cover chart that the inputs for the first level have a lot of spaces and a comma at the end, yet it does not effect the output.
If there is no ticker entered in the "Ticker" box, the levels will be drawn on your current chart.
Enjoy!
Modified Covariance Autoregressive Estimator of Price [Loxx]What is the Modified Covariance AR Estimator?
The Modified Covariance AR Estimator uses the modified covariance method to fit an autoregressive (AR) model to the input data. This method minimizes the forward and backward prediction errors in the least squares sense. The input is a frame of consecutive time samples, which is assumed to be the output of an AR system driven by white noise. The block computes the normalized estimate of the AR system parameters, A(z), independently for each successive input.
Characteristics of Modified Covariance AR Estimator
Minimizes the forward prediction error in the least squares sense
Minimizes the forward and backward prediction errors in the least squares sense
High resolution for short data records
Able to extract frequencies from data consisting of p or more pure sinusoids
Does not suffer spectral line-splitting
May produce unstable models
Peak locations slightly dependent on initial phase
Minor frequency bias for estimates of sinusoids in noise
Order must be less than or equal to 2/3 the input frame size
Purpose
This indicator calculates a prediction of price. This will NOT work on all tickers. To see whether this works on a ticker for the settings you have chosen, you must check the label message on the lower right of the chart. The label will show either a pass or fail. If it passes, then it's green, if it fails, it's red. The reason for this is because the Modified Covariance method produce unstable models
H(z)= G / A(z) = G / (1+. a(2)z −1 +…+a(p+1)z)
You specify the order, "ip", of the all-pole model in the Estimation order parameter. To guarantee a valid output, you must set the Estimation order parameter to be less than or equal to two thirds the input vector length.
The output port labeled "a" outputs the normalized estimate of the AR model coefficients in descending powers of z.
The implementation of the Modified Covariance AR Estimator in this indicator is the fast algorithm for the solution of the modified covariance least squares normal equations.
Inputs
x - Array of complex data samples X(1) through X(N)
ip - Order of linear prediction model (integer)
Notable local variables
v - Real linear prediction variance at order IP
Outputs
a - Array of complex linear prediction coefficients
stop - value at time of exit, with error message
false - for normal exit (no numerical ill-conditioning)
true - if v is not a positive value
true - if delta and gamma do not lie in the range 0 to 1
true - if v is not a positive value
true - if delta and gamma do not lie in the range 0 to 1
errormessage - an error message based on "stop" parameter; this message will be displayed in the lower righthand corner of the chart. If you see a green "passed" then the analysis is valid, otherwise the test failed.
Indicator inputs
LastBar = bars backward from current bar to test estimate reliability
PastBars = how many bars are we going to analyze
LPOrder = Order of Linear Prediction, and for Modified Covariance AR method, this must be less than or equal to 2/3 the input frame size, so this number has a max value of 0.67
FutBars = how many bars you'd like to show in the future. This algorithm will either accept or reject your value input here and then project forward
Further reading
Spectrum Analysis-A Modern Perspective 1380 PROCEEDINGS OF THE IEEE, VOL. 69, NO. 11, NOVEMBER 1981
Related indicators
Levinson-Durbin Autocorrelation Extrapolation of Price
Weighted Burg AR Spectral Estimate Extrapolation of Price
Helme-Nikias Weighted Burg AR-SE Extra. of Price
Itakura-Saito Autoregressive Extrapolation of Price
Modified Covariance Autoregressive Estimator of Price
RVol Over Time [vnhilton]I recommend to do the following to give you indicator values at a better glance & for a cleaner chart: 1) Turn off labels on price scale. 2) Turn down opacity for Rvol-O-T down to 0%. 3) Move the indicator to the chart pane or to the volume pane. 4) Pin the indicator to scale A (same scale as the price chart/pane). Now you can only see the RVol-O-T on the top left.
Relative Volume (RVol) is an indicator that compares current volume with Average Daily Volume (ADV) for a set period of time. This can be used to find tickers in play, as those trading with an RVol >1 means it's trading above average volume, which may be worthy of your attention.
This indicator calculates RVol as the day progresses, which may be useful if you have strategies with an intraday criterion e.g. the ticker needs to be trading at Rvol > 2, 30 minutes after the open for stocks (You can see RVol in % or float form).
The chart snapshot image above shows BTCUSDT. Reason for this ticker is because for cryptocurrencies & forex pairs, market data is complete so this indicator can work correctly. If you try this indicator on stocks, indices or futures, you may notice that there's a discrepancy between daily volume candles & the summation of intraday candles (they don't equate each other - huge difference between the 2), causing the indicator to not work as effectively. To solve this problem, you would have to get extra market data from TradingView, or to integrate your broker with TradingView to pass along your broker's data feed (provided your broker also has real-time data - if not you may need to get extra market data via the broker).
Stock ScreenerThis indicator helps monitoring QQE Mod and RMO of 20 tickers simultaneously.
This indicator shows last 4/8 indicator results of particular ticker.
Left side: 8 last colors of both indicator on current timeframe. Most left is older.
Right side: 4 last colors of both indicator on selected higher timeframe. Most right is newer.
Icon color is QQE Mod.
Background color is RMO color.
This indicator is suitable for daily or swing trade.
Recommended timeframe is 2 Hours, and recommended higher timeframe is Daily.
intraday_bondsStatistics for assisting with intraday bond trading, using five minute periods and one hour ranges. There are two tables, a volatility table and a correlation table. The correlation table shows the correlation of five minute returns (absolute) between the four different bond contracts that trade on the CME. The volatility table shows for each contract:
- The current realized volatility, based on the previous one hour of realized volatility. This figure is annualized for easy comparison with options contracts.
- The current realized volatility's z-score, based on all available data.
- The tick range of an "N" standard deviation move over one hour. Choose "N" using the stdevs input.
- The previous hour's true range (high - low).
The ranges are expressed in ticks.
Intrabar OBV/PVTI got this idea from @fikira's script Intrabar-Price-Volume-Change-experimental
The indicator calculates OBV and PVT based on ticks. Since, the indicator relies on live ticks, it only starts execution after it is put on the charts. The script can be useful in analysing intraday buy and sell pressure. Details are color coded based on the values.
Data is presented in simple tabular format.
Formula for OBV and PVT can be found here:
www.investopedia.com
www.investopedia.com
Super Multi Trend [Salty]This script uses the 5, 8, 13, 21, 34 low, 34 close, 34 high, and 55 EMAs in comparison to each other to gauge momentum and trend strength for the current ticker. Additionally, it provides the ability to compare to 3 additional tickers at the same time (Uncheck boxes in settings to hide if desired). For the Super Trend Row darker colors are more bearish than lighter colors, and consequently lighter colors are more bullish than darker colors. Yellow indicates a neutral or choppy market. Fully stacked EMAs are shown with a Light Green (Lime) color for the bullish condition, and Dark Red for the bearish condition.
SQV CrossThis strategy is used to find tickers that do well when SPY and QQQ are up and VIX is down. This uses EMA's on the user defined resolution to define direction of each ticker. Trades are entered upon crossover. EMAs are user defined as well.
Volume Prism RibbonNASDAQ:SPWR
The purpose of this script is to give insight into the volume action. The relative volume is calculated (based on 400 ticks) with the volume of down days (close-close <0) being given a negative value. This function is then summed over 100 ticks. WMA's are used to generate a rainbow ribbon who's color order is easily recognized buy all of us. Watch and Warning points are added using crossover points. I find it to be a good supplement to my favorite Buy/Sell indicator. In addition to the wrapping of the ribbon, pay attention to where the zero line is as well.
Technical Analysis Consulting Table (TACT)Inspired by Tradingview's own "Technical Analysis Summary", I present to you a table with analogous logic.
You can track any ticker you want, no matter your chart. You can even have multiple tables to track multiple tickers. By default it tracks the Total Crypto Cap.
You can change the resolution you want to track. By default it is the same as the chart.
You can position the table to whichever corner of the chart you want. By default it draws in the bottom right corner.
Background colors and text size can be adjusted.
Indicators Used:
Oscillators
RSI(14)
STOCH(14, 3, 3)
CCI(20)
ADX(14)
AO
Momentum(10)
MACD(12, 26)
STOCH RSI(3, 3, 14, 14)
%R(14)
Bull Bear Power
UO(7,14,28)
Moving Averages
EMA(5)
SMA(5)
EMA(10)
SMA(10)
EMA(20)
SMA(20)
EMA(30)
SMA(30)
EMA(50)
SMA(50)
EMA(100)
SMA(100)
EMA(200)
SMA(200)
Ichimoku Cloud(9, 26, 52, 26)
VMWA(20)
HMA(9)
Pivots
Traditional
Fibonacci
Camarilla
Woodie
WARNING: I have observed up to a couple of seconds of signal jitter/delay, so use it with caution in very small resolutions (1s to 1m).
I hope you enjoy this and good luck with your trading. Suggestions and feedback are most welcome.
Relative Strength RatioAbout this indicator:
This indicator goes under many different names such as Relative Strength Ratio, Comparative Strength, Relative Strength Comparison (RSC) etc.
It compares the strength of the current asset to another asset of your choice and displays the relative strength of the current asset. (Not RSI)
There are several comparative indicators published already here on TV but I have added some unique features that I think is really useful.
When to use it:
This is useful when you want to compare for example a stock with its sector to find out if the stock is a leadership stock in that sector or main index.
You could also use it to compare the sector to its index etc.
If you want to compare for example a stock to both its index and its sector at the same time I suggest you add 2 instances of this indicator.
In many trading systems you are supposed find the strongest tickers by identifying "layers of strength" like 1. The strongest asset class that money is flowing into (like stocks, commodities, bonds, etc.) 2. Find the strongest sectors. 3. Find the stocks outperforming those sectors. 4. Find some kind of entry signal there.
How it works:
The indicator calculates an "RS line" (Relative Strength) by dividing the current ticker with a ticker of your choice. This creates a ratio or pair similar to how currencies are related to each others like USDGBP (dollar against pound). The RS line is black by default so you might want to change its color if you use a dark theme.
If the RS line is moving up it means your current asset is stronger than the asset you are comparing it with and vice versa.
Use the simple moving average to quickly see long term strength trends.
Features
RS line
Shows the relative strength of the current asset.
SMA
This Simple Moving Average has directional coloring; green when it is angled up and red when it is angled down. You can customise the period in the settings. If you don't want the color change just make both up/down color the same.
Relative market label
This displays the market you are currently comparing with as a label next to the last data point.
Because I tried stocks in 2 different countries I want to know which index I am comparing with and this label saves me from going into the settings to check. I find it to be a life saver!
Please let me know if you find any problems or if you have any ideas for improvement
Difference over barsDescription:
One of my followers asked about an indicator that shows the difference between the open and a previous close and didn't find one so I wrote this one. This is similar to a momentum indicator except it offers more flexibility. While the standard momentum indicator calculates a difference between current close and a previous close (sometimes customizable to work on open, high or lows instead of close), this allows to mix and match between open, high, low and close. It also offers multiple kinds of moving averages.
Settings:
Current point of reference
Previous point of reference
Difference over how many bars?
How it works:
The indicator calculates the difference between the current point of reference and a previous (n-bars back) point of reference (where n is given by the "Difference over how many bars?").
How to use it:
find historical support lines like the 0.68 line in the cart above where in the past the indicator tends to bounce back; similarly find resistance lines like the -0.75 line in the chart (which servers as a resistance line both for the main indicator line and its moving average )
look for convergence between the price and the indicator; for example, if the price is going up and the indicator is going down a change in the price direction may be coming soon
look for the indicator crossing its moving average: moving up will signify an up trend and vice-versa
since the difference between the open and previous close (which is what the blue line in the chart shows) since to go up to 0.68 (the upper horizontal line) and down to -0.75 (the lower horizontal line) most of the time, one strategy, using options, is to to buy, right before the close of a trading day, a "long iron butterfly": buy-to-open (BTO) both a call and a put at the strike price and sell-to-open (STO) a call at a strike of around $0.68 more and sell to open a put at a strike of around $0.75 less. The STO legs should be for the next expiration and the BTO legs for the next expiration after that. This way the STO will decrease their time value faster than the BTO legs if the price stays flat (which plays to your advantage) and the BTO legs may make profit if the next day it opens away from the price at which the ticker closed the previous day (when the position was opened). The most profit is when it moves right up to one of the STO legs. This position would normally be closed next day at opening. The percentage of profit it makes is low compared to other strategies but also the percentage of the total cost at risk is also low which could potentially allow a trader to increase the lot and thus, in the end, the total profit amount may be comparable to other strategies.
Notes:
The indicator in the chart above comes with the standard options. For a more standard momentum indicator set both the current and previous reference point to the same OHLC value (such as "close").
The 0.68 and -0.75 levels are for open/close (current/previous point of reference) for ticker INTC. Obviously, other tickers will likely have other levels and you will have to find those yourself. If you use INTC but use other combination of current and previous reference points, they will have different levels as well.
Bitcoin CME Gaps [NeoButane]Simple script that checks for gaps in price from CME. tickerid(x, y, sess) doesn't seem to be applying correctly for the ticker specified at the moment so there are a couple of 'gaps' peppered on lower timeframes.
Gaps are legitimate price levels to look as a support or resistance. The theory is that volume needs to be gap filled, but I currently believe it's an easy entry/exit trade for those who can move the market. I don't think there is sound analysis behind the why, but it is real.
QuantNomad - Simple Custom Screener in PineScriptQuite often I need to run screeners with the custom condition, but unfortunately, in TradingView it's impossible.
I created an example script to show how you can create a simple custom screener in Pine Script on your own.
It's not very good, it requires some manual adjustments, it can be improved in some ways, but I think it might work for some tasks.
What do you think? Do you have a better way to implement custom screeners in TradingView?
To run your own conditions you need to implement them in:
customFunc() function and for every ticker you want to include in your search add 2 lines like these with newly defined variable:
s1 = security('BTCUSD', '1', customFunc())
and
scr_label := s1 ? scr_label + 'BTCUSD\n' : scr_label
I'm not sure that it will work well for more than a few dozen tickers.
But I hope it will be helpful for you.
And remember:
Past performance does not guarantee future results.
Chiki-Poki BFXLS Longs Shorts Abs Normalized Volume Pro by RRBChiki-Poki BFXLS Longs vs Shorts Absolute Normalized Volume Value Pro by RagingRocketBull 2018
Version 1.0
This indicator displays Longs vs Shorts in a side by side graph, shows volume's absolute price value and normalized volume of Longs/Shorts for the current asset. This allows for more accurate L/S comparisons (like a log scale for volume) since volume on spot exchanges (Bitstamp, Bitfinex, Coinbase etc) is measured in coins traded, not USD traded. Similarly, L/S is usually the amount of coins in open L/S positions, not their total USD value. On Bitmex and other futures exchanges volume is measured in USD traded, so you don't need to apply the Volume Absolute Price Value checkbox to compare L/S. You should always check first whether your source is measured in coins or USD.
Chiki-Poki BFXLS primarily uses *SHORTS/LONGS feeds from Bitfinex for the current crypto asset, but you can specify custom L/S source tickers instead.
This 2-in-1 works both in the Main Chart and in the indicator pane below. You can switch between Main/Sub Window panes using RMB on the indicator's name and selecting Move To/Pane Above/Below.
This indicator doesn't use volume of the current asset. It uses L/S ticker's OHLC as a source for SHORTS/LONGS volumes instead. Essentially L/S => L/S Volume == L/S
Features:
- Display Longs vs Shorts side by side graph for the current crypto asset, i.e. for BTCUSD - BTCUSDLONGS/BTCUSDSHORTS, for ETHUSD - ETHUSDLONGS/ETHUSDSHORTS etc.
- Use custom OHLC ticker sources for Longs/Shorts from different exchanges/crypto assets with/without exchange prefix.
- Plot Longs/Shorts as lines or candles
- Show/Hide L/S, Diff, MAs, ATH/ATL
- Use Longs/Shorts Volume Absolute Price Value (Price * L/S Volume) instead of Coins Traded in open L/S positions to compare total L/S value/capitalization
- Normalize L/S Volume using Price / Price MA / L/S Volume MA
- Supports any existing type of MA: SMA, EMA, WMA, HMA etc
- Volume Absolute Price Value / Normalize also works on candles
- Oscillator mode with negative axis (works in both Main Chart/Subwindow panes).
- Highlight L/S Volume spikes above L/S MAs in both lines/oscillator.
- Change L/S MA color based on a number of last rising/falling L/S bars, colorize candles
- Display L/S volume as 1000s, mlns, or blns using alpha multiplier
1. based on BFXLS Longs vs Shorts and Compare Style, uses plot*, security and custom hma functions
2. swma has a fixed length = 4, alma and linreg have additional offset and smoothing params
Notes:
- Make sure that Left Price Scale shows up with Auto Fit Data enabled. You can reattach indicator to a different scale in Style.
- It is not recommended to switch modes multiple times due to TradingView's scale reattachment bugs. You should switch between Main Chart and Sub Window only once.
- When the USD price of an asset is lower you can trade more coins but capitalization value won't be as significant as when there are less coins for a higher price. Same goes for Shorts/Longs.
Current ATH in shorts doesn't trigger a squeeze because its total value is now far less than before and we are in a bear market where it's normal to have a higher number of shorts.
- You should always subtract Hedged L/S from L/S because hedged positions are temporary - used to preserve the value of the main position in the opposite direction and should be disregarded as such.
- Low margin rates increase the probability of a move in an underlying direction because it is cheaper. High margin rates => the market is anticipating a move in this direction, thus a more expensive rate. Sudden 5-10x rate raises imply a possible reversal soon. high - 0.1%, avg - 0.01-0.02%, low - 0.001-0.005%
You can also check out:
- BFXLS Longs/Shorts on BFXData
- Bitfinex L/S margin rates and Hedged L/S on datamish
- Bitmex L/S on Coinfarm.online
ec tEST cODE FOR pERCENT DIFERENCE ////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 04/04/2015
// Percent difference between price and MA
////////////////////////////////////////////////////////////
study(title="Percent difference between price and MA")
source = close
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input(title="Use Different Timeframe? Uncheck Box Above", type=resolution, defval="60")
smd = input(true, title="Show MacD & Signal Line? Also Turn Off Dots Below")
sd = input(true, title="Show Dots When MacD Crosses Signal Line?")
sh = input(true, title="Show Histogram?")
macd_colorChange = input(true,title="Change MacD Line Color-Signal Line Cross?")
hist_colorChange = input(true,title="MacD Histogram 4 Colors?")
res = useCurrentRes ? period : resCustom
fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
Length = input(9, minval=1)
Length2= input(36,minval=1)
Length3= input(81,minval=1)
AveragePrice= input(9,minval=1)
Length5= input(3,minval=1)
xSMA = (sma(close, Length)+sma(close, Length2)+sma(close, Length3))/3
pSAM=sma(close, AveragePrice)
nRes = (pSAM - xSMA) * 100 / close
signalnRes = sma(nRes, signalLength)
macd = nRes
signal = sma(macd, signalLength)
hist = macd - signal
outMacD = security(tickerid, res, macd)
outSignal = security(tickerid, res, signal)
outHist = security(tickerid, res, hist)
histA_IsUp = outHist > outHist and outHist > 0
histA_IsDown = outHist < outHist and outHist > 0
histB_IsDown = outHist < outHist and outHist <= 0
histB_IsUp = outHist > outHist and outHist <= 0
//MacD Color Definitions
macd_IsAbove = outMacD >= outSignal
macd_IsBelow = outMacD < outSignal
plot_color = hist_colorChange ? histA_IsUp ? aqua : histA_IsDown ? blue : histB_IsDown ? red : histB_IsUp ? maroon :yellow :gray
macd_color = macd_colorChange ? macd_IsAbove ? lime : red : red
signal_color = macd_colorChange ? macd_IsAbove ? yellow : yellow : lime
circleYPosition = outSignal
// MA COLOR DEFINITION
maColor = change(nRes)>0 ? green : change(nRes)<0 ? red : na
mA_IsAbove = nRes> 0
mA_IsBelow = nRes< 0
plot( nRes, color=maColor, style=line, title="MMA", linewidth=2)
//plot(smd and signalnRes ? signalnRes : na, title="Signal Line", color=signal_color, style=line ,linewidth=2)
//plot(smd and outMacD ? outMacD : na, title="MACD", color=macd_color, linewidth=4)
//plot(smd and outSignal ? outSignal : na, title="Signal Line", color=signal_color, style=line ,linewidth=2)
//plot(sh and outHist ? outHist : na, title="Histogram", color=plot_color, style=histogram, linewidth=4)
plot(sd and cross(outMacD, outSignal) ? circleYPosition : na, title="Cross", style=circles, linewidth=4, color=macd_color)
hline(0, '0 Line', linestyle=solid, linewidth=2, color=white)
//////ALERT cONDITION////
src = input(close)
ma_1 = sma(src, 20)
ma_2 = sma(src, 10)
c = cross(ma_1, ma_2)
alertcondition(c, title='Red crosses blue', message='Red and blue have crossed!')
d = cross(outMacD, outSignal)
alertcondition(d, title='GOING DOWN', message='SELL!')
//
//e = cross(outSignal, outMacD)
//alertcondition(E, title='GOING UP', message='BUY!')
BTC World Price: Multi-Exchange VWAPBTC World Price: Multi-Exchange VWAP
__________________________
WHAT IT DOES
What you see above are not Bitmex candles, but this indicator's.
Bitcoin is listed on multiple exchanges. Many people have called for a single global index that would quote BTC price and volume across all exchanges: this script is such a virtual aggregate (formerly: Multi-Listed , Volume-Weighted Average Price ).
It will, independently for each tick, for any time-frame:
- Quote the price (O, H, L, C) and volume from Bitfinex (USD), Binance (USDT), bitFlyer (Yen), Bithumb (S. Korean Won), Coinbase (USD), Kraken (EUR) and even Bitmex (USD Contracts).
- Weight each price with the corresponding volume of the exchange.
- Quote the FOREX conversion rate in USD for each currency (USDJPY etc.)
- Finally return global average price (candles) in USD.
- Additionally provide (H+L)/2 etc. values.
No more "on Coinbase this" or "on Bitstamp that", you've now got a global overview!
See CoinMarketCap: Markets for reference. I've included alternative exchanges in the comments at the top of the script.
__________________________
HOW TO USE IT
Basically just add it to your chart and use the indicator's candles instead of the chart's main ticker.
By default, BTC World Price will display candles only, but you can also display OHLC & averages (in whichever style you want).
You may indeed want to hide the main symbol (top-left corner, click the 'eye' button next to its name), or switch it to something else than candles/bars (e.g. line).
Make sure "Scale Price Chart Only" is disabled if you want to use the auto-zoom feature. (if other indicators are messing your zoom, you can try to select "Line with Breaks" or "Area with Breaks" to allow these to overflow from the main window)
By clicking the triangle next to the indicator's name, you can select "Visual Order" (e.g "Bring to Front").
You can select regular Candles or Heikin-Ashi in Options.
In the Format > Inputs tab, you can select which exchanges to quote. By default, all of them are enabled.
The script also exposes the following typical values to the backend, which you can use as Price Source for other indicators: (e.g. MA, RSI, in their "Format > Input" tab)
Open Price (grey)
High Price (green)
Low Price (red)
Close Price (white)
(H + L)/2 (light blue)
(H + L + C)/3 (blue)
(O + H + L + C)/4 (purple)
They are all hidden by default (by means of maximum transparency).
In the Format > Style tab, you can change their color, transparency and style (line, area, etc), as well as uncheck Candles and Wicks to hide these.
If you are using "Indicator Last Value" and want to clear the clutter from all these values, simply uncheck them in Style. They will still be available as Price Source for other indicators.
You can also choose to scale it to the left, right (default) or "screen" (no scaling).
Once you're satisfied with your Style, you may click "Default"> "Save as default" in the botton-left. Everytime you load the indicator, it will look the same. ("Reset Settings" will reset to the script's defaults)
__________________________
Please leave feedback below in comments or pm me directly for bugs and suggestions.
SMART4TRADER-Margin ZONEIndicator based on marginal zones (according to Mityukov Sergey). In open source.
Formula for calculating the margin:
Margin size / cost tick * minimum price change
Example:
EURUSD = 2100 $ / 6.25 $ * 0.00005 points = 0.01680 points
....
For currency pairs where USD is in the first place it is necessary to write so that the indicator is taken away from zero
Iff (ticker == "USDCAD", (0- (950/5 * 0.00005)),
//////////////////////////////////////////////////////////////////////////////////////////////////
Индикатор на основе маржинальных зон (по Митюкову Сергею). В открытом исходном коде.
Формула рассчета маржи:
размер маржи / стоимость тика * минимальное ценовое изменение
Пример:
EURUSD = 2100 $ / 6.25 $ * 0.00005 points = 0.01680 points
....
Для валютных пар где USD стоит на первом месте нужно писать так, чтобы показатель отнимался от нуля
iff (ticker=="USDCAD", (0-(950/5*0.00005)),
//////////////////////////////////////////////////////////////////////////////////////////////////
Convert Yuan value symbols to USDIGNORE PREVIOUS SCRIPT/POST (titled: "yuan normiz")
If you like to look add symbols that are valued in China's Yuan and want to convert them to USD accurately then this is the perfect script for you.
"I'm not sure if this script is for me. Does my setup apply here?"
If either of these resemble your chart setup then this is for you:
Example 1: You have COINBASE:BTCUSD on your main chart often add to compare Bitstamp:btcusd and Okcoin:btccny.
Example 2: You have SPY or SPX (or DJIA etc) as your main chart but like to add other composites to compare like SSE(Shanghai Stock Exchange index) to your main chart.
This takes the symbol of your choice (default is BTCCHINA:BTCCNY) that is expressed in Yuan and divides it by the corresponding value of IDC's USDCNH ticker. Not the last value of USDCNH, but the respective tick mark----BTCCNY's close 3 months ago is divided by USDCNH's close 3 months ago.
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.
Venza Rocket ScalperVenza Rocket Scalper: Compliant Description (Plaintext)
This strategy is a complex, multi-indicator trend-following system designed for intraday scalping on low-timeframe charts. It uses a confluence of four distinct filters to ensure high-conviction entries during optimal momentum and volume.
1. Overview and Core Logic
The entry signal requires simultaneous confirmation from the following components:
Trend Confirmation (Heikin-Ashi EMAs): The primary trend is established using Heikin-Ashi price action combined with an EMA (Fast=8) crossing and remaining above an EMA (Slow=21). This provides a smoother, momentum-based trend signal.
Momentum Strength (ADX/RSI): The trend must be validated by the ADX (default 16) to confirm sufficient directional strength, and the RSI (default 42) to confirm continued positive internal momentum.
Volume Validation: A dynamic filter requires the current bar's volume to be greater than the 20-period Volume MA (multiplied by the default 1.0 factor), ensuring trades are executed during periods of active market participation.
Session & Volatility Filter: Trades are restricted to a defined trading window (default UTC 12:00 to 20:00). The script also includes an optional Volatility Cap filter based on a long-term ATR to suppress entries during extreme volatility.
2. Trade Management and Realistic Risk
This strategy employs a robust, partial-exit risk management plan driven by the Average True Range (ATR) for sustainable risk control.
Initial Stop Loss (SL): The initial SL is tight and calculated dynamically using the 14-period ATR multiplied by an adjustable factor (default 0.7). This size is designed for micro-losses appropriate for scalping and is adapted slightly during high volatility.
Partial Exits & Profit Taking: The position is split into two equal halves for exit management:
50% Position (TP1): Exited at a 1R profit target, where 1R is defined as the exact value of the initial ATR-based SL.
50% Position (Run): Managed by a Trailing Stop Loss (TSL), with trail points also calculated dynamically using the current ATR.
Breakeven (BE) Lock: An optional feature (default: ON) automatically moves the stop loss to Breakeven (entry price plus 1 tick) once the position is 2 ticks in profit, locking in capital protection rapidly.
Daily Risk Controls: The strategy includes mandatory daily money management features (default: ON):
Max Daily Loss Stop: Stops all trading for the day if the cumulative closed P&L reaches -$500 (default).
Profit Protection Floor: If the closed P&L reaches a minimum threshold (default $110), any open position will be closed if the total daily P&L drops back below this floor, locking in minimum daily gains.
3. Strategy Properties & Backtesting Disclosure
The default settings are configured for high-liquidity futures or FX markets. Users must ensure their backtesting environment is realistic:
Risk Per Trade: The ATR-based SL aims to keep the risk per trade below 5% of a reasonable account size, which is critical for sustainable trading.
Contracts/Size: Default quantity is 3 contracts.
Commissions/Slippage: Commissions and slippage MUST be configured by the user in the Strategy Properties window to reflect real-world brokerage fees and execution costs.
Sample Size: The strategy should be run on a dataset that generates over 100 trades for statistically valid results.
MANDATORY DISCLAIMER: Past performance is not necessarily indicative of future results. Trading involves substantial risk. All claims of historical performance are substantiated by the backtesting results on the chart, but these results do not guarantee actual trading outcomes. Keep your language realistic.
TriAnchor Elastic Reversion US Market SPY and QQQ adaptedSummary in one paragraph
Mean-reversion strategy for liquid ETFs, index futures, large-cap equities, and major crypto on intraday to daily timeframes. It waits for three anchored VWAP stretches to become statistically extreme, aligns with bar-shape and breadth, and fades the move. Originality comes from fusing daily, weekly, and monthly AVWAP distances into a single ATR-normalized energy percentile, then gating with a robust Z-score and a session-safe gap filter.
Scope and intent
• Markets: SPY QQQ IWM NDX large caps liquid futures liquid crypto
• Timeframes: 5 min to 1 day
• Default demo: SPY on 60 min
• Purpose: fade stretched moves only when multi-anchor context and breadth agree
• Limits: strategy uses standard candles for signals and orders only
Originality and usefulness
• Unique fusion: tri-anchor AVWAP energy percentile plus robust Z of close plus shape-in-range gate plus breadth Z of SPY QQQ IWM
• Failure mode addressed: chasing extended moves and fading during index-wide thrusts
• Testability: each component is an input and visible in orders list via L and S tags
• Portable yardstick: distances are ATR-normalized so thresholds transfer across symbols
• Open source: method and implementation are disclosed for community review
Method overview in plain language
Base measures
• Range basis: ATR(length = atr_len) as the normalization unit
• Return basis: not used directly; we use rank statistics for stability
Components
• Tri-Anchor Energy: squared distances of price from daily, weekly, monthly AVWAPs, each divided by ATR, then summed and ranked to a percentile over base_len
• Robust Z of Close: median and MAD based Z to avoid outliers
• Shape Gate: position of close inside bar range to require capitulation for longs and exhaustion for shorts
• Breadth Gate: average robust Z of SPY QQQ IWM to avoid fading when the tape is one-sided
• Gap Shock: skip signals after large session gaps
Fusion rule
• All required gates must be true: Energy ≥ energy_trig_prc, |Robust Z| ≥ z_trig, Shape satisfied, Breadth confirmed, Gap filter clear
Signal rule
• Long: energy extreme, Z negative beyond threshold, close near bar low, breadth Z ≤ −breadth_z_ok
• Short: energy extreme, Z positive beyond threshold, close near bar high, breadth Z ≥ +breadth_z_ok
What you will see on the chart
• Standard strategy arrows for entries and exits
• Optional short-side brackets: ATR stop and ATR take profit if enabled
Inputs with guidance
Setup
• Base length: window for percentile ranks and medians. Typical 40 to 80. Longer smooths, shorter reacts.
• ATR length: normalization unit. Typical 10 to 20. Higher reduces noise.
• VWAP band stdev: volatility bands for anchors. Typical 2.0 to 4.0.
• Robust Z window: 40 to 100. Larger for stability.
• Robust Z entry magnitude: 1.2 to 2.2. Higher means stronger extremes only.
• Energy percentile trigger: 90 to 99.5. Higher limits signals to rare stretches.
• Bar close in range gate long: 0.05 to 0.25. Larger requires deeper capitulation for longs.
Regime and Breadth
• Use breadth gate: on when trading indices or broad ETFs.
• Breadth Z confirm magnitude: 0.8 to 1.8. Higher avoids fighting thrusts.
• Gap shock percent: 1.0 to 5.0. Larger allows more gaps to trade.
Risk — Short only
• Enable short SL TP: on to bracket shorts.
• Short ATR stop mult: 1.0 to 3.0.
• Short ATR take profit mult: 1.0 to 6.0.
Properties visible in this publication
• Initial capital: 25000USD
• Default order size: Percent of total equity 3%
• Pyramiding: 0
• Commission: 0.03 percent
• Slippage: 5 ticks
• Process orders on close: OFF
• Bar magnifier: OFF
• Recalculate after order is filled: OFF
• Calc on every tick: OFF
• request.security lookahead off where used
Realism and responsible publication
• No performance claims. Past results never guarantee future outcomes
• Fills and slippage vary by venue
• Shapes can move during bar formation and settle on close
• Standard candles only for strategies
Honest limitations and failure modes
• Economic releases or very thin liquidity can overwhelm mean-reversion logic
• Heavy gap regimes may require larger gap filter or TR-based tuning
• Very quiet regimes reduce signal contrast; extend windows or raise thresholds
Open source reuse and credits
• None
Strategy notice
Orders are simulated by TradingView on standard candles. request.security uses lookahead off where applicable. Non-standard charts are not supported for execution.
Entries and exits
• Entry logic: as in Signal rule above
• Exit logic: short side optional ATR stop and ATR take profit via brackets; long side closes on opposite setup
• Risk model: ATR-based brackets on shorts when enabled
• Tie handling: stop first when both could be touched inside one bar
Dataset and sample size
• Test across your visible history. For robust inference prefer 100 plus trades.






















