DMI StrategyThis strategy is based on DMI indicator. It helps me to identify base or top of the script. I mostly use this script to trade in Nifty bank options, even when the signal comes in nifty. It can be used to trade in other scripts as well. Pivot points can also be used to take entry. Long entry is taken when DI+(11) goes below 10 and DI-(11) goes above 40, whereas short entry is taken when DI-(11) goes below 10 and DI+(11) goes above 40.
For bank nifty, I take the trade in the strike price for which the current premium is nearby 300, with the SL of 20%. If premium goes below 10% I buy one more lot to average, but exit if the premium goes below 20% of the first entry. If the trade moves in the correct direction, we need to start trailing our stoploss or exit at the pre-defined target.
Please have a look at strategy tester to back test.
在腳本中搜尋"a股板块+沪深两市+股价不超过10元的股票+技术形态好"
Mark MinerviniHi everyone,
Just sharing a script that I made when I began to be interested in Mark Minervini, Wiliam O'Neil, Nicolas Darvas,.. trading style.
This script displays :
- 10 EMA (orange)
- 20 EMA (blue light)
- 50 SMA (blue)
-150 SMA (green)
-200 SMA (red)
- Shows when the stock is "extended" from EMA10 to high of the candle (Works in Daily, you can adjust the % to make it match with the stock's volatility)
(Shows a red area between price and 10 EMA)
- Shows when Mark Minervini's trend template is respected by highlighting green between 150 & 200 SMA.
I Although added bollinger bands and 5 EMA for very strong stocks. (I never use them)
Have fun
itrade buy/sellThe indicator was written based on several types of other indicators.
I took ema, rsi ema and an augmented version of qqe rsi.
The indicator checks for oversold or overbought on all of these indicators and, based on this, issues a buy or sell signal.
In the indicator, you can adjust the length of each point for yourself, so you can set rsi to 10 or 100, as it suits you.
The indicator works better on higher timeframes 4h-1w
But it can also be used on smaller timeframes, but the lower the timeframe, the higher the risk.
_________________________________________________________________________________________________________
Индикатор был написан на основе нескольких видов других индикаторов.
Я взял ema,rsi ema идополненую версию qqe rsi.
Индикатор проверяет перепроданость или перекупленость на этих всех индикаторах и изходя из этого выдаёт сигнал на покупку или продажу.
В индикаторе можно настроить длинну каждого пункта под себя,так вы можете поставить rsi на 10 или же на 100,как вам будет удобно.
Индикатор работает лучше на больших таймфреймах 4ч-1w
Но так же его можно использовать на более мелких таймфреймах,но чем ниже таймфрейм,тем выше риск.
Goertzel Cycle Period [Loxx]Goertzel Cycle Period is an indicator that uses Goertzel algorithm to extract the cycle period of ticker's price input to then be injected into advanced, adaptive indicators and technical analysis algorithms.
The following information is extracted from: "MESA vs Goertzel-DFT, 2003 by Dennis Meyers"
Background
MESA which stands for Maximum Entropy Spectral Analysis is a widely used mathematical technique designed to find the frequencies present in data. MESA was developed by J.P Burg for his Ph.D dissertation at Stanford University in 1975. The use of the MESA technique for stocks has been written about in many articles and has been popularized as a trading technique by John Ehlers.
The Fourier Transform is a mathematical technique named after the famed French mathematician Jean Baptiste Joseph Fourier 1768-1830. In its digital form, namely the discrete-time Fourier Transform (DFT) series, is a widely used mathematical technique to find the frequencies of discrete time sampled data. The use of the DFT has been written about in many articles in this magazine (see references section).
Today, both MESA and DFT are widely used in science and engineering in digital signal processing. The application of MESA and Fourier mathematical techniques are prevalent in our everyday life from everything from television to cell phones to wireless internet to satellite communications.
MESA Advantages & Disadvantage
MESA is a mathematical technique that calculates the frequencies of a time series from the autoregressive coefficients of the time series. We have all heard of regression. The simplest regression is the straight line regression of price against time where price(t) = a+b*t and where a and b are calculated such that the square of the distance between price and the best fit straight line is minimized (also called least squares fitting). With autoregression we attempt to predict tomorrows price by a linear combination of M past prices.
One of the major advantages of MESA is that the frequency examined is not constrained to multiples of 1/N (1/N is equal to the DFT frequency spacing and N is equal to the number of sample points). For instance with the DFT and N data points we can only look a frequencies of 1/N, 2/N, Ö.., 0.5. With MESA we can examine any frequency band within that range and any frequency spacing between i/N and (i+1)/N . For example, if we had 100 bars of price data, we might be interested in looking for all cycles between 3 bars per cycle and 30 bars/ cycle only and with a frequency spacing of 0.5 bars/cycle. DFT would examine all bars per cycle of between 2 and 50 with a frequency spacing constrained to 1/100.
Another of the major advantages of MESA is that the dominant spectral (frequency) peaks of the price series, if they exist, can be identified with fewer samples than the DFT technique. For instance if we had a 10 bar price period and a high signal to noise ratio we could accurately identify this period with 40 data samples using the MESA technique. This same resolution might take 128 samples for the DFT. One major disadvantage of the MESA technique is that with low signal to noise ratios, that is below 6db (signal amplitude/noise amplitude < 2), the ability of MESA to find the dominant frequency peaks is severely diminished.(see Kay, Ref 10, p 437). With noisy price series this disadvantage can become a real problem. Another disadvantage of MESA is that when the dominant frequencies are found another procedure has to be used to get the amplitude and phases of these found frequencies. This two stage process can make MESA much slower than the DFT and FFT . The FFT stands for Fast Fourier Transform. The Fast Fourier Transform(FFT) is a computationally efficient algorithm which is a designed to rapidly evaluate the DFT. We will show in examples below the comparisons between the DFT & MESA using constructed signals with various noise levels.
DFT Advantages and Disadvantages.
The mathematical technique called the DFT takes a discrete time series(price) of N equally spaced samples and transforms or converts this time series through a mathematical operation into set of N complex numbers defined in what is called the frequency domain. Why would we what to do that? Well it turns out that we can do all kinds of neat analysis tricks in the frequency domain which are just to hard to do, computationally wise, with the original price series in the time domain. If we make the assumption that the price series we are examining is made up of signals of various frequencies plus noise, than in the frequency domain we can easily filter out the frequencies we have no interest in and minimize the noise in the data. We could then transform the resultant back into the time domain and produce a filtered price series that hopefully would be easier to trade. The advantages of the DFT and itís fast computation algorithm the FFT, are that it is extremely fast in calculating the frequencies of the input price series. In addition it can determine frequency peaks for very noisy price series even when the signal amplitude is less than the noise amplitude. One of the disadvantages of the FFT is that straight line, parabolic trends and edge effects in the price series can distort the frequency spectrum. In addition, end effects in the price series can distort the frequency spectrum. Another disadvantage of the FFT is that it needs a lot more data than MESA for spectral resolution. However this disadvantage has largely been nullified by the speed of today's computers.
Goertzel algorithm attempts to resolve these problems...
What is the Goertzel algorithm?
The Goertzel algorithm is a technique in digital signal processing (DSP) for efficient evaluation of the individual terms of the discrete Fourier transform (DFT). It is useful in certain practical applications, such as recognition of dual-tone multi-frequency signaling (DTMF) tones produced by the push buttons of the keypad of a traditional analog telephone. The algorithm was first described by Gerald Goertzel in 1958.
Like the DFT, the Goertzel algorithm analyses one selectable frequency component from a discrete signal. Unlike direct DFT calculations, the Goertzel algorithm applies a single real-valued coefficient at each iteration, using real-valued arithmetic for real-valued input sequences. For covering a full spectrum, the Goertzel algorithm has a higher order of complexity than fast Fourier transform (FFT) algorithms, but for computing a small number of selected frequency components, it is more numerically efficient. The simple structure of the Goertzel algorithm makes it well suited to small processors and embedded applications.
The main calculation in the Goertzel algorithm has the form of a digital filter, and for this reason the algorithm is often called a Goertzel filter
Where is Goertzel algorithm used?
This package contains the advanced mathematical technique called the Goertzel algorithm for discrete Fourier transforms. This mathematical technique is currently used in today's space-age satellite and communication applications and is applied here to stock and futures trading.
While the mathematical technique called the Goertzel algorithm is unknown to many, this algorithm is used everyday without even knowing it. When you press a cell phone button have you ever wondered how the telephone company knows what button tone you pushed? The answer is the Goertzel algorithm. This algorithm is built into tiny integrated circuits and immediately detects which of the 12 button tones(frequencies) you pushed.
Future Additions:
Bartels test for cycle significance, testing output cycles for utility
Hodrick Prescott Detrending, smoothing
Zero-Lag Regression Detrending, smoothing
High-pass or Double WMA filtering of source input price data
References:
1. Burg, J. P., ëMaximum Entropy Spectral Analysisî, Ph.D. dissertation, Stanford University, Stanford, CA. May 1975.
2. Kay, Steven M., ìModern Spectral Estimationî, Prentice Hall, 1988
3. Marple, Lawrence S. Jr., ìDigital Spectral Analysis With Applicationsî, Prentice Hall, 1987
4. Press, William H., et al, ìNumerical Receipts in C++: the Art of Scientific Computingî,
Cambridge Press, 2002.
5. Oppenheim, A, Schafer, R. and Buck, J., ìDiscrete Time Signal Processingî, Prentice Hall,
1996, pp663-634
6. Proakis, J. and Manolakis, D. ìDigital Signal Processing-Principles, Algorithms and
Applicationsî, Prentice Hall, 1996., pp480-481
7. Goertzel, G., ìAn Algorithm for he evaluation of finite trigonometric seriesî American Math
Month, Vol 65, 1958 pp34-35.
Zero-lag, 3-Pole Super Smoother [Loxx]Zero-lag, 3-Pole Super Smoother is an Ehlers 3-pole smoother with lag reduction
What is 3-pole Super Smoother?
A SuperSmoother filter is used anytime a moving average of any type would otherwise be used, with the result that the SuperSmoother filter output would have substantially less lag for an equivalent amount of smoothing produced by the moving average. For example, a five-bar SMA has a cutoff period of approximately 10 bars and has two bars of lag. A SuperSmoother filter with a cutoff period of 10 bars has a lag a half bar larger than the two-pole modified Butterworth filter. Therefore, such a SuperSmoother filter has a maximum lag of approximately 1.5 bars and even less lag into the attenuation band of the filter. The differential in lag between moving average and SuperSmoother filter outputs becomes even larger when the cutoff periods are larger.
Included:
-Color bars
-Loxx's Expanded Source Types
3-Pole Super Smoother w/ EMA-Deviation-Corrected Stepping [Loxx]3-Pole Super Smoother w/ EMA-Deviation-Corrected Stepping is an Ehlers 3-pole smoother with EMA deviations corrective stepping. This allows for greater response to volatility.
What is 3-pole Super Smoother?
A SuperSmoother filter is used anytime a moving average of any type would otherwise be used, with the result that the SuperSmoother filter output would have substantially less lag for an equivalent amount of smoothing produced by the moving average. For example, a five-bar SMA has a cutoff period of approximately 10 bars and has two bars of lag. A SuperSmoother filter with a cutoff period of 10 bars has a lag a half bar larger than the two-pole modified Butterworth filter. Therefore, such a SuperSmoother filter has a maximum lag of approximately 1.5 bars and even less lag into the attenuation band of the filter. The differential in lag between moving average and SuperSmoother filter outputs becomes even larger when the cutoff periods are larger.
What is EMA Deviation Corrected?
Dr. Alexander Uhl invented a method that he used to filter the moving average and to check for signals.
By definition, the Standard Deviation (SD, also represented by the Greek letter sigma σ or the Latin letter s) is a measure that is used to quantify the amount of variation or dispersion of a set of data values. In technical analysis we usually use it to measure the level of current volatility.
Standard Deviation is based on Simple Moving Average calculation for mean value. The built-in MetaTrader 5 Standard Deviation can change that and can use one of the 4 basic types of averages for calculations. This version is not doing that. It is, instead, using the properties of EMA to calculate what can be called a new type of deviation, and since it is based on EMA, we shall call it EMA deviation.
It is similar to Standard Deviation, but on a first glance you shall notice that it is "faster" than the Standard Deviation and that makes it useful when the speed of reaction to volatility is expected from any code or trading system.
Included:
-Color bars
-Loxx's Expanded Source Types
percentageLibLibrary "percentageLib"
: every thing need anout percentage
getPercentage(entry, exit)
: get percentage change of of two value
Parameters:
entry : : value of entry price
exit : : value of exit price
Returns: : negative or positive value
applyPercentageNoAddUp(price, percentage)
: apply percentage change on value decrease or increase
Parameters:
price : : value of price
percentage : : percentage change can be negative or positive
Returns: : return only positive value
applyPercentageAddUp(price, percentage)
: apply percentage change on value decrease or increase
Parameters:
price : : value of price
percentage : : percentage change can be negative or positive
Returns: : return only positive value
reversePercentage(percentage)
: get percentage (positive or negative) and return the percentage need to back to previous price
Parameters:
percentage : : percentage change can be negative or positive
Returns: : return positive/negative value
@example : reversePercentage(10) =>11.11111111111111111111111 , reversePercentage(10) =>9.0909090909090909
getReversePercentage(price, percentage)
: get two prices and return the percentage need to back to previous price
Parameters:
price : : value of price
percentage : : percentage change can be negative or positive
Returns: : return only positive value
@example : getReversePercentage(100,90) =>11.11111111111111111111111
multipeBarTotalPercentage()
Super Sniper - Screener - MTF- Multi Asset -Multi IndicatorSuper Sniper Screener with Multi Indicator EMA Crossover, Trend, ADX, MACD, SSL, CCI, STOCHASTIC, RSI, HMA, QQE, WAE. Trade Entry/Exit with multiple Indicator for Multiple Assets and Multiple Timeframe. if you are on a Higher / Lower Time frame and are looking for Entry/Exit based on a lower timeframe then this indicator is the best. The all in one screener for EMA Crossover, Trend, ADX, MACD, SSL, CCI, STOCHASTIC, RSI, HMA, QQE, WAE
What is Sniper Entry?
if you are on a Higher / Lower Time frame and are looking for Entry/Exit based on a lower timeframe then this indicator is the best.
About this indicator.
horizontal Lines are in pink (down) and blue(up) color grey (neutral)
10 horizontal lines are plotted each for a timeframe + Asset / Currency / Stock
Back ground represents UP/DOWN Trend based on EMA 200 with the current time frame.
RED-Dot and GREEN-Dot are buy sell signals of SSL Channel for current Time Frame.
You can choose only one type of indicator (EMA Crossover, Trend, ADX, MACD, SSL, CCI, STOCHASTIC, RSI, HMA, QQE, WAE) for all the 10-lines
Select Asset and Timeframe for Each Line on the Graph.
Based on the color of the line and changes on Multi Timeframe you can ENTER/EXIT a Trade on current Timeframe.
Hence a Sniper Entry with multiple Indicator Screener
Keltner Channel Width Oscillator (KingThies)Definition
The Keltner Channel Width oscillator is a technical analysis indicator derived originally from the same relationship the Bollinger Band Width indicator takes on Bollinger Bands.
Similar to the Bollinger Bands, Kelts measure volatility in relation to price, and factor in various range calculations to create three bands around the price of a given stock or digital asset. The Middle Line is typically a 20 Day Exponential Moving Average while the upper and lower bands highlight price at different range variations around its basis. Keltner Channel Width serve as a way to quantitatively measure the width between the Upper and Lower Bands and identify opportunities for entires and exits, based on the relative range price is experiencing that day.
Calculation
Kelt Channel Width = (Upper Band - Lower Band) / Middle Band
More on Keltner Channels
Keltner channel was first described by a Chicago grain trader called Chester W. Keltner in his 1960 book How to Make Money in Commodities. Though Keltner claimed no ownership of the original idea and simply called it the ten-day moving average trading rule, his name was applied by those who heard of this concept through his books.
Similarly to the Bollinger Bands, Keltner channel is a technical analysis tool based on three parallel lines. In fact, the Keltner indicator consists of a central moving average in addition to channel lines spread above and below it. The central line represents a 10-day simple moving average of what Chester W. Keltner called typical price. The typical price is defined as the average of the high, low and close. The distance between the central line and the upper, or lower line, is equivalent to the simple moving average of the preceding 10 days' trading ranges.
One way to interpret the Keltner Channel would be to consider the price breakouts outside of the channel. A trader would track price movement and consider any close above the upper line as a strong buy signal. Equivalently, any close below the lower line would be considered a strong sell signal. The trader would follow the trend emphasized by the indicator while complementing his analysis with the use of other indicators as well. However, the breakout method only works well when the market moves from a range-bound setting to an established trend. In a trend-less configuration, the Keltner Channel is better used as an overbought/oversold indicator. Thus, as the price breaks out below the lower band, a trader waits for the next close inside the Keltner Channel and considers this price behavior as an oversold situation indicating a potential buy signal. Similarly, as the price breaks out above the upper band, the trader waits for the next close inside the Keltner Channel and considers this price action as an overbought situation indicating a potential sell signal. By waiting for the price to close within the Channel, the trader avoids getting caught in a real upside or downside breakout.
Time FunctionsLibrary "TimeFunctions"
Utility functions to handle time in Pine Script
TimeframetoInt()
Returns an int that corresponds to a timeframe string:
"1" => 1
"5" => 5
"10" => 10
"15" => 15
"30" => 30
"60" => 60
"H1" => 60
"H4" => 240
"1D" => 1440
BarsSinceOpen()
Returns the number of bars that have passed since the opening of the New York Session.
Boom Hunter + Hull Suite + Volatility Oscillator StrategyTRADE CONDITIONS
Long entry:
Boom Hunter (leading indicator): Trigger line crosses over Quotient 2 line (white cross over red)
Hull Suite (trend confirmation): Price closed above hull suite line and hull suite is green (represented by horizontal line at -10 in strategy pane)
Volatility Oscillator (volatility confirmation): Volatility spike trigger line is above upper band (represented by horizontal line at -30 in strategy pane)
Short entry:
Boom Hunter (leading indicator): Trigger line crosses under Quotient 2 line (white cross under red)
Hull Suite (trend confirmation): Price closed below hull suite line and hull suite is red (represented by horizontal line at -10 in strategy pane)
Volatility Oscillator (volatility confirmation): Volatility spike trigger line is below lower band (represented by horizontal line at -30 in strategy pane)
Risk management:
Each trade risks 3% of account (configurable in settings)
SL size determined by swing low/high of previous X candles (configurable in settings) or 1 ATR if swing is less than 1 ATR
TP is calculated by Risk:Reward ratio (configurable in settings)
TIPS
Timeframe: I have found good results running on BTC/USDT 5M chart
Note: To help visual identification of trade entries and exits you may wish to add the Hull Suite and Volatility Oscillator to the chart separately. It was not possible to display them in a clear way within a single panel for the strategy. Make sure you set the settings of the auxiliary indicators to match what is in the settings of this indicator if you do decide to add them.
CREDITS
Boom Hunter Pro by veryfid
Hull Suite by InSilico
Volatility Oscillator by veryfid
Custom Multi-Timeframe IndicatorIt's a pretty simple example of a nice custom screener you can run for multiple timeframes. This is an RSI screener, but you can easily change the function for your own Indicator.
Screener displays:
Last value of the instrument
RSI value for up to 10 instruments / 4 timeframes.
In Parameters you can change:
4 timeframes
10 instruments
Parameters for RSI
Styling parameters for table
If the selected timeframe will be lower than the current one you will receive a warning message in a table.
Thanks to @MUQWISHI to help me code it.
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting.
This post and the script don’t provide any financial advice.
Nifty_Top10Movement of Nifty Top 10 Stocks
This script shows us the movement in Nifty Top 10 stocks based on price.
Divergence Macd+RSI Fast[RSU] -- No RepaintThis indicator combines the divergence of rsi and macd and displays it on the candlestick chart.
RSI:
1. When rsi is at a high point, once it falls by 1 k line, it will detect the divergence from the previous high point. This can quickly find the divergence that has taken effect and help you quickly capture the trend before a sharp decline or rise.
The difference between other RSI divergence indicators: the official divergence indicator is to detect the 5 and the k line, which may lead to a large amount of decline.
2. This indicator detects the previous high and the previous low of 5, 10, 20 lengths at the same time, instead of only detecting a fixed length, so that more deviations can be found.
MACD:
1. When MACD-diff line(orange color) is at a high point, once it falls by 1 k line, it will detect the divergence from the previous high point. This can quickly find the divergence that has taken effect and help you quickly capture the trend before a sharp decline or rise.
2. This indicator detects the previous high and the previous low of 5, 10, 20, 40 , 60 lengths at the same time, instead of only detecting a fixed length, so that more divergences can be found.
Notice:
Because it is a quick divergence detection, it is recommended to confirm that the divergence takes effect after the current k is completely closed first. I have identified this state in the indicator as "k not end".
Disadvantages and Risks:
Since it is a quick discovery, there will be error identification. Error divergences will recolor to grey.
Suggestion:
Use Alert catching divergence occurrences.
Please do not:
Don't go short in the uptrend, don't go long in the downtrend.
Top divergences that occur because of a strong uptrend are usually only temporary pullbacks. Bottom divergences in persistent declines are also temporary rallies. Do not attempt to trade such low-return trades.
It is recommended to use the divergence indicator when the stock price has made a new high and retraced, and once again made a new high, because this often leads to the end of the trend.
Divergence how to use:
1. After the previous candlestick was completely closed, a bottom divergence was found.
2. Open an long order at the beginning of the second bar, or as close to the bottom as possible (because the stop loss will be smaller).
3. Break the stop loss price below the previous low where the divergence occurred, which already means that the divergence is wrong.
OrderbugThis script demonstrate what I don't understand - according to documentation with order managements
The from_entry parameter should execute the exit on this specified trade.
The chart shows the right information, but the list of trades, in the Strategy tester panel doesn't make sense:
This is an extract of the CSV file I got from this script:
The enter1 is getting matched against 4 others entry names, each closing 30% of the position.
10,Exit Long,exit loss2
10,Entry Long,enter 3
===================
9,Exit Long,exit loss4
9,Entry Long,enter 3
==================
8,Exit Long,exit loss4
8,Entry Long,enter 2
==================
7,Exit Long,exit loss3
7,Entry Long,enter 2
===================
6,Exit Long,exit loss8
6,Entry Long,enter 2
==================
5,Exit Long,exit loss10
5,Entry Long,enter 2
==================
4,Exit Long,exit loss10
4,Entry Long,enter 1
===================
3,Exit Long,exit loss5
3,Entry Long,enter 1
===================
2,Exit Long,exit loss9
2,Entry Long,enter 1
===================
1,Exit Long,exit loss6
1,Entry Long,enter 1
Numbers RenkoRenko with Volume and Time in the box was developed by David Weis (Authority on Wyckoff method) and his student.
I like this style (I don't know what it is officially called) because it brings out the potential of Wyckoff method and Renko, and looks beautiful.
I can't find this style Indicator anywhere, so I made something like it, then I named "Numbers Renko" (数字 練行足 in Japanese).
Caution : This indicator only works exactly in Renko Chart.
////////// Numbers Renko General Settings //////////
Volume Divisor : To make good looking Volume Number.
ex) You set 100. When Volume is 0.056, 0.05 x 100 = 5.6. 6 is plotted in the box (Decimal are round off).
Show Only Large Renko Volume : show only Renko Volume which is larger than Average Renko Volume (it is calculated by user selected moving average, option below).
Show Renko Time : "Only Large Renko Time" show only Renko Time which is larger than Average Renko Time (it is calculated by user selected moving average, option below).
EMA period for calculation : This is used to calculate Average Renko Time and Average Renko Volume (These are used to decide Numbers colors and Candles colors). Default is EMA, You can choice SMA.
////////// Numbers Renko Coloring //////////
The Numbers in the box are color coded by compared the current Renko Volume with the Average Renko Volume.
If the current Renko Volume is 2 times larger than the ARV, Color2 will be used. If the current Renko Volume is 1.5 times larger than the ARV, Color1.5 will be used. Color1 If the current Renko Volume is larger than the ARV . Color0.5 is larger than half Athe RV and Color0 is less than or equal to half the ARV. Color1, Color1.5 and Color2 are Large Value, so only these colored Numbers are showed when use "Show Only ~ " option.
Default is Renko Volume based Color coding, You can choice Renko Time based Color coding. Therefore you can use two type coloring at the same time. ex) The Numbers Colors are Renko Volume based. Candle body, border and wick Colors are Renko Time based.
////////// Weis Wave Volume //////////
Show Effort vs Result : Weis Wave Volume divided by Wave Length.
ex) If 100 Up WWV is accumulated between 30 Up Renko Box, 100 / 30 = 3.33... will be 3.3 (Second decimal will be rounded off).
No Result Ratio : If current "Effort vs Result" is "No Result Ratio" times larger than Average Effort vs Result, Square Mark will be show. AEvsR is calculated by 5SMA.
ex) You set 1.5. If Current EvsR is 20 and AEvsR is 10, 20 > 10 x 1.5 then Square Mark will be show.
If the left and right arrows are in the same direction, the right arrow is omitted.
Show Comparison Marks : Show left side arrow by compare current value to previous previous value and show right side small arrow by compare current value to previous value.
ex) Current Up WWV is 17 and Previous Up WWV (previous previous value) is 12, left side arrow is Up. Previous Dn WWV is 20, right side small arrow is Dn.
Large Volume Ratio : If current WWV is "Large Volume Ratio" times larger than Average WWV, Large WWV color is used.
Sample layout
matrixautotableLibrary "matrixautotable"
Automatic Table from Matrixes with pseudo correction for na values and default color override for missing values. uses overloads in cases of cheap float only, with additional addon for strings next, then cell colors, then text colors, and tooltips last.. basic size and location are auto, include the template to speed this up...
TODO : make bools version
var string group_table = ' Table'
var int _tblssizedemo = input.int ( 10 )
string tableYpos = input.string ( 'middle' , '↕' , inline = 'place' , group = group_table, options= )
string tableXpos = input.string ( 'center' , '↔' , inline = 'place' , group = group_table, options= , tooltip='Position on the chart.')
int _textSize = input.int ( 1 , 'Table Text Size' , inline = 'place' , group = group_table)
var matrix _floatmatrix = matrix.new (_tblssizedemo, _tblssizedemo, 0 )
var matrix _stringmatrix = matrix.new (_tblssizedemo, _tblssizedemo, 'test' )
var matrix _bgcolormatrix = matrix.new (_tblssizedemo, _tblssizedemo, color.white )
var matrix _textcolormatrix = matrix.new (_tblssizedemo, _tblssizedemo, color.black )
var matrix _tooltipmatrix = matrix.new (_tblssizedemo, _tblssizedemo, 'tool' )
// basic table ready to go with the aboec matrixes (replace in your code)
// for demo purpose, random colors, random nums, random na vals
if barstate.islast
varip _xsize = matrix.rows (_floatmatrix) -1
varip _ysize = matrix.columns (_floatmatrix) -1
for _xis = 0 to _xsize -1 by 1
for _yis = 0 to _ysize -1 by 1
_randomr = int(math.random(50,250))
_randomg = int(math.random(50,250))
_randomb = int(math.random(50,250))
_randomt = int(math.random(10,90 ))
bgcolor = color.rgb(250 - _randomr, 250 - _randomg, 250 - _randomb, 100 - _randomt )
txtcolor = color.rgb(_randomr, _randomg, _randomb, _randomt )
matrix.set(_bgcolormatrix ,_yis,_xis, bgcolor )
matrix.set(_textcolormatrix ,_yis,_xis, txtcolor)
matrix.set(_floatmatrix ,_yis,_xis, _randomr)
// random na
_ymiss = math.floor(math.random(0, _yis))
_xmiss = math.floor(math.random(0, _xis))
matrix.set( _floatmatrix ,_ymiss, _xis, na)
matrix.set( _stringmatrix ,_ymiss, _xis, na)
matrix.set( _bgcolormatrix ,_ymiss, _xis, na)
matrix.set( _textcolormatrix ,_ymiss, _xis, na)
matrix.set( _tooltipmatrix ,_ymiss, _xis, na)
// import here
import kaigouthro/matrixautotable/1 as mtxtbl
// and render table..
mtxtbl.matrixtable(_floatmatrix, _stringmatrix, _bgcolormatrix, _textcolormatrix, _tooltipmatrix, _textSize ,tableYpos ,tableXpos)
matrixtable(_floatmatrix, _stringmatrix, _bgcolormatrix, _textcolormatrix, _tooltipmatrix, _textSize, tableYpos, tableXpos) matrixtable
Parameters:
_floatmatrix : float vals
_stringmatrix : string
_bgcolormatrix : color
_textcolormatrix : color
_tooltipmatrix : string
_textSize : int
tableYpos : string
tableXpos : string
matrixtable(_floatmatrix, _stringmatrix, _bgcolormatrix, _textcolormatrix, _textSize, tableYpos, tableXpos) matrixtable
Parameters:
_floatmatrix : float vals
_stringmatrix : string
_bgcolormatrix : color
_textcolormatrix : color
_textSize : int
tableYpos : string
tableXpos : string
matrixtable(_floatmatrix, _stringmatrix, _bgcolormatrix, _txtdefcol, _textSize, tableYpos, tableXpos) matrixtable
Parameters:
_floatmatrix : float vals
_stringmatrix : string
_bgcolormatrix : color
_txtdefcol : color
_textSize : int
tableYpos : string
tableXpos : string
matrixtable(_floatmatrix, _stringmatrix, _txtdefcol, _bgdefcol, _textSize, tableYpos, tableXpos) matrixtable
Parameters:
_floatmatrix : float vals
_stringmatrix : string
_txtdefcol : color
_bgdefcol : color
_textSize : int
tableYpos : string
tableXpos : string
matrixtable(_floatmatrix, _txtdefcol, _bgdefcol, _textSize, tableYpos, tableXpos) matrixtable
Parameters:
_floatmatrix : float vals
_txtdefcol : color
_bgdefcol : color
_textSize : int
tableYpos : string
tableXpos : string
Scalping The BullNome: Scalping The Bull (Indicatore)
Categoria: Scalping, Trend Following, Mean Reversion.
Timeframe: 1M, 5M, 30M, 1D, secondo la conformazione specifica.
(follow description in english)
Analisi tecnica: l’indicatore supporta le operatività descritte nei video di YouTube del canale “Scalping The Bull”. Di norma si basa su price action e medie mobili esponenziali.
Le varie tecniche che possono essere usate insieme all’indicatore sono sintetizzate nei settaggi dell’indicatore e si può fare riferimento ai video specifici per la spiegazione completa.
Utilizzo consigliato: Altcoin che presentano forti trend per scalping e operazioni intra-day.
Configurazione: È possibile configurare lo strumento in maniera semplice e completa.
Medie:
Medie per mercato: e’ possibile utilizzare le medie mobili esponenziali (EMA) esclusivamente per il mercato Crypto (5/10/60/223).
Media addizionale: e’ possibile visualizzare una media aggiuntiva, e.g. a 20 periodi.
Elementi del grafico:
Sfondo: segnala con lo sfondo del grafico in verde una situazione di uptrend ( EMA 60 > EMA 223) e in rosso sfondo rosso una situazione di downtrend (EMA 60 < EMA 223).
Separatori di sessioni: indica l’inizio della sessione corrente.
Punti Trigger:
Massimi e minimi di oggi: disegna sul grafico il prezzo di apertura della candela daily e i massimi e i minimi di giornata.
Massimi minimi di ieri: disegna sul grafico il prezzo di apertura della candela daily, i massimi e i minimi del giorno prima.
(English description)
Name: Scalping The Bull (Indicator)
Category: Scalping, Trend Following, Mean Reversion.
Timeframe: 1M, 5M, 30M, 1D depending on the specific signal.
Technical Analysis: The indicator supports the operations described in the YouTube videos of the channel "Scalping The Bull". Usually it is based on price action and exponential moving averages.
The various techniques that can be used in conjunction with the indicator are summarized in the indicator settings and you can refer to the specific videos for the full explanation.
Suggested usage: Altcoin showing strong trends for scalping and intra-day trades.
Configuration:
Exponential Moving Averages
Per market: you can display averages exclusively for the Crypto market (5/10/60/223).
Additional Average: You can display an additional average, e.g. 20-period average.
Chart elements:
Session Separators: indicates the beginning of the current session.
Background: signals with the background in green an uptrend situation ( 60 > 223) and in red background a downtrend situation (60 < 223).
Trigger points:
Today's highs and lows: draw on the chart the opening price of the daily candle and the highs and lows of the day.
Yesterday's highs and lows: draw on the chart the opening price of the daily candle, the highs and lows of the previous day.
Volume OximeterOVERVIEW
The Volume Oximeter (VOXI) is a technical indicator that gauges the amount of volume currently present in the market, relative to the historical volume that was present before. The purpose of this indicator is to filter out with-trend signals during ranging/non-trending conditions.
CONCEPTS
This indicator assumes that trends are more likely to start during periods of high volume, compared to during periods of low volume. This is because high volume indicates that there are bigger players currently in the market, which is necessary to begin a sustained trending move.
So, to determine whether the current volume is "high", it is compared to an average volume for however number of candles back the user specifies.
If the current volume is greater than the average volume, it is reasonable to assume we are in a high volume period. Thus, this is the ideal time to enter a trending trade due to the assumption that trends are more likely to start during these high volume periods.
The default values in the indicator are designed for use on the daily chart but can be applied to any timeframe.
The default volume lookback period is 259 since there are usually 259 daily candles in a year on Forex daily charts. This means that the average volume will represent the average volume over the past year. This would be 365 on Crypto daily charts, since the Crypto is open 24/7 instead of 24/5). This is what the current volume will be compared to.
The default smoothing lookback period is 10, but this can be adjusted depending on the indicator that's giving you your with-trend signals. After my backtesting, 10 was the best value for my with-trend indicator, so you should do your own testing to see which value works best with your with-trend indicator.
HOW DO I READ THIS INDICATOR?
If the VOXI line is above or equal to zero (indicated by the blue color), the current volume is greater than the historical average volume.
This is a good time to take with-trend signals since high volume is necessary for sustained trending moves to begin.
If the VOXI line is below zero (indicated by the red color), the current volume is less than the historical average volume.
This is a good time to ignore with-trend signals since an absence of volume indicates that there aren't big market participants to participate in a new trending move.
GRID SPOT TRADING ALGORITHM - GRID BOT TRADING STRATEGYGRID SPOT TRADING ALGORITHM : LONG ONLY STRATEGY OPEN SOURCE
This is a long only strategy for spot assets.
HOW IT WORKS
Grid trading is a trading strategy where an investor creates a so-called "price grid". The basic idea of the strategy is to repeatedly buy at the pre-specified price and then wait for the price to rise above that level and then sell the position (and vice versa with shorting or hedging).
FEATURES
Grids: This algorithm has a total of 10 grids.
Take profit: The trader can increase or decrease the distance between the grids from the User Interface panel, the distance between one grid and another represents the take profit.
Management: The algorithm buys 10% of the capital every time the price breaks down a grid and sells during a rise to the next higher grid. The initial capital is invested in 10 sizes which represent 10% of the capital per trade.
Stop Loss: The algorithm knows no stop loss as long as it is not activated from the User Interface panel. By activating the stop loss from the User Interface panel the algorithm will insert a close condition on all trades which will be calculated from the last lower grid.
Trades: Trades are opened only if the price is within the grid. If the market leaves the grid the algorithm will not buy new positions or sell new positions.
Optimal market conditions: The favorable market for this algorithm is the sideways market.
LIMITATIONS OF THE MODEL
The trader must take into account that this is a static model. It only works perfectly well if the market is in a sideways phase and incurs heavy losses if the market takes a downward trend. The model is unusable for an uptrend. The trader must therefore carefully analyze the market where he intends to use this strategy, making sure that the price is in a sideways phase.
USES
Indispensable research and backtesting tool for those using bots for their investments. The algorithm produces a backtesting of the strategy for past history. It is used by professional traders to understand if this strategy has been profitable on a market and what parameters to use for bots using this strategy (Kucoin, Binance etc.).
If you would like to develop your own algorithm with customized conditions based on a grid strategy, please contact us.
If you need help in using this tool, please contact us without hesitation.
Portfolio Laboratory [Kioseff Trading]Hello!
This script looks to experiment with historical portfolio performance. However, a hypothetical cash balance is not used; weighted percentage increases and decreases are used.
You can select up to 10 assets to include in the portfolio. Long and short positions are possible.
Show in the image are the portfolio's weight, the total return of the portfolio and the total return of the asset on the chart over the selected timeframe.
Shown in the image above are the constituents of the portfolio, which can include any asset, the weighted percentage gain/loss of the constituents in addition to 10 major indices and their respective total percentage gain/loss over the timeframe.
Shown in the image above are the dividend yield % of the portfolio and relevant portfolio metrics - ex-post calculations are applied and are predicated on simple returns.
Shown in the image above is a portfolio of all short positions; portfolio calculations adjusted to the modifications.
Also shown is a change in the index the portfolio is calculated against. I have been asked a few times to include NIFTY 50 in my scripts - I made sure this was achieved, lol!
Show in the image is a performance line of performance of percentage increases/decreases for the index calculated against, the asset on the chart, and the portfolio.
All lines start simultaneously on the selected start date at the close price of the session for the asset on your chart.
However, the right-hand scale, whether displaying price or percent, cannot be used to assess the performance of each line - they are useful for visualization only and can extend below zero on a low-priced asset. Calculations will not execute correctly when selecting a start date prior to any asset in the portfolio's first trading session; calculations do not begin on the first bar of the asset on your chart.
I decided to code the script this way so statistics remain fixed when moving from asset to asset!
To compensate for this limitation, I included a label plot and background color change at the first session in which all assets in the portfolio had at least one bar of price data. You can adjust the calculation start date to the date portrayed on the label to test al possible price data!
The statistics table, and the performance lines, can be hidden in the user input section.
I plan on putting a bit more work into this script. I have some ideas on what to include; however, any input is greatly appreciated! If there's something you would like me to include please let me know.
@scheplick mentioned me in a script he recently coded:
My inspiration came from his script! I thank him for that!
Relative Strength Super Smoother by lastguruA better version of Apirine's RS EMA by using a superior MA: Ehlers Super Smoother.
In January 2022 edition of TASC Vitaly Apirine introduced his Relative Strength Exponential Moving Average. A concept not entirely new, as Tushar Chande used a similar calculation for his VIDYA moving average. Both are based on the idea to change EMA length depending on the absolute RSI value, so the moving average would speed up then RSI is going up or down from the center value (when there is a significant directional price movement), and slow down when RSI returns to the center value (when there is a neutral or sideways movement). That way EMA responsiveness would increase where it matters most, but decrease where there is a high probability of whipsaw.
There are only two main differences between VIDYA and RS EMA:
RSI internal smoothing - VIDYA uses SMA, as Chande's CMO is an RSI with SMA; RS EMA uses EMA
Change direction - VIDYA sets the fastest length; RS EMA sets the slowest length
Both algorithms use EMA as the base of their calculation. As John F. Ehlers has shown in his article "Predictive and Successful Indicators" (January 2014 issue of TASC), EMA is not a very efficient filter, as it introduces a significant lag if sufficient smoothing is required. He describes a new smoothing filter called SuperSmoother, "that sharply attenuates aliasing noise while minimizing filtering lag." In other words, it provides better smoothing with lower lag than EMA.
In this script, I try to get the best of all these approaches and present to you Relative Strength Super Smoother. It uses RS EMA algorithm to calculate the SuperSmoother length. Unlike the original RS EMA algorithm, that has an abstract "multiplier" setting to scale the period variance (without this parameter, RSI would only allow it to speed up twice; Vitaly Apirine sets the multiplier to 10 by default), my implementation has explicit lower bound setting, so you can specify the exact range of calculated length.
Settings:
Lower Bound - fastest SuperSmoother length (when RSI is +100 or -100)
Upper Bound - slowest SuperSmoother length (when RSI is 0)
RSI Length - underlying RSI length. Unlike the original RSI that uses RMA as an internal smoothing algorithm, Vitaly Apirine uses EMA, which is approximately twice as fast (that is needed because he uses a generally long RSI length and RMA would be too slow for this). It is the same as the Upper Bound by default (0), as in the original implementation
The original RS EMA is also shown on the chart for comparison. The default multiplier of 10 for RS EMA means that the fastest EMA period is around 4. I use the fastest period of 8 by default. It does not introduce too much of a lag in comparison, but the curve is much smoother.
This script is just an interface for my public libraries. Check them out for more information.
Make Your Own Index!Intro
For my first script, I have released Make Your Own Index version 1. It has a long way to go so please stay tuned. Scroll down to read all the updates and notes as they come in.
Why it matters
Making your index is important to quickly see an index of symbols that you want to chart. Having the ability to assign weightings gives you the opportunity to make the index equal weighted or custom weighted. As we all know, indexes like the S&P 500 are NOT equal weighted, but more heavily weighted toward the winners. Now, you can make your own of a basket of symbols and make them custom weighted or equal weighted. Have some fun exploring this.
Features
You select the symbols of your choice and then chart them as one line with a specific weighting. This can be done in the settings menu once the indicator is selected. Use the symbol search field to add a symbol. From what I have tested, it works for any symbol whether it's stocks, crypto, FX and more. The default is set to stocks.
The Weight field in the settings menu is where you can assign a specific weight to the symbol of your choice. This way you can make an equal weighted index or a custom weighted index. By default each symbol is set to 10 or 10%. There are 10 symbols in the menu, so at 10%, they are equally weighted! In the script I have made it so each weighting is in percentage terms. So type in the percentage and you're good to go.
The chart is currently displayed in a separate window and not as an overlay. This may change in the future. The line can also be changed slightly and the color of it. Stay tuned for more on this.
Send in feedback
I am a Pine rookie in all regards and I am surely looking for support, feedback, and/or ideas. I want to add a lot more to this. If you look at the settings you will see have some input fields that are in their first iteration and currently needing to be improved. Rather than waiting to make them perfect, I just want to get this out there and update as I go. Also, as mentioned, I will definitely need a little support at adding more features that I have in mind.
Credit where credit is due
I used a lot of Open Source indicators as inspiration to quickly get going so thank you to the following people and accounts who share open source scripts that you can use to learn, test, and get started instantly:
@TradingView
@LucF
@PineCoders
@KioseffTrading
@norok
@RedKTrader
@NeoButane
And many others. That's the beauty of open source!
Closing note
Publishing it open source so people can fact check my code and thinking. One thing I know for sure is that this can probably be created in a more efficient way. Nonetheless, please a take look and let me know what you think - I am excited to make some updates over the coming weeks.
Thanks for reading!