Smoothing R-Squared ComparisonIntroduction
Heyo guys, here I made a comparison between my favorised smoothing algorithms.
I chose the R-Squared value as rating factor to accomplish the comparison.
The indicator is non-repainting.
Description
In technical analysis, traders often use moving averages to smooth out the noise in price data and identify trends. While moving averages are a useful tool, they can also obscure important information about the underlying relationship between the price and the smoothed price.
One way to evaluate this relationship is by calculating the R-squared value, which represents the proportion of the variance in the price that can be explained by the smoothed price in a linear regression model.
This PineScript code implements a smoothing R-squared comparison indicator.
It provides a comparison of different smoothing techniques such as Kalman filter, T3, JMA, EMA, SMA, Super Smoother and some special combinations of them.
The Kalman filter is a mathematical algorithm that uses a series of measurements observed over time, containing statistical noise and other inaccuracies, and produces estimates of unknown variables that tend to be more accurate than those based on a single measurement.
The input parameters for the Kalman filter include the process noise covariance and the measurement noise covariance, which help to adjust the sensitivity of the filter to changes in the input data.
The T3 smoothing technique is a popular method used in technical analysis to remove noise from a signal.
The input parameters for the T3 smoothing method include the length of the window used for smoothing, the type of smoothing used (Normal or New), and the smoothing factor used to adjust the sensitivity to changes in the input data.
The JMA smoothing technique is another popular method used in technical analysis to remove noise from a signal.
The input parameters for the JMA smoothing method include the length of the window used for smoothing, the phase used to shift the input data before applying the smoothing algorithm, and the power used to adjust the sensitivity of the JMA to changes in the input data.
The EMA and SMA techniques are also popular methods used in technical analysis to remove noise from a signal.
The input parameters for the EMA and SMA techniques include the length of the window used for smoothing.
The indicator displays a comparison of the R-squared values for each smoothing technique, which provides an indication of how well the technique is fitting the data.
Higher R-squared values indicate a better fit. By adjusting the input parameters for each smoothing technique, the user can compare the effectiveness of different techniques in removing noise from the input data.
Usage
You can use it to find the best fitting smoothing method for the timeframe you usually use.
Just apply it on your preferred timeframe and look for the highlighted table cell.
Conclusion
It seems like the T3 works best on timeframes under 4H.
There's where I am active, so I will use this one more in the future.
Thank you for checking this out. Enjoy your day and leave me a like or comment. 🧙♂️
---
Credits to:
▪@loxx – T3
▪@balipour – Super Smoother
▪ChatGPT – Wrote 80 % of this article and helped with the research
Cerca negli script per "股价在8元左右净利润为正市值小于80亿的热门股票有哪些"
WillyCycle Oscillator&DoubleMa/ErkOzi/version 2This oscillator can be customized by adjusting the length of the Willy period, the length of Willy's EMA, and the upper and lower bands. The upper and lower bands help traders identify overbought and oversold conditions.
The WillyCycle Oscillator is a technical analysis tool used to measure the momentum of an asset and identify overbought and oversold conditions based on the price range of a specific period and calculating the percentage of the closing price in that range. The WillyCycle Oscillator consists of two main components: Willy and Willy's EMA. The Willy component is the percentage calculation of the asset's price range, and Willy's EMA is the exponential moving average of the Willy component. Willy's EMA is used to smooth out the Willy component and make it easier to identify trends.
*** When the oscillator is above the 80 level, it indicates that the asset is overbought, and when it is below the 20 level, it indicates that the asset is oversold. Traders can use these levels as a guide for buying and selling signals.
***Traders can also use the WillyCycle Oscillator to identify trend reversals. When the oscillator rises above the 50 level, it signals a potential uptrend, and when it falls below the 50 level, it signals a potential downtrend.
***I have added a smoothed line option to the WillyCycle Oscillator, which allows traders to see a more smoothed version of the oscillator. This option can be enabled by setting the 'smoothed' input to true. The default value for the smoothed line is 15.
***We have also changed the value range of the WillyCycle Oscillator from -100 to 100 to 0 to 100. This change was made to make the oscillator more user-friendly and easier to read.
In conclusion, the WillyCycle Oscillator is a versatile tool that can help traders identify potential trading opportunities and trend reversals. Traders can customize the oscillator to fit their trading style and preferences. Adding a smoothed line and changing the value range can enhance the user experience and make the oscillator easier to use.
RSI with Keltner Channel (+EMA Ribbon)Note that the EMA Ribbon is not embedded into the custom RSI with KC. In the future I plan to embed it. The EMA Ribbon I use is the following:
This is my very first attempt at modifying an indicator. I basically attempted to add a Keltner Channel around RSI.
This was used as an alternative channel to the standard Bollinger Band. KC goes hand-in-hand with the EMA Ribbon. KC also helps to better pinpoint relative-overbought/oversold conditions.
In my belief, the 20-80 levels don't behave as overbought/oversold levels. An exponential chart would always be overbought. So a Keltner Channel could in theory (and in practice) give us greater understanding on chart analysis.
This custom indicator is a bodge . It has lots of extra calculations that can be removed. I post this rough indicator for the community to give feedback on how I can improve it, or perhaps give an idea to some of you. Please don't judge me, I wouldn't post it but lately some have asked me about it.
In the future I would like to embed an EMA ribbon in this RSI indicator, just like I did in the following idea.
During this period, I don't really have the time to fix this indicator to my standards. So I will leave it as is for the foreseeable future.
If you have the will and knowledge however, feel free to built upon this indicator and share it!
Tread lightly, for this is hallowed ground.
-Father Grigori
PS. In this indicator, I would replace all the moving averages with an EMA Ribbon "average".
Mean Reversion and TrendfollowingTitle: Mean Reversion and Trendfollowing
Introduction:
This script presents a hybrid trading strategy that combines mean reversion and trend following techniques. The strategy aims to capitalize on short-term price corrections during a downtrend (mean reversion) as well as ride the momentum of a trending market (trend following). It uses a 200-period Simple Moving Average (SMA) and a 2-period Relative Strength Index (RSI) to generate buy and sell signals.
Key Features:
Combines mean reversion and trend following techniques
Utilizes 200-period SMA and 2-period RSI
Customizable starting date
Allows for enabling/disabling mean reversion or trend following modes
Adjustable position sizing for trend following and mean reversion
Script Description:
The script implements a trading strategy that combines mean reversion and trend following techniques. Users can enable or disable either of these techniques through the input options. The strategy uses a 200-period Simple Moving Average (SMA) and a 2-period Relative Strength Index (RSI) to generate buy and sell signals.
The mean reversion mode is active when the price is below the SMA200, while the trend following mode is active when the price is above the SMA200. The script generates buy signals when the RSI is below 20 (oversold) in mean reversion mode or when the price is above the SMA200 in trend following mode. The script generates sell signals when the RSI is above 80 (overbought) in mean reversion mode or when the price falls below 95% of the SMA200 in trend following mode.
Users can adjust the position sizing for both trend following and mean reversion modes using the input options.
To use this script on TradingView, follow these steps:
Open TradingView and load your preferred chart.
Click on the 'Pine Editor' tab located at the bottom of the screen.
Paste the provided script into the Pine Editor.
Click 'Add to Chart' to apply the strategy to your chart.
Please note that the past performance of any trading system or methodology is not necessarily indicative of future results. Always use proper risk management and consult a financial advisor before making any investment decisions.
------
The following is a summary of the underlying whitepaper (onlinelibrary.wiley.com) for this strategy:
This paper proposes a theory of securities market under- and overreactions based on two psychological biases: investor overconfidence about the precision of private information and biased self-attribution, which causes asymmetric shifts in investors' confidence as a function of their investment outcomes. The authors show that overconfidence implies negative long-lag autocorrelations, excess volatility, and public-event-based return predictability. Biased self-attribution adds positive short-lag autocorrelations (momentum), short-run earnings "drift," and negative correlation between future returns and long-term past stock market and accounting performance.
The paper explains that there is empirical evidence challenging the traditional view that securities are rationally priced to reflect all publicly available information. Some of these anomalies include event-based return predictability, short-term momentum, long-term reversal, high volatility of asset prices relative to fundamentals, and short-run post-earnings announcement stock price "drift."
The authors argue that investor overconfidence can lead to stock prices overreacting to private information signals and underreacting to public signals. This overreaction-correction pattern is consistent with long-run negative autocorrelation in stock returns, excess volatility, and further implications for volatility conditional on the type of signal. The market's tendency to over- or underreact to different types of information allows the authors to address the pattern that average announcement date returns in virtually all event studies are of the same sign as the average post-event abnormal returns.
Biased self-attribution implies short-run momentum and long-term reversals in security prices. The dynamic analysis based on biased self-attribution can also lead to a lag-dependent response to corporate events. Cash flow or earnings surprises at first tend to reinforce confidence, causing a same-direction average stock price trend. Later reversal of overreaction can lead to an opposing stock price trend.
The paper concludes by summarizing the findings, relating the analysis to the literature on exogenous noise trading, and discussing issues related to the survival of overconfident traders in financial markets.
Orion:SagittaSagitta
Sagitta is an indicator the works to assist in the validation of potential long entries and to place stop-loss orders. Sagitta is not a "golden indicator" but more of a confirmation indicator of what prices might be suggesting.
The concept is that while stocks can turn in one bar, it usually takes two bars or more to signal a turn. So, using a measurement of two bars help determine the potential turning of prices.
Behind the scenes, Sagitta is nothing more than a 2 period stochastic which has had its values divided into five specific zones.
Dividing the range of the two bars in five sections, the High is equal to 100 and the Low is equal to 0.
The zones are:
20 = bearish (red) – This is when the close is the lower 20% of the two bars
40 = bearish (orange) – This is when the close is between the lower 20% and 40% of the two bars.
60 = neutral (yellow) – This is when the close is between the middle 40% - 60% of the two bars.
80 = bullish (blue) – This is when the close is between the upper 60% - 80% of the two bars.
100 = bullish (green) – This is when the close is above the upper 80% of the bar.
The general confirmation concept works as such:
When the following bar is of a higher value than the previous bar, there is potential for further upward price movement. Conversely when the following bar is lower than the previous bar, there is potential for further downward movement.
Going from a red bar to orange bar Might be an indication of a positive turn in direction of prices.
Going from a green bar to an orange bar would also be considered a negative directional turn of prices.
When the follow on bar decreases (ie, green to blue, blue to yellow, etc) placing a stop-loss would be prudent.
Maroon lines in the middle of a bar is an indication that prices are currently caught in consolidation.
Silver/Gray bars indicate that a high potential exists for a strong upward turn in prices exists.
Consolidation is calculated by determining if the close of one bar is between the high and low of another bar. This then establishes the range high and low. As long as closes continue with this range, the high and low of the range can expand. When the close is outside of the range, the consolidation is reset.
Signals in areas of consolidation (maroon center bar) should be looked upon as if the prices are going to challenge the high of the consolidation range and not necessarily break through.
The entry technique used is:
The greater of the following two calculations:
High of signal bar * 1.002 or High of signal bar + .03
The stop-loss technique used is:
The lesser of the following two calculations:
Low of signal bar * .998 or Low of signal bar - .03
IF an entry signal is generated and the price doesn’t reach the entry calculation. It is considered a failed entry and is not considered a negative or that you missed out on something. This has saved you from losing money since the prices are not ready to commit to the direction.
When placing a stop-loss, it is never suggested that you lower the value of a stop-loss. Always move your stop-losses higher in order to lock in profit in case of a negative turn.
DSS Bressert Stochastic MTFDouble Smoothed Stochastics – DSS Bressert is an oscillator introduced by William Blau and Walter Bressert shortly after each other in two slightly different versions. The calculation of DSS Bressert values is similar to the stochastic indicator. The difference is the use of double exponential smoothing. The advantages over the classic stochastic oscillators are the fast response to price changes in a still very smooth pattern. In addition, the extreme zones at the other end of the scale are reached quite frequently, even in strong trends, resulting in many trend conforming signals. Double Smoothed Stochastics – DSS The Bressert values are the same as the stochastics – values above 80 indicate an overbought condition of the market, values below 20 indicate an oversold condition of the market.
This is a full implementation of the original Stochastic Calulation with Multi-Time-Frame options. Other available scrips are lagging here and messing MTF up...
This Scrip will plot 2 lines for the double smoothed Stochastic based on the original exponential calculation from Blau/Bressert. Whilst the original stochastic is only simple moving average.
If you are a daytrader or scalper, the script is able to show a slow line and a fast line pair. Preferred Settings are embedded as screenshot.
Soheil PKO's 5 min Hitman Scalp - 3MA + Laguerre RSI + ADX [Pt]Someone sent me this strategy found on YouTube. It is Soheil PKO's "The Best and Most Profitable Scalping Strategy" Best way to find out is to code it =)
This strategy uses Moving Average Ribbon, Laguerre RSI, and ADX. This script only displays the MA ribbon, you will need to add Laguerre RSI and ADX separately.
Long Entry Criteria:
- 16 EMA > 48 EMA > 200 SMA
- Laguerre RSI > 80
- ADX > 20
Long Exit Criterion:
- 16 EMA < 48 EMA
Short Entry Criteria:
- 16 EMA < 48 EMA < 200 SMA
- Laguerre RSI < 20
- ADX > 20
Short Exit Criterion:
- 16 EMA > 48 EMA
As mentioned in the video, risk management is very important, especially for scalping strategies. Therefore, I've added option for setting Stop Loss and Price Target in the options for you guys to play with.
All parameters are configurable.
Enjoy~~
Trend Indicator with RSI and Fibbonacci Band 0.702 crossingsToday we have a new Indicator set, which I created using inspiration from the Trend Magic Indicator from KivancOzbilgic and adding several new aspects to it and a slightly modified calculation of the trend indicator itself.
You can change the inputs by changing the pre set values in the settings, but I found the current settings quite accurate. Feel free to experiment to fine tune the indicators.
Here are the details of the script:
Trend indicated within candles and as a line
- bullish and bearish trends are now also indicated within the candle based on the CCI calculation.
- Bullish is indicated by a green circle below the candle or as one may call it a "dot"
- bearish trend is indicated by a red circle above the candle
Entry Signal based on RSI crossing its EMA
- my motivation was to have a clearer entry signal besides highlighting a trend, which can not really be used to identify a good entry but to give confidence or when loosing trend to give an exit signal.
- after studiying the RSI and how it works together with its EMA it looks quite interesting as an entry or exit signal. But be cautios if the EMA and RSI values are moving in a narrow area we get a lot of crosses and therefore signals which should rather be ignored rather to be act on. So the the range where the cross happens is also quite important. But this aspect is not yet reflected as a rule/ logic.
But I am thinking of adding something.. or alternativly best to switch to another timeframe to get some better data
RSI overbought and oversold as Diamonds
- I also added key indications of oversold or overbought as Blue and Pink diamonds, can be considered as additional information to maybe identify a short term top or bottom.. but its not very accurate.
Entry signal based on crossing Fibbonachi Band 0.702
- So far the 0.702 seems to be quite an interesting retracement level which seems to be met a lot of times
- based on the assumption the price will evantually hit the 0.702 either direction I wanted to get a signal when this happens
- BUT! a big but, unfortunalty the Fibbonachi bands tend to bloat up in case of high volatility so it is not easy to find the crossing on higher timeframes
Here are the standard value which I found quite accurate for the assets I use this indicator set:
CCI Period = 5
ATR Multiplier = 1
ATR Period = 1
Source = High Low Close (hlc3 average value of the candle
Here the inputs used for the RSI Crossing signal (here you should play around a little to see which entry would have been best..)
RSI Length = 14
RSI Oversold = 25 (to be used for the "golden" entry signal based on the FBB crossing)
RSI Overbought = 80 (to be used for the "golden" entry signal based on the FBB crossing)
RSI Moving Average Length
In future versions I will add options to activate or deactive some of the plotting and espacially this golden dot when the fibbonachi band is being crossed needs some fine tuning..
And lets see if there is a way to fix the bloating of those bands..
Ehlers Stochastic Center Of Gravity [CC]The Stochastic Center Of Gravity Indicator was created by John Ehlers (Cybernetic Analysis For Stocks And Futures pgs 79-80), and this is one of the many cycle scripts that I have created but not published yet because, to be honest, I don't use cycle indicators in my everyday trading. Many of you probably do, so I will start publishing my big backlog of cycle-based indicators. These indicators work best with a trend confirmation or some other confirmation indicator to pair with it. The current cycle is the length of the trend, and since most stocks generally change their underlying trend quite often, especially during the day, it makes sense to adjust the length of this indicator to match the stock you are using it on. As you can see, the indicator gives constant buy and sell signals during a trend which is why I recommend using a confirmation indicator.
I have color-coded it to use lighter colors for normal signals and darker colors for strong signals. Buy when the line turns green and sell when it turns red.
Let me know if there are any other scripts you would like to see me publish!
Negative Correlation SignalsThank you to Hendrik Fuchs who coded this for me - I highly recommend you...
The AUDUSD/EURUSD has a negative correlation with the DXY as does the GBPJPY/USDJPY have with the JPYX. This indicator is very simple and uses opposite candle pinbars (pinbar/doji structure can be set by you) of the two instruments on the chart whilst the stochastic RSI should be above 80 for overbought on the one but below 20 on the other for oversold (or vice versa) to generate a signal.
This indicator works as follow:
1. Choose an instrument that has an opposing negatively correlated instrument (EURUSD & DXY, GBPJPY & JPYX, US100 & VIX, etc.)
2. Add indicator to the chart and open settings.
3. Open the settings and add the correct instruments (default is set to GBPJPY & JPYX).
4. Enter your desired Stochastic RSI & candle formation settings.
You will see buy and sell signals appear on the charts. Alerts are possible (Any alert() function call). Does not repaint after close of candle. Better on higher timeframes but can also be used for scalping. Best used as confluence or as part of a trend trading system.
There are obviously many many variations that I have not even thought off - please let us know in the comment section if you find settings/timeframes/instruments that work particularly well.
Sniper EntryThis source code is an implementation of a TradingView indicator called "Sniper Entry". The purpose of this indicator is to identify potential entry points for trades based on certain candlestick patterns and the Stochastic oscillator.
The indicator calculates the Stochastic oscillator based on the close, high, and low prices of the asset over a period of 14 bars. It then uses this oscillator to generate buy and sell signals.
For a buy signal to be generated, the Stochastic oscillator must cross above the oversold level of 20, and the current candle must either be a bullish pin bar or a bullish engulfing pattern. For a sell signal to be generated, the Stochastic oscillator must cross below the overbought level of 80, and the current candle must either be a bearish pin bar or a bearish engulfing pattern.
The indicator also calculates the stop loss and target levels for both buy and sell trades. The stop loss is calculated based on the low or high of the candle that generated the signal, depending on whether it's a buy or sell signal. The target is calculated based on the risk/reward ratio, which is set to 3 in this implementation. The lot size is also set to 0.01, and the starting capital is set to 100.
The indicator then plots the buy and sell signals, the stop loss and target levels, and the Stochastic oscillator on the chart.
It's important to note that this is just one example of a trading indicator, and its effectiveness may vary depending on market conditions and the asset being traded. It's also important to perform your own analysis and use proper risk management techniques when making trades based on any indicator or strategy.
BB Running Away CandleHello,
here is an indicator that can be helpful for your trading that is simple and easy to use.
Our culprit here is a candle that opens and closes below the lower band of Bollinger Band, Black and red lines are put on the high and low of that candle.
Green Arrows are happening when:
1- When candle closes above the black line and Stochastic RSI is in the oversold area >> "Confirmed B"
2- When candle closes above the black line >> "B"
Note that you can choose from the settings whether you want it confirmed or not.
Red Arrows are happening when:
1- Price reached the higher band of Bollinger Bands >> "BB High"
2- Stochastic crosses down from above 80 level >> "Stoch Crossdown"
3- RSI reached above 70 levle >> "RSI Oversold"
Note that you can choose to turn these on or off from the settings.
Settings of indicators are set to default.
NOTE: Alerts are put there however i didn't get the chance to test them, so would like to hear your feedback about them.
THE USE OF THIS INDICATOR IS YOUR OWN RESPONSIBILITY.
wishing you the best.
PitchforkTypesLibrary "PitchforkTypes"
User Defined Types to be used for Pitchfork and Drawing elements of Pitchfork. Depends on DrawingTypes for Point, Line, and LineProperties objects
PitchforkDrawingProperties
Pitchfork Drawing Properties object
Fields:
extend : If set to true, forks are extended towards right. Default is true
fill : Fill forklines with transparent color. Default is true
fillTransparency : Transparency at which fills are made. Only considered when fill is set. Default is 80
forceCommonColor : Force use of common color for forks and fills. Default is false
commonColor : common fill color. Used only if ratio specific fill colors are not available or if forceCommonColor is set to true.
PitchforkDrawing
Pitchfork drawing components
Fields:
medianLine : Median line of the pitchfork
baseLine : Base line of the pitchfork
forkLines : fork lines of the pitchfork
linefills : Linefills between forks
Fork
Fork object property
Fields:
ratio : Fork ratio
forkColor : color of fork. Default is blue
include : flag to include the fork in drawing. Default is true
PitchforkProperties
Pitchfork Properties
Fields:
forks : Array of Fork objects
type : Pitchfork type. Supported values are "regular", "schiff", "mschiff", Default is regular
inside : Flag to identify if to draw inside fork. If set to true, inside fork will be drawn
Pitchfork
Pitchfork object
Fields:
a : Pivot Point A of pitchfork
b : Pivot Point B of pitchfork
c : Pivot Point C of pitchfork
properties : PitchforkProperties object which determines type and composition of pitchfork
dProperties : Drawing properties for pitchfork
lProperties : Common line properties for Pitchfork lines
drawing : PitchforkDrawing object
DrawingMethodsLibrary "DrawingMethods"
tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/Point object to string representation
Parameters:
this : DrawingTypes/Point object
sortKeys : If set to true, string output is sorted by keys.
sortOrder : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/Point
tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/LineProperties object to string representation
Parameters:
this : DrawingTypes/LineProperties object
sortKeys : If set to true, string output is sorted by keys.
sortOrder : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/LineProperties
tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/Line object to string representation
Parameters:
this : DrawingTypes/Line object
sortKeys : If set to true, string output is sorted by keys.
sortOrder : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/Line
tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/LabelProperties object to string representation
Parameters:
this : DrawingTypes/LabelProperties object
sortKeys : If set to true, string output is sorted by keys.
sortOrder : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/LabelProperties
tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/Label object to string representation
Parameters:
this : DrawingTypes/Label object
sortKeys : If set to true, string output is sorted by keys.
sortOrder : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/Label
tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/Linefill object to string representation
Parameters:
this : DrawingTypes/Linefill object
sortKeys : If set to true, string output is sorted by keys.
sortOrder : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/Linefill
tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/BoxProperties object to string representation
Parameters:
this : DrawingTypes/BoxProperties object
sortKeys : If set to true, string output is sorted by keys.
sortOrder : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/BoxProperties
tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/BoxText object to string representation
Parameters:
this : DrawingTypes/BoxText object
sortKeys : If set to true, string output is sorted by keys.
sortOrder : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/BoxText
tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/Box object to string representation
Parameters:
this : DrawingTypes/Box object
sortKeys : If set to true, string output is sorted by keys.
sortOrder : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/Box
delete(this)
Deletes line from DrawingTypes/Line object
Parameters:
this : DrawingTypes/Line object
Returns: Line object deleted
delete(this)
Deletes label from DrawingTypes/Label object
Parameters:
this : DrawingTypes/Label object
Returns: Label object deleted
delete(this)
Deletes Linefill from DrawingTypes/Linefill object
Parameters:
this : DrawingTypes/Linefill object
Returns: Linefill object deleted
delete(this)
Deletes box from DrawingTypes/Box object
Parameters:
this : DrawingTypes/Box object
Returns: DrawingTypes/Box object deleted
delete(this)
Deletes lines from array of DrawingTypes/Line objects
Parameters:
this : Array of DrawingTypes/Line objects
Returns: Array of DrawingTypes/Line objects
delete(this)
Deletes labels from array of DrawingTypes/Label objects
Parameters:
this : Array of DrawingTypes/Label objects
Returns: Array of DrawingTypes/Label objects
delete(this)
Deletes linefill from array of DrawingTypes/Linefill objects
Parameters:
this : Array of DrawingTypes/Linefill objects
Returns: Array of DrawingTypes/Linefill objects
delete(this)
Deletes boxes from array of DrawingTypes/Box objects
Parameters:
this : Array of DrawingTypes/Box objects
Returns: Array of DrawingTypes/Box objects
clear(this)
clear items from array of DrawingTypes/Line while deleting underlying objects
Parameters:
this : array
Returns: void
clear(this)
clear items from array of DrawingTypes/Label while deleting underlying objects
Parameters:
this : array
Returns: void
clear(this)
clear items from array of DrawingTypes/Linefill while deleting underlying objects
Parameters:
this : array
Returns: void
clear(this)
clear items from array of DrawingTypes/Box while deleting underlying objects
Parameters:
this : array
Returns: void
draw(this)
Creates line from DrawingTypes/Line object
Parameters:
this : DrawingTypes/Line object
Returns: line created from DrawingTypes/Line object
draw(this)
Creates lines from array of DrawingTypes/Line objects
Parameters:
this : Array of DrawingTypes/Line objects
Returns: Array of DrawingTypes/Line objects
draw(this)
Creates label from DrawingTypes/Label object
Parameters:
this : DrawingTypes/Label object
Returns: label created from DrawingTypes/Label object
draw(this)
Creates labels from array of DrawingTypes/Label objects
Parameters:
this : Array of DrawingTypes/Label objects
Returns: Array of DrawingTypes/Label objects
draw(this)
Creates linefill object from DrawingTypes/Linefill
Parameters:
this : DrawingTypes/Linefill objects
Returns: linefill object created
draw(this)
Creates linefill objects from array of DrawingTypes/Linefill objects
Parameters:
this : Array of DrawingTypes/Linefill objects
Returns: Array of DrawingTypes/Linefill used for creating linefills
draw(this)
Creates box from DrawingTypes/Box object
Parameters:
this : DrawingTypes/Box object
Returns: box created from DrawingTypes/Box object
draw(this)
Creates labels from array of DrawingTypes/Label objects
Parameters:
this : Array of DrawingTypes/Label objects
Returns: Array of DrawingTypes/Label objects
createLabel(this, lblText, tooltip, properties)
Creates DrawingTypes/Label object from DrawingTypes/Point
Parameters:
this : DrawingTypes/Point object
lblText : Label text
tooltip : Tooltip text. Default is na
properties : DrawingTypes/LabelProperties object. Default is na - meaning default values are used.
Returns: DrawingTypes/Label object
createLine(this, other, properties)
Creates DrawingTypes/Line object from one DrawingTypes/Point to other
Parameters:
this : First DrawingTypes/Point object
other : Second DrawingTypes/Point object
properties : DrawingTypes/LineProperties object. Default set to na - meaning default values are used.
Returns: DrawingTypes/Line object
createLinefill(this, other, fillColor, transparency)
Creates DrawingTypes/Linefill object from DrawingTypes/Line object to other DrawingTypes/Line object
Parameters:
this : First DrawingTypes/Line object
other : Other DrawingTypes/Line object
fillColor : fill color of linefill. Default is color.blue
transparency : fill transparency for linefill. Default is 80
Returns: Array of DrawingTypes/Linefill object
createBox(this, other, properties, textProperties)
Creates DrawingTypes/Box object from one DrawingTypes/Point to other
Parameters:
this : First DrawingTypes/Point object
other : Second DrawingTypes/Point object
properties : DrawingTypes/BoxProperties object. Default set to na - meaning default values are used.
textProperties : DrawingTypes/BoxText object. Default is na - meaning no text will be drawn
Returns: DrawingTypes/Box object
createBox(this, properties, textProperties)
Creates DrawingTypes/Box object from DrawingTypes/Line as diagonal line
Parameters:
this : Diagonal DrawingTypes/PoLineint object
properties : DrawingTypes/BoxProperties object. Default set to na - meaning default values are used.
textProperties : DrawingTypes/BoxText object. Default is na - meaning no text will be drawn
Returns: DrawingTypes/Box object
Dynamo
╭━━━╮
╰╮╭╮┃
╱┃┃┃┣╮╱╭┳━╮╭━━┳╮╭┳━━╮
╱┃┃┃┃┃╱┃┃╭╮┫╭╮┃╰╯┃╭╮┃
╭╯╰╯┃╰━╯┃┃┃┃╭╮┃┃┃┃╰╯┃
╰━━━┻━╮╭┻╯╰┻╯╰┻┻┻┻━━╯
╱╱╱╱╭━╯┃
╱╱╱╱╰━━╯
Overview
Dynamo is built to be the Swiss-knife for price-movement & strength detection, it aims to provide a holistic view of the current price across multiple dimensions. This is achieved by combining 3 very specific indicators(RSI, Stochastic & ADX) into a single view. Each of which serve a different purpose, and collectively provide a simple, yet powerful tool to gauge the true nature of price-action.
Background
Dynamo uses 3 technical analysis tools in conjunction to provide better insights into price movement, they are briefly explained below:
Relative Strength Index(RSI)
RSI is a popular indicator that is often used to measure the velocity of price change & the intensity of directional moves. RSI computes the relative strength of the current price by comparing the security’s bullish strength versus bearish strength for a given period, i.e. by comparing average gain to average loss.
It is a range bound(0-100) variable that generates a bullish reading if average gain is higher, and a bullish reading if average loss is higher. Values over 50 are generally considered bullish & values less than 50 indicate a bearish market. Values over 70 indicate an overbought condition, and values below 30 indicate oversold condition.
Stochastic
Stochastic is an indicator that aims to measure the momentum in the market, by comparing most recent closing price of the security to its price range for a given period. It is based on the assumption that price tends to close near the recent high in an up trend, and it closes near the recent low during a down trend.
It is also range bound(0-100), values over 80 indicate overbought condition and values below 20 indicate oversold condition.
Average Directional Index(ADX)
ADX is an indicator that can quantify trend strength, it is derived from two underlying indices, known as Directional Movement Index(DMI). +DMI represents strength of the up trend, and -DMI represents strength of the down trend, and ADX is the average of the two.
ADX is non-directional or trend-neutral, which means, it does not follow the direction of the price, instead ADX will rise only when there is a strong trend, it does not matter if it’s an up trend or a down trend. Typical ranges of ADX are 25-50 for a strong trend, anything below 25 is considered as no trend or weak trend. ADX can frequently shoot upto higher values, but it generally finds exhaustion levels around the 60-75 range.
About the script
All these indicators are very powerful tools, but just like any other indicator they have their limitations. Stochastic & ADX can generate false signals in volatile markets, meaning price wouldn’t always follow through with what’s being indicated. ADX may even fail to generate a signal in less volatile markets, simply because it is based on moving averages, it tends to react slower to price changes. RSI can also lose it’s effectiveness when markets are trending strong, as it can stay in the overbought or oversold ranges for an extended period of time.
Dynamo aims to provide the trader with a much broader perspective by bringing together these contrasting indicators into a single simplified view. When Stochastic becomes less reliable in highly volatile conditions, one can cross validate their deduction by looking at RSI patterns. When RSI gets stuck in overbought or oversold range, one can refer to ADX to get better picture about the current trend. Similarly, various combinations of rules & setups can be formulated to get a more deterministic view, when working with either of these indicators.
There many possible use cases for a tool like this, and it totally depends on how you want to use it. An obvious option is to use it to trigger signals only after it has been confirmed by two or more indicators, for example, RSI & Stochastic make a great combination for cross-over or cross-under strategies. Some of the other options include trend detection, strength detection, reversals or price rejection points, possible duration of a trend, and all of these can very easily be translated into effective entry and exit points for trades.
How to use it
Dynamo is an easy-to-use tool, just add it to your chart and you’re good to start with your market analysis. Output consists of three overlapping plots, each of which tackle price movement from a slightly different angle.
Stochastic: A momentum indicator that plots the current closing price in relation to the price-range over a given period of time.
Can be used to detect the direction of the price movement, potential reversals, or duration of an up/down move.
Plotted as grey coloured histograms in the background.
Relative Strength Index(RSI): RSI is also a momentum indicator that measures the velocity with which the price changes.
Can be used to detect the speed of the price movement, RSI divergences can be a nice way to detect directional changes.
Plotted as an aqua coloured line.
Average Directional Index(ADX): ADX is an indicator that is used to measure the strength of the current trend.
Can be used to measure how strong the price movement is, both up and down, or to establish long terms trends.
Plotted as an orange coloured line.
Features
Provides a well-rounded view of the market movement by amalgamating some of the best strength indicators, helping traders make better informed decisions with minimal effort.
Simplistic plots that aim to convey clean signals, as a result, reducing clutter on the chart, and hopefully in the trader's head too.
Combines different types of indicators into a single view, which leads to an optimised use of the precious screen real-estate.
Final Note
Dynamo is designed to be minimalistic in functionality and in appearance, as it is being built to be a general purpose tool that is not only beginner friendly, but can also be highly-configurable to meet the needs of pro traders.
Thresholds & default values for the indicators are only suggestions based on industry standards, they may not be an exact match for all markets & conditions. Hence, it is advisable for the user to test & adjust these values according their securities and trading styles.
The chart highlights one of many possible setups using this tool, and it can used to create various types of setups & strategies, but it is also worth noting that the usability & the effectiveness of this tool also depends on the user’s understanding & interpretation of the underlying indicators.
Lastly, this tool is only an indicator and should only be perceived that way. It does not guarantee anything, and the user should do their own research before committing to trades based on any indicator.
Dominant Cycle Detection OscillatorThis is a Dominant Cycle Detection Oscillator that searches multiple ranges of wavelengths within a spectrum. Choose one of 4 different dominant cycle detection methods (MESA MAMA cycle, Pearson Autocorrelation, Discreet Fourier Transform, and Phase Accumulation) to determine the most dominant cycles and see the historical results. Straight lines can indicate a steady dominant cycle; while Wavy lines might indicate a varying dominant cycle length. The steadier the cycle, the easier it may be to predict future events in that cycle (keep the log scale in mind when considering steadiness). The presence of evenly divisible (or harmonic) cycle lengths may also indicate stronger cycles; for example, 19, 38, and 76 dominant lengths for the 2x, 4x, and 8x cycles. Practically, a trader can use these cycle outputs as the default settings for other Hurst/cycle indicators. For example, if you see dominant cycle oscillator outputs of 38 & 76 for the 4x and 8x cycle respectively, you might want to test/use defaults of 38 & 76 for the 4x & 8x lengths in the bandpass, diamond/semi-circle notation, moving average & envelope, and FLD instead of the defaults 40 & 80 for a more fine-tuned analysis.
Muting the oscillator's historical lines and overlaying the indicator on the chart can visually cue a trader to the cycle lengths without taking up extra panes. The DFT Cycle lengths with muted historical lines have been overlayed on the chart in the photo.
The y-axis scale for this indicator's pane (just the oscillator pane, not the chart) most likely needs to be changed to logarithmic to look normal, but it depends on the search ranges in your settings. There are instructions in the settings. In the photo, the MESA MAMA scale is set to regular (not logarithmic) which demonstrates how difficult it can be to read if not changed.
In the Spectral Analysis chapter of Hurst's book Profit Magic, he recommended doing a Fourier analysis across a spectrum of frequencies. Hurst acknowledged there were many ways to do this analysis but recommended the method described by Lanczos. Currently in this indicator, the closest thing to the method described by Lanczos is the DFT Discreet Fourier Transform method.
Shoutout to @lastguru for the dominant cycle library referenced in this code. He mentioned that he may add more methods in the future.
TradePro's 2 EMA + Stoch RSI + ATR StrategySaw TradePro's "NEW BEST HIGHEST PROFITING STRATEGY WITH CRAZY RESULTS - 2 EMA+ Stochastic RSI+ ATR", and was curious on the back testing results. This strategy is an attempt to recreate it.
This strategy uses 50 / 200 EMAs, Stochastic RSI and ATR.
Long Entry Criteria:
- 50 EMA > 200 EMA
- Price closes below 50 EMA
- Stochastic RSI has gone into oversold < 20
- Stochastic RSI crosses up while making higher low from previous cross up
Short Entry Criteria:
- 50 EMA < 200 EMA
- Price closes above 50 EMA
- Stochastic RSI has gone into overbought > 80
- Stochastic RSI crosses down while making lower high from previous cross down
Stop-loss is set to ATR stop-loss
Take Profit is 2x the risk
All parameters are configurable.
Enjoy~~
Zig Zag Stochastic (ZZS)The "Zig Zag Stochastic" indicator is an indicator that uses a combination of zigzag pivot points and exponential smoothing to calculate a stochastic-like oscillator.
The indicator starts by identifying pivot high and pivot low points in the price data using the Zigzag indicator. These pivot points are then used to calculate the scale_price, which is a ratio of the current close price to the range between the current pivot high and pivot low.
Next, the scale_price is smoothed using exponential smoothing. The user can input the desired length of the smoothing period, with a default value of 14. If the user sets the smoothing length to 0, the indicator will automatically calculate the optimal smoothing length using the MAMA period calculation from the Dominant Cycle Estimators library.
The smoothed scale_price is then used to calculate two lines: the K-line and the D-line, both of which are also smoothed using exponential smoothing. The K-line is the main oscillator line and is similar to the %K line in a traditional stochastic oscillator. The D-line is a signal line, similar to the %D line in a traditional stochastic oscillator.
The indicator plots the smoothed scale_price, the K-line, and the D-line. Additionally, it includes horizontal lines at the 80 and 20 levels, and fills the area between them to help identify overbought and oversold conditions.
Hurst Diamond Notation PivotsThis is a fairly simple indicator for diamond notation of past hi/lo pivot points, a common method in Hurst analysis. The diamonds mark the troughs/peaks of each cycle. They are offset by their lookback and thus will not 'paint' until after they happen so anticipate accordingly. Practically, traders can use the average length of past pivot periods to forecast future pivot periods in time🔮. For example, if the average/dominant number of bars in an 80-bar pivot point period/cycle is 76, then a trader might forecast that the next pivot could occur 76-ish bars after the last confirmed pivot. The numbers/labels on the y-axis display the cycle length used for pivot detection. This indicator doesn't repaint, but it has a lot of lag; Please use it for forecasting instead of entry signals. This indicator scans for new pivots in the form of a rainbow line and circle; once the hi/lo has happened and the lookback has passed then the pivot will be plotted. The rainbow color per wavelength theme seems to be authentic to Hurst (or modern Hurst software) and has been included as a default.
RSI Pull-BackA pull-back occurs whenever the price or the value of an indicator breaks a line and comes back to test it before continuing in the prevailing trend.
The RSI has oversold and overbought levels such as 20 and 80 and whenever the market breaks them returns to normality, we can await a pull-back to them before the reversal continues.
This indicator shows the following signals:
* A bullish signal is generated whenever the RSI surpasses the chosen oversold level then directly shapes a pull-back to it without breaking it again.
* A bearish signal is generated whenever the RSI breaks the chosen overbought level then directly shapes a pull-back to it without surpassing it again.
Strategija TrioThis is a Primo #4 with extra ADX condition to avoid range bound enviroments.
1. ADX must be above 20
2. Price above 50 SMA for long and below 50 SMA for short settings.
3. Short EMA above Middle EMA
4. Pullback and 80 % bounce from Middle EMA within 2 bars
Risk/reward ratio and fund management is eseential, I recomend at least 3/1 and no more than 3 %. Arrows depict the entry bars, Data window shows the Take profit and Stop loss prices
Feel free to adjust it or use it on your own. This is not a financial advice.
Stoch RSI 15 min - multi time frame tableABOUT THIS INDICATOR
This indicator calculates the Stochastic RSI for the time frames 15 min, 30 min, 1h, 4h, and 12h. However, the 15 min time frame should always be the default time frame for your chart.
IMPORTANT
* NOTE! It's extremely important that the chosen time frame for your chart is 15 min. Otherwise the Stochastic RSI for the longer time frames won’t be correctly calculated.
* Stochastic RSI will be calculated and displayed in a table for the time frames: 15 min, 30 min, 1h, 4h, 12h.
* All time frames are based on closed bars except the "15minR" that are realtime updated values calculated on a 15 min time frame.
ABOUT STOCHASTIC RSI
The Stochastic RSI (StochRSI) is a momentum indicator that ranges between 0 and 100. A Stochastic RSI value above 80 is considered overbought and below 20 is considered oversold.
By using different time frames you can get a better idea of what direction the trade could take in a "longer" perspective.
SETTINGS
1.) Length RSI = 14 (default period)
2.) Smoothing parameter of Stochastic RSI (Length Moving Average = 3) . Moving average of stochastic RSI
* By default the displayed Stochastic RSI values are smoothed values of the actual Stochastic RSI. The smoothnes is formed by a calculated moving average of with the length of 3 by default.
If you want Stochastic RSI with a sharper signal (higher risk for "false alarms" being more sensitive) change the Length Moving Average to = 1 (no smoothness at all)
You can see the selected "Length RSI" and "Length Moving Average" on top of the Stochastic RSI table.
Next version of this script will be updated with more a more flexible solution for different time frames.
* NOTE, Tradingview comes with a inbuilt Stochastic RSI. See the the chart below. The blue line in the Stochastic-RSI chart represents (K value = 3) the same value as the script calculate/display in the table.
Impulse Alerts - Riccardo Di GiacomoThis is the Impulse indicator that allows you to receive alerts in the case one of the following situation occurs:
1) Buy Setup
- Price above Exponential Moving Average 260
- Moving Average 21 above Exponential Moving Average 260
- Moving Average 9 above Moving Average 21
- RSI(14) above 50
- Stochastic equal or below 20
2) Sell Setup
- Price below Exponential Moving Average 260
- Moving Average 21 below Exponential Moving Average 260
- Moving Average 9 below Moving Average 21
- RSI(14) below 50
- Stochastic equal or above 80
The Bollinger Bands represents another useful information:
- If the price is near the upper band when the first situation occurs, it is another green light, otherwise be careful
- If the price is near the lower band when the second situation occurs, it is another green light, otherwise be careful