Ninja Trend v2Ninja Trend V2 is best for swing, day trading and scalping using higher timeframe bias and executing in the lower timeframes. Uses MACD for the overall bias and paints a Heikin-Ashi chart.
Settings:
Firstly, go to chart settings, check (tick) the body, uncheck borders and wicks.
Secondly, go to the script settings and input the following;
Source close
Fast moving average 7
Slow moving average 13
Signal length 4
For day trading and scalping, change the script settings timeframe to 15 minutes and use a smaller chart timeframe (M5 or M1)
For swinging change the script settings timeframe to Daily and use H4 chart timeframe.
Behind the code:
When the higher timeframe MACD histogram crosses and closes above zero line, script goes to neutral and paints grey bars waiting for the signal line to cross and close above the zero line and then paints green bars and a buy signal is generated.
When the higher timeframe MACD histogram crosses and closes below zero line, script goes to neutral and paints grey bars waiting for the signal line to cross and close below the zero line and then paints red bars.
Advantage of this is to filter out the chart noise by painting Heikin Ashi charts.
Signals:
Grey means neutral. No entries should be made.
Red means sells only. And then hold until the trend changes to green or use your desired TP and SL.
Green means buys only. And then hold until the trend changes to red or use your desired TP and SL.
在脚本中搜索"细算江西救护车家长倒赚了四万三+-医疗花费13万(家长视频)++医保报"
Greenblatts Magic Formula - A multiple approachThis indicator is supposed to help find undervalued stocks. Inspired by Joel Greenblatt's strategy where he ranks stocks with the lowest EV/EBIT and the highest ROC. Inspired by the ERP5 strategy I have added Earnings Yield together with ROC.
My approach and how I use the indicator is to see Magic Formula score as a multiple, rather than ranking the numbers between different stocks. Like P/E for comparison. Different kinds of companies trades at different multiples so you have to compare the current MF Score in relation to historical MF Score to get an idea if it truly is undervalued. You also want to see that price actually reacts to a low MF Score.
As i general rule for myself I stay away from companies with EV/EBIT above 13 and generally want to see MF Score below 6-7. A company trading at a negative MF Score indicates that the company may be heavily undervalued.
Red line = EV/EBIT
Green line = ROC + EY / 2
Yellow line = "MF Score" EVEBIT - (ROC+EY/2)
Blue line = The 50 EMA of MF score
The strategy is simple. Look for companies which might be undervalued. Compare the current MF score to it's history. If it's trading near a previous bottom it indicates that the company might be undervalued. You can also use the MF EMA to see a more smooth curve to interpret the multiple.
3 Important Value CompositesCalculated on February 17, 2024. USDT 378 items, BTC 282 items, BINANCE
This is a watchlist, along with the most accurate computed values that I could achieve. It may be beneficial for those who want to change values from the "120x ticker screener (composite tickers)" indicator, which is one of the excellent indicators to bypass the limitation of the request. security() function that limits to only 40 requests. I've thought about this before but couldn't succeed, but someone finally did it. :)
--> 120x ticker screener (composite tickers)
Thank you once again for this idea.
You must look for this and change it.
t1 = 'symbol', n1 = Multiply , r1 = Pricescale(decimal)
Example of grouping: Group 1
BINANCE:ETHUSDT , BINANCE:FDUSDUSDT , BINANCE:BTCUSDT
2, 4, 2
13, 10
█ Note
• Tickers: For your watchlist, arrange them from left to right, pairing them in groups of 3.
• Pricescale: This represents the decimal length, arrange them from left to right, pairing them in groups of 3.
• Multiply: This involves multiplying the first 2 items in each pair of watchlists. Arrange them from left to right, pairing them in groups of 2.
* If you group items incorrectly, it may lead to inaccurate results.
* Please be advised that if one of the values in the "Pricescale"(decimal) trio changes, there may be a need to adjust those values accordingly to ensure correct digit separation. Otherwise, within the group, the numbers might appear peculiar.
Relative Strength Scoring SystemRelative Strength Scoring System :
Important prerequisite :
This indicator can be loaded on any forex chart, i.e. a currency pair, but must not be loaded on any other asset due to certain market closures.
The chart timeframe must be less than or equal to the trading timeframe, which is the indicator's first parameter. A timeframe equal to that of the "Trading Timeframe" parameter is preferable.
Introduction :
This indicator measures the relative strength of a currency against all other currencies using spread formulas. It gives an indication of which currencies are bullish, neutral or bearish. The ultimate aim of this indicator is to find out which pair will generate a higher probability of gain than the others by pairing the most bullish pair with the most bearish pair.
Spread formulas :
To find the relative strength of a currency compared with others, we use the following spreads formulas :
USD = (FX:USDJPY/100+SAXO:USDEUR+FX:USDCHF+SAXO:USDGBP+FX:USDCAD+SAXO:USDAUD+FX_IDC:USDNZD)/7
JPY = (SAXO:JPYUSD/100+FX_IDC:JPYAUD/100+FX_IDC:JPYCAD/100+FX_IDC:JPYNZD/100+FX_IDC:JPYCHF/100+SAXO:JPYEUR/100+FX_IDC:JPYGBP/100)/7
CHF = (FX:CHFJPY/100+SAXO:CHFUSD+SAXO:CHFEUR+FX_IDC:CHFGBP+FX_IDC:CHFCAD+SAXO:CHFAUD+FX_IDC:CHFNZD)/7
EUR = (FX:EURJPY/100+FX:EURUSD+FX:EURCHF+FX:EURGBP+FX:EURCAD+FX:EURAUD+FX:EURNZD)/7
GBP = (FX:GBPJPY/100+FX:GBPUSD+FX:GBPCHF+SAXO:GBPEUR+FX:GBPCAD+FX:GBPAUD+FX:GBPNZD)/7
CAD = (FX:CADJPY/100+SAXO:CADUSD+FX:CADCHF+FX_IDC:CADGBP+SAXO:CADEUR+FX_IDC:CADAUD+FX_IDC:CADNZD)/7
AUD = (FX:AUDJPY/100+FX:AUDUSD+FX:AUDCHF+SAXO:AUDGBP+FX:AUDCAD+SAXO:AUDEUR+FX:AUDNZD)/7
NZD = (FX:NZDJPY/100+FX:NZDUSD+FX:NZDCHF+SAXO:NZDGBP+FX:NZDCAD+SAXO:NZDAUD+SAXO:NZDEUR)/7
CRYPTO = (BITSTAMP:BTCUSD+BITSTAMP:ETHUSD+BITSTAMP:LTCUSD+BITSTAMP:BCHUSD)/4
Timeframes :
As mentioned in the prerequisites, the chart timeframe must not be greater than the trading timeframe. The latter corresponds to the timeframe chosen by the trader to enter a position, and is the indicator's first parameter. Once this has been chosen, the algorithm selects the timeframes of the "Trend" and "Velocity" charts. Here's how it allocates them :
Trading TF => ("Velocity TF", "Trend TF")
"5min" => ("15min ", "60min")
"15min" => ("60min ", "4h")
"30min" => ("2h ", "8h")
"60min" => ("4h ", "12h")
"4h" => ("12h", "1D")
"6h" => ("1D", "3D")
"8h" => ("1D", "4D")
"12h" => ("2D", "1W")
"1D" => ("3D", "1W")
Trend Scoring System :
When the timeframe of the trend graph has been allocated, the algorithm will establish this graph's score using three criteria :
Trend chart pivot points: if the last two pivots, high and low, are increasing, the score is 1; if they are decreasing, the score is -1; else the score is 0.
SMA: if its slope is increasing with a candle strictly above the SMA value, the score is 1; if its slope is decreasing with a candle strictly below it, the score is -1; otherwise, it is 0.
MACD: if the MACD is positive, the score is 1, if it is negative, the score is -1; else it's 0.
We then sum the scores of these three criteria to find the trend score.
Velocity Scoring System :
In the same way, we analyze the score of the "velocity" graph with its corresponding timeframe using three criteria :
The EMA: if its slope is increasing with a candle strictly above the EMA value, the score is 1; if its slope is decreasing with a candle strictly below it, the score is -1; otherwise, it is 0.
The RSI: if the RSI's EMA has an increasing slope with an RSI strictly greater than the value of this EMA, the score is 1; and if the RSI's EMA has a decreasing slope with an RSI strictly less than this EMA, the score is -1; otherwise it is 0.
SAR parabolic: if the SAR is below the price, the score is 1; if it is above the price, the score is -1.
We then sum the scores of these three criteria to find the velocity score.
Relative Strength Scoring System :
Once the trend score and velocity score have been calculated, we determine the relative strength score of each currency using the following algorithm :
If trend score >=2 and velocity score >=2, the currency is bullish.
If trend score <=2 and velocity score <=2, currency is bearish
If (trendScore>=2 or velocityScore>=2) and (trendScore=1 or velocityScore=1) the currency is not yet bullish
If (trendScore<=2 or velocityScore<=2) and (trendScore=-1 or velocityScore=-1) the currency is not yet bearish.
Otherwise the currency is neutral
Parameters :
Trading Timeframe: the trading timeframe chosen by the trader for which he makes his position entry and exit decisions. Default is 1h
Pivot Legs: Parameter used for the chart "Trend" setting the pivot strength to the right and left of high/low. Default is 2
SMA Length: SMA length of the chart "Trend". Default is 20
MACD Fast Length: Length of the MACD fast SMA calculated on the chart "Trend". Default is 12
MACD Slow Length: Length of the MACD slow SMA calculated on the chart "Trend". Default is 26
MACD Signal Length: Length of the MACD signal SMA calculated on the chart "Trend". Default is 9
EMA Length: EMA length of the "Velocity" graph. Default is 13
RSI Length: RSI length of the "Velocity" graph. Default is 14
RSI EMA Length: Length of the RSI EMA. Default is 9
Parabolic SAR Start: Start of the SAR parabola in the "Velocity" graph. Default is 0.02
Parabolic SAR Increment: Increment of the SAR parabola in the "Velocity" graph. Default is 0.02
Parabolic SAR Max: Maximum of the SAR parabola in the "Velocity" graph. Default is 0.2
Conclusion :
This indicator has been designed to determine the relative strength of the major currencies against each other. The aim is to know which pair to trade at the right time in order to maximize the probability of a successful trade. For example, if the USD is bullish and the NZD bearish, we'll short the NZDUSD pair.
Enjoy this indicator and don't forget to take the trade ;)
[blackcat] L1 Fibonacci MA BandThe true charm of the Fibonacci moving average band lies not only in its predictive ability. Its essence is that it combines the beauty of mathematics with the practicality of market analysis, providing traders with a powerful tool to optimize trading strategies. It's not a simple number game, but a wisdom that sees into the deeper structure of the market.
Next, we will delve into the core technical indicators of the Fibonacci moving average band - WHALES, RESOLINE, STICKLINE functions, and TRENDLINE, as well as their clever applications. The WHALES indicator, with its 12-period exponential moving average, captures short-term market trends; the RESOLINE indicator, through the 120-period EMA, reveals mid-term market movements; the STICKLINE function, distinguishes the relationship between WHALES and RESOLINE with colors, providing clear visual aids; while TRENDLINE, combining price slope with EMA, depicts more detailed market changes for traders.
The integrated application of these indicators has built a multi-dimensional market analysis framework for traders. They help traders examine the market from different angles, judge the market status more accurately, and make wiser decisions in the ever-changing market environment. The Fibonacci moving average band indicator is like a lighthouse, emitting guiding light in the ocean of trader's navigation.
1. `xsl(src, len)` function: This function calculates a value called the linear regression slope. Len defines the length of the linear regression. Then, this function normalizes the difference between the current value of the linear regression and the previous value. The formula is `(lrc - lrprev) / timeframe.multiplier`.
2. `whales`, `resoline`, and `trendline` are Exponential Moving Averages (EMA) calculated in different ways. "whales" is the 13-period closing price EMA, "resoline" is the 144-period closing price EMA, and "trendline" is a more complicated EMA. It is the 50-period EMA calculated by the 21-period closing price slope multiplied by 23 plus the closing price.
3. The `plotcandle` function draws two sets of candlestick charts. One set shows in blue when "whales" is greater than "resoline", and the other set shows in green when "whales" is less than "resoline".
4. The `plot` function draws three lines: "whales", "resoline", and "trendline". "whales" is displayed in orange with a line thickness of 2. "resoline" is displayed in yellow with a line thickness of 1. "trendline" is displayed in red with a line thickness of 3.
5. The last line draws a conditional line. When the closing price is less than the "trendline", the green "trendline" is drawn, otherwise, it is not drawn. This is a logical judgment, the drawing operation is only executed when the condition is met.
itradesize /\ Silver Bullet x Macro x KillzoneThis indicator shows the best way to annotate ICT Killzones, Silver Bullet and Macro times on the chart. With the help of a new pane, it will not distract your chart and will not cause any distractions to your eye, or brain but you can see when will they happen.
The indicator also draws everything beforehand when a proper new day starts.
You can customize them how you want to show up.
Collapsed or full view?
You can hide any of them and keep only the ones you would like to.
All the colors can be customized, texts & sizes or just use shortened texts and you are also able to hide those drawings which are older than the actual day.
You should minimize the pane where the script has been automatically drawn to therefore you will have the best experience and not show any distractions.
The script automatically shows the time-based boxes, based on the New York timezone.
Killzone Time windows ( for indices ):
London KZ 02:00 - 05:00
New York AM KZ 07:00 - 10:00
New York PM KZ 13:30 - 16:00
Silver Bullet times:
03:00 - 04:00
10:00 - 11:00
14:00 - 15:00
Macro times:
02:33 - 03:00
04:03 - 04:30
08:50 - 0910
09:50 - 10:10
10:50 - 11:10
11:50 - 12:50
BDC - Bitcoin (BTC) Dominance Change [Logue]Bitcoin Dominance Change. Interesting things tend to happen when the Bitcoin dominance increases or decreases rapidly. Perhaps because there is overexuberance in the market in either BTC or the alts. In back testing, I found a rapid 13-day change in dominance indicates interesting switches in the BTC trends. Prior to 2019, the indicator doesn't work as well to signal trend shifts (i.e., local tops and bottoms) likely based on very few coins making up the crypto market.
The BTC dominance change is calculated as a percentage change of the daily dominance. You are able to change the upper bound, lower bound, and the period (daily) of the indicator to your own preferences. The indicator going above the upper bound or below the lower bound will trigger a different background color.
Use this indicator at your own risk. I make no claims as to its accuracy in forecasting future trend changes of Bitcoin.
Seek liquidityGuided by ICT tutoring, I create this versatile "Seek liquidity" indicator.
This indicator shows an easy way to view the Liquidity that has been Created - Eliminated - and what liquidity is left to eliminate.
Liquidity levels appear after the sessions are over, and the lines get stuck on the candle that eliminates them.
Timing session =
//---Asian
- 18:00-00:00
//---London
- 00:00-02:00
- 02:00-05:00
- 00:00-06:00
//---New York
- 06:00-12:00
- 09.30-12.00
//---Lunch
- 12:00-13:30
//---PM
- 1.30pm - 4.00pm
- 12:00-18:00
The user has the possibility to:
- Choose whether or not to view sessions
- Choose to show levels from previous sessions
- Choose to show today's session levels
- Choose whether to view the boxes
- Choose to view the division is open daily
The indicator should be used as ICT shows in its concepts, the indicator takes into consideration both the previous and today's Liquidity, and the session levels can be used for a reversal as in the example below:
Relative Volume Intensity Control Chart***NOTE THE VOLUME OSCILATOR PROVIDED AT THE BOTTOM IS FOR COMPARSION AND IS NOT PART OF THE INDICATOR****
This indicator provides a comprehensive and a nuanced representation of volume relative to historical volume. The indicator aims to provide insights into the relative intensity of trading volume compared to historical data. It calculates two types of relative volume intensity: mean volume intensity and point volume intensity. The final indicator, "Relative_volume_intensity," is a combination of these two.
1. Point Volume Intensity:
Calculate the ratio of the current volume to the corresponding SMA from the previous period for each of the periods.
Normalize each ratio by dividing it by the corresponding normalized SMA.
Assign weights to each normalized ratio and calculate the point volume intensity.
Point volume intensity calculates the intensity of the current trading volume at a specific point in time relative to its historical moving average. It assesses how much the current volume deviates from the previous historical average for different lookback periods(current volume/ average volume of previous n days). The calculation involves dividing the current volume by the corresponding previous historical moving average and normalizing the result. The purpose of point volume intensity is to capture the immediate impact of the current volume on the overall intensity, providing a more dynamic and responsive measure.
2. Mean Volume Intensity:
Calculate the simple moving averages (SMA) of the volume for different periods (5, 8, 13, 21, 34, 55, 89, 144).
Normalize each SMA by dividing it by the SMA with the longest lookback (144).
Assign weights to each normalized SMA and calculate the mean volume intensity.
Mean volume intensity, on the other hand, takes a broader approach by looking at the mean (average) of various historical moving averages of volume. Instead of focusing on the current volume alone, it considers the historical average intensity over multiple periods. The purpose of mean volume intensity is to provide a smoother and more stable representation of the overall historical volume intensity. It helps filter out short-term fluctuations and provides a more comprehensive view of how the current volume compares to historical norms.
Purpose of Both:
Both point volume intensity and mean volume intensity contribute to the calculation of the final indicator, "Relative_volume_intensity." The idea is to combine these two perspectives to create a more comprehensive measure of relative volume intensity. By assigning equal weights to both components and taking a balanced approach, the indicator aims to capture both short-term spikes in volume and trends in volume intensity over a relatively extended periods.
In calculation of both point volume intensity and mean volume intensity, shorter-term moving averages (e.g., 5, 8) have higher weights, suggesting a greater emphasis on recent volume behavior.
Visualization:
The script then calculates the mean and standard deviation of the relative volume intensity over a specified lookback length.
Plot lines for the centerline (mean), upper and lower 3 standard deviations, upper and lower 2 standard deviations, and upper and lower 1 standard deviation.
Plot the relative volume intensity as a step line with diamond markers.
It is displayed like a control chart where we can see how the relative intensity is behaving when compared to longer historical lookback period.
Monthly Performance Table by Dr. MauryaWhat is this ?
This Strategy script is not aim to produce strategy results but It aim to produce monthly PnL performance Calendar table which is useful for TradingView community to generate a monthly performance table for Own strategy.
So make sure to read the disclaimer below.
Why it is required to publish?:
I am not satisfied with the monthly performance available on TV community script. Sometimes it is very lengthy in code and sometimes it showing the wrong PNL for current month.
So I have decided to develop new Monthly performance or return in value as well as in percentage with highly flexible to adjust row automatically.
Features :
Accuracy increased for current month PnL.
There are 14 columns and automatically adjusted rows according to available trade years/month.
First Column reflect the YEAR, from second column to 13 column reflect the month and 14 column reflect the yearly PnL.
In tabulated data reflects the monthly PnL (value and (%)) in month column and Yearly PnL (value and (%)) in Yearly column.
Various color input also added to change the table look like background color, text color, heading text color, border color.
In tabulated data, background color turn green for profit and red for loss.
Copy from line 54 to last line as it is in your strategy script.
Credit: This code is modified and top up of the open-source code originally written by QuantNomad. Thanks for their contribution towards to give base and lead to other developers. I have changed the way of determining past PnL to array form and keep separated current month and year PnL from array. Which avoid the false pnl in current month.
Strategy description:
As in first line I said This strategy is aim to provide monthly performance table not focused on the strategy. But it is necessary to explain strategy which I have used here. Strategy is simply based on ADX available on TV community script. Long entry is based on when the difference between DIPlus and ADX is reached on certain value (Set value in Long difference in Input Tab) while Short entry is based on when the difference between DIMinus and ADX is reached on certain value (Set value in Short difference in Input Tab).
Default Strategy Properties used on chart(Important)
This script backtest is done on 1 hour timeframe of NSE:Reliance Inds Future cahrt, using the following backtesting properties:
Balance (default): 500 000 (default base currency)
Order Size: 1 contract
Comission: 20 INR per Order
Slippage: 5 tick
Default setting in Input tab
Len (ADX length) : 14
Th (ADX Threshhold): 20
Long Difference (DIPlus - ADX) = 5
Short Difference (DIMinus - ADX) = 5
We use these properties to ensure a realistic preview of the backtesting system, do note that default properties can be different for various reasons described below:
Order Size: 1 contract by default, this is to allow the strategy to run properly on most instruments such as futures.
Comission: Comission can vary depending on the market and instrument, there is no default value that might return realistic results.
We strongly recommend all users to ensure they adjust the Properties within the script settings to be in line with their accounts & trading platforms of choice to ensure results from the strategies built are realistic.
Disclaimer:
This script not provide indicative of any future results.
This script don’t provide any financial advice.
This strategy is only for the readymade snippet code for monthly PnL performance calender table for any own strategy.
Machine Learning: Optimal RSI [YinYangAlgorithms]This Indicator, will rate multiple different lengths of RSIs to determine which RSI to RSI MA cross produced the highest profit within the lookback span. This ‘Optimal RSI’ is then passed back, and if toggled will then be thrown into a Machine Learning calculation. You have the option to Filter RSI and RSI MA’s within the Machine Learning calculation. What this does is, only other Optimal RSI’s which are in the same bullish or bearish direction (is the RSI above or below the RSI MA) will be added to the calculation.
You can either (by default) use a Simple Average; which is essentially just a Mean of all the Optimal RSI’s with a length of Machine Learning. Or, you can opt to use a k-Nearest Neighbour (KNN) calculation which takes a Fast and Slow Speed. We essentially turn the Optimal RSI into a MA with different lengths and then compare the distance between the two within our KNN Function.
RSI may very well be one of the most used Indicators for identifying crucial Overbought and Oversold locations. Not only that but when it crosses its Moving Average (MA) line it may also indicate good locations to Buy and Sell. Many traders simply use the RSI with the standard length (14), however, does that mean this is the best length?
By using the length of the top performing RSI and then applying some Machine Learning logic to it, we hope to create what may be a more accurate, smooth, optimal, RSI.
Tutorial:
This is a pretty zoomed out Perspective of what the Indicator looks like with its default settings (except with Bollinger Bands and Signals disabled). If you look at the Tables above, you’ll notice, currently the Top Performing RSI Length is 13 with an Optimal Profit % of: 1.00054973. On its default settings, what it does is Scan X amount of RSI Lengths and checks for when the RSI and RSI MA cross each other. It then records the profitability of each cross to identify which length produced the overall highest crossing profitability. Whichever length produces the highest profit is then the RSI length that is used in the plots, until another length takes its place. This may result in what we deem to be the ‘Optimal RSI’ as it is an adaptive RSI which changes based on performance.
In our next example, we changed the ‘Optimal RSI Type’ from ‘All Crossings’ to ‘Extremity Crossings’. If you compare the last two examples to each other, you’ll notice some similarities, but overall they’re quite different. The reason why is, the Optimal RSI is calculated differently. When using ‘All Crossings’ everytime the RSI and RSI MA cross, we evaluate it for profit (short and long). However, with ‘Extremity Crossings’, we only evaluate it when the RSI crosses over the RSI MA and RSI <= 40 or RSI crosses under the RSI MA and RSI >= 60. We conclude the crossing when it crosses back on its opposite of the extremity, and that is how it finds its Optimal RSI.
The way we determine the Optimal RSI is crucial to calculating which length is currently optimal.
In this next example we have zoomed in a bit, and have the full default settings on. Now we have signals (which you can set alerts for), for when the RSI and RSI MA cross (green is bullish and red is bearish). We also have our Optimal RSI Bollinger Bands enabled here too. These bands allow you to see where there may be Support and Resistance within the RSI at levels that aren’t static; such as 30 and 70. The length the RSI Bollinger Bands use is the Optimal RSI Length, allowing it to likewise change in correlation to the Optimal RSI.
In the example above, we’ve zoomed out as far as the Optimal RSI Bollinger Bands go. You’ll notice, the Bollinger Bands may act as Support and Resistance locations within and outside of the RSI Mid zone (30-70). In the next example we will highlight these areas so they may be easier to see.
Circled above, you may see how many times the Optimal RSI faced Support and Resistance locations on the Bollinger Bands. These Bollinger Bands may give a second location for Support and Resistance. The key Support and Resistance may still be the 30/50/70, however the Bollinger Bands allows us to have a more adaptive, moving form of Support and Resistance. This helps to show where it may ‘bounce’ if it surpasses any of the static levels (30/50/70).
Due to the fact that this Indicator may take a long time to execute and it can throw errors for such, we have added a Setting called: Adjust Optimal RSI Lookback and RSI Count. This settings will automatically modify the Optimal RSI Lookback Length and the RSI Count based on the Time Frame you are on and the Bar Indexes that are within. For instance, if we switch to the 1 Hour Time Frame, it will adjust the length from 200->90 and RSI Count from 30->20. If this wasn’t adjusted, the Indicator would Timeout.
You may however, change the Setting ‘Adjust Optimal RSI Lookback and RSI Count’ to ‘Manual’ from ‘Auto’. This will give you control over the ‘Optimal RSI Lookback Length’ and ‘RSI Count’ within the Settings. Please note, it will likely take some “fine tuning” to find working settings without the Indicator timing out, but there are definitely times you can find better settings than our ‘Auto’ will create; especially on higher Time Frames. The Minimum our ‘Auto’ will create is:
Optimal RSI Lookback Length: 90
RSI Count: 20
The Maximum it will create is:
Optimal RSI Lookback Length: 200
RSI Count: 30
If there isn’t much bar index history, for instance, if you’re on the 1 Day and the pair is BTC/USDT you’ll get < 4000 Bar Indexes worth of data. For this reason it is possible to manually increase the settings to say:
Optimal RSI Lookback Length: 500
RSI Count: 50
But, please note, if you make it too high, it may also lead to inaccuracies.
We will conclude our Tutorial here, hopefully this has given you some insight as to how calculating our Optimal RSI and then using it within Machine Learning may create a more adaptive RSI.
Settings:
Optimal RSI:
Show Crossing Signals: Display signals where the RSI and RSI Cross.
Show Tables: Display Information Tables to show information like, Optimal RSI Length, Best Profit, New Optimal RSI Lookback Length and New RSI Count.
Show Bollinger Bands: Show RSI Bollinger Bands. These bands work like the TDI Indicator, except its length changes as it uses the current RSI Optimal Length.
Optimal RSI Type: This is how we calculate our Optimal RSI. Do we use all RSI and RSI MA Crossings or just when it crosses within the Extremities.
Adjust Optimal RSI Lookback and RSI Count: Auto means the script will automatically adjust the Optimal RSI Lookback Length and RSI Count based on the current Time Frame and Bar Index's on chart. This will attempt to stop the script from 'Taking too long to Execute'. Manual means you have full control of the Optimal RSI Lookback Length and RSI Count.
Optimal RSI Lookback Length: How far back are we looking to see which RSI length is optimal? Please note the more bars the lower this needs to be. For instance with BTC/USDT you can use 500 here on 1D but only 200 for 15 Minutes; otherwise it will timeout.
RSI Count: How many lengths are we checking? For instance, if our 'RSI Minimum Length' is 4 and this is 30, the valid RSI lengths we check is 4-34.
RSI Minimum Length: What is the RSI length we start our scans at? We are capped with RSI Count otherwise it will cause the Indicator to timeout, so we don't want to waste any processing power on irrelevant lengths.
RSI MA Length: What length are we using to calculate the optimal RSI cross' and likewise plot our RSI MA with?
Extremity Crossings RSI Backup Length: When there is no Optimal RSI (if using Extremity Crossings), which RSI should we use instead?
Machine Learning:
Use Rational Quadratics: Rationalizing our Close may be beneficial for usage within ML calculations.
Filter RSI and RSI MA: Should we filter the RSI's before usage in ML calculations? Essentially should we only use RSI data that are of the same type as our Optimal RSI? For instance if our Optimal RSI is Bullish (RSI > RSI MA), should we only use ML RSI's that are likewise bullish?
Machine Learning Type: Are we using a Simple ML Average, KNN Mean Average, KNN Exponential Average or None?
KNN Distance Type: We need to check if distance is within the KNN Min/Max distance, which distance checks are we using.
Machine Learning Length: How far back is our Machine Learning going to keep data for.
k-Nearest Neighbour (KNN) Length: How many k-Nearest Neighbours will we account for?
Fast ML Data Length: What is our Fast ML Length? This is used with our Slow Length to create our KNN Distance.
Slow ML Data Length: What is our Slow ML Length? This is used with our Fast Length to create our KNN Distance.
If you have any questions, comments, ideas or concerns please don't hesitate to contact us.
HAPPY TRADING!
Euclidean Distance Predictive Candles [SS]Finally releasing this, its been in the works for the past 2 weeks and has undergone many iterations.
I am not sure if I am 100% happy with it yet, but I guess its best to release and get feedback to make improvements.
So this is the Euclidean distance predictive candle indicator and what it does is exactly what it sounds like, it uses Euclidean distance to identify similar candles and then plot the candles and range that immediately proceeded like candles.
While this is using a general machine learning/data science approach (Euclidean distance), I do not employ the KNN (Nearest Neighbors) algo into this. The reason being is it simply offered no predictive advantage than isolating for the last case. I tried it, I didn't like it, the results were not improve and, at times, acutally hindered so I ditched it. Perhaps it was my approach but using some other KNN indicators, I just don't really find them all that more advantageous to simply relying on the Law of Large Numbers and collecting more data rather than less data (which we will get into later in this explanation).
So using this indicator:
There is a lot of customizability here. And the reason is, not all settings are going to work the same for all tickers. To help you narrow down your parameters, I have included various backtest results that show you how the model is performing. You see in the AMZN chart above, with the current settings, it is performing optimally, with a cumulative range pass of 99% (meaning that, of all the cases, the indicator accurately predicted the next day high OR low range 99% of the time), and the ability to predict the candle slightly over 52%.
The recommended settings, from me, are as follows:
So these are generally my recommended settings.
Euclidian Tolerance: This will determine the parameters to look for similar candles. In general, the lower the tolerance, the greater the precision. I recommend keeping it between 0.5, for tickers with larger prices (like ES1! futures or NQ1!) or 0.05 for tickers with lower TPs, like SPY or QQQ.
If the ED Tolerance is too extreme that the indicator cannot find identical setups, it will alert you:
But in general, the more precise you can get it, the better.
Anchor Type: You will see the option to anchor by "Predicted Open" or by "Previous Close". I suggest sticking with anchoring by predicted open. All this means is, it is going to anchor your range, candle, high and low targets by the predicted open price. Anchoring by previous close will anchor by the close of yesterday. Both work okay, but in general the results from anchoring to predicted open have higher pass rates and more accurately depict the candle.
Euclidean Distance Measurement Type: You can choose to measure by candle body or from high to low wicks. I haven't played around with measuring from high to low wicks all that much, because candle body tends to do the job. But remember, ED is a neutral measurement. Which means, its not going to distinguish between a red or green candle, just the formation of the candle. Thus, I tend to recommend, pragmatically, not to necessarily rely on the candle being red or green, but one the formation of the candle (where are the wicks going, are there more bearish wicks or bullish wicks) etc. Examples will follow.
Range Prediction Type: You can filter the range prediction type by last instance (in which, it will pull the previous identical candle and plot the next candle that followed it, adjusted for the current ranges) or "Average of All Cases". So this is where we need to talk a little bit about the law of large numbers.
In general, in statistics, when you have a huge amount of random data, the law of large numbers stipulates that, within this randomness should be repeated events. This is why sometimes chart patterns work, sometimes they don't. When we filter by the average of all cases, we are relying on the law of large numbers. In general, if you are getting good Backtest readings from Last Instance, then you don't need to use this function. But it provides an alternative insight into potential candle formations next day. Its not a bad idea to compare between the two and look for similarities and differences.
So now that we have covered the boring details, let's get into how to use the indicator and some examples.
So the indicator is plotting the range and candle for the next day. As such, we are not looking at the current candle being plotted, but we are looking at the previous candle (see image below for example):
The green arrow shows the prediction for Friday, along with the corresponding result. The purple arrow shows the prediction for Monday which we have yet to realize.
So remember when you are using this, you need to look at the previous candle, and not the candle that it is currently plotting with realtime data, because it is plotting for the next candle.
If you are plotting by last instance, the indicator will tell you which day it is pulling its data from if you have opted to toggle on the demographic data:
You can see the green arrow pointing to the date where it is pulling from. This data serves as the example candle with the candle proceeding this date being the anchored candle (or the predicted candle).
Price Targets and Probability:
In the chart, you can see the green arrow pointing to the green portion of the table. In this table, it will give you the current TPs. These represent the current time target price, which means, the TPs shown here are for Friday. On Monday, the table will update with the TPs for Monday, etc. If you want to view the TPs in advance, you can view them from the actual candle itself.
Below the TPs, you see a bullish 7:6. It means, in a total of 13 cases, the next candle was bullish 7 times and bearish 6 times. Where do we see the number of cases? In the demographic table as well:
Auxiliary functions
Because you are using the previous candle, if you want to avoid confusion, you can have the indicator plot the price targets over the predicted candle, to anchor your attention so to speak. Simply select "Label" in the "Show Price Targets" section, which will look like this:
You can also ask the indicator to plot the demographic data of Higher High, Low, etc. information. What this does is simply looks at all the cases and plots how many times higher highs, lows, lower lows, highs etc. were made:
This will just count all of the cases identified and plot the number of times higher highs, lows, etc. were made.
Concluding Remarks
This is a kind of complex indicator and I can appreciate it may take some getting used to.
I will try to post a tutorial video at some point next week for it, so stay tuned for that.
But this isn't designed to make your life more complicated, just to help give you insights into potential outcomes for the next day or hour or 5 minute (it can be used on all timeframes).
If you find it helpful, great! If not, that's okay, too :-).
Please be aware, this is not my forte of indicators. I am not a data scientist or programmer. My background is in Epi and we don't use these types of data science approaches, so if you have any suggestions or critiques, feel free to share them below.
Otherwise, I hope you enjoy!
Take care everyone and safe trades!
Fractals 5/7/9/11/13 ModifiedDescription:
The Modified Fractals Indicator is designed to help traders identify specific fractal patterns on a chart. Unlike traditional Williams Fractals, this indicator focuses on highlighting two distinct types of fractals:
- UpFractals: These fractals are identified when each preceding candle has a higher high than the one before it, and each succeeding candle has a higher high than the one following it.
- DownFractals: Conversely, DownFractals are detected when each preceding candle has a lower low than the one before it, and each succeeding candle has a lower low than the one following it.
This unique approach sets it apart from standard Fractal indicators.
Features:
1. Originality and Uniqueness: This indicator employs a distinctive algorithm to detect and display modified fractals, providing a fresh perspective on price reversals.
2. Customizable Parameters: Users can fine-tune the indicator to their trading strategy by adjusting the candle count and arrow size.
3. Easy-to-Understand Chart: The Modified Fractals Indicator is designed to provide clear and easily identifiable signals on your chart, enhancing your trading experience.
4. User-Friendly Interface: This indicator is user-friendly and can be easily integrated into your TradingView setup.
How it Works:
The Modified Fractals Indicator scans the price action on your chart and identifies specific fractal patterns based on the criteria mentioned above for both UpFractals and DownFractals.
Usage:
- Add the Modified Fractals Indicator to your TradingView chart.
- Customize the settings, including the candle count and arrow size, to align with your trading strategy.
- Observe the chart for the appearance of UpFractals and DownFractals as marked by the indicator's arrows.
- Use the signals provided by the indicator to inform your trading decisions, such as potential entry or exit points.
Please note that this Modified Fractals Indicator offers a unique approach to fractal analysis, focusing on specific price patterns that differ from traditional Williams Fractals. It provides traders with an additional tool for identifying potential trend reversals and market opportunities.
Volatility Adjusted Composite RSI with SMA and EMA SignalsOverview
The script "VAC - RSI with SMA and EMA Signals" combines the traditional Relative Strength Index (RSI) with Time-based RSI (T-RSI), and adjusts it for volatility to create a Composite RSI (C-RSI). The script further uses Simple Moving Average (SMA) and Exponential Moving Average (EMA) to generate signals for potential trading opportunities. In the "VAC - RSI with SMA and EMA Signals" script, the combination of price, time, and volatility works as follows:
Price: The script calculates the traditional RSI based on price changes over a specified period.
Time: Alongside the price-based RSI, a Time-based RSI (T-RSI) is calculated, which considers the number of upward and downward closes over the same period.
Volatility: Volatility is integrated into the Composite RSI (C-RSI) by adjusting it with a Z-score based on a standard deviation of closing prices.
These three factors work together to create a more holistic and robust indicator.
How can it be used?
This script is used to identify potential overbought and oversold conditions in the market. It plots the VAC-RSI, SMA, and EMA on a chart, along with overbought and oversold levels, providing visual signals to the trader. When the EMA is below the SMA, it is a bullish signal, and vice versa for a bearish signal.
Default Values for Different Inputs:
Price RSI Weightage (%): 65
Unified Period for RSI & T-RSI: 14
C-RSI SMA Period: 13
C-RSI EMA Period: 33
C-RSI Bull Trend Support: 35
C-RSI Bear Trend Resistance: 65
Use Volatility Adjusted C-RSI (VAC-RSI): true
Standard Deviation Period: 14
Volatility Scaling Factor (α): 5
These values can be adjusted according to the trading strategy to optimize the signals for different assets or timeframes.
Strategies this Can be Used for:
The script can be used in various trading strategies including:
Trend Following: By observing the crosses of EMA and SMA, traders can follow the trend.
Reversion to the Mean: Using the overbought and oversold levels to identify potential reversal points.
Breakout: Identifying breakout points using the Bull and Bear Market Support and Resistance levels.
Comparison with the Standard Indicator:
Enhanced Sensitivity to Market Conditions
Improved Signal Quality
Versatility
Volatility Adjustment
Interpretation of Output Values:
VAC-RSI Value:
The script provides additional overbought (80) and oversold (20) lines to help identify extreme conditions.
SMA and EMA Values:
When the EMA is below the SMA, it is generally considered a bullish signal.
When the EMA is above the SMA, it is generally considered a bearish signal.
The cross of EMA and SMA can be used as a trigger for entry or exit points.
Bull and Bear Market Support and Resistance Lines:
The Bull Market VAC-RSI Support (default at 35) and Bear Market VAC-RSI Resistance (default at 65) lines can be used to identify potential breakout or breakdown points.
In a bull market, if the VAC-RSI stays above the support line, it indicates a strong uptrend.
In a bear market, if the VAC-RSI stays below the resistance line, it indicates a strong downtrend.
Fibonacci HH LL TRAMA BandLuxAlgo's Trend Moving Adaptive Moving Average was used as a reference to create bands by reading the highest and lowest prices of past bars based on Fibonacci numbers and then multiplying them by the Fibonacci ratio.
LuxAlgo/ LuxAlgo/
In particular, the so-called TRAMA is characterized by its adaptation to the average of the highest and lowest prices over a specific period of time and is used to identify support/resistance.
In order to apply this feature to the maximum extent possible, I used the high or low prices as the source of input, rather than the closing price.
For example,
src = high
not original like
src = close
In addition, I created 6 levels by multiplying the Fibonacci ratio
//Midline
mah = ama1
mal = ama2
m = (mah + mal)/2
//Half Mean Range
dist = (mah - mal)/2
//Levels
h6 = m + dist * 11.089
h5 = m + dist * 6.857
h4 = m + dist * 4.235
h3 = m + dist * 2.618
h2 = m + dist * 1.618
h1 = m + dist * 0.618
l1 = m - dist * 0.618
l2 = m - dist * 1.618
l3 = m - dist * 2.618
l4 = m - dist * 4.235
l5 = m - dist * 6.857
l6 = m - dist * 11.089
If you want to use it for scalping, such as 15 minutes, you can include Fibonacci numbers such as 21,34,55 for a quick reaction type to detect the trend. Also, by including Fibonacci numbers such as 89,144,233, you can see where you stand in the larger trend. Some examples are included below.
For Investors
BTCUSDT 1day Chart Fibonacci number "55"
For Daytraders
BTCUSDT 4hour Chart Fibonacci number "34"
For Scalpers
BTCUSDT 15min Chart Fibonacci number "55"
BTCUSDT 15min Chart Fibonacci number "89"
BTCUSDT 15min Chart Fibonacci number "233"
Fibonacci numbers are 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, etc.,
Fibonacci ratios are 0.618, 1.618, 2.618, 4.236, 6.854, 11.089, etc.,
RSI + FIB HH LL StopLoss Finder/Contrarian TradesThis indicator is a multi-timeframe indicator that works in any timeframe.
It takes a price reading of the highest or lowest bar in the past based on Fibonacci numbers and plots it.
In addition, the RSI smoothed by a 5-day moving average can be used to detect signs that previous highs or lows will be reached in advance.
This gives insight into determining stop-loss values or entering the market in a contrarian manner.
This is an example of BTCUSDT 4Hour Chart
Here is BTCUSDT 1Hour Chart
For scalpers BTCUSDT 15min Chart Example
Fibonacci Number is 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, ...
FIbonacci Ratio is 0.236, 0.382, 0.5, 0.618, 1, 1.618, 2.618, 4.236, ...
Multi Timeframe Trend StrengthThis code is an advancement of my previous percentile-based trend strength. It follows the same concept, except this code display the trend and trend strength in multiple timeframe (1 min, 5 min, 15 min, 1hr and 4hr).
This gives an indication of the trend is evolving and allows to see how short-term trend matches with the long-term trend.
How it works:
The script assesses trend strength through percentile values derived from high and low prices across various time periods. It categorizes the current trend as either Bullish, Bearish, or N/A (No Trend) with the following steps:
Percentile Calculations: The code calculates the 75th percentile of high prices (e.g., percentile_13H) and the 25th percentile of low prices (e.g., percentile_13L) for specified Fibonacci-based periods (13, 21, 34, 55, 89, and 144). These percentiles serve as thresholds for identifying strong trends.
Calculate Highest High and Lowest Low: It computes the highest high (75th percentile high price of the longest period) and lowest low (25th percentile low price of the longest period), referred to as highest_high and lowest_low. These values establish critical price levels.
Trend Strength Conditions: For each percentile and period, the code checks if the percentile exceeds the highest high (trendBull) or falls below the lowest low (trendBear). These conditions gauge the strength of bullish and bearish trends.
Count Bull and Count Bear: Variables countBull and countBear tally the number of bullish and bearish conditions met, helping assess trend strength.
Weak Bull and Weak Bear Count: The code calculates weak bullish and bearish conditions, occurring when percentiles fall within the range defined by highest_high and lowest_low but don't meet strong trend criteria.
Bull Strength and Bear Strength: bullStrength and bearStrength are calculated based on counts of bullish, bearish, weak bullish, and weak bearish conditions, representing overall trend strength.
Strong Bull and Bear Conditions: These conditions arise when the 75th percentile of high prices (bull conditions) or the 25th percentile of low prices (bear conditions) surpass or dip below the highest high or lowest low, respectively, for the specified period. Strong conditions indicate robust trends with significant price movements.
Weak Bull and Bear Conditions: Weak conditions occur when percentiles fall within the range between highest_high and lowest_low, suggesting some bullish or bearish tendencies without reaching extreme levels. These imply less decisive trends.
Current Trend Identification: The current trend is determined by comparing bullStrength and bearStrength. A greater bullStrength indicates a Bull trend, greater bearStrength implies a Bear trend, and equal values denote No Trend (N/A).
K's Reversal Indicator IIK’s Reversal Indicator II uses a moving average timing technique to deliver its signals. The method of calculation is as follows:
* Calculate a moving average (by default, a 13-period moving average).
* Calculate the number of times where the market is above its moving average. Whenever that number hits 21, a bearish signal is generated, and whenever that number if zero, a bullish signal is generated.
The indicator signals short-term to mid-term reversals as a mean-reversion move.
WIPFunctionLyaponovLibrary "WIPFunctionLyaponov"
Lyapunov exponents are mathematical measures used to describe the behavior of a system over
time. They are named after Russian mathematician Alexei Lyapunov, who first introduced the concept in the
late 19th century. The exponent is defined as the rate at which a particular function or variable changes
over time, and can be positive, negative, or zero.
Positive exponents indicate that a system tends to grow or expand over time, while negative exponents
indicate that a system tends to shrink or decay. Zero exponents indicate that the system does not change
significantly over time. Lyapunov exponents are used in various fields of science and engineering, including
physics, economics, and biology, to study the long-term behavior of complex systems.
~ generated description from vicuna13b
---
To calculate the Lyapunov Exponent (LE) of a given Time Series, we need to follow these steps:
1. Firstly, you should have access to your data in some format like CSV or Excel file. If not, then you can collect it manually using tools such as stopwatches and measuring tapes.
2. Once the data is collected, clean it up by removing any outliers that may skew results. This step involves checking for inconsistencies within your dataset (e.g., extremely large or small values) and either discarding them entirely or replacing with more reasonable estimates based on surrounding values.
3. Next, you need to determine the dimension of your time series data. In most cases, this will be equal to the number of variables being measured in each observation period (e.g., temperature, humidity, wind speed).
4. Now that we have a clean dataset with known dimensions, we can calculate the LE for our Time Series using the following formula:
λ = log(||M^T * M - I||)/log(||v||)
where:
λ (Lyapunov Exponent) is the quantity that will be calculated.
||...|| denotes an Euclidean norm of a vector or matrix, which essentially means taking the square root of the sum of squares for each element in the vector/matrix.
M represents our Jacobian Matrix whose elements are given by:
J_ij = (∂fj / ∂xj) where fj is the jth variable and xj is the ith component of the initial condition vector x(t). In other words, each element in this matrix represents how much a small change in one variable affects another.
I denotes an identity matrix whose elements are all equal to 1 (or any constant value if you prefer). This term essentially acts as a baseline for comparison purposes since we want our Jacobian Matrix M^T * M to be close to it when the system is stable and far away from it when the system is unstable.
v represents an arbitrary vector whose Euclidean norm ||v|| will serve as a scaling factor in our calculation. The choice of this particular vector does not matter since we are only interested in its magnitude (i.e., length) for purposes of normalization. However, if you want to ensure that your results are accurate and consistent across different datasets or scenarios, it is recommended to use the same initial condition vector x(t) as used earlier when calculating our Jacobian Matrix M.
5. Finally, once we have calculated λ using the formula above, we can interpret its value in terms of stability/instability for our Time Series data:
- If λ < 0, then this indicates that the system is stable (i.e., nearby trajectories will converge towards each other over time).
- On the other hand, if λ > 0, then this implies that the system is unstable (i.e., nearby trajectories will diverge away from one another over time).
~ generated description from airoboros33b
---
Reference:
en.wikipedia.org
www.collimator.ai
blog.abhranil.net
www.researchgate.net
physics.stackexchange.com
---
This is a work in progress, it may contain errors so use with caution.
If you find flaws or suggest something new, please leave a comment bellow.
_measure_function(i)
helper function to get the name of distance function by a index (0 -> 13).\
Functions: SSD, Euclidean, Manhattan, Minkowski, Chebyshev, Correlation, Cosine, Camberra, MAE, MSE, Lorentzian, Intersection, Penrose Shape, Meehl.
Parameters:
i (int)
_test(L)
Helper function to test the output exponents state system and outputs description into a string.
Parameters:
L (float )
estimate(X, initial_distance, distance_function)
Estimate the Lyaponov Exponents for multiple series in a row matrix.
Parameters:
X (map)
initial_distance (float) : Initial distance limit.
distance_function (string) : Name of the distance function to be used, default:`ssd`.
Returns: List of Lyaponov exponents.
max(L)
Maximal Lyaponov Exponent.
Parameters:
L (float ) : List of Lyapunov exponents.
Returns: Highest exponent.
Percentile Based Trend StrengthThe "Percentile Based Trend Strength" (PBTS) calculates trend strength based on percentile values of high and low prices for various length periods and then identifies the current trend as either Bullish, Bearish, or N/A (No Trend). Here's a step-by-step explanation of the code:
Percentile Calculations:
For each specified length period (13, 21, 34, 55, 89, and 144 - Fibonacci numbers), the code calculates the 75th percentile of high prices (e.g., percentile_13H) and the 25th percentile of low prices (e.g., percentile_13L). These percentiles represent levels that prices need to exceed or fall below to indicate a strong trend.
Calculate Highest High and Lowest Low:
The highest high (75th percentile high price of longest length) and lowest low (25th percentile low price of longest length) for the longest length period (144) are calculated as highest_high and lowest_low. These values represent threshold price levels .
Trend Strength Conditions:
The code calculates various conditions to determine trend strength. For each percentile value and each length period, it checks if the percentile value is greater than the highest high (trendBull) or less than the lowest low (trendBear). These conditions are used to assess the strength of the bullish and bearish trends.
Count Bull and Count Bear:
The countBull and countBear variables count the number of bullish and bearish conditions met, respectively. These counts help evaluate trend strength.
Weak Bull and Weak Bear Count:
The code calculates the number of weak bullish and bearish conditions. Weak conditions occur when a percentile value falls within the range defined by the highest high and lowest low but doesn't meet the strong trend criteria.
Bull Strength and Bear Strength:
bullStrength and bearStrength are calculated based on the counts of bullish, bearish, weak bullish, and weak bearish conditions. These values represent the overall strength of the bullish and bearish trends.
Strong Bull and Bear Conditions:
These conditions occur when the 75th percentile of high prices (for bull conditions) or the 25th percentile of low prices (for bear conditions) exceeds or falls below the highest high or lowest low, respectively, for the specified length period.
Strong bull conditions indicate a strong upward trend, while strong bear conditions indicate a strong downward trend.
Strong conditions are indicative of more significant price movements and are considered as primary signals of trend strength.
Weak Bull and Bear Conditions:
Weak bull and bear conditions are more nuanced. They occur when the 75th percentile of high prices (for weak bull conditions) or the 25th percentile of low prices (for weak bear conditions) falls within the range defined by the highest high and lowest low for the specified length period.
In other words, prices are not strong enough to reach the extreme levels represented by the highest high or lowest low, but they still exhibit some bullish or bearish tendencies within that range.
Weak conditions suggest a less robust trend. They may indicate that while there is some bias toward a bullish or bearish trend, it is not as strong or decisive as in the case of strong conditions.
Current Trend Identification:
The current trend is determined by comparing bullStrength and bearStrength. If bullStrength is greater, it's considered a Bull trend; if bearStrength is greater, it's a Bear trend. If they are equal, the trend is identified as N/A (No Trend).
Displaying Trend Information:
The code creates a table to display the current trend, reversal probability (strength), count of bullish and bearish conditions, weak bullish and weak bearish counts, and colors the text accordingly.
Plotting Percentiles:
Finally, the code plots the percentile lines for visualization, with 20% transparency. It also plots the highest high and lowest low lines (75th and 25th percentile of the longest length 144) using their original colors.
In summary, this indicator calculates trend strength based on percentile levels of high and low prices for different length periods. It then counts the number of bullish and bearish conditions, factors in weak conditions, and compares the strengths to identify the current trend as Bullish, Bearish, or No Trend. It provides a table with trend information and visualizes percentile lines on the chart.
EMA x 3 MAsThis indicator can be used for moving average strategies based on a EMA trigger over MAs (SMAs) : MA1 , MA2 , MA3 .
Based on those crossings, the background color will change for the upcoming candle showing green for upper crossing change (the more MA are crossed, the darker is the background). Order and priority of background colors :
1/ EMA x MA1
2/ EMA x MA2 (if EMA x MA1 confirmed)
3/ EMA x MA3 (if EMA x MA1and EMA x MA2 confirmed)
EMA and MAs can also be tuned with your own values in the parameters, therefore allowing you to try different strategies and to use the EMA and MAs as support/resistance indication.
You can set up the background and lines colors in the Style in the parameters.
High/Low Fibs using Bullish Anchors I do Love me some fibs!!
i used a lot of 30 min Opening Range Fibs for interday trading, but have found that using more bars back can make for stronger levels just like when we use higher time frame to see support & resistant levels.
You can just find high and lows for making an easy auto draw fib retracment, I think you will find these to be fairly accurate or at least just entertaining .
Here are some basics on how to use FIb Retracments
Fibonacci retracement is a popular technical analysis tool used by traders to identify potential levels of support and resistance in financial markets, including stocks. It is based on the Fibonacci sequence, a series of numbers where each number is the sum of the two preceding ones (e.g., 0, 1, 1, 2, 3, 5, 8, 13, 21, ...). The key Fibonacci retracement levels are 23.6%, 38.2%, 50%, 61.8%, and 78.6%. These levels are used to identify potential reversal points or areas of price consolidation. Here's how to use Fibonacci retracement in stock trading:
1. Identify a Significant Price Move:
Start by identifying a significant price move in the stock you are analyzing. This move can be either an uptrend or a downtrend. For uptrends, you'll be measuring from the low point to the high point, and for downtrends, you'll measure from the high point to the low point.
2. Draw Fibonacci Levels: *With this indicator We do this for you
Once you have identified the price move, use a Fibonacci retracement tool available on most trading platforms to draw the retracement levels. Typically, you will draw lines from the low point to the high point for uptrends and vice versa for downtrends.
3. Analyze Key Levels:
Pay attention to the key Fibonacci retracement levels, especially the most commonly used ones, which are 38.2%, 50%, and 61.8%. These levels are considered significant in determining potential support and resistance areas. The 23.6% and 78.6% levels are also used but are considered secondary.
4. Look for Confluence:
Consider other technical analysis tools and indicators to look for confluence at these Fibonacci retracement levels. For example, if a 50% retracement level coincides with a moving average or a trendline, it may strengthen the level's significance.
5. Monitor Price Action:
Watch how the stock's price reacts when it approaches these Fibonacci retracement levels. If the price stalls, reverses direction, or shows signs of consolidation around a particular level, it may act as support or resistance.
6. Set Entry and Exit Points:
Based on your analysis, you can set entry and exit points for your trades. Traders often look for buying opportunities near Fibonacci support levels and selling opportunities near resistance levels. Stop-loss orders can be placed just below support or above resistance levels to manage risk.
7. Practice Risk Management:
Always use proper risk management techniques in your trading. This includes setting stop-loss orders, determining your position size, and not risking more than you can afford to lose on a single trade.
8. Monitor Market Conditions:
Be aware that Fibonacci retracement levels are not foolproof and should be used in conjunction with other analysis methods and market conditions. Market sentiment, news events, and economic factors can also influence stock prices.
9. Continuously Learn and Adapt:
As with any trading strategy, it's essential to continuously learn and adapt. Test the effectiveness of Fibonacci retracement levels on different time frames and with different stocks to refine your trading strategy.
** Special Thanks to @KioseffTrading for doing most all of the HEAVY LIFTING on the code here... he is beyond a Top G!!
MACDVMACDV = Moving Average Convergence Divergence Volume
The MACDV indicator uses stochastic accumulation / distribution volume inflow and outflow formulas to visualize it in a standard MACD type of appearance.
To be able to merge these formulas I had to normalize the math.
Accumulation / distribution volume is a unique scale.
Stochastic is a 0-100 scale.
MACD is a unique scale.
The normalized output scale range for MACDV is -100 to 100.
100 = overbought
-100 = oversold
Everything in between is either bullish or bearish.
Rising = bullish
Falling = bearish
crossover = bullish
crossunder = bearish
convergence = direction change
divergence = momentum
The default input settings are:
7 = K length, Stochastic accumulation / distribution length
3 = D smoothing, smoothing stochastic accumulation / distribution volume weighted moving average
6 = MACDV fast, MACDV fast length line
color = blue
13 = MACDV slow, MACDV slow length line
color = white
4 = MACDV signal, MACDV histogram length
color rising above 0 = bright green
color falling above 0 = dark green
color falling below 0 = bright red
color rising below 0 = dark red
2 = Stretch, Output multiplier for MACDV visual expansion
Horizontal lines:
100
75
50
25
0
-25
-50
-75
-100