NK Sir's SRTFirst of all I would like to thanks Nitish Sir for teaching us the concept of SRT, which proves to be an excellent tool for Investing.
In a year, there are around 248 to 252 trading days .
On dividing the same by 2 we get 124. Even 125 / 126 can be taken.
We get SRT value by dividing Nifty Spot with 124 SMA value & SRT is applicable on Nifty in a Day Chart.
This value ranges in between 0.6 (Low) to 1.38/1.4/1.45/1.5 (High).
Ideal Entry in a stock will be at 0.6, which is very rare. You tend to buy at 0.7/0.8/0.9/1.10.
Exit from a stock will be at 1.3 - 1.5.
However generally we get a value of 0.8/0.9 and we should start investing 20 % of our capital that we have planned to invest. For every 0.1 decrease in SRT Value, we should add 20% to the stock portfolio.
Start Booking Profit if SRT value above 1.35 & book 50 % of the portfolio when SRT value is 1.45.
For Traders, as an when SRT value comes to 0.8/ 0.9. Buy when Hilega Milega gives us a clear BUY signal on Monthly Time Frame.
Stock bought at SRT value of 0.6 tend to double in a year. It generally quite rare to see a SRT Value of 0.6.
Cari dalam skrip untuk "TAKE"
Moving Average Filters Add-on w/ Expanded Source Types [Loxx]Moving Average Filters Add-on w/ Expanded Source Types is a conglomeration of specialized and traditional moving averages that will be used in most of indicators that I publish moving forward. There are 39 moving averages included in this indicator as well as expanded source types including traditional Heiken Ashi and Better Heiken Ashi candles. You can read about the expanded source types clicking here . About half of these moving averages are closed source on other trading platforms. This indicator serves as a reference point for future public/private, open/closed source indicators that I publish to TradingView. Information about these moving averages was gleaned from various forex and trading forums and platforms as well as TASC publications and other assorted research publications.
________________________________________________________________
Included moving averages
ADXvma - Average Directional Volatility Moving Average
Linnsoft's ADXvma formula is a volatility-based moving average, with the volatility being determined by the value of the ADX indicator.
The ADXvma has the SMA in Chande's CMO replaced with an EMA, it then uses a few more layers of EMA smoothing before the "Volatility Index" is calculated.
A side effect is, those additional layers slow down the ADXvma when you compare it to Chande's Variable Index Dynamic Average VIDYA.
The ADXVMA provides support during uptrends and resistance during downtrends and will stay flat for longer, but will create some of the most accurate market signals when it decides to move.
Ahrens Moving Average
Richard D. Ahrens's Moving Average promises "Smoother Data" that isn't influenced by the occasional price spike. It works by using the Open and the Close in his formula so that the only time the Ahrens Moving Average will change is when the candlestick is either making new highs or new lows.
Alexander Moving Average - ALXMA
This Moving Average uses an elaborate smoothing formula and utilizes a 7 period Moving Average. It corresponds to fitting a second-order polynomial to seven consecutive observations. This moving average is rarely used in trading but is interesting as this Moving Average has been applied to diffusion indexes that tend to be very volatile.
Double Exponential Moving Average - DEMA
The Double Exponential Moving Average (DEMA) combines a smoothed EMA and a single EMA to provide a low-lag indicator. It's primary purpose is to reduce the amount of "lagging entry" opportunities, and like all Moving Averages, the DEMA confirms uptrends whenever price crosses on top of it and closes above it, and confirms downtrends when the price crosses under it and closes below it - but with significantly less lag.
Double Smoothed Exponential Moving Average - DSEMA
The Double Smoothed Exponential Moving Average is a lot less laggy compared to a traditional EMA. It's also considered a leading indicator compared to the EMA, and is best utilized whenever smoothness and speed of reaction to market changes are required.
Exponential Moving Average - EMA
The EMA places more significance on recent data points and moves closer to price than the SMA (Simple Moving Average). It reacts faster to volatility due to its emphasis on recent data and is known for its ability to give greater weight to recent and more relevant data. The EMA is therefore seen as an enhancement over the SMA.
Fast Exponential Moving Average - FEMA
An Exponential Moving Average with a short look-back period.
Fractal Adaptive Moving Average - FRAMA
The Fractal Adaptive Moving Average by John Ehlers is an intelligent adaptive Moving Average which takes the importance of price changes into account and follows price closely enough to display significant moves whilst remaining flat if price ranges. The FRAMA does this by dynamically adjusting the look-back period based on the market's fractal geometry.
Hull Moving Average - HMA
Alan Hull's HMA makes use of weighted moving averages to prioritize recent values and greatly reduce lag whilst maintaining the smoothness of a traditional Moving Average. For this reason, it's seen as a well-suited Moving Average for identifying entry points.
IE/2 - Early T3 by Tim Tilson
The IE/2 is a Moving Average that uses Linear Regression slope in its calculation to help with smoothing. It's a worthy Moving Average on it's own, even though it is the precursor and very early version of the famous "T3 Indicator".
Integral of Linear Regression Slope - ILRS
A Moving Average where the slope of a linear regression line is simply integrated as it is fitted in a moving window of length N (natural numbers in maths) across the data. The derivative of ILRS is the linear regression slope. 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.
Instantaneous Trendline
The Instantaneous Trendline is created by removing the dominant cycle component from the price information which makes this Moving Average suitable for medium to long-term trading.
Laguerre Filter
The Laguerre Filter is a smoothing filter which is based on Laguerre polynomials. The filter requires the current price, three prior prices, a user defined factor called Alpha to fill its calculation.
Adjusting the Alpha coefficient is used to increase or decrease its lag and it's smoothness.
Leader Exponential Moving Average
The Leader EMA was created by Giorgos E. Siligardos who created a Moving Average which was able to eliminate lag altogether whilst maintaining some smoothness. It was first described during his research paper "MACD Leader" where he applied this to the MACD to improve its signals and remove its lagging issue. This filter uses his leading MACD's "modified EMA" and can be used as a zero lag filter.
Linear Regression Value - LSMA (Least Squares Moving Average)
LSMA as a Moving Average is based on plotting the end point of the linear regression line. It compares the current value to the prior value and a determination is made of a possible trend, eg. the linear regression line is pointing up or down.
Linear Weighted Moving Average - LWMA
LWMA reacts to price quicker than the SMA and EMA. Although it's similar to the Simple Moving Average, the difference is that a weight coefficient is multiplied to the price which means the most recent price has the highest weighting, and each prior price has progressively less weight. The weights drop in a linear fashion.
McGinley Dynamic
John McGinley created this Moving Average to track price better than traditional Moving Averages. It does this by incorporating an automatic adjustment factor into its formula, which speeds (or slows) the indicator in trending, or ranging, markets.
McNicholl EMA
Dennis McNicholl developed this Moving Average to use as his center line for his "Better Bollinger Bands" indicator and was successful because it responded better to volatility changes over the standard SMA and managed to avoid common whipsaws.
Non lag moving average
The Non Lag Moving average follows price closely and gives very quick signals as well as early signals of price change. As a standalone Moving Average, it should not be used on its own, but as an additional confluence tool for early signals.
Parabolic Weighted Moving Average
The Parabolic Weighted Moving Average is a variation of the Linear Weighted Moving Average. The Linear Weighted Moving Average calculates the average by assigning different weight to each element in its calculation. The Parabolic Weighted Moving Average is a variation that allows weights to be changed to form a parabolic curve. It is done simply by using the Power parameter of this indicator.
Recursive Moving Trendline
Dennis Meyers's Recursive Moving Trendline uses a recursive (repeated application of a rule) polynomial fit, a technique that uses a small number of past values estimations of price and today's price to predict tomorrows price.
Simple Moving Average - SMA
The SMA calculates the average of a range of prices by adding recent prices and then dividing that figure by the number of time periods in the calculation average. It is the most basic Moving Average which is seen as a reliable tool for starting off with Moving Average studies. As reliable as it may be, the basic moving average will work better when it's enhanced into an EMA.
Sine Weighted Moving Average
The Sine Weighted Moving Average assigns the most weight at the middle of the data set. It does this by weighting from the first half of a Sine Wave Cycle and the most weighting is given to the data in the middle of that data set. The Sine WMA closely resembles the TMA (Triangular Moving Average).
Smoothed Moving Average - SMMA
The Smoothed Moving Average is similar to the Simple Moving Average (SMA), but aims to reduce noise rather than reduce lag. SMMA takes all prices into account and uses a long lookback period. Due to this, it's seen a an accurate yet laggy Moving Average.
Smoother
The Smoother filter is a faster-reacting smoothing technique which generates considerably less lag than the SMMA (Smoothed Moving Average). It gives earlier signals but can also create false signals due to its earlier reactions. This filter is sometimes wrongly mistaken for the superior Jurik Smoothing algorithm.
Super Smoother
The Super Smoother filter uses John Ehlers’s “Super Smoother” which consists of a a Two pole Butterworth filter combined with a 2-bar SMA (Simple Moving Average) that suppresses the 22050 Hz Nyquist frequency: A characteristic of a sampler, which converts a continuous function or signal into a discrete sequence.
Three pole Ehlers Butterworth
The 3 pole Ehlers Butterworth (as well as the Two pole Butterworth) are both superior alternatives to the EMA and SMA. They aim at producing less lag whilst maintaining accuracy. The 2 pole filter will give you a better approximation for price, whereas the 3 pole filter has superior smoothing.
Three pole Ehlers smoother
The 3 pole Ehlers smoother works almost as close to price as the above mentioned 3 Pole Ehlers Butterworth. It acts as a strong baseline for signals but removes some noise. Side by side, it hardly differs from the Three Pole Ehlers Butterworth but when examined closely, it has better overshoot reduction compared to the 3 pole Ehlers Butterworth.
Triangular Moving Average - TMA
The TMA is similar to the EMA but uses a different weighting scheme. Exponential and weighted Moving Averages will assign weight to the most recent price data. Simple moving averages will assign the weight equally across all the price data. With a TMA (Triangular Moving Average), it is double smoother (averaged twice) so the majority of the weight is assigned to the middle portion of the data.
The TMA and Sine Weighted Moving Average Filter are almost identical at times.
Triple Exponential Moving Average - TEMA
The TEMA uses multiple EMA calculations as well as subtracting lag to create a tool which can be used for scalping pullbacks. As it follows price closely, it's signals are considered very noisy and should only be used in extremely fast-paced trading conditions.
Two pole Ehlers Butterworth
The 2 pole Ehlers Butterworth (as well as the three pole Butterworth mentioned above) is another filter that cuts out the noise and follows the price closely. The 2 pole is seen as a faster, leading filter over the 3 pole and follows price a bit more closely. Analysts will utilize both a 2 pole and a 3 pole Butterworth on the same chart using the same period, but having both on chart allows its crosses to be traded.
Two pole Ehlers smoother
A smoother version of the Two pole Ehlers Butterworth. This filter is the faster version out of the 3 pole Ehlers Butterworth. It does a decent job at cutting out market noise whilst emphasizing a closer following to price over the 3 pole Ehlers.
Volume Weighted EMA - VEMA
Utilizing tick volume in MT4 (or real volume in MT5), this EMA will use the Volume reading in its decision to plot its moves. The more Volume it detects on a move, the more authority (confirmation) it has. And this EMA uses those Volume readings to plot its movements.
Studies show that tick volume and real volume have a very strong correlation, so using this filter in MT4 or MT5 produces very similar results and readings.
Zero Lag DEMA - Zero Lag Double Exponential Moving Average
John Ehlers's Zero Lag DEMA's aim is to eliminate the inherent lag associated with all trend following indicators which average a price over time. Because this is a Double Exponential Moving Average with Zero Lag, it has a tendency to overshoot and create a lot of false signals for swing trading. It can however be used for quick scalping or as a secondary indicator for confluence.
Zero Lag Moving Average
The Zero Lag Moving Average is described by its creator, John Ehlers, as a Moving Average with absolutely no delay. And it's for this reason that this filter will cause a lot of abrupt signals which will not be ideal for medium to long-term traders. This filter is designed to follow price as close as possible whilst de-lagging data instead of basing it on regular data. The way this is done is by attempting to remove the cumulative effect of the Moving Average.
Zero Lag TEMA - Zero Lag Triple Exponential Moving Average
Just like the Zero Lag DEMA, this filter will give you the fastest signals out of all the Zero Lag Moving Averages. This is useful for scalping but dangerous for medium to long-term traders, especially during market Volatility and news events. Having no lag, this filter also has no smoothing in its signals and can cause some very bizarre behavior when applied to certain indicators.
________________________________________________________________
What are Heiken Ashi "better" candles?
The "better formula" was proposed in an article/memo by BNP-Paribas (In Warrants & Zertifikate, No. 8, August 2004 (a monthly German magazine published by BNP Paribas, Frankfurt), there is an article by Sebastian Schmidt about further development (smoothing) of Heikin-Ashi chart.)
They proposed to use the following:
(Open+Close)/2+(((Close-Open)/( High-Low ))*ABS((Close-Open)/2))
instead of using :
haClose = (O+H+L+C)/4
According to that document the HA representation using their proposed formula is better than the traditional formula.
What are traditional Heiken-Ashi candles?
The Heikin-Ashi technique averages price data to create a Japanese candlestick chart that filters out market noise.
Heikin-Ashi charts, developed by Munehisa Homma in the 1700s, share some characteristics with standard candlestick charts but differ based on the values used to create each candle. Instead of using the open, high, low, and close like standard candlestick charts, the Heikin-Ashi technique uses a modified formula based on two-period averages. This gives the chart a smoother appearance, making it easier to spots trends and reversals, but also obscures gaps and some price data.
Expanded generic source types:
Close = close
Open = open
High = high
Low = low
Median = hl2
Typical = hlc3
Weighted = hlcc4
Average = ohlc4
Average Median Body = (open+close)/2
Trend Biased = (see code, too complex to explain here)
Trend Biased (extreme) = (see code, too complex to explain here)
Included:
-Toggle bar color on/off
-Toggle signal line on/off
SRT Indicator script based on Knowledge sharing by NKIn a year, there are 248/ 252 trading days .
Half of this is 124. Even 125/ 126 can be taken.
For Ex: We get SRT value by dividing the Nifty Spot with 124 SMA value applied on Nifty in a Day Chart.
This value Travels between 0.6 ( Bottom) to 1.38/1.4/1.45/1.5 ( Top).
Ideal Entry in stock will be at 0.6, which is very rare. You tend to buy at 0.7/0.8/0.9/1.10.
Exit from stock will be at 1.5.
However, generally, we get a value of 0.8/0.9 and we should start investing 20 % at a time. For every 0.1 declines, we should add 20 % to the stock portfolio.
Start Booking Profit if the SRT value is above 1.35 & book 50 % of the portfolio when SRT value is 1.45.
For Traders, as when SRT value comes to 0.8/ 0.9. Buy when HM comes in a buy in Monthly Time Frame.
SRT moves between 0.6 to 1.5 and which is a very reliable parameter for Investing.
Best time to invest in NIFTY is when SRT is between 0.6 to 0.9, NIFTY returned 2X, 3X or even more in less than a year.
Make sure Hilega Milega on Monthly Time frame is BUY before investing at these levels
Invest in batches, 30% of your capital when SRT is 0.9 and repeat every 0.1 downside
Adaptivity: Measures of Dominant Cycles and Price Trend [Loxx]Adaptivity: Measures of Dominant Cycles and Price Trend is an indicator that outputs adaptive lengths using various methods for dominant cycle and price trend timeframe adaptivity. While the information output from this indicator might be useful for the average trader in one off circumstances, this indicator is really meant for those need a quick comparison of dynamic length outputs who wish to fine turn algorithms and/or create adaptive indicators.
This indicator compares adaptive output lengths of all publicly known adaptive measures. Additional adaptive measures will be added as they are discovered and made public.
The first released of this indicator includes 6 measures. An additional three measures will be added with updates. Please check back regularly for new measures.
Ehers:
Autocorrelation Periodogram
Band-pass
Instantaneous Cycle
Hilbert Transformer
Dual Differentiator
Phase Accumulation (future release)
Homodyne (future release)
Jurik:
Composite Fractal Behavior (CFB)
Adam White:
Veritical Horizontal Filter (VHF) (future release)
What is an adaptive cycle, and what is Ehlers Autocorrelation Periodogram Algorithm?
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, page 135:
"Adaptive filters can have several different meanings. For example, Perry Kaufman's adaptive moving average (KAMA) and Tushar Chande's variable index dynamic average (VIDYA) adapt to changes in volatility . By definition, these filters are reactive to price changes, and therefore they close the barn door after the horse is gone.The adaptive filters discussed in this chapter are the familiar Stochastic , relative strength index (RSI), commodity channel index (CCI), and band-pass filter.The key parameter in each case is the look-back period used to calculate the indicator. This look-back period is commonly a fixed value. However, since the measured cycle period is changing, it makes sense to adapt these indicators to the measured cycle period. When tradable market cycles are observed, they tend to persist for a short while.Therefore, by tuning the indicators to the measure cycle period they are optimized for current conditions and can even have predictive characteristics.
The dominant cycle period is measured using the Autocorrelation Periodogram Algorithm. That dominant cycle dynamically sets the look-back period for the indicators. I employ my own streamlined computation for the indicators that provide smoother and easier to interpret outputs than traditional methods. Further, the indicator codes have been modified to remove the effects of spectral dilation.This basically creates a whole new set of indicators for your trading arsenal."
What is this Hilbert Transformer?
An analytic signal allows for time-variable parameters and is a generalization of the phasor concept, which is restricted to time-invariant amplitude, phase, and frequency. The analytic representation of a real-valued function or signal facilitates many mathematical manipulations of the signal. For example, computing the phase of a signal or the power in the wave is much simpler using analytic signals.
The Hilbert transformer is the technique to create an analytic signal from a real one. The conventional Hilbert transformer is theoretically an infinite-length FIR filter. Even when the filter length is truncated to a useful but finite length, the induced lag is far too large to make the transformer useful for trading.
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, pages 186-187:
"I want to emphasize that the only reason for including this section is for completeness. Unless you are interested in research, I suggest you skip this section entirely. To further emphasize my point, do not use the code for trading. A vastly superior approach to compute the dominant cycle in the price data is the autocorrelation periodogram. The code is included because the reader may be able to capitalize on the algorithms in a way that I do not see. All the algorithms encapsulated in the code operate reasonably well on theoretical waveforms that have no noise component. My conjecture at this time is that the sample-to-sample noise simply swamps the computation of the rate change of phase, and therefore the resulting calculations to find the dominant cycle are basically worthless.The imaginary component of the Hilbert transformer cannot be smoothed as was done in the Hilbert transformer indicator because the smoothing destroys the orthogonality of the imaginary component."
What is the Dual Differentiator, a subset of Hilbert Transformer?
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, page 187:
"The first algorithm to compute the dominant cycle is called the dual differentiator. In this case, the phase angle is computed from the analytic signal as the arctangent of the ratio of the imaginary component to the real component. Further, the angular frequency is defined as the rate change of phase. We can use these facts to derive the cycle period."
What is the Phase Accumulation, a subset of Hilbert Transformer?
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, page 189:
"The next algorithm to compute the dominant cycle is the phase accumulation method. The phase accumulation method of computing the dominant cycle is perhaps the easiest to comprehend. In this technique, we measure the phase at each sample by taking the arctangent of the ratio of the quadrature component to the in-phase component. A delta phase is generated by taking the difference of the phase between successive samples. At each sample we can then look backwards, adding up the delta phases.When the sum of the delta phases reaches 360 degrees, we must have passed through one full cycle, on average.The process is repeated for each new sample.
The phase accumulation method of cycle measurement always uses one full cycle's worth of historical data.This is both an advantage and a disadvantage.The advantage is the lag in obtaining the answer scales directly with the cycle period.That is, the measurement of a short cycle period has less lag than the measurement of a longer cycle period. However, the number of samples used in making the measurement means the averaging period is variable with cycle period. longer averaging reduces the noise level compared to the signal.Therefore, shorter cycle periods necessarily have a higher out- put signal-to-noise ratio."
What is the Homodyne, a subset of Hilbert Transformer?
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, page 192:
"The third algorithm for computing the dominant cycle is the homodyne approach. Homodyne means the signal is multiplied by itself. More precisely, we want to multiply the signal of the current bar with the complex value of the signal one bar ago. The complex conjugate is, by definition, a complex number whose sign of the imaginary component has been reversed."
What is the Instantaneous Cycle?
The Instantaneous Cycle Period Measurement was authored by John Ehlers; it is built upon his Hilbert Transform Indicator.
From his Ehlers' book Cybernetic Analysis for Stocks and Futures: Cutting-Edge DSP Technology to Improve Your Trading by John F. Ehlers, 2004, page 107:
"It is obvious that cycles exist in the market. They can be found on any chart by the most casual observer. What is not so clear is how to identify those cycles in real time and how to take advantage of their existence. When Welles Wilder first introduced the relative strength index (rsi), I was curious as to why he selected 14 bars as the basis of his calculations. I reasoned that if i knew the correct market conditions, then i could make indicators such as the rsi adaptive to those conditions. Cycles were the answer. I knew cycles could be measured. Once i had the cyclic measurement, a host of automatically adaptive indicators could follow.
Measurement of market cycles is not easy. The signal-to-noise ratio is often very low, making measurement difficult even using a good measurement technique. Additionally, the measurements theoretically involve simultaneously solving a triple infinity of parameter values. The parameters required for the general solutions were frequency, amplitude, and phase. Some standard engineering tools, like fast fourier transforms (ffs), are simply not appropriate for measuring market cycles because ffts cannot simultaneously meet the stationarity constraints and produce results with reasonable resolution. Therefore i introduced maximum entropy spectral analysis (mesa) for the measurement of market cycles. This approach, originally developed to interpret seismographic information for oil exploration, produces high-resolution outputs with an exceptionally short amount of information. A short data length improves the probability of having nearly stationary data. Stationary data means that frequency and amplitude are constant over the length of the data. I noticed over the years that the cycles were ephemeral. Their periods would be continuously increasing and decreasing. Their amplitudes also were changing, giving variable signal-to-noise ratio conditions. Although all this is going on with the cyclic components, the enduring characteristic is that generally only one tradable cycle at a time is present for the data set being used. I prefer the term dominant cycle to denote that one component. The assumption that there is only one cycle in the data collapses the difficulty of the measurement process dramatically."
What is the Band-pass Cycle?
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, page 47:
"Perhaps the least appreciated and most underutilized filter in technical analysis is the band-pass filter. The band-pass filter simultaneously diminishes the amplitude at low frequencies, qualifying it as a detrender, and diminishes the amplitude at high frequencies, qualifying it as a data smoother. It passes only those frequency components from input to output in which the trader is interested. The filtering produced by a band-pass filter is superior because the rejection in the stop bands is related to its bandwidth. The degree of rejection of undesired frequency components is called selectivity. The band-stop filter is the dual of the band-pass filter. It rejects a band of frequency components as a notch at the output and passes all other frequency components virtually unattenuated. Since the bandwidth of the deep rejection in the notch is relatively narrow and since the spectrum of market cycles is relatively broad due to systemic noise, the band-stop filter has little application in trading."
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, page 59:
"The band-pass filter can be used as a relatively simple measurement of the dominant cycle. A cycle is complete when the waveform crosses zero two times from the last zero crossing. Therefore, each successive zero crossing of the indicator marks a half cycle period. We can establish the dominant cycle period as twice the spacing between successive zero crossings."
What is Composite Fractal Behavior (CFB)?
All around you mechanisms adjust themselves to their environment. From simple thermostats that react to air temperature to computer chips in modern cars that respond to changes in engine temperature, r.p.m.'s, torque, and throttle position. It was only a matter of time before fast desktop computers applied the mathematics of self-adjustment to systems that trade the financial markets.
Unlike basic systems with fixed formulas, an adaptive system adjusts its own equations. For example, start with a basic channel breakout system that uses the highest closing price of the last N bars as a threshold for detecting breakouts on the up side. An adaptive and improved version of this system would adjust N according to market conditions, such as momentum, price volatility or acceleration.
Since many systems are based directly or indirectly on cycles, another useful measure of market condition is the periodic length of a price chart's dominant cycle, (DC), that cycle with the greatest influence on price action.
The utility of this new DC measure was noted by author Murray Ruggiero in the January '96 issue of Futures Magazine. In it. Mr. Ruggiero used it to adaptive adjust the value of N in a channel breakout system. He then simulated trading 15 years of D-Mark futures in order to compare its performance to a similar system that had a fixed optimal value of N. The adaptive version produced 20% more profit!
This DC index utilized the popular MESA algorithm (a formulation by John Ehlers adapted from Burg's maximum entropy algorithm, MEM). Unfortunately, the DC approach is problematic when the market has no real dominant cycle momentum, because the mathematics will produce a value whether or not one actually exists! Therefore, we developed a proprietary indicator that does not presuppose the presence of market cycles. It's called CFB (Composite Fractal Behavior) and it works well whether or not the market is cyclic.
CFB examines price action for a particular fractal pattern, categorizes them by size, and then outputs a composite fractal size index. This index is smooth, timely and accurate
Essentially, CFB reveals the length of the market's trending action time frame. Long trending activity produces a large CFB index and short choppy action produces a small index value. Investors have found many applications for CFB which involve scaling other existing technical indicators adaptively, on a bar-to-bar basis.
What is VHF Adaptive Cycle?
Vertical Horizontal Filter (VHF) was created by Adam White to identify trending and ranging markets. VHF measures the level of trend activity, similar to ADX DI. Vertical Horizontal Filter does not, itself, generate trading signals, but determines whether signals are taken from trend or momentum indicators. Using this trend information, one is then able to derive an average cycle length.
RSX of Double MACD [Loxx]RSX of Double MACD is a specialized version of the classic MACD. Normally the MACD calculation ends with the difference between fast/slow EMAs, this version of MACD takes the calculation one step further by passing the MACD signal into an RSX RSI function to derive a smoother MACD bound from 0 to 100.
What is MACD?
Moving average convergence divergence ( MACD ) is a trend-following momentum indicator that shows the relationship between two moving averages of a security’s price. The MACD is calculated by subtracting the 26-period exponential moving average ( EMA ) from the 12-period EMA.
What is RSX?
RSI is a very popular technical indicator, because it takes into consideration market speed, direction and trend uniformity. However, the its widely criticized drawback is its noisy (jittery) appearance. The Jurk RSX retains all the useful features of RSI , but with one important exception: the noise is gone with no added lag.
Included
-Customizable inputs and boundaries
TUE ADX/MACD Confluence V1.0The ADX and MACD confluence can be a powerful predictor in stock movements. This script will help you find those confluences in an easy to understand visual manner.
It includes Buy and Sell signals for detected confluences, and will show colored candles to help you determine when to exit a trade. When the candles turn to white that means the detected confluence is no longer in play and you may want to consider a trailing stop loss.
The Buy and Sell signals will display on the first occurrence of each confluence.
It's important to understand that both of these are lagging indicators, but with a careful attention to your stoploss you can easily generate a positive profit factor.
This code is provided open source and you're free to use it for any purpose other than resale.
Resistance/Support Indicator - FontiramisuIndicator showing resistances and support, based on pivots location
When a new pivot location is near from a resistance/support the latter gains weight.
You can modify multiple parameters :
Nb Max res/sup : Define the number max res/sup to keep in our res/sup history array. The greater it is the older bar index will be taken.
Nb show res/sup : Define the number of res/sup to be drawn.
Min weight shown : Define min res/sup weight to be shown. Weight is used to measure strengh of res/sup.
% range stack : Define price percentage change required to stack a pivot into an existing res/sup. Default is 0.015 = 1.5%.
Pivots are calculated with deviation parameter to validate with more precision.
Fontilab Library is used to code this indicator.
Noski - Rob Hoffman_Inventory Retracement BarStrategy taken directly from Rob Hoffman's award winning strategy. Full credit goes to him
Uses the average angle of the ema over the last 20 bars, in combination with Inventory retracement bars (candles that have retraced at least 45%)
(Please note: the angle calculation default value is calibrated for BTCUSD. There is no way currently to code it to be used across multiple pairs. The price to bar ratio has to be adjusted for other trading pairs. Please research price to bar ratio if unfamiliar)
ATR has been included to set take profit and stop loss.
Separate ATR settings for filtering the size of IRB (can filter out candles which are too large or small)
Red background colour is for when ema is at or below the set -ve angle slope. Green is for positive angle. Default is set at -45 and 45 degrees.
Big thankyou to ZenAndTheArtOfTrading and the following two scripts.
Cosmic Angle - by cosmic_indicators
Rob Hoffman's Inventory Retracement Bar - by ucsgears
Code was borrowed and used directly from these scripts
Three EMAs Trend-following Strategy (by Coinrule)Trend-following strategies are great because they give you the peace of mind that you're trading in line with the market.
However, by definition, you're always following. That means you're always a bit later than your want to be. The main challenges such strategies face are:
Confirming that there is a trend
Following the trend, hopefully, early enough to catch the majority of the move
Hopping off the trade when it seems to have run its course
This EMA Trend-following strategy attempts to address such challenges while allowing for a dynamic stop loss.
ENTRY
The trading system requires three crossovers on the same candle to confirm that a new trend is beginning:
Price crossing over EMA 7
Price crossing over EMA 14
Price crossing over EMA 21
The first benefit of using all three crossovers is to reduce false signals. The second benefit is that you know that a strong trend is likely to develop relatively soon, with the help of the fast setup of the three EMAs.
EXIT
The strategy comes with a fixed take profit and a volatility stop, which acts as a trailing stop to adapt to the trend's strength. That helps you get out of the way as soon as market conditions change. Depending on your long-term confidence in the asset, you can edit the fixed take profit to be more conservative or aggressive.
The position is closed when:
The price increases by 4%
The price crosses below the volatility stop.
The best time frame for this strategy based on our backtest is the 4-hr. Shorter timeframes can also work well, although they exhibit larger volatility in their returns. In general, this approach suits medium timeframes. 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.
Greedy MA & Greedy Bollinger Bands This moving average takes all of the moving averages between 1 and 700 and takes the average of them all. It also takes the min/max average (donchian) of every one of those averages. Also included is Bollinger Bands calculated in the same way. One nice feature I have added is the option to use geometric calculations for. I also added regular bb calculations because this can be a major hog. Use this default setting on 1d or 1w. Enjoy!
ps, I call it greedy because the default settings wont work on lower time frames
Waddah Attar Explosion V3 [NHK] -Bollinger - MACDWaddah Attar Explosion Version3 indicator to work in Forex and Crypto, This indicator oscillates above and below zero and the Bollinger band is plotted over the MACD Histogram to take quick decisions, Colors are changed for enhanced look. dead zone is plotted in a background area and option is provided to hide dead zone. One can easily detect sideways market movement using Bollinger band and volume. when volume is in between Bollinger band no trades are to be taken as volume is low and market moving in sideways
credits to: @shayankm and @LazyBear
Read the main description below...
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This is a port of a famous MT4 indicator. This indicator uses MACD /BB to track trend direction and strength. Author suggests using this indicator on 30mins.
Explanation from the indicator developer:
"Various components of the indicator are:
Dead Zone Line: Works as a filter for weak signals. Do not trade when the up or down histogram is in between Dead Zone.
Histograms:
- Pink histogram shows the current down trend.
- Blue histogram shows the current up trend.
- Sienna line / Bollinger Band shows the explosion in price up or down.
Signal for ENTER_BUY: All the following conditions must be met.
- Blue histogram is raising.
- Blue histogram above Explosion line.
- Explosion line raising.
- Both Blue histogram and Explosion line above DeadZone line.
Signal for EXIT_BUY: Exit when Blue histogram crosses below Explosion line / Bollinger Band.
Signal for ENTER_SELL: All the following conditions must be met.
- Pink histogram is raising.
- Pink histogram above Explosion line.
- Explosion line raising.
- Both Pink histogram and Explosion line above DeadZone line.
Signal for EXIT_SELL: Exit when Pink histogram crosses below Explosion line.
All of the parameters are configurable via options page. You may have to tune it for your instrument.
CRYPTO MARKET SESSION ANALYZER INDICATORCrypto Market Session Analyzer is an easy-to-use yet powerful analysis tool that helps the trader visualize and analyze price movements over three different trading sessions:
1) European Session
2) US session
3) Asian session
Automatically tracks the corresponding levels for each market session.
This indicator can be used on all timeframes equal to or less than 15 minutes.
Although this is a simple indicator to use, some care must be taken when using it. The trader must be careful to set the correct times for each session according to his UTC timezone. By default the indicator uses UTC. If your console is set to UTC + 2 for example, you will need to take this into account and align the times correctly. You can adjust the time for each session from the user interface. Following the example, if the opening of the UE session is set to 9 and UTC of your console is set to UTC + 2, the script will proceed to create the level at opening time 11.
HOW IT WORK
The indicator automatically draws a horizontal line at the open and a horizontal line at the close of each session. The indicator clears past support and resistance every 24 hours to provide a clean and easy-to-read chart, updating new levels session after session.
Blue indicates the EU session.
Orange indicates the US session.
Purple indicates the Asian session.
SMOOTHED RSI SWITCHThis more complex take on the traditional RSI provides clearer entry and exit points and looks beyond just overbought/oversold levels, altogether creating a more robust trading strategy.
The RSI is smoothed by the Hull MA with adjustable periods.
Although a variety of strategies can be developed using this indicator. I intended its most profitable use be as follows:
Entries are to be taken when the oscillator flips from red to clear and/or directly from red to green. Sell/short positions are to be take when the oscillator flips from green to clear and/or directly from green to red.
Triple Supertrend with EMA and ADX strategyPublishing a strategy that includes adx and ema filter as well
Entry: all three Supertrend turns positive. If a filter of ADX and EMA is applied, also check if ADX is above the selected level and close is above EMA
Exit: when the first supertrend turns negative
opposite for short entries
A FIlter is given to take or avoid re-enter on the same side. For example, After a long exit, if the entry condition is satisfied again for long before the short single is triggered it takes re-entry if selected.
Compound strategyIn this strategy, I looked at how to manage the crypto I bought. Once we have a little understanding of how cryptocurrency is valued, we can manage the coins we have. For example, the most valuable coin in a coin is to sell when it is overvalued and re-buy when it is undervalued. Furthermore, I realised that buying from the right place and selling at the right time is very important to make a good profit. When it says sell, it's divided into several parts.
1. When the major uptrend is over and we are able to make the desired profit, we will sell our holdings outright.
2. Selling in the middle of a down trend and buying less than that amount again
3. When a small uptrend is over, sell the ones you bought at a lower price and make a small profit.
The other important thing is that the average cost is gradually reduced. Also, those who sell at a loss will reduce their profit (winning rate), so knowing that we will have a chance to calculate our loss and recover it. I used this to write a strategy in Trading View. I have put the link below it. From that we can see how this idea works. What I did was I made the signal by taking some technical indicators as I did in the previous one (all the indicators I got in this case were directional indicators, then I was able to get a good correlation and a standard deviation. I multiplied the correlation and the standard deviation by both and I took the signal as the time when the graph went through zero, and I connected it to the volume so that I could see some of the volume supported by it.)
Now let me tell you a little bit about what I see in this strategy. In this I used the compound effect. That is, the strategy, the profit he takes to reinvest. On the other hand, the strategy itself can put a separate stop loss value on each trade and avoid any major loss from that trade. I also added to this strategy the ability to do swing trading. That means we can take the small profits that come with going on a big up trend or a big down trend. Combined with Compound Effect, Stop Loss and Swing Trading, I was able to make a profit of 894% per annum (1,117.62% for 15 months) with a winning rate of 80%. Winning rate dropped to 80% because I added stop loss and swing trading. The other thing is that I applied DCA to this in both the up trend and the down trend (both). That was another reason for me to make a good profit. The orange line shows how to reduction of costly trade. The yellow line shows the profit and you can see that the profit line does not go down during the loss trades. That's because I want to absorb the loss from that trade.
SAR + 3SMMA with SL & TPThis script is a combination of SAR strategy and 3 Smoothed Moving Averages.
Strategy:
Takes SAR longs when all 3 SMMAs are rising. Take SAR short when all 3 SMMAs are falling.
Supports StopLoss and TakeProfit.
If you have found a profitable setup for it, please share in the comments or private chat.
Valuation TableHey folks, I hope you are all doing well!
This is an indicator that you can use to help you to evaluate companies. There are a few things I added to the valuation table that I personally use and I will explain what they are.
I added Joel Greenblatt's ROC% because it takes Earnings before Interest and Taxes to reflect more closely what the company earns from its operations, while including the cost of depreciation/amortization of assets. A high double digit figure often means that the company has a defensible edge versus its competitors (e.g. a strong brand or a unique product). It's good for relative valuation (comparing two companies in the same industry).
I also added Donald Yacktman's forward rate of return. Yacktman defines forward rate of return as the normalized free cash flow yield plus real growth plus inflation . Unlike the Earnings Yield %, the Forward Rate of Return uses the normalized Free Cash Flow of the past seven years, and considers growth. The forward rate of return can be thought of as the return that investors buying the stock today can expect from it in the future. Yacktman’s Forward Rate of Return may or may not be a useful metric. However, it does present new ways to see and think about stocks we may want to buy.
I added a box called "real price" and that is from Peter Lynch's book, "One Up on Wall Street," where he talked about how the real price of the stock is really the current price - Net Cash Per Share.
I would also personally pair this script with TradingView's built in financial indicators that shows the revenue growth, net income, etc.
Note: the script only works on the weekly timeframe and it will take some time to load because it has a lot of data.
multiple orders - strategy - educationalHi,
Here is a 'template', using array's, for multiple orders and different SL/TP levels per trade (This is an example with max 5 open trades)
The 'switch' makes sure that the first available position will be used,
for example, when 'L1' is closed in the past, and a buy condition is triggered, position 'L1' will be filled,
should it be that 'L1', 'L2', 'L3' are already filled, then position 'L4' will be filled, ...
An extra table is added with data of the trades
Be aware, the 'Buy and Hold' resembles the profit when 100% of the available equity has been bought at the time of the very first trade and sold now. On the other hand, the positions work with a % of equity, 20% per trade (5 x 20 = 100%)
You can see that every trade exits on its own terms, without interference of other trades
Important, this technique only works if in the strategy() function:
- close_entries_rule -> set at 'ANY'
- pyramiding is set at max amount of trades or higher (in this case 5 or higher)
Cheers!
Volume Pace & Pressure TableHave you ever wanted to know if a particular tickers volume is above or below average while still in the trading day? This indicator displays an easy-to-read table that informs the user exactly what is occurring in intraday volume. And a whole lot more!
Description
This indicator displays a variable table with either two or three columns and always three rows. It packs everything a user needs to know about volume in one small table. The table shows:
Current trading days volume
Average daily volume
Volume Pace
Volume Pressure (Buying & Selling)
Volume Pace
Volume Pace is a mathematical calculation invented by the author, Infinity_Trading . The problem was to figure out a way to know if the current days volume was below average or above average while still in the trading day. Calculations like Percent Daily Volume don’t work during the intraday trading hours. For example, say SPY has a 20-day volume average of 100 million shares. If in the first hour SPY has only traded 10 million shares then dividing the current volume into the average daily volume doesn’t tell the user anything when there is still 5.5 hours of trading left in the trading day. There had to be a better way! The solution was to chop up the trading day into evenly divisible time periods (i.e. <= 30 minutes). The Volume Pace algorithm takes the average daily volume and chops it up into small time periods based upon the charts current timeframe. This is the average volume per smaller time period. Then use the current days volume and the number of time periods that have occurred in the trading day so far (at the current moment in time i.e. the current candlestick) to form a calculation that returns the volume above or below the average volume up to that point in time.
Volume Pace Equations
Intraday Vol. Pace = Today’s Current Vol. - ( ( Average Daily Vol. / Time periods in trading day ) * Time periods that have occurred so far in trading day )
Postday Vol. Pace = Today’s Trading Vol. - Average Daily Vol.
^ Vol. = Volume (because TradingViews pine tags are dumb)
Volume Pace Definitions
Volume Pace is the difference in cumulative volume between todays current volume and the average daily volume up to same time of the day
Volume Pace Usage
If the Volume Pace is a positive number then it means that up to the current trading time the volume is that amount greater than the average daily volume over that same intraday time span.
If the Volume Pace is a negative number then it means that up to the current trading time the volume is that amount smaller than the average daily volume over that same intraday time span.
If the Volume Pace is positive during the intraday then the volume is on track to be an above average volume trading day.
If the Volume Pace is negative during the intraday then the volume is on track to be a below average volume trading day.
The Percent Volume Pace is the percent increase or decrease of the current volume compared to the average volume up to the same time of day. Or the Percent Volume Pace is the Volume Pace expressed as a percentage.
After the trading day is complete the Volume Pace will be the difference between the Daily Volume and the Average Daily Volume. And the same thing applies to the Percent Volume Pace.
Volume Pressure
The author, Infinity_Trading, did not invent the calculations for Volume Pressure but the definitions and explanations of Volume Pressure are their own creations. In specific terms, Volume Pressure is a mathematical calculation that uses the direction and distances of individual candlesticks bodies and wicks to assign a numerical value to volume.
buyingPressure = vol * (close - low) / (high - low)
sellingPressure = vol * (high - close) / (high - low)
^ vol = Volume (because TradingViews pine tags are dumb)
The author wants to make clear that volume “pressure” isn’t a real thing. Trades in any market require a buyer and a seller. So there is always an equal number of buyers and sellers. Thus, the idea that there are more buyers or more sellers isn’t rooted in reality. BUT the author believes that the calculation and understanding of “volume pressure” takes a very complex subject (price moment in a market) and condenses into something that intuitively makes sense to humans (pressure) and places it onto something that is already on everyone’s charts (volume bars).
The calculation for Buying Pressure is really calculating the upward distance between the low and the close of the candle. While Selling Pressure is measuring the downward distance from the high to the close. And both are using volume bars to express these measurements. So if an individual candle goes down then the red Selling Pressure will be more on the stacked bar chart than the green Buying Pressure. And vice versa for candles that went up. If a Volume Pressure bar is completely one color then it means, for a downward candle, the low and close were equivalent, and for an upward candle, the high and the close were the same. Lastly, the Buying & Selling Pressure will always add up to 100%.
Inputs and Style
In the Input section the user can set the number of days to use for all of the average calculations. All aspects of the table can be controlled. The background color, text color, border widths, and border colors. Also, the table can be moved to 9 unique locations around the chart for complete user control. Also, the user can use their cursor to hover over each cell in the table to reveal a tooltip definition of the calculation in the cell.
Special Notes
The volume table won’t display when the chart timeframe is weekly or monthly because the logic uses “daily” volume.
The Volume Pace column in the table disappears when the timeframe is greater than 30 minutes. Because for Volume Pace to work the time periods must be equally divisible into 6.5 hours (the duration of trading day).
Long Term: Cumulative Moving AverageWho to use?
This indicator is for Long Term Investors or for Position trading and not for Day traders.
What time-frame to use?
• Daily, Weekly or Monthly
What is Blue line?
• Blue line is Cumulative Moving Average. It is cumulative sum of closing price.
• It is a trend reversal level.
• It is a strong support level.
• If price is below Blue line better not to take any Long position until it crosses above it.
What are Red lines?
• Red lines are Multiplier levels.
• These are target levels to exit the position.
• It can be breakout or pull back levels.
• The level combination numbers can be fully odd or even numbers.
• For example in certain stocks the working levels will be 1x, 3x, 5x etc., in others it will be even numbers like 2x, 4x, 6x etc.
• In some cases the levels need to be tweaked with custom decimals like 1.1x, 2.1x, 3.1x, 4.1x etc. to align the support & resistance levels.
How to use?
Entry
• Enter when the Price reach closer to the Blue line.
• Enter Long when the Price takes a pullback or breakout at the Red lines.
Exit
• Exit position when the Price reach closer to the Red lines in Long positions.
Indicator Menu
• Works only in higher time-frames like D, W & M.
• Will not work in Lower time-frames less than "D" or the Launch Date shows wrong in Lower time-frames.
Multipliers:
(Read above What are Red lines?)
Launch Date:
• Launch Date: Starting date of stock when it appeared in the exchange. Works only in D, W & M timeframes.
• Years: Total number of years from the Launch Date. Accurate date will be shown in Daily timeframe.
• Candles Count: Total number of candles from the Launch Date in the current timeframe.
Labels:
• First number is last traded price.
• Second number in () is percentage change from last traded price to that level.
HighTimeframeTimingLibrary "HighTimeframeTiming"
@description Library for sampling high timeframe (HTF) historical data at an arbitrary number of HTF bars back, using a single security() call.
The data is fixed and does not alter over the course of the HTF bar. It also behaves consistently on historical and elapsed realtime bars.
‼ LIMITATIONS: This library function depends on there being a consistent number of chart timeframe bars within the HTF bar. This is almost always true in 24/7 markets like crypto.
This might not be true if the chart doesn't produce an update when expected, for example because the asset is thinly traded and there is no volume or price update from the feed at that time.
To mitigate this risk, use this function on liquid assets and at chart timeframes high enough to reliably produce updates at least once per bar period.
The consistent ratio of bars might also break down in markets with irregular sessions and hours. I'm not sure if or how one could mitigate this.
Another limitation is that because we're accessing a multiplied number of chart bars, you will run out of chart bars faster than you would HTF bars. This is only a problem if you use a large historical operator.
If you call a function from this library, you should probably reproduce these limitations in your script description.
However, all of this doesn't mean that this function might not still be the best available solution, depending what your needs are.
If a single chart bar is skipped, for example, the calculation will be off by 1 until the next HTF bar opens. This is certainly inconsistent, but potentially still usable.
@function f_offset_synch(float _HTF_X, int _HTF_H, int _openChartBarsIn, bool _updateEarly)
Returns the number of chart bars that you need to go back in order to get a stable HTF value from a given number of HTF bars ago.
@param float _HTF_X is the timeframe multiplier, i.e. how much bigger the selected timeframe is than the chart timeframe. The script shows a way to calculate this using another of my libraries without using up a security() call.
@param int _HTF_H is the historical operator on the HTF, i.e. how many bars back you want to go on the higher timeframe. If omitted, defaults to zero.
@param int _openChartBarsIn is how many chart bars have been opened within the current HTF bar. An example of calculating this is given below.
@param bool _updateEarly defines whether you want to update the value at the closing calculation of the last chart bar in the HTF bar or at the open of the first one.
@returns an integer that you can use as a historical operator to retrieve the value for the appropriate HTF bar.
🙏 Credits: This library is an attempt at a solution of the problems in using HTF data that were laid out by Pinecoders in "security() revisited" -
Thanks are due to the authors of that work for an understanding of HTF issues. In addition, the current script also includes some of its code.
Specifically, this script reuses the main function recommended in "security() revisited", for the purposes of comparison. And it extends that function to access historical data, again just for comparison.
All the rest of the code, and in particular all of the code in the exported function, is my own.
Special thanks to LucF for pointing out the limitations of my approach.
~~~~~~~~~~~~~~~~|
EXPLANATION
~~~~~~~~~~~~~~~~|
Problems with live HTF data: Many problems with using live HTF data from security() have been clearly explained by Pinecoders in "security() revisited"
In short, its behaviour is inconsistent between historical and elapsed realtime bars, and it changes in realtime, which can cause calculations and alerts to misbehave.
Various unsatisfactory solutions are discussed in "security() revisited", and understanding that script is a prerequisite to understanding this library.
PineCoders give their own solution, which is to fix the data by essentially using the previous HTF bar's data. Importantly, that solution is consistent between historical and realtime bars.
This library is an attempt to provide an alternative to that solution.
Problems with historical HTF data: In addition to the problems with live HTF data, there are different issues when trying to access historical HTF data.
Why use historical HTF data? Maybe you want to do custom calculations that involve previous HTF bars. Or to use HTF data in a function that has mutable variables and so can't be done in a security() call.
Most obviously, using the historical operator (in this description, represented using { } because the square brackets don't render) on variables already retrieved from a security() call, e.g. HTF_Close{1}, is not very useful:
it retrieves the value from the previous *chart* bar, not the previous HTF bar.
Using {1} directly in the security() call instead does get data from the previous HTF bar, but it behaves inconsistently, as we shall see.
This library addresses these concerns as well.
Housekeeping: To follow what's going on with the example and comparisons, turn line labels on: Settings > Scales > Indicator Name Label.
The following explanation assumes "close" as the source, but you can change it if you want.
To quickly see the difference between historical and realtime bars, set the HTF to something like 3 minutes on a 15s chart.
The bars at the top of the screen show the status. Historical bars are grey, elapsed realtime bars are red, and the realtime bar is green. A white vertical line shows the open of a HTF bar.
A: This library function f_offset_synch(): When supplied with an input offset of 0, it plots a stable value of the close of the *previous* HTF bar. This value is thus safe to use for calculations and alerts.
For a historical operator of {1}, it gives the close of the *last-but-one* bar. Sounds simple enough. Let's look at the other options to see its advantages.
B: Live HTF data: Represented on the line label as "security(){0}". Note: this is the source that f_offset_synch() samples.
The raw HTF data is very different on historical and realtime bars:
+ On historical bars, it uses a flat value from the end of the previous HTF bar. It updates at the close of the HTF bar.
+ On realtime bars, it varies between and within each chart bar.
There might be occasions where you want to use live data, in full knowledge of its drawbacks described above. For example, to show simple live conditions that are reversible after a chart bar close.
This library transforms live data to get the fixed data, thus giving you access to both live and fixed data with only one security() call.
C: Historical data using security(){H}: To see how this behaves, set the {H} value in the settings to 1 and show options A, B, and C.
+ On historical bars, this option matches option A, this library function, exactly. It behaves just like security(){0} but one HTF bar behind, as you would expect.
+ On realtime bars, this option takes the value of security(){0} at the end of a HTF bar, but it takes it from the previous *chart* bar, and then persists that.
The easiest way to see this inconsistency is on the first realtime bar (marked red at the top of the screen). This option suddenly jumps, even if it's in the middle of a HTF bar.
Contrast this with option A, which is always constant, until it updates, once per HTF bar.
D: PineCoders' original function: To see how this behaves, show options A, B, and D. Set the {H} value in the settings to 0, then 1.
The PineCoders' original function (D) and extended function (E) do not have the same limitations as this library, described in the Limitations section.
This option has all of the same advantages that this library function, option A, does, with the following differences:
+ It cannot access historical data. The {H} setting makes no difference.
+ It always updates at the open of the first chart bar in a new HTF bar.
By contrast, this library function, option A, is configured by default to update at the close of the last chart bar in a HTF bar.
This little frontrunning is only a few seconds but could be significant in trading. E.g. on a 1D HTF with a 4H chart, an alert that involves a HTF change set to trigger ON CLOSE would trigger 4 hours later using this method -
but use exactly the same value. It depends on the market and timeframe as to whether you could actually trade this. E.g. at the very end of a tradfi day your order won't get executed.
This behaviour mimics how security() itself updates, as is easy to see on the chart. If you don't want it, just set in_updateEarly to false. Then it matches option D exactly.
E: PineCoders' function, extended to get history: To see how this behaves, show options A and E. Set the {H} value in the settings to 0, then 1.
I modified the original function to be able to get historical values. In all other respects it is the same.
Apart from not having the option to update earlier, the only disadvantage of this method vs this library function is that it requires one security() call for each historical operator.
For example, if you wanted live data, and fixed data, and fixed data one bar back, you would need 3 security() calls. My library function requires just one.
This is the essential tradeoff: extra complexity and less robustness in certain circumstances (the PineCoders function is simple and universal by comparison) for more flexibility with fewer security() calls.
Market IndicatorIt shows bullish / bearish market. It takes the closing price and divide it by the last 20 periods moving average. Then, it takes the logarithm. So, if:
-Price above MA20: >0
-Price below MA20: <0
3 Candle Strike StretegyMainly developed for AMEX:SPY trading on 1 min chart. But feel free to try on other tickers.
Basic idea of this strategy is to look for 3 candle reversal pattern within trending market structure. The 3 candle reversal pattern consist of 3 consecutive bullish or bearish candles,
followed by an engulfing candle in the opposite direction. This pattern usually signals a reversal of short term trend. This strategy also uses multiple moving averages to filter long or short
entries. ie. if the 21 smoothed moving average is above the 50, only look for long (bullish) entries, and vise versa. There is option change these moving average periods to suit your needs.
I also choose to use Linear Regression to determine whether the market is ranging or trending. It seems the 3 candle pattern is more successful under trending market. Hence I use it as a filter.
There is also an option to combine this strategy with moving average crossovers. The idea is to look for 3 candle pattern right after a fast moving average crosses over a slow moving average.
By default , 21 and 50 smoothed moving averages are used. This gives additional entry opportunities and also provides better results.
This strategy aims for 1:3 risk to reward ratio. Stop losses are calculated using the closest low or high values for long or short entries, respectively, with an offset using a percentage of
the daily ATR value. This allows some price fluctuation without being stopped out prematurely. Price target is calculated by multiplying the difference between the entry price and the stop loss
by a factor of 3. When price target is reach, this strategy will set stop loss at the price target and wait for exit condition to maximize potential profit.
This strategy will exit an order if an opposing 3 candle pattern is detected, this could happen before stop loss or price target is reached, and may also happen after price target is reached.
*Note that this strategy is designed for same day SPY option scalping. I haven't determined an easy way to calculate the # of contracts to represent the equivalent option values. Plus the option
prices varies greatly depending on which strike and expiry that may suits your trading style. Therefore, please be mindful of the net profit shown. By default, each entry is approximately equal
to buying 10 of same day or 1 day expiry call or puts at strike $1 - $2 OTM. This strategy will close all open trades at 3:45pm EST on Mon, Wed, and Fri.
**Note that this strategy also takes into account of extended market data.
***Note pyramiding is set to 2 by default, so it allows for multiple entries on the way towards price target.
Remember that market conditions are always changing. This strategy was only able to be back-tested using 1 month of data. This strategy may not work the next month. Please keep that in mind.
Also, I take no credit for any of the indicators used as part of this strategy.
Enjoy~






















