NIFTY IT volumeKEY TAKEAWAYS
-Uses NIFTY IT Index Stocks Volume .
-NIFTY IT Volume Indicator is created by adding all 10 NIFTY IT Stocks Volume together.
-NIFTY IT Volume will be an important indicator in NIFTY IT Index technical analysis because it is used to measure the relative significance of a market move.
-The higher the volume during a NIFTY IT index price move, the more significant the move and the lower the volume during a NIFTY IT index price move, the less significant the move.
-Moving Average is also added.
Cerca negli script per "TAKE"
FinNifty VolumesKEY TAKEAWAYS
-Uses FinNifty Index Stocks Volume .
-FinNifty Volume Indicator is created by adding all 20 FinNifty Stocks Volume together.
-FinNifty Volume will be an important indicator in FinNifty Index technical analysis because it is used to measure the relative significance of a market move.
-The higher the volume during a FinNiftyy index price move, the more significant the move and the lower the volume during a FinNifty index price move, the less significant the move.
-Moving Average is also added.
Buy the dips - sell the topsThis script is a merge of the RSI and the Williams %R.
I've observed that in strong uptrends, we go from RSI overbought to RSI overbought, but it hardly gets oversold. (the same in the opposite direction)
To find a better entry point, Williams %R is used to find oversold conditions in an uptrend or overbought in a downtrend.
=> When W%R returns from oversold/overbought to normal, a triangle will be plotted and this is the point of entry to add to your position. (there's an option to mark all candles in the overbought/oversold region, by default it is off)
=> When RSI goes from overbought back to normal it will tell you to buy the dip. In a downtrend it will tell you to sell the tops.
=> When the RSI gets oversold and the previous RSI was overbought, it will mark to exit the position
I did backtest this one with a risk to reward of 2 and exit when target is reached.
Trading EUR/USD on the daily would return 28% after 10 years of trading with a success ratio of 43%.
Trading BTC/USD on the daily would lose 12% after 7 years and a success rate of 28%.
Trading it this way is not the best idea ;-) 2 Interesting observations however:
- Once you get the entry right, in 80% of the cases, you do reach the next RSI oversold/overbought level. Keeping your position open until you reach that level can be an option to maximize profits.
- When a triangle is plotted and it is the low compared to the previous more or less 5 candles (same for the high), chances are high it will be taken out a few candles later, so don't take a trade yet.
Using classic technical analysis might improve more your entry and exit positions.
Feel free to comment your best strategy using this indicator ;-)
Happy trading!
Calculate target by Range [Wyckoff,PnF]First of all, I would like to thank the author @LonesomeTheBlue.
This indicator developed on the source code "Point and Figure (PnF)" by author @LonesomeTheBlue.
This indicator calculate the range (Cause) of Phase accumulation or distribution to calculate the taget (Effect) based on the Wyckoff Method.
Formula for calculate move value target : Col * BoxSize * Reversal
Col -> Number of Column (PnF) in the range (Cause)
BoxSize -> Value in one Box (PnF)
Reversal -> Reversal (PnF)
FrostyBotLibrary "FrostyBot"
JSON Alert Builder for FrostyBot.js Binance Futures and FTX orders
github.com
More Complete Version Soon.
TODO: Comment Functions and annotations from command reference ^^
TODO: Add additional whitelist and symbol mappings.
leverage()
buy()
sell()
cancelall()
closelong()
closeshort()
traillong()
trailshort()
long()
short()
takeprofit()
stoploss()
Open High Low StrategyThis is a very simple, yet effective and to some extend widely followed scalping strategy to capture the underling sentiments of the counter whether it will go up or down.
What is it?
This is Open-High-Low (OLH) strategy.
As you already aware of Candlestick patterns, there is patterns called as Marubozu patterns where the sell wick or buy wick either ceases to exists (or very small). This is exactly in the same principle.
In OLH strategy: The buy signal appears when the Open Price is the Low Price. It means if you draw the candlestick, there is no bottom wick. So after the opening of the candle, the demand drives the price up to the level, some selling may or may not come and closes in green. This indicates a strong upward biasness of the underlying counter.
Similarly, a sell signal appears when the Open price is the High Price. It means there is no upper wick. So there is no buying pressure, since the opening of the candle, sellers are in force and pulls down the price to a closing.
This strategy generates the signal at the close of the candle (technically barstate.isconfirmed). Because until the bar is real-time there is no option to know the final closing or high. So you will see the bar on which it generates the buy or sell signal is actually indicates the previous bar as OLH bar.
To determine the Stop-Loss, it uses the most widely known SL calculation of:
For buy signal, it takes the low of the last 7 candles and substract the ATR (Average True Range) of 14-period.
For sell signal, it takes the high of the last 7 candles and add it to the ATR (Average True Range) of 14-period.
One can plot the SL lines as dotted green and red lines as well to see visually.
Default Risk:Reward is 1:2, Can be customizable.
What is Unique?
Of course the utter simplistic nature of this strategy is it's key point. Very easy and intuitive to understand.
There are awesome strategies in this forum that talks about the various indicators combinations and what not.
Instead of all this, in a 15m NSE:NIFTY chart, it generates a good ~ 47% profit-factor with 1:2 Risk Reward ratio. Means if you loose a trade you will loose 1% of account and if you win you will gain 2%. Means 3 trades (2 profits and 1 loss) in a trading session result 3% overall gain for the day. (Assuming you are ready with 1% draw down of your account per trade, at max).
Disclaimer:
This piece of software does not come up with any warrantee or any rights of not changing it over the future course of time.
We are not responsible for any trading/investment decision you are taking out of the outcome of this indicator.
Barndorff-Nielsen and Shephard Jump Statistic [Loxx]The following comments and descriptions are from from "Problems in the Application of Jump Detection Tests to Stock Price Data" by Michael William Schwert; Professor George Tauchen, Faculty Advisor.
This indicator applies several jump detection tests to intraday stock price data sampled at various frequencies. It finds that the choice of sampling frequency has an effect on both the amount of jumps detected by these tests, as well as the timing of those jumps. Furthermore, although these tests are designed to identify the same phenomenon, they find different amounts and timing of jumps when performed on the same data. These results suggest that these jump detection tests are probably identifying different types of jump behavior in stock price data, so they are not really substitutes for one another.
In recent years there has been a great deal of interest in studying jumps in asset price movements. Reasons why it is important to know when and how frequently jumps occur include risk management and the pricing and hedging of derivative contracts. Investors would benefit greatly from knowing the properties of jumps, since large instantaneous drops in asset prices result in large instantaneous losses. The effect of jumps on derivative pricing is equally significant, especially considering the important role derivatives play in modern financial markets. When asset price movements are continuous, investors can perfectly hedge derivative contracts such as options, but when jumps occur, they cause a change in the derivative price that is non-linear to the change in the price of the underlying asset. Thus, jumps introduce an unhedgeable risk to the holders of derivative contracts.
The ability to identify realized jumps in the financial markets could provide helpful information such as how frequently jumps occur, how large the jumps are, and whether they tend to occur in clusters. With this goal in mind, several authors have developed tests to determine whether or not an asset price movement is a statistically significant jump. These tests take advantage of the high-frequency intraday price data available today through electronic sources. Barndorff-Nielsen and Shephard (2004, 2006) use the difference between an estimate of variance and a jump-robust measure of variance to detect jumps over the course of a day. Approaching the problem differently, Jiang and Oomen (2007) exploit high order sample moments of returns to identify days that include jumps. Aїt-Sahalia and Jacod (2008) also exploit high order sample moments of returns to detect jumps by comparing price data sampled at two different frequencies. Lee and Mykland (2007) test for jumps at individual price observations by scaling returns by a local volatility measure. While these tests employ different strategies for detecting jumps, they are all designed to identify the same phenomenon.
For this indicator we are focused on the Barndorff-Nielsen and Shephard jump statistic.
Barndorff-Nielsen and Shephard (2004, 2006) developed a test that uses high-frequency price data to determine whether there is a jump over the course of a day. Their test compares two measures of variance: Realized Variance, which converges to the integrated variance plus a jump component as the time between observations approaches zero; and Bipower Variation, which converges to the integrated variance as the time between observations approaches zero, and is robust to jumps in the price path, an important fact for this application. The integrated variance of a price process is the integral of the square of the σ(t) term in (2.2.2), taken over the course of a day. Since prices cannot be observed continuously, one cannot calculate integrated variance exactly, and must estimate it instead.
For our purposes here, this is calculated as:
r = log(p /p )
This the geometric return from time ti-1 to time ti.
Then, Realized Variance and Bipower Variation are described by the following functions (see code for details)
realizedVariance(float src, int per)
and
bipowerVariance(float src, int per)
Huang and Tauchen (2005) also consider Relative Jump, a measure that approximates the percentage of total variance attributable to jumps:
RJ = (RV - BV) / RV
This statistic approximates the ratio of the sum of squared jumps to the total variance and is useful because it scales out long-term trends in volatility so one can compare the relative contribution of jumps to the variance of two price series with different volatilities.
To develop a statistical test to determine whether there is a significant difference between RV and BV, one needs an estimate of integrated quarticity. Andersen, Bollerslev, and Diebold (2004) recommend using a jump-robust realized Tri-Power Quarticity, I've included commentary in code to better explain how this indicator is collocated. See code for details.
How to use this indicator
When the bars turn gray, it's an indication that a jump has occurred in the market. It serves a warning that price jumped. I've included a percent point function (or inverse cumulative distribution function) to cutoff Z-score values depicted by histogram values. The top line at 3 is the empirical maximum Z-score value a serves merely as a point of reference. The Red line is the cutoff line calculated using PPF. When the histogram is green, no jumps have been detected. This indicator also includes alerts, signals, and bar coloring. I've also expanded the possible source types using my own Expanded Source Types library so you can test different log return methods as inputs. It is recommended to use window sizes of 7, 16, 78, 110, 156, and 270 returns for sampling intervals of 1 week, 1 day, 1 hour, 30 minutes, 15 minutes, and 5 minutes, respectively.
If you'ed like to better understand PPF, see here: Distributions in python
Included:
Bar coloring
Signals
Alerts
Loxx's Expanded Source Types
Coral Trend Pullback Strategy (TradeIQ)Description:
Strategy is taken from the TradeIQ YouTube video called "I Finally Found 80% Win Rate Trading Strategy For Crypto".
Check out the full video for further details/clarification on strategy entry/exit conditions.
The default settings are exactly as TradeIQ described in his video.
However I found some better results by some tweaking settings, increasing R:R ratio and by turning off confirmation indicators.
This would suggest that perhaps the current confirmation indicators are not the best options. I'm happy to try add some other optional confirmation indicators if they look to be more effective.
Recommended timeframe: 1H
Strategy incorporates the following features:
Risk management:
Configurable X% loss per stop loss
Configurable R:R ratio
Trade entry:
Based on strategy conditions below
Trade exit:
Based on strategy conditions below
Backtesting:
Configurable backtesting range by date
Trade drawings:
Each entry condition indicator can be turned on and off
TP/SL boxes drawn for all trades. Can be turned on and off
Trade exit information labels. Can be turned on and off
NOTE: Trade drawings will only be applicable when using overlay strategies
Alerting:
Alerts on LONG and SHORT trade entries
Debugging:
Includes section with useful debugging techniques
Strategy conditions
Trade entry:
LONG
C1: Coral Trend is bullish
C2: At least 1 candle where low is above Coral Trend since last cross above Coral Trend
C3: Pullback happens and price closes below Coral Trend
C4: Coral Trend colour remains bullish for duration of pullback
C5: After valid pullback, price then closes above Coral Trend
C6: Optional confirmation indicators (choose either C6.1 or C6.2 or NONE):
C6.1: ADX and DI (Single indicator)
C6.1.1: Green line is above red line
C6.1.2: Blue line > 20
C6.1.3: Blue trending up over last 1 candle
C6.2: Absolute Strengeh Histogram + HawkEye Volume Indicator (Two indicators combined)
C6.2.1: Absolute Strengeh Histogram colour is blue
C6.2.2: HawkEye Volume Indicator colour is green
SHORT
C1: Coral Trend is bearish
C2: At least 1 candle where high is below Coral Trend since last cross below Coral Trend
C3: Pullback happens and price closes above Coral Trend
C4: Coral Trend colour remains bearish for duration of pullback
C5: After valid pullback, price then closes below Coral Trend
C6: Optional confirmation indicators (choose either C6.1 or C6.2 or NONE):
C6.1: ADX and DI (Single indicator)
C6.1.1: Red line is above green line
C6.1.2: Blue line > 20
C6.1.3: Blue trending up over last 1 candle
C6.2: Absolute Strengeh Histogram + HawkEye Volume Indicator (Two indicators combined)
C6.2.1: Absolute Strengeh Histogram colour is red
C6.2.2: HawkEye Volume Indicator colour is red
NOTE: All the optional confirmation indicators cannot be overlayed with Coral Trend so feel free to add each separately to the chart for visual purposes
Trade exit:
Stop Loss: Calculated by recent swing low over previous X candles (configurable with "Local High/Low Lookback")
Take Profit: Calculated from R:R multiplier * Stop Loss size
Credits
Strategy origin: TradeIQ's YouTube video called "I Finally Found 80% Win Rate Trading Strategy For Crypto"
It combines the following indicators for trade entry conditions:
Coral Trend Indicator by @LazyBear (Main indicator)
Absolute Strength Histogram | jh by @jiehonglim (Optional confirmation indicator)
Indicator: HawkEye Volume Indicator by @LazyBear (Optional confirmation indicator)
ADX and DI by @BeikabuOyaji (Optional confirmation indicator)
STD/C-Filtered, N-Order Power-of-Cosine FIR Filter [Loxx]STD/C-Filtered, N-Order Power-of-Cosine FIR Filter is a Discrete-Time, FIR Digital Filter that uses Power-of-Cosine Family of FIR filters. This is an N-order algorithm that turns the following indicator from a static max 16 orders to a N orders, but limited to 50 in code. You can change the top end value if you with to higher orders than 50, but the signal is likely too noisy at that level. This indicator also includes a clutter and standard deviation filter.
See the static order version of this indicator here:
STD/C-Filtered, Power-of-Cosine FIR Filter
Amplitudes for STD/C-Filtered, N-Order Power-of-Cosine FIR Filter:
What are FIR Filters?
In discrete-time signal processing, windowing is a preliminary signal shaping technique, usually applied to improve the appearance and usefulness of a subsequent Discrete Fourier Transform. Several window functions can be defined, based on a constant (rectangular window), B-splines, other polynomials, sinusoids, cosine-sums, adjustable, hybrid, and other types. The windowing operation consists of multipying the given sampled signal by the window function. For trading purposes, these FIR filters act as advanced weighted moving averages.
What is Power-of-Sine Digital FIR Filter?
Also called Cos^alpha Window Family. In this family of windows, changing the value of the parameter alpha generates different windows.
f(n) = math.cos(alpha) * (math.pi * n / N) , 0 ≤ |n| ≤ N/2
where alpha takes on integer values and N is a even number
General expanded form:
alpha0 - alpha1 * math.cos(2 * math.pi * n / N)
+ alpha2 * math.cos(4 * math.pi * n / N)
- alpha3 * math.cos(4 * math.pi * n / N)
+ alpha4 * math.cos(6 * math.pi * n / N)
- ...
Special Cases for alpha:
alpha = 0: Rectangular window, this is also just the SMA (not included here)
alpha = 1: MLT sine window (not included here)
alpha = 2: Hann window (raised cosine = cos^2)
alpha = 4: Alternative Blackman (maximized roll-off rate)
This indicator contains a binomial expansion algorithm to handle N orders of a cosine power series. You can read about how this is done here: The Binomial Theorem
What is Pascal's Triangle and how was it used here?
In mathematics, Pascal's triangle is a triangular array of the binomial coefficients that arises in probability theory, combinatorics, and algebra. In much of the Western world, it is named after the French mathematician Blaise Pascal, although other mathematicians studied it centuries before him in India, Persia, China, Germany, and Italy.
The rows of Pascal's triangle are conventionally enumerated starting with row n = 0 at the top (the 0th row). The entries in each row are numbered from the left beginning with k=0 and are usually staggered relative to the numbers in the adjacent rows. The triangle may be constructed in the following manner: In row 0 (the topmost row), there is a unique nonzero entry 1. Each entry of each subsequent row is constructed by adding the number above and to the left with the number above and to the right, treating blank entries as 0. For example, the initial number in the first (or any other) row is 1 (the sum of 0 and 1), whereas the numbers 1 and 3 in the third row are added to produce the number 4 in the fourth row.
Rows of Pascal's Triangle
0 Order: 1
1 Order: 1 1
2 Order: 1 2 1
3 Order: 1 3 3 1
4 Order: 1 4 6 4 1
5 Order: 1 5 10 10 5 1
6 Order: 1 6 15 20 15 6 1
7 Order: 1 7 21 35 35 21 7 1
8 Order: 1 8 28 56 70 56 28 8 1
9 Order: 1 9 36 34 84 126 126 84 36 9 1
10 Order: 1 10 45 120 210 252 210 120 45 10 1
11 Order: 1 11 55 165 330 462 462 330 165 55 11 1
12 Order: 1 12 66 220 495 792 924 792 495 220 66 12 1
13 Order: 1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
For a 12th order Power-of-Cosine FIR Filter
1. We take the coefficients from the Left side of the 12th row
1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
2. We slice those in half to
1 13 78 286 715 1287 1716
3. We reverse the array
1716 1287 715 286 78 13 1
This is our array of alphas: alpha1, alpha2, ... alphaN
4. We then pull alpha one from the previous order, order 11, the middle value
11 Order: 1 11 55 165 330 462 462 330 165 55 11 1
The middle value is 462, this value becomes our alpha0 in the calculation
5. We apply these alphas to the cosine calculations
example: + alpha4 * math.cos(6 * math.pi * n / N)
6. We then divide by the sum of the alphas to derive our final coefficient weighting kernel
**This is only useful for orders that are EVEN, if you use odd ordering, the following are the coefficient outputs and these aren't useful since they cancel each other out and result in a value of zero. See below for an odd numbered oder and compare with the amplitude of the graphic posted above of the even order amplitude:
What is a Standard Deviation Filter?
If price or output or both don't move more than the (standard deviation) * multiplier then the trend stays the previous bar trend. This will appear on the chart as "stepping" of the moving average line. This works similar to Super Trend or Parabolic SAR but is a more naive technique of filtering.
What is a Clutter Filter?
For our purposes here, this is a filter that compares the slope of the trading filter output to a threshold to determine whether to shift trends. If the slope is up but the slope doesn't exceed the threshold, then the color is gray and this indicates a chop zone. If the slope is down but the slope doesn't exceed the threshold, then the color is gray and this indicates a chop zone. Alternatively if either up or down slope exceeds the threshold then the trend turns green for up and red for down. Fro demonstration purposes, an EMA is used as the moving average. This acts to reduce the noise in the signal.
Included
Bar coloring
Loxx's Expanded Source Types
Signals
Alerts
MACD x SuperTrend with trailing stoplossThis trading strategy is based on MACD crossover and crossunder. It uses the supertrend to identify the trend it is trading on and takes trades accordingly. You can use the built in risk to reward ratio parameter through the settings of the indicator for your desired R/R
My goal in creating this indicator was to learn about risk management. This indicator will put up a stop-loss and take profit target according to the entry point it shows.
This indicator showed me the best results on BTC at 5min price chart. I'm new to trading so, do your own due diligence
SBS AlgoHello traders, I am here again with a new and improved indicator.
This indicator is based on a pivot breakout algorithm which gives buy and sell signals according to the breakout of trendline. This is an advanced version of another script. It also takes price action into consideration along with some basic indicators like MACD and ADX to give good entry signals.
NOTE: This indicator is not designed to take entries completely based on signals it gives. Please use it along with your trading strategy to add more confluence to your trading system and maximize your profits.
I hope you guys will like this one too .Enjoy 👍
In case you find any bug, please do report in comment section .Thank you.
NNFX Exposure UtilityOVERVIEW
This tool allows the user to manually keep track of how much of their account is currently exposed to each currency, and keep that information handy and organized on the chart as a table.
It is specialized for NNFX traders who are trading all the pairs among the 9 major currency crosses: AUD, CAD, CHF, EUR, GBP, JPY, NZD, SGD, USD.
HOW DO I USE THIS INDICATOR?
Before you take a trade, you should open the indicator settings for this indicator and check off which currencies you are about to go long and short on. Here are 3 trades taken as examples:
If you go long on EUR/USD with 2% risk, your exposure is 2% long on EUR and 2% short on USD.
Then if you go short on GBP/SGD with 2% risk, your exposure is 2% short on GBP and 2% long on SGD.
But if you go long on SGD/JPY with 2% risk, your exposure would now be 4% long on SGD and 2% short on JPY. This is against your rules if you are trading the NNFX way. So this tool allows you to see when you are about to accidentally overexpose yourself to any currency pair.
Ehlers Linear Extrapolation Predictor [Loxx]Ehlers Linear Extrapolation Predictor is a new indicator by John Ehlers. The translation of this indicator into PineScript™ is a collaborative effort between @cheatcountry and I.
The following is an excerpt from "PREDICTION" , by John Ehlers
Niels Bohr said “Prediction is very difficult, especially if it’s about the future.”. Actually, prediction is pretty easy in the context of technical analysis. All you have to do is to assume the market will behave in the immediate future just as it has behaved in the immediate past. In this article we will explore several different techniques that put the philosophy into practice.
LINEAR EXTRAPOLATION
Linear extrapolation takes the philosophical approach quite literally. Linear extrapolation simply takes the difference of the last two bars and adds that difference to the value of the last bar to form the prediction for the next bar. The prediction is extended further into the future by taking the last predicted value as real data and repeating the process of adding the most recent difference to it. The process can be repeated over and over to extend the prediction even further.
Linear extrapolation is an FIR filter, meaning it depends only on the data input rather than on a previously computed value. Since the output of an FIR filter depends only on delayed input data, the resulting lag is somewhat like the delay of water coming out the end of a hose after it supplied at the input. Linear extrapolation has a negative group delay at the longer cycle periods of the spectrum, which means water comes out the end of the hose before it is applied at the input. Of course the analogy breaks down, but it is fun to think of it that way. As shown in Figure 1, the actual group delay varies across the spectrum. For frequency components less than .167 (i.e. a period of 6 bars) the group delay is negative, meaning the filter is predictive. However, the filter has a positive group delay for cycle components whose periods are shorter than 6 bars.
Figure 1
Here’s the practical ramification of the group delay: Suppose we are projecting the prediction 5 bars into the future. This is fine as long as the market is continued to trend up in the same direction. But, when we get a reversal, the prediction continues upward for 5 bars after the reversal. That is, the prediction fails just when you need it the most. An interesting phenomenon is that, regardless of how far the extrapolation extends into the future, the prediction will always cross the signal at the same spot along the time axis. The result is that the prediction will have an overshoot. The amplitude of the overshoot is a function of how far the extrapolation has been carried into the future.
But the overshoot gives us an opportunity to make a useful prediction at the cyclic turning point of band limited signals (i.e. oscillators having a zero mean). If we reduce the overshoot by reducing the gain of the prediction, we then also move the crossing of the prediction and the original signal into the future. Since the group delay varies across the spectrum, the effect will be less effective for the shorter cycles in the data. Nonetheless, the technique is effective for both discretionary trading and automated trading in the majority of cases.
EXPLORING THE CODE
Before we predict, we need to create a band limited indicator from which to make the prediction. I have selected a “roofing filter” consisting of a High Pass Filter followed by a Low Pass Filter. The tunable parameter of the High Pass Filter is HPPeriod. Think of it as a “stone wall filter” where cycle period components longer than HPPeriod are completely rejected and cycle period components shorter than HPPeriod are passed without attenuation. If HPPeriod is set to be a large number (e.g. 250) the indicator will tend to look more like a trending indicator. If HPPeriod is set to be a smaller number (e.g. 20) the indicator will look more like a cycling indicator. The Low Pass Filter is a Hann Windowed FIR filter whose tunable parameter is LPPeriod. Think of it as a “stone wall filter” where cycle period components shorter than LPPeriod are completely rejected and cycle period components longer than LPPeriod are passed without attenuation. The purpose of the Low Pass filter is to smooth the signal. Thus, the combination of these two filters forms a “roofing filter”, named Filt, that passes spectrum components between LPPeriod and HPPeriod.
Since working into the future is not allowed in EasyLanguage variables, we need to convert the Filt variable to the data array XX . The data array is first filled with real data out to “Length”. I selected Length = 10 simply to have a convenient starting point for the prediction. The next block of code is the prediction into the future. It is easiest to understand if we consider the case where count = 0. Then, in English, the next value of the data array is equal to the current value of the data array plus the difference between the current value and the previous value. That makes the prediction one bar into the future. The process is repeated for each value of count until predictions up to 10 bars in the future are contained in the data array. Next, the selected prediction is converted from the data array to the variable “Prediction”. Filt is plotted in Red and Prediction is plotted in yellow.
The Predict Extrapolation indicator is shown above for the Emini S&P Futures contract using the default input parameters. Filt is plotted in red and Predict is plotted in yellow. The crossings of the Predict and Filt lines provide reliable buy and sell timing signals. There is some overshoot for the shorter cycle periods, for example in February and March 2021, but the only effect is a late timing signal. Further reducing the gain and/or reducing the BarsFwd inputs would provide better timing signals during this period.
ADDITIONS
Loxx's Expanded source types:
Library for expanded source types:
Explanation for expanded source types:
Three different signal types: 1) Prediction/Filter crosses; 2) Prediction middle crosses; and, 3) Filter middle crosses.
Bar coloring to color trend.
Signals, both Long and Short.
Alerts, both Long and Short.
Mark StructureMark Structure is building the market swing structure, minor and sub structure and marks all possible insignificant pivots
Building such structure is really complex task to do, that has a lot of obstacles and challenges. I'm doing my best to develop this indicator behaving in absolutely expectable and right way. Fill free to leave any comments or bug reports.
it supports:
- Marking all pivots with labels or join them continuously with trend lines.
- Marking minor and sub structured swings with labels or join them continuously with trend lines. Marking BOS or SMS BOS, which are mbos. Minor and substructure are structures inside swing structure and it can differ from the structure of lower timeframe
- Marking swings of swing structure with labels or join them continuously with trend lines. Marking BOS or SMS BOS of swing structure
- Changing bullish and bearish colors of each kind of structures
- Changing pivot labelings
- Changing colors of BOSs
Remarks:
- As I told you guys before, it has a lot of challenging cases. eg we have swing low and high on the same candle and in order to decide which pivot goes first I take lower time frame data to figure out what pivot is the first, but it happens that on lower time frame the same issue takes place, due to limitation of TradingView I can't go infinitely to lower timeframes to solve this issue, so I mark those cases with labels
- Another issue is very beginning of the trend its hard to detect swing structure there due to missing historical data. so skip a few waves in the very beginning
- Don't expect to have minor and sub structure in each swing waves, its totally fine when you don't have them at all
- Swing structure is the most significant structure and shows real price direction. Trend change is confirmed when for bull->bear the last HLbull LH>HH and HH-HL-HH are confirmed. You can change labelling for unconfirmed swing trend in the settings. By default its already done
TriexDev - SuperBuySellTrend (PLUS+)Minimal but powerful.
Have been using this for myself, so thought it would be nice to share publicly. Of course no script is correct 100% of the time, but this is one of if not the best in my basic tools. (This is the expanded/PLUS version)
Github Link for latest/most detailed + tidier documentation
Base Indicator - Script Link
TriexDev - SuperBuySellTrend (SBST+) TradingView Trend Indicator
---
SBST Plus+
Using the "plus" version is optional, if you only want the buy/sell signals - use the "base" version.
## What are vector candles?
Vector Candles (inspired to add from TradersReality/MT4) are candles that are colour coded to indicate higher volumes, and likely flip points / direction changes, or confirmations.
These are based off of PVSRA (Price, Volume, Support, Resistance Analysis).
You can also override the currency that this runs off of, including multiple ones - however adding more may slow things down.
PVSRA - From MT4 source:
Situation "Climax"
Bars with volume >= 200% of the average volume of the 10 previous chart TFs, and bars
where the product of candle spread x candle volume is >= the highest for the 10 previous
chart time TFs.
Default Colours: Bull bars are green and bear bars are red.
Situation "Volume Rising Above Average"
Bars with volume >= 150% of the average volume of the 10 previous chart TFs.
Default Colours: Bull bars are blue and bear are blue-violet.
A blue or purple bar can mean the chart has reached a top or bottom.
High volume bars during a movement can indicate a big movement is coming - or a top/bottom if bulls/bears are unable to break that point - or the volume direction has flipped.
This can also just be a healthy short term movement in the opposite direction - but at times sets obvious trend shifts.
## Volume Tracking
You can shift-click any candle to get the volume of that candle (in the pair token/stock), if you click and drag - you will see the volume for that range.
## Bollinger Bands
Bollinger Bands can be enabled in the settings via the toggle.
Bollinger Bands are designed to discover opportunities that give investors a higher probability of properly identifying when an asset is oversold (bottom lines) or overbought (top lines).
>There are three lines that compose Bollinger Bands: A simple moving average (middle band) and an upper and lower band.
>The upper and lower bands are typically 2 standard deviations +/- from a 20-day simple moving average, but they can be modified.
---
Base Indicator
## What is ATR?
The average true range (ATR) is a technical analysis indicator, which measures market volatility by decomposing the entire range of an asset price for that period.
The true range indicator is taken as the greatest of the following:
- current high - the current low;
- the absolute value of the current high - the previous close;
- and the absolute value of the current low - the previous close.
The ATR is then a moving average, generally using 10/14 days, of the true ranges.
## What does this indicator do?
Uses the ATR and multipliers to help you predict price volatility, ranges and trend direction.
> The buy and sell signals are generated when the indicator starts
plotting either on top of the closing price or below the closing price. A buy signal is generated when the ‘Supertrend’ closes above the price and a sell signal is generated when it closes below the closing price.
> It also suggests that the trend is shifting from descending mode to ascending mode. Contrary to this, when a ‘Supertrend’ closes above the price, it generates a sell signal as the colour of the indicator changes into red.
> A ‘Supertrend’ indicator can be used on equities, futures or forex, or even crypto markets and also on daily, weekly and hourly charts as well, but generally, it will be less effective in a sideways-moving market.
Thanks to KivancOzbilgic who made the original SuperTrend Indicator this was based off
---
## Usage Notes
Two indicators will appear, the default ATR multipliers are already set for what I believe to be perfect for this particular (double indicator) strategy.
If you want to break it yourself (I couldn't find anything that tested more accurately myself), you can do so in the settings once you have added the indicator.
Basic rundown:
- A single Buy/Sell indicator in the dim colour; may be setting a direction change, or just healthy movement.
- When the brighter Buy/Sell indicator appears; it often means that a change in direction (uptrend or downtrend) is confirmed.
---
You can see here, there was a (brighter) green indicator which flipped down then up into a (brighter) red sell indicator which set the downtrend. At the end it looks like it may be starting to break the downtrend - as the price is hitting the trend line. (Would watch for whether it holds above or drops below at that point)
Another example, showing how sometimes it can still be correct but take some time to play out - with some arrow indicators.
Typically I would also look at oscillators, RSI and other things to confirm - but here it held above the trend lines nicely, so it appeared to be rather obvious.
It's worth paying attention to the trend lines and where the candles are sitting.
Once you understand/get a feel for the basics of how it works - it can become a very useful tool in your trading arsenal.
Also works for traditional markets & commodities etc in the same way / using the same ATR multipliers, however of course crypto generally has bigger moves.
---
You can use this and other indicators to confirm likeliness of a direction change prior to the brighter/confirmation one appearing - but just going by the 2nd(brighter) indicators, I have found it to be surprisingly accurate.
Tends to work well on virtually all timeframes, but personally prefer to use it on 5min,15min,1hr, 4hr, daily, weekly. Will still work for shorter/other timeframes, but may be more accurate on mid ones.
---
This will likely be updated as I go / find useful additions that don't convolute things. The base indicator may be updated with some limited / toggle-able features in future also.
KTP ATR , TR and DATR by Mitraj ThakkarThis indicator provides values of ATR, TR and DATR values side by side which makes it easy for user to compare it for current
candle and takes decision. It is not a complete system for trading but it aids in taking decision for entry and exit. for eg. ema crossover is formed for entry, we can take entry 5% of datr above pattern and keep stop loss 10% datr below pattern.
ATR stands for Average true range of last 14 candles.
TR stands for true range of each candle.
DATR stands for Daily Average True Range.
Trend Friendly RSITrend Friendly RSI
Unlike the standard RSI, "Trend Friendly RSI" adapts to the trend. RSI and other momentum-based oscillators cannot give a buy signal in uptrends and a sell signal in downtrends because they do not take into account the momentum of the trend and behave as if the price is in a constant sideways trend. "Trend Friendly RSI", on the other hand, takes into account the momentum of the trend of your chosen length and subtracts it from the current momentum, thus giving more realistic buy and sell signals.
use it to identify your long-term investments and trading entry points for hodl. It would be wise to use this indicator for assets that you have done fundamental analysis and are sure of the trend direction. it doesn't know what the price will do, it just shows the points that are suitable for you.
remember this indicator will fail in horizontal trends.
Close v Open Moving Averages Strategy (Variable) [divonn1994]This is a simple moving average based strategy that works well with a few different coin pairings. It takes the moving average 'opening' price and plots it, then takes the moving average 'closing' price and plots it, and then decides to enter a 'long' position or exit it based on whether the two lines have crossed each other. The reasoning is that it 'enters' a position when the average closing price is increasing. This could indicate upwards momentum in prices in the future. It then exits the position when the average closing price is decreasing. This could indicate downwards momentum in prices in the future. This is only speculative, though, but sometimes it can be a very good indicator/strategy to predict future action.
What I've found is that there are a lot of coins that respond very well when the appropriate combination of: 1) type of moving average is chosen (EMA, SMA, RMA, WMA or VWMA) & 2) number of previous bars averaged (typically 10 - 250 bars) are chosen.
Depending on the coin.. each combination of MA and Number of Bars averaged can have completely different levels of success.
Example of Usage:
An example would be that the VWMA works well for BTCUSD (BitStamp), but it has different successfulness based on the time frame. For the 12 hour bar timeframe, with the 66 bar average with the VWMA I found the most success. The next best successful combo I've found is for the 1 Day bar timeframe with the 35 bar average with the VWMA.. They both have a moving average that records about a month, but each have a different successfulness. Below are a few pair combos I think are noticeable because of the net profit, but there are also have a lot of potential coins with different combos:
It's interesting to see the strategy tester change as you change the settings. The below pairs are just some of the most interesting examples I've found, but there might be other combos I haven't even tried on different coin pairs..
Some strategy settings:
BTCUSD (BitStamp) 12 Hr Timeframe : 66 bars, VWMA=> 10,387x net profit
BTCUSD (BitStamp) 1 Day Timeframe : 35 bars, VWMA=> 7,805x net profit
BNBUSD (Binance) 12 Hr Timeframe : 27 bars, VWMA => 15,484x net profit
ETHUSD (BitStamp) 16 Hr Timeframe : 60 bars, SMA => 5,498x net profit
XRPUSD (BitStamp) 16 Hr Timeframe : 33 bars, SMA => 10,178x net profit
I only chose these coin/combos because of their insane net profit factors. There are far more coins with lower net profits but more reliable trade histories.
Also, usually when I want to see which of these strategies might work for a coin pairing I will check between the different Moving Average types, for example the EMA or the SMA, then I also check between the moving average lengths (the number of bars calculated) to see which is most profitable over time.
Features:
-You can choose your preferred moving average: SMA, EMA, WMA, RMA & VWMA.
-You can also adjust the previous number of calculated bars for each moving average.
-I made the background color Green when you're currently in a long position and Red when not. I made it so you can see when you'd be actively in a trade or not. The Red and Green background colors can be toggled on/off in order to see other indicators more clearly overlayed in the chart, or if you prefer a cleaner look on your charts.
-I also have a plot of the Open moving average and Close moving average together. The Opening moving average is Purple, the Closing moving average is White. White on top is a sign of a potential upswing and purple on top is a sign of a potential downswing. I've made this also able to be toggled on/off.
Please, comment interesting pairs below that you've found for everyone :) thank you!
I will post more pairs with my favorite settings as well. I'll also be considering the quality of the trades.. for example: net profit, total trades, percent profitable, profit factor, trade window and max drawdown.
*if anyone can figure out how to change the date range, I woul really appreciate the help. It confuses me -_- *
Weighted Burg AR Spectral Estimate Extrapolation of Price [Loxx]Weighted Burg AR Spectral Estimate Extrapolation of Price is an indicator that uses an autoregressive spectral estimation called the Weighted Burg Algorithm. This method is commonly used in speech modeling and speech prediction engines. This method also includes Levinson–Durbin algorithm. As was already discussed previously in the following indicator:
Levinson-Durbin Autocorrelation Extrapolation of Price
What is Levinson recursion or Levinson–Durbin recursion?
In many applications, the duration of an uninterrupted measurement of a time series is limited. However, it is often possible to obtain several separate segments of data. The estimation of an autoregressive model from this type of data is discussed. A straightforward approach is to take the average of models estimated from each segment separately. In this way, the variance of the estimated parameters is reduced. However, averaging does not reduce the bias in the estimate. With the Burg algorithm for segments, both the variance and the bias in the estimated parameters are reduced by fitting a single model to all segments simultaneously. As a result, the model estimated with the Burg algorithm for segments is more accurate than models obtained with averaging. The new weighted Burg algorithm for segments allows combining segments of different amplitudes.
The Burg algorithm estimates the AR parameters by determining reflection coefficients that minimize the sum of for-ward and backward residuals. The extension of the algorithm to segments is that the reflection coefficients are estimated by minimizing the sum of forward and backward residuals of all segments taken together. This means a single model is fitted to all segments in one time. This concept is also used for prediction error methods in system identification, where the input to the system is known, like in ARX modeling
Data inputs
Source Settings: -Loxx's Expanded Source Types. You typically use "open" since open has already closed on the current active bar
LastBar - bar where to start the prediction
PastBars - how many bars back to model
LPOrder - order of linear prediction model; 0 to 1
FutBars - how many bars you want to forward predict
BurgWin - weighing function index, rectangular, hamming, or parabolic
Things to know
Normally, a simple moving average is calculated on source data. I've expanded this to 38 different averaging methods using Loxx's Moving Avreages.
This indicator repaints
Included
Bar color muting
Further reading
Performance of the weighted burg methods of ar spectral estimation for pitch-synchronous analysis of voiced speech
The Burg algorithm for segments
Techniques for the Enhancement of Linear Predictive Speech Coding in Adverse Conditions
Related Indicators
Position Size Calc. (Minimalist)This is a simplified position size calculator in the form of a table.
The reason I published this script is because all other position size calculator scripts try to provide way too much when it should be much simpler, position in strange areas of the chart and leave unwanted chart pollution.
This is a bare-bones functional table that takes your risk level, entry, stop and take profit as inputs, and calculates your loss, profit and required position size for your chosen risk level as a result.
Inspired by a table type position size calculator made by DojiEmoji design/color-wise. Functionally different however.
I hope you find this script useful and include it on your trading journey.
Bollinger Bands and RSI Short Selling (by Coinrule)The Bollinger Bands are among the most famous and widely used indicators. A Bollinger Band is a technical analysis tool defined by a set of trendlines plotted two standard deviations (positively and negatively) away from a simple moving average ( SMA ) of a security's price, but which can be adjusted to user preferences. They can suggest when an asset is oversold or overbought in the short term, thus provide the best time for buying and selling it.
The relative strength index ( RSI ) is a momentum indicator used in technical analysis . RSI measures the speed and magnitude of a security's recent price changes to evaluate overvalued or undervalued conditions in the price of that security. The RSI can do more than point to overbought and oversold securities. It can also indicate securities that may be primed for a trend reversal or corrective pullback in price. It can signal when to buy and sell. Traditionally, an RSI reading of 70 or above indicates an overbought situation. A reading of 30 or below indicates an oversold condition.
The short order is placed on assets that present strong momentum when it's more likely that it is about to decrease further. The rule strategy places and closes the order when the following conditions are met:
ENTRY
The closing price is greater than the upper standard deviation of the Bollinger Bands
The RSI is less than 70
EXIT
The trade is closed in profit when the RSI is less than 70
Upper standard deviation of the Bollinger Band is greater than the the closing price.
This strategy comes with a stop loss and a take profit, and as you can see by the results, it is well suited for a bear market.
This trade works very well with ETH (1h timeframe), AVA (4h timeframe), and SOL (3h timeframe) and is backtested from the 1 December 2021 to capture how this strategy would perform in a bear market.
To make the results more realistic, the strategy assumes each order to trade 30% of the available capital. A trading fee of 0.1% is taken into account. The fee is aligned to the base fee applied on Binance, which is the largest cryptocurrency exchange.
Poly Cycle [Loxx]This is an example of what can be done by combining Legendre polynomials and analytic signals. I get a way of determining a smooth period and relative adaptive strength indicator without adding time lag.
This indicator displays the following:
The Least Squares fit of a polynomial to a DC subtracted time series - a best fit to a cycle.
The normalized analytic signal of the cycle (signal and quadrature).
The Phase shift of the analytic signal per bar.
The Period and HalfPeriod lengths, in bars of the current cycle.
A relative strength indicator of the time series over the cycle length. That is, adaptive relative strength over the cycle length.
The Relative Strength Indicator, is adaptive to the time series, and it can be smoothed by increasing the length of decreasing the number of degrees of freedom.
Other adaptive indicators based upon the period and can be similarly constructed.
There is some new math here, so I have broken the story up into 5 Parts:
Part 1:
Any time series can be decomposed into a orthogonal set of polynomials .
This is just math and here are some good references:
Legendre polynomials - Wikipedia, the free encyclopedia
Peter Seffen, "On Digital Smoothing Filters: A Brief Review of Closed Form Solutions and Two New Filter Approaches", Circuits Systems Signal Process, Vol. 5, No 2, 1986
I gave some thought to what should be done with this and came to the conclusion that they can be used for basic smoothing of time series. For the analysis below, I decompose a time series into a low number of degrees of freedom and discard the zero mode to introduce smoothing.
That is:
time series => c_1 t + c_2 t^2 ... c_Max t^Max
This is the cycle. By construction, the cycle does not have a zero mode and more physically, I am defining the "Trend" to be the zero mode.
The data for the cycle and the fit of the cycle can be viewed by setting
ShowDataAndFit = TRUE;
There, you will see the fit of the last bar as well as the time series of the leading edge of the fits. If you don't know what I mean by the "leading edge", please see some of the postings in . The leading edges are in grayscale, and the fit of the last bar is in color.
I have chosen Length = 17 and Degree = 4 as the default. I am simply making sure by eye that the fit is reasonably good and degree 4 is the lowest polynomial that can represent a sine-like wave, and 17 is the smallest length that lets me calculate the Phase Shift (Part 3 below) using the Hilbert Transform of width=7 (Part 2 below).
Depending upon the fit you make, you will capture different cycles in the data. A fit that is too "smooth" will not see the smaller cycles, and a fit that is too "choppy" will not see the longer ones. The idea is to use the fit to try to suppress the smaller noise cycles while keeping larger signal cycles.
Part 2:
Every time series has an Analytic Signal, defined by applying the Hilbert Transform to it. You can think of the original time series as amplitude * cosine(theta) and the transformed series, called the quadrature, can be thought of as amplitude * sine(theta). By taking the ratio, you can get the angle theta, and this is exactly what was done by John Ehlers in . It lets you get a frequency out of the time series under consideration.
Amazon.com: Rocket Science for Traders: Digital Signal Processing Applications (9780471405672): John F. Ehlers: Books
It helps to have more references to understand this. There is a nice article on Wikipedia on it.
Read the part about the discrete Hilbert Transform:
en.wikipedia.org
If you really want to understand how to go from continuous to discrete, look up this article written by Richard Lyons:
www.dspguru.com
In the indicator below, I am calculating the normalized analytic signal, which can be written as:
s + i h where i is the imagery number, and s^2 + h^2 = 1;
s= signal = cosine(theta)
h = Hilbert transformed signal = quadrature = sine(theta)
The angle is therefore given by theta = arctan(h/s);
The analytic signal leading edge and the fit of the last bar of the cycle can be viewed by setting
ShowAnalyticSignal = TRUE;
The leading edges are in grayscale fit to the last bar is in color. Light (yellow) is the s term, and Dark (orange) is the quadrature (hilbert transform). Note that for every bar, s^2 + h^2 = 1 , by construction.
I am using a width = 7 Hilbert transform, just like Ehlers. (But you can adjust it if you want.) This transform has a 7 bar lag. I have put the lag into the plot statements, so the cycle info should be quite good at displaying minima and maxima (extrema).
Part 3:
The Phase shift is the amount of phase change from bar to bar.
It is a discrete unitary transformation that takes s + i h to s + i h
explicitly, T = (s+ih)*(s -ih ) , since s *s + h *h = 1.
writing it out, we find that T = T1 + iT2
where T1 = s*s + h*h and T2 = s*h -h*s
and the phase shift is given by PhaseShift = arctan(T2/T1);
Alas, I have no reference for this, all I doing is finding the rotation what takes the analytic signal at bar to the analytic signal at bar . T is the transfer matrix.
Of interest is the PhaseShift from the closest two bars to the present, given by the bar and bar since I am using a width=7 Hilbert transform, bar is the earliest bar with an analytic signal.
I store the phase shift from bar to bar as a time series called PhaseShift. It basically gives you the (7-bar delayed) leading edge the amount of phase angle change in the series.
You can see it by setting
ShowPhaseShift=TRUE
The green points are positive phase shifts and red points are negative phase shifts.
On most charts, I have looked at, the indicator is mostly green, but occasionally, the stock "retrogrades" and red appears. This happens when the cycle is "broken" and the cycle length starts to expand as a trend occurs.
Part 4:
The Period:
The Period is the number of bars required to generate a sum of PhaseShifts equal to 360 degrees.
The Half-period is the number of bars required to generate a sum of phase shifts equal to 180 degrees. It is usually not equal to 1/2 of the period.
You can see the Period and Half-period by setting
ShowPeriod=TRUE
The code is very simple here:
Value1=0;
Value2=0;
while Value1 < bar_index and math.abs(Value2) < 360 begin
Value2 = Value2 + PhaseShift ;
Value1 = Value1 + 1;
end;
Period = Value1;
The period is sensitive to the input length and degree values but not overly so. Any insight on this would be appreciated.
Part 5:
The Relative Strength indicator:
The Relative Strength is just the current value of the series minus the minimum over the last cycle divided by the maximum - minimum over the last cycle, normalized between +1 and -1.
RelativeStrength = -1 + 2*(Series-Min)/(Max-Min);
It therefore tells you where the current bar is relative to the cycle. If you want to smooth the indicator, then extend the period and/or reduce the polynomial degree.
In code:
NewLength = floor(Period + HilbertWidth+1);
Max = highest(Series,NewLength);
Min = lowest(Series,NewLength);
if Max>Min then
Note that the variable NewLength includes the lag that comes from the Hilbert transform, (HilbertWidth=7 by default).
Conclusion:
This is an example of what can be done by combining Legendre polynomials and analytic signals to determine a smooth period without adding time lag.
________________________________
Changes in this one : instead of using true/false options for every single way to display, use Type parameter as following :
1. The Least Squares fit of a polynomial to a DC subtracted time series - a best fit to a cycle.
2. The normalized analytic signal of the cycle (signal and quadrature).
3. The Phase shift of the analytic signal per bar.
4. The Period and HalfPeriod lengths, in bars of the current cycle.
5. A relative strength indicator of the time series over the cycle length. That is, adaptive relative strength over the cycle length.
One-Sided Gaussian Filter w/ Channels [Loxx]One-Sided Gaussian Filter w/ Channels is a Gaussian Moving Average that is calculated using a Fibonacci weighting function. Keltner channels have been added to show zones of exhaustion. A better name would be "Half Gaussian bell weighted" or "Half normal distribution weighted" indicator, since the weights for calculation of the average (similar to linear weighted average) are taken from a normal distribution curve like function--but only the half of the curve is used for calculation.
Information of the Gaussian distribution can be found here : en.wikipedia.org and once you take a look at the standard normal distribution curve, it will be much clearer what is exactly done in this indicator.
After the Gaussian Filter is applied to the source input, an Ehlers' 2-Pole Super Smoother is applied to reduce noise without significant lag.
Included:
Bar coloring
Signals
Alerts
Loxx's Expanded Source Types






















