A_Traders_Edge__LibraryLibrary "A_Traders_Edge__Library"
- A Trader's Edge (ATE)_Library was created to assist in constructing Market Overview Scanners (MOS)
LabelLocation(_firstLocation)
This function is used when there's a desire to print an assets ALERT LABELS at a set location on the scale that will
NOT change throughout the progression of the script. This is created so that if a lot of alerts are triggered, they
will stay relatively visible and not overlap each other. Ex. If you set your '_firstLocation' parameter as 1, since
there are a max of 40 assets that can be scanned, the 1st asset's location is assigned the value in the '_firstLocation' parameter,
the 2nd asset's location is the (1st asset's location+1)...and so on. If your first location is set to 81 then
the 1st asset is 81 and 2nd is 82 and so on until the 40th location = 120(in this particular example).
Parameters:
_firstLocation (simple int) : (simple int)
Optional(starts at 1 if no parameter added).
Location that you want the first asset to print its label if is triggered to do so.
ie. loc2=loc1+1, loc3=loc2+1, etc.
Returns: Returns 40 output variables each being a different location to print the labels so that an asset is asssigned to
a particular location on the scale. Regardless of if you have the maximum amount of assets being screened (40 max), this
function will output 40 locations… So there needs to be 40 variables assigned in the tuple in this function. What I
mean by that is you need to have 40 output location variables within your tuple (ie. between the ' ') regarless of
if your scanning 40 assets or not. If you only have 20 assets in your scripts input settings, then only the first 20
variables within the ' ' Will be assigned to a value location and the other 20 will be assigned 'NA', but their
variables still need to be present in the tuple.
SeparateTickerids(_string)
You must form this single tickerID input string exactly as described in the scripts info panel (little gray 'i' that
is circled at the end of the settings in the settings/input panel that you can hover your cursor over this 'i' to read the
details of that particular input). IF the string is formed correctly then it will break up this single string parameter into
a total of 40 separate strings which will be all of the tickerIDs that the script is using in your MO scanner.
Parameters:
_string (simple string) : (string)
A maximum of 40 Tickers (ALL joined as 1 string for the input parameter) that is formulated EXACTLY as described
within the tooltips of the TickerID inputs in my MOS Scanner scripts:
assets = input.text_area(tIDset1, title="TickerID (MUST READ TOOLTIP)", tooltip="Accepts 40 TICKERID's for each
copy of the script on the chart. TEXT FORMATTING RULES FOR TICKERID'S:
(1) To exclude the EXCHANGE NAME in the Labels, de-select the next input option.
(2) MUST have a space (' ') AFTER each TickerID.
(3) Capitalization in the Labels will match cap of these TickerID's.
(4) If your asset has a BaseCurrency & QuoteCurrency (ie. ADAUSDT ) BUT you ONLY want Labels
to show BaseCurrency(ie.'ADA'), include a FORWARD SLASH ('/') between the Base & Quote (ie.'ADA/USDT')", display=display.none)
Returns: Returns 40 output variables of the different strings of TickerID's (ie. you need to output 40 variables within the
tuple ' ' regardless of if you were scanning using all possible (40) assets or not.
If your scanning for less than 40 assets, then once the variables are assigned to all of the tickerIDs, the rest
of the 40 variables in the tuple will be assigned "NA".
TickeridForLabelsAndSecurity(_includeExchange, _ticker)
This function accepts the TickerID Name as its parameter and produces a single string that will be used in all of your labels.
Parameters:
_includeExchange (simple bool) : (bool)
Optional(if parameter not included in function it defaults to false ).
Used to determine if the Exchange name will be included in all labels/triggers/alerts.
_ticker (simple string) : (string)
For this parameter, input the varible named '_coin' from your 'f_main()' function for this parameter. It is the raw
Ticker ID name that will be processed.
Returns: ( )
Returns 2 output variables:
1st ('_securityTickerid') is to be used in the 'request.security()' function as this string will contain everything
TV needs to pull the correct assets data.
2nd ('lblTicker') is to be used in all of the labels in your MOS as it will only contain what you want your labels
to show as determined by how the tickerID is formulated in the MOS's input.
InvalidTID(_tablePosition, _stackVertical, _close, _securityTickerid, _invalidArray)
This is to add a table in the middle right of your chart that prints all the TickerID's that were either not formulated
correctly in the '_source' input or that is not a valid symbol and should be changed.
Parameters:
_tablePosition (simple string) : (string)
Optional(if parameter not included, it defaults to position.middle_right). Location on the chart you want the table printed.
Possible strings include: position.top_center, position.top_left, position.top_right, position.middle_center,
position.middle_left, position.middle_right, position.bottom_center, position.bottom_left, position.bottom_right.
_stackVertical (simple bool) : (bool)
Optional(if parameter not included, it defaults to true). All of the assets that are counted as INVALID will be
created in a list. If you want this list to be prited as a column then input 'true' here.
_close (float) : (float)
If you want them printed as a single row then input 'false' here.
This should be the closing value of each of the assets being tested to determine in the TickerID is valid or not.
_securityTickerid (string) : (string)
Throughout the entire charts updates, if a '_close' value is never regestered then the logic counts the asset as INVALID.
This will be the 1st TickerID varible (named _securityTickerid) outputted from the tuple of the TickeridForLabels()
function above this one.
_invalidArray (string ) : (array string)
Input the array from the original script that houses all of the invalidArray strings.
Returns: (na)
Returns a table with the screened assets Invalid TickerID's. Table draws automatically if any are Invalid, thus,
no output variable to deal with.
LabelSizes(_barCnt, _lblSzRfrnce)
This function sizes your Alert Trigger Labels according to the amount of Printed Bars the chart has printed within
a set time period, while also keeping in mind the smallest relative reference size you input in the 'lblSzRfrnceInput'
parameter of this function. A HIGHER % of Printed Bars(aka...more trades occurring for that asset on the exchange),
the LARGER the Name Label will print, potentially showing you the better opportunities on the exchange to avoid
exchange manipulation liquidations.
*** SHOULD NOT be used as size of labels that are your asset Name Labels next to each asset's Line Plot...
if your MOS includes these as you want these to be the same size for every asset so the larger ones dont cover the
smaller ones if the plots are all close to each other ***
Parameters:
_barCnt (float) : (float)
Get the 1st variable('barCnt') from the 'PrintedBarCount' function's tuple and input it as this functions 1st input
parameter which will directly affect the size of the 2nd output variable ('alertTrigLabel') outputted by this function.
_lblSzRfrnce (string) : (string)
Optional(if parameter not included, it defaults to size.small). This will be the size of the 1st variable outputted
by this function ('assetNameLabel') BUT also affects the 2nd variable outputted by this function.
Returns: ( )
Returns 2 variables:
1st output variable ('AssetNameLabel') is assigned to the size of the 'lblSzRfrnceInput' parameter.
2nd output variable('alertTrigLabel') can be of variying sizes depending on the 'barCnt' parameter...BUT the smallest
size possible for the 2nd output variable ('alertTrigLabel') will be the size set in the 'lblSzRfrnceInput' parameter.
AssetColor()
This function is used to assign 40 different colors to 40 variables to be used for the different labels/plots.
Returns: Returns 40 output variables each with a different color assigned to them to be used in your plots & labels.
Regardless of if you have the maximum amount of assets your scanning(40 max) or less,
this function will assign 40 colors to 40 variables that you have between the ' '.
PrintedBarCount(_time, _barCntLength, _barCntPercentMin)
The Printed BarCount Filter looks back a User Defined amount of minutes and calculates the % of bars that have printed
out of the TOTAL amount of bars that COULD HAVE been printed within the same amount of time.
Parameters:
_time (int) : (int)
The time associated with the chart of the particular asset that is being screened at that point.
_barCntLength (int) : (int)
The amount of time (IN MINUTES) that you want the logic to look back at to calculate the % of bars that have actually
printed in the span of time you input into this parameter.
_barCntPercentMin (int) : (int)
The minimum % of Printed Bars of the asset being screened has to be GREATER than the value set in this parameter
for the output variable 'bc_gtg' to be true.
Returns: ( )
Returns 2 outputs:
1st is the % of Printed Bars that have printed within the within the span of time you input in the '_barCntLength' parameter.
2nd is true/false according to if the Printed BarCount % is above the threshold that you input into the '_barCntPercentMin' parameter.
RCI(_rciLength, _source, _interval)
You will see me using this a lot. DEFINITELY my favorite oscillator to utilize for SO many different things from
timing entries/exits to determining trends.Calculation of this indicator based on Spearmans Correlation.
Parameters:
_rciLength (int) : (int)
Amount of bars back to use in RCI calculations.
_source (float) : (float)
Source to use in RCI calculations (can use ANY source series. Ie, open,close,high,low,etc).
_interval (int) : (int)
Optional(if parameter not included, it defaults to 3). RCI calculation groups bars by this amount and then will.
rank these groups of bars.
Returns: (float)
Returns a single RCI value that will oscillates between -100 and +100.
RCIAVG(firstLength, _amtBtLengths, _rciSMAlen, _source, _interval)
20 RCI's are averaged together to get this RCI Avg (Rank Correlation Index Average). Each RCI (of the 20 total RCI)
has a progressively LARGER Lookback Length. Though the RCI Lengths are not individually adjustable,
there are 2 factors that ARE:
(1) the Lookback Length of the 1st RCI and
(2) the amount of values between one RCI's Lookback Length and the next.
*** If you set 'firstLength' to it's default of 200 and '_amtBtLengths' to it's default of 120 (aka AMOUNT BETWEEN LENGTHS=120)...
then RCI_2 Length=320, RCI_3 Length=440, RCI_4 Length=560, and so on.
Parameters:
firstLength (int) : (int)
Optional(if parameter is not included when the function is called, then it defaults to 200).
This parameter is the Lookback Length for the 1st RCI used in the RCI Avg.
_amtBtLengths (int) : (int)
Optional(if parameter not included when the function is called, then it defaults to 120).
This parameter is the value amount between each of the progressively larger lengths used for the 20 RCI's that
are averaged in the RCI Avg.
***** BEWARE ***** Too large of a value here will cause the calc to look back too far, causing an error(thus the value must be lowered)
_rciSMAlen (int) : (int)
Unlike the Single RCI Function, this function smooths out the end result using an SMA with a length value that is this parameter.
_source (float) : (float)
Source to use in RCI calculations (can use ANY source series. Ie, open,close,high,low,etc).
_interval (int) : (int)
Optional(if parameter not included, it defaults to 3). Within the RCI calculation, bars next to each other are grouped together
and then these groups are Ranked against each other. This parameter is the number of adjacent bars that are grouped together.
Returns: (float)
Returns a single RCI value that is the Avg of many RCI values that will oscillate between -100 and +100.
PercentChange(_startingValue, _endingValue)
This is a quick function to calculate how much % change has occurred between the '_startingValue' and the '_endingValue'
that you input into the function.
Parameters:
_startingValue (float) : (float)
The source value to START the % change calculation from.
_endingValue (float) : (float)
The source value to END the % change caluclation from.
Returns: Returns a single output being the % value between 0-100 (with trailing numbers behind a decimal). If you want only
a certain amount of numbers behind the decimal, this function needs to be put within a formatting function to do so.
Rescale(_source, _oldMin, _oldMax, _newMin, _newMax)
Rescales series with a known '_oldMin' & '_oldMax'. Use this when the scale of the '_source' to
rescale is known (bounded).
Parameters:
_source (float) : (float)
Source to be normalized.
_oldMin (int) : (float)
The known minimum of the '_source'.
_oldMax (int) : (float)
The known maximum of the '_source'.
_newMin (int) : (float)
What you want the NEW minimum of the '_source' to be.
_newMax (int) : (float)
What you want the NEW maximum of the '_source' to be.
Returns: Outputs your previously bounded '_source', but now the value will only move between the '_newMin' and '_newMax'
values you set in the variables.
Normalize_Historical(_source, _minimumLvl, _maximumLvl)
Normalizes '_source' that has a previously unknown min/max(unbounded) determining the max & min of the '_source'
FROM THE ENTIRE CHARTS HISTORY. ]
Parameters:
_source (float) : (float)
Source to be normalized.
_minimumLvl (int) : (float)
The Lower Boundary Level.
_maximumLvl (int) : (float)
The Upper Boundary Level.
Returns: Returns your same '_source', but now the value will MOSTLY stay between the minimum and maximum values you set in the
'_minimumLvl' and '_maximumLvl' variables (ie. if the source you input is an RSI...the output is the same RSI value but
instead of moving between 0-100 it will move between the maxand min you set).
Normailize_Local(_source, _length, _minimumLvl, _maximumLvl)
Normalizes series with previously unknown min/max(unbounded). Much like the Normalize_Historical function above this one,
but rather than using the Highest/Lowest Values within the ENTIRE charts history, this on looks for the Highest/Lowest
values of '_source' within the last ___ bars (set by user as/in the '_length' parameter. ]
Parameters:
_source (float) : (float)
Source to be normalized.
_length (int) : (float)
The amount of bars to look back to determine the highest/lowest '_source' value.
_minimumLvl (int) : (float)
The Lower Boundary Level.
_maximumLvl (int) : (float)
The Upper Boundary Level.
Returns: Returns a single output variable being the previously unbounded '_source' that is now normalized and bound between
the values used for '_minimumLvl'/'_maximumLvl' of the '_source' within the user defined lookback period.
"charts" için komut dosyalarını ara
TUE Renko Box/Time TesterThe TUE Renko Box/Time Tester is a technical indicator designed to quantify the frequency of consecutive duplicate timestamps within Renko charts on the TradingView platform. It serves the critical purpose of assessing the prevalence of identical timestamps, a crucial factor for the accurate automation of trading strategies.
The presence of duplicate timestamps can impede the reliability of automated trading systems. This indicator systematically examines Renko bars and identifies instances where successive bars share the same timestamp. The quantified data aids traders and developers in evaluating the quality and suitability of their Renko chart data for algorithmic trading purposes.
To ensure proper speed and precision in automation, traders are advised to run Renko charts on either 1-second or 5-second timeframes. Adjusting the box sizes of Renko charts based on these timeframes is essential.
The objective is to maintain the incidence of duplicate timestamps at levels below 20%, ensuring the robustness and consistency of automated trading strategies. By providing a quantitative analysis of timestamp duplication, this indicator supports traders in optimizing their trading systems for enhanced accuracy and efficiency.
The script will automatically collate only the last two days' worth of data, in order to maintain timestamp integrity. You should be able to view individual seconds on your timestamps, and if they're all reading :00 at the end, then you have ran out of seconds-level data. This is only done with a Premium or higher subscription.
MACDh with divergences & impulse system (overlayed on prices)-----------------------------------------------------------------
General Description:
This indicator ( the one on the top panel above ) consists on some lines, arrows and labels drawn over the price bars/candles indicating the detection of regular divergences between price and the classic MACD histogram (shown on the low panel). This script is special because it can be adjusted to fit several criteria when trading divergences filtering them according to the "height" and "width" of the patterns. The script also includes the "extra features" Impulse System and Keltner Channels, which you will hardly find anywhere else in similar classic MACD histogram divergence indicators.
The indicator helps to find trend reversals, and it works on any market, any instrument, any timeframe, and any market condition (except against really strong trends that do not show any other sign of reversion yet).
Please take on consideration that divergences should be taken with caution.
-----------------------------------------------------------------
Definition of classic Bullish and Bearish divergences:
* Bearish divergences occur in uptrends identifying market tops. A classical or regular bearish divergence occurs when prices reach a new high and then pull back, with an oscillator (MACD histogram in this case) dropping below its zero line. Prices stabilize and rally to a higher high, but the oscillator reaches a lower peak than it did on a previous rally.
In the chart above (weekly charts of NKE, Nike, Inc.), in area X (around August 2021), NKE rallied to a new bull market high and MACD-Histogram rallied with it, rising above its previous peak and showing that bulls were extremely strong. In area Y, MACD-H fell below its centerline and at the same time prices punched below the zone between the two moving averages. In area Z, NKE rallied to a new bull market high, but the rally of MACD-H was feeble, reflecting the bulls’ weakness. Its downtick from peak Z completed a bearish divergence, giving a strong sell signal and auguring a nasty bear market.
* Bullish divergences , in the other hand, occur towards the ends of downtrends identifying market bottoms. A classical (also called regular) bullish divergence occurs when prices and an oscillator (MACD histogram in this case) both fall to a new low, rally, with the oscillator rising above its zero line, then both fall again. This time, prices drop to a lower low, but the oscillator traces a higher bottom than during its previous decline.
In the example in the chart above (weekly charts of NKE, Nike, Inc.), you see a bearish divergence that signaled the October 2022 bear market bottom, giving a strong buy signal right near the lows. In area A, NKE (weekly charts) appeared in a free fall. The record low A of MACD-H indicated that bears were extremely strong. In area B, MACD-H rallied above its centerline. Notice the brief rally of prices at that moment. In area C, NKE slid to a new bear market low, but MACD-H traced a much more shallow low. Its uptick completed a bullish divergence, giving a strong buy signal.
-----------------------------------------------------------------
Some cool features included in this indicator:
1. This indicator also includes the “ Impulse System ”. The Impulse System is based on two indicators, a 13-day exponential moving average and the MACD-Histogram, and identifies inflection points where a trend speeds up or slows down. The moving average identifies the trend, while the MACD-Histogram measures momentum. This unique indicator combination is color coded into the price bars for easy reference.
Calculation:
Green Price Bar: (13-period EMA > previous 13-period EMA) and
(MACD-Histogram > previous period's MACD-Histogram)
Red Price Bar: (13-period EMA < previous 13-period EMA) and
(MACD-Histogram < previous period's MACD-Histogram)
Price bars are colored blue when conditions for a Red Price Bar or Green Price Bar are not met. The MACD-Histogram is based on MACD(12,26,9).
The Impulse System works more like a censorship system. Green price bars show that the bulls are in control of both trend and momentum as both the 13-day EMA and MACD-Histogram are rising (you don't have permission to sell). A red price bar indicates that the bears have taken control because the 13-day EMA and MACD Histogram are falling (you don't have permission to buy). A blue price bar indicates mixed technical signals, with neither buying nor selling pressure predominating (either both buying or selling are permitted).
2. Another "extra feature" included here is the " Keltner Channels ". Keltner Channels are volatility-based envelopes set above and below an exponential moving average.
3. It were also included a couple of EMAs.
Everything can be removed from the chart any time.
-----------------------------------------------------------------
Options/adjustments for this indicator:
*Horizontal Distance (width) between two tops/bottoms criteria.
Refers to the horizontal distance between the MACH histogram peaks involved in the divergence
*Height of tops/bottoms criteria (for Histogram).
Refers to the difference/relation/vertical distance between the MACH HISTOGRAM peaks involved in the divergence: 1st Histogram Peak is X times the 2nd.
*Height/Vertical deviation of tops/bottoms criteria (for Price).
Deviation refers to the difference/relation/vertical distance between the PRICE peaks involved in the divergence.
*Plot Regular Bullish Divergences?.
*Plot Regular Bearish Divergences?.
*Delete Previous Cancelled Divergences?.
*Shows a pair of EMAs.
*Shows Keltner Channels (using ATR)
Keltner Channels are volatility-based envelopes set above and below an exponential moving average.
*This indicator also has the option to show the Impulse System over the price bars/candles.
MACDh with divergences & impulse system-----------------------------------------------------------------
General Description:
This indicator ( the one on the low panel ) is a classic MACD that also shows regular divergences between its histogram and the prices. This script is special because it can be adjusted to fit several criteria when trading divergences filtering them according to the "height" and "width" of the patterns. The script also includes the "extra feature" Impulse System, which you will hardly find anywhere else in similar classic MACD histogram divergence indicators.
The indicator helps to find trend reversals, and it works on any market, any instrument, any timeframe, and any market condition (except against really strong trends that do not show any other sign of reversion yet).
Please take on consideration that divergences should be taken with caution.
-----------------------------------------------------------------
Definition of classic Bullish and Bearish divergences:
* Bearish divergences occur in uptrends identifying market tops. A classical or regular bearish divergence occurs when prices reach a new high and then pull back, with an oscillator (MACD histogram in this case) dropping below its zero line. Prices stabilize and rally to a higher high, but the oscillator reaches a lower peak than it did on a previous rally.
In the chart above (weekly charts of NKE, Nike, Inc.), in area X (around August 2021), NKE rallied to a new bull market high and MACD-Histogram rallied with it, rising above its previous peak and showing that bulls were extremely strong. In area Y, MACD-H fell below its centerline and at the same time prices punched below the zone between the two moving averages. In area Z, NKE rallied to a new bull market high, but the rally of MACD-H was feeble, reflecting the bulls’ weakness. Its downtick from peak Z completed a bearish divergence, giving a strong sell signal and auguring a nasty bear market.
* Bullish divergences , in the other hand, occur towards the ends of downtrends identifying market bottoms. A classical (also called regular) bullish divergence occurs when prices and an oscillator (MACD histogram in this case) both fall to a new low, rally, with the oscillator rising above its zero line, then both fall again. This time, prices drop to a lower low, but the oscillator traces a higher bottom than during its previous decline.
In the example in the chart above (weekly charts of NKE, Nike, Inc.), you see a bearish divergence that signaled the October 2022 bear market bottom, giving a strong buy signal right near the lows. In area A, NKE (weekly charts) appeared in a free fall. The record low A of MACD-H indicated that bears were extremely strong. In area B, MACD-H rallied above its centerline. Notice the brief rally of prices at that moment. In area C, NKE slid to a new bear market low, but MACD-H traced a much more shallow low. Its uptick completed a bullish divergence, giving a strong buy signal.
-----------------------------------------------------------------
Extra feature: Impulse System
This indicator also includes the “ Impulse System ”. The Impulse System is based on two indicators, a 13-day exponential moving average and the MACD-Histogram, and identifies inflection points where a trend speeds up or slows down. The moving average identifies the trend, while the MACD-Histogram measures momentum. This unique indicator combination is color coded into the price bars or macd histogram bars for easy reference.
Calculation:
Green Price Bar: (13-period EMA > previous 13-period EMA) and
(MACD-Histogram > previous period's MACD-Histogram)
Red Price Bar: (13-period EMA < previous 13-period EMA) and
(MACD-Histogram < previous period's MACD-Histogram)
Histogram bars are colored blue when conditions for a Red Histogram Bar or Green Histogram Bar are not met. The MACD-Histogram is based on MACD(12,26,9).
The Impulse System works more like a censorship system. Green histogram bars show that the bulls are in control of both trend and momentum as both the 13-day EMA and MACD-Histogram are rising (you don't have permission to sell). A red histogram bar indicates that the bears have taken control because the 13-day EMA and MACD Histogram are falling (you don't have permission to buy). A blue histogram bar indicates mixed technical signals, with neither buying nor selling pressure predominating (either both buying or selling are permitted).
The impulse system can be removed from the chart any time.
-----------------------------------------------------------------
Options/adjustments for this indicator:
*Horizontal Distance (width) between two tops/bottoms criteria.
Refers to the horizontal distance between the MACH histogram peaks involved in the divergence
*Height of tops/bottoms criteria (for Histogram).
Refers to the difference/relation/vertical distance between the MACH HISTOGRAM peaks involved in the divergence: 1st Histogram Peak is X times the 2nd.
*Height/Vertical deviation of tops/bottoms criteria (for Price).
Deviation refers to the difference/relation/vertical distance between the PRICE peaks involved in the divergence.
*Plot Regular Bullish Divergences?.
*Plot Regular Bearish Divergences?.
*Delete Previous Cancelled Divergences?.
*This indicator also has the option to show the Impulse System over the MACD histogram bars
Ultimate Trend LineThe "Ultimate Trend Line" indicator, designed for overlay on financial charts, calculates and plots a global trend line. It works by first allowing users to input several parameters such as different lengths for up to 21 groups, a multiplier that defines the deviation from the linear regression line for calculating the upper and lower bands, and a color for the fill.
Using these inputs, it calculates the upper and lower bands for each length group based on a multiple of the standard deviation from the linear regression line. It then averages these bands to define the global trend line, which is plotted on the graph.
Although the code includes commented-out lines for plotting each individual upper and lower band, the indicator as it stands only displays the overall average trend line. The line's color and linewidth can be adjusted according to user preferences.
This indicator can be effectively used on both logarithmic and linear scales. This versatility allows it to be adaptable to various types of financial charts and trading styles, providing a flexible tool for users to assess and visualize trend patterns across different market conditions and time frames. It maintains its accuracy and relevance, regardless of the scale used, thus making it a comprehensive solution for trend line analysis in diverse scenarios.
It's important to note that the "Ultimate Trend Line" indicator requires a substantial amount of historical data to function properly. If insufficient historical data is available, the indicator may not display accurately or at all. This issue is particularly prevalent when using larger time units, such as weekly or monthly charts, where the available data may not stretch back far enough to satisfy the requirements of the indicator. As such, users should ensure they are operating on a time scale and data set that provides adequate historical depth for the reliable operation of this indicator.
KST-Based MACDAs a follow-up to my previous script:
I am posting a stand-alone KST-based MACD.
Note that this indicator is highly laggy. Specific care must be taken when using it.
The MACD-Signal crossing is quite delayed but it is a definite confirmation.
For earlier signs, the Histogram must be analyzed. A shift from Green-White signals the 1st Bear Signal.
A MACD-Signal crossing signals the 2nd Bear SIgnal.
The same applies for bull-signs.
This indicator is useful for long-term charts on which one might want to pinpoint clear, longterm divergences.
Standard RSI, Stochastic RSI and MACD are notoriously problematic when trying to pinpoint long-term divergences.
Finally, this indicator is not meant for pinpointing entry-exit positions. I find it useful for macro analysis. In my experience, the decreased sensitivity of this indicator can show very strong signs, that can be quite laggy.
Inside the indicator there is a setting for "exotic calculations". This is an attempt to make this chart work in both linear/ negative charts (T10Y2Y) and log charts (SPX)
Tread lightly, for this is hallowed ground.
-Father Grigori
Watermark° (Quote, Name, Timeframe, Date)I have been asked for this a lot, so here it is!
It's an easy script to read, and for all you aspiring Pinescript coders out there it might serve as a little introduction on Tables , switch operator, and a bit of UI/UX!
Description:
This is just a watermark, which follows my personal style an aesthetic when it comes to Pinescript tools. I like to keep my charts clean to focus on Time and price, and I love to have a reminder to remain disciplined.
Homo Faber Fortunae Suae is a Latin maxim which loosely translates to: Humans Are The Makers Of Their Own Destiny.
So make your own destiny, master yourself and the charts!
Indicator Features:
– Display symbol ticker, timeframe and date all in one place.
– Make it look nice 🤗
– Protect your TV username ID, by having your chart show a custom username (if you are sharing charts outside of Tradingview, and are known under a different alias there)
Note: no matter what, by exporting images from TV (copy image/copy link to chart) your TV username will appear in the top left corner of the image
👇👁
[ChasinAlts] A New Beginning[MO]Hello Tradeurs, firstly let me say this… Please do not think that this dump is over (so I want to gift you one of the best gifts I CAN gift you at the PERFECT TIME...which is now) but I believe it to be the final one before a New Beginning is upon us. I hope that anybody that sees this within the next day or so listens to me when I tell you this… Follow the instructions below, IF ANYTHING, just to set the alert to be notify you so you can see why I’m about to tell you everything that I’m about to tell you. That being that this indicator is pure magic…..BUT you must stay in your lane when using it (ie. ultimately, understand its use case) and most importantly, how many people you expose it to. The good thing about it is it produces very few alerts. In fact, it was built SOLELY to find the very tips of MAJOR dumps/pumps (with its current default settings). I honestly cannot remember where I acquired the code so if anyone recognizes it please direct me to the source so I can give a shoutout. In the past it has been so astonishingly accurate that I didn’t want to publish it but I've just been...in the mood I suppose recently.
Now…it is SPECIFICALLY meant for the 1min TF. I’ll say it again… It is meant for ONE MINUTE CHARTS…it was built for 1min charts, it will only work as well as I’m describing to you on the…you guessed it…ONE MINUTE CHART (again, with the default settings how they are, that is). If any of you use it for this present dump (November 8, 2022) and want to thank me for it or speak very highly about it or give it a bunch of likes… DO NOT!!! I will reword this so you fully comprehend my urgency on this matter. I do not want this indicator getting out for every Joe Schmoe (or stupid YouTuber) to use and spread because the manipulators will see to it that it will no longer work. Things that will happen that will cause it to gain the popularity that I do not want it to have are the following:
1) You "like" the indicator in TradingView to show appreciation/that your using it so that it will show up in your indicators list (to get past this you need to select all of the text of the script on the indicator's page and copy and paste it into the “Pine Editor”. Then select "save" and name it as you wish. Now, it is in your indicator list under the name that you saved it as.
2) You *favorite* the indicator in TradingView
3) You leave comments in the comments section on the indicators page in TradingView (I really do love hearing comments about anything regarding my indicators(positive or negative..though I haven't gotten any negative yet SO BRING IT ON), even though I don’t get too many of them, so if you are grateful (or hateful) PLEASE message me privately (and really I truly truly do appreciate getting comments/messages so if it has benefited you make sure to message me as I might have more for those that do express their gratitude) and tell me anything that you want to tell me or ask me anything that you wanna ask me there).
One major thing that will help to suppress its popularity will be that if anybody goes back on historical charts to see its accuracy they most likely will not be able to go far back enough on the 1min TF to be able to Witness its efficacy so I'm banking on that helping to keep a lid on things.
The settings used (as well as the TF used) really should not be changed if using it for its intended purpose. On little dumps that last for a few hours os so will produce points somewhere in the 40 to 60 range at the dumps/pumps peak. Each coin is worth one point and there are 40 coins per set and 2 sets (that you will have to link together) and when the under the hood indicator is triggered for that coin it will add a point to the score. With the settings how they are and on the 1min TF(if I hadn't mentioned it yet. lol) a good point alert threshold to use to catch the apex of heavy pumps/dumps would be between 70 to 80 points(80 is max). Ultimately is the users choice to input the alert threshold of points in the indicators settings(default is 72). If you’re trying to nail the very bottom of a hard pump/dump, DO NOT fall for times where it peaks at 50 to 60. You’re looking for 70 or above.
*** This is the most important thing to do as you will not receive an alert if you do not do this correctly. You have to add the indicator two times to the chart. One of the indicators needs to be under “Coin Set 1“ and the other under “Coin Set 2“. Now, in “Set 1“ you need to go to the setting entitled “Select New Beginning Count Plot from drop-down“ and you need to open the drop-down and select the plot entitled “A New Beginning Count Plot”. This will link both the indicators and since there are 40 coins per iteration of the script, when you link them it could give you a max of 80 points total at the very peak of a very strong dump...which will obviously be rare. You CAN use only one copy of the script (but need to change the alert setting to a MAX of 40) but in my experience it's best to use both of them and to link them. It gives you a more well-rounded outcome. Good luck my people and always remember...Much love...Much Love. May the force be with your trades. -ChasinAlts out.
Spider Lines For Bitcoin (Daily And Weekly)I haven't seen any indicator do this, so I decided to publish this to form automatic Spider Charts without actually going through the effort of drawing them!
This script charts dotted lines (spider lines) all over, depicting support and resistance levels.
It works by connecting some candles from the 2018 bear market to the candle from 1st July 2019, followed by extending the lines to the right, making support and resistance levels for the future. The script works only for the daily and weekly charts for Bitcoin.
The levels are accurate to a good extent.
If the lines don't load, zoom out until the 2018 bear market top and it should load then.
Have fun with this indicator!
Oscillator Workbench — Chart [LucF]█ OVERVIEW
This indicator uses an on-chart visual framework to help traders with the interpretation of any oscillator's behavior. The advantage of using this tool is that you do not need to know all the ins and outs of a particular oscillator such as RSI, CCI, Stochastic, etc. Your choice of oscillator and settings in this indicator will change its visuals, which allows you to evaluate different configurations in the context of how the workbench models oscillator behavior. My hope is that by using the workbench, you may come up with an oscillator selection and settings that produce visual cues you find useful in your trading.
The workbench works on any symbol and timeframe. It uses the same presentation engine as my Delta Volume Channels indicator; those already familiar with it will feel right at home here.
█ CONCEPTS
Oscillators
An oscillator is any signal that moves up and down a centerline. The centerline value is often zero or 50. Because the range of oscillator values is different than that of the symbol prices we look at on our charts, it is usually impossible to display an oscillator on the chart, so we typically put oscillators in a separate pane where they live in their own space. Each oscillator has its own profile and properties that dictate its behavior and interpretation. Oscillators can be bounded , meaning their values oscillate between fixed values such as 0 to 100 or +1 to -1, or unbounded when their maximum and minimum values are undefined.
Oscillator weight
How do you display an oscillator's value on a chart showing prices when both values are not on the same scale? The method I use here converts the oscillator's value into a percentage that is used to weigh a reference line. The weight of the oscillator is calculated by maintaining its highest and lowest value above and below its centerline since the beginning of the chart's history. The oscillator's relative position in either of those spaces is then converted to a percentage, yielding a positive or negative value depending on whether the oscillator is above or below its centerline. This method works equally well with bounded and unbounded oscillators.
Oscillator Channel
The oscillator channel is the space between two moving averages: the reference line and a weighted version of that line. The reference line is a moving average of a type, source and length which you select. The weighted line uses the same settings, but it averages the oscillator-weighted price source.
The weight applied to the source of the reference line can also include the relative size of the bar's volume in relation to previous bars. The effect of this is that the oscillator's weight on bars with higher total volume will carry greater weight than those with lesser volume.
The oscillator channel can be in one of four states, each having its corresponding color:
• Bull (teal): The weighted line is above the reference line.
• Strong bull (lime): The bull condition is fulfilled and the bar's close is above the reference line and both the reference and the weighted lines are rising.
• Bear (maroon): The weighted line is below the reference line.
• Strong bear (pink): The bear condition is fulfilled and the bar's close is below the reference line and both the reference and the weighted lines are falling.
Divergences
In the context of this indicator, a divergence is any bar where the slope of the reference line does not match that of the weighted line. No directional bias is assigned to divergences when they occur. You can also choose to define divergences as differences in polarity between the oscillator's slope and the polarity of close-to-close values. This indicator's divergences are designed to identify transition levels. They have no polarity; their bullish/bearish bias is determined by the behavior of price relative to the divergence channel after the divergence channel is built.
Divergence Channel
The divergence channel is the space between two levels (by default, the bar's low and high ) saved when divergences occur. When price has breached a channel and a new divergence occurs, a new channel is created. Until that new channel is breached, bars where additional divergences occur will expand the channel's levels if the bar's price points are outside the channel.
Price breaches of the divergence channel will change its state. Divergence channels can be in one of five different states:
• Bull (teal): Price has breached the channel to the upside.
• Strong bull (lime): The bull condition is fulfilled and the oscillator channel is in the strong bull state.
• Bear (maroon): Price has breached the channel to the downside.
• Strong bear (pink): The bear condition is fulfilled and the oscillator channel is in the strong bear state.
• Neutral (gray): The channel has not been breached.
█ HOW TO USE THE INDICATOR
Load the indicator on an active chart (see here if you don't know how).
The default configuration displays:
• The Divergence channel's levels.
• Bar colors using the state of the oscillator channel.
The default settings use:
• RSI as the oscillator, using the close source and a length of 20 bars.
• An Arnaud-Legoux moving average on the close and a length of 20 bars as the reference line.
• The weighted version of the reference line uses only the oscillator's weight, i.e., without the relative volume's weight.
The weighted line is capped to three standard deviations of the reference.
• The divergence channel's levels are determined using the high and low of the bars where divergences occur.
Breaches of the channel require a bar's low to move above the top of the channel, and the bar's high to move below the channel's bottom.
No markers appear on the chart; if you want to create alerts from this script, you will need first to define the conditions that will trigger the markers, then create the alert, which will trigger on those same conditions.
To learn more about how to use this indicator, you must understand the concepts it uses and the information it displays, which requires reading this description. There are no videos to explain it.
█ FEATURES
The script's inputs are divided in five sections: "Oscillator", "Oscillator channel", "Divergence channel", "Bar Coloring" and "Marker/Alert Conditions".
Oscillator
This is where you configure the oscillator you want to study. Thirty oscillators are available to choose from, but you can also use an oscillator from another indicator that is on your chart, if you want. When you select an external indicator's plot as the oscillator, you must also specify the value of its centerline.
Oscillator Channel
Here, you control the visibility and colors of the reference line, its weighted version, and the oscillator channel between them.
You also specify what type of moving average you want to use as a reference line, its source and its length. This acts as the oscillator channel's baseline. The weighted line is also a moving average of the same type and length as the reference line, except that it will be calculated from the weighted version of the source used in the reference line. By default, the weighted line is capped to three standard deviations of the reference line. You can change that value, and also elect to cap using a multiple of ATR instead. The cap provides a mechanism to control how far the weighted line swings from the reference line. This section is also where you can enable the relative volume component of the weight.
Divergence Channel
This is where you control the appearance of the divergence channel and the key price values used in determining the channel's levels and breaching conditions. These choices have an impact on the behavior of the channel. More generous level prices like the default low and high selection will produce more conservative channels, as will the default choice for breach prices.
In this section, you can also enable a mode where an attempt is made to estimate the channel's bias before price breaches the channel. When it is enabled, successive increases/decreases of the channel's top and bottom levels are counted as new divergences occur. When one count is greater than the other, a bull/bear bias is inferred from it. You can also change the detection mode of divergences, and choose to display a mark above or below bars where divergences occur.
Bar Coloring
You specify here:
• The method used to color chart bars, if you choose to do so.
• If you want to hollow out the bodies of bars where volume has not increased since the last bar.
Marker/Alert Conditions
Here, you specify the conditions that will trigger up or down markers. The trigger conditions can include a combination of state transitions of the oscillator and the divergence channels. The triggering conditions can be filtered using a variety of conditions.
Configuring the marker conditions is necessary before creating an alert from this script, as the alert will use the marker conditions to trigger.
Realtime values will repaint, as is usually the case with oscillators, but markers only appear on bar closes, so they will not repaint. Keep in mind, when looking at markers on historical bars, that they are positioned on the bar when it closes — NOT when it opens.
Raw values
The raw values calculated by this script can be inspected using the Data Window, including the oscillator's value and the weights.
█ INTERPRETATION
Except when mentioned otherwise, this section's charts use the indicator's default settings, with different visual components turned on or off.
The aim of the oscillator channel is to provide a visual representation of an oscillator's general behavior. The simplest characteristic of the channel is its bull/bear state, determined by whether the weighted line is above or below the reference line. One can then distinguish between its bull and strong bull states, as transitions from strong bull to bull states will generally happen when trends are losing steam. While one should not infer a reversal from such transitions, they can be a good place to tighten stops. Only time will tell if a reversal will occur. One or more divergences will often occur before reversals. This shows the oscillator channel, with the reference line and the thicker, weighted line:
The nature of the divergence channel 's design makes it particularly adept at identifying consolidation areas if its settings are kept on the conservative side. The divergence channel will also reveal transition areas. A gray divergence channel should usually be considered a no-trade zone. More adventurous traders can use the oscillator channel to orient their trade entries if they accept the risk of trading in a neutral divergence channel, which by definition will not have been breached by price. This show only the divergence channels:
This chart shows divergence channels and their levels, and colors bars on divergences and on the state of the oscillator channel, which is not visible on the chart:
If your charts are already busy with other stuff you want to hold on to, you could consider using only the chart bar coloring component of this indicator. Here we only color bars using the combined state of the oscillator and divergence channel, and we do not color the bodies of bars where volume has not increased. Note that my chart's settings do not color the candle bodies:
At its simplest, one way to use this indicator would be to look for overlaps of the strong bull/bear colors in both the oscillator channel and a divergence channel, as these identify points where price is breaching the divergence channel when the oscillator's state is consistent with the direction of the breach.
Tip
One way to use the Workbench is to combine it with my Delta Volume Channels indicator. If both indicators use the same MA as a reference line, you can display its delta volume channel instead of the oscillator channel.
This chart shows such a setup. The Workbench displays its divergence levels, the weighted reference line using the default RSI oscillator, and colors bars on divergences. The DV Channels indicator only displays its delta volume channel, which uses the same MA as the workbench for its baseline. This way you can ascertain the volume delta situation in contrast with the visuals of the Workbench:
█ LIMITATIONS
• For some of the oscillators, assumptions are made concerning their different parameters when they are more complex than just a source and length.
See the `oscCalc()` function in this indicator's code for all the details, and ask me in a comment if you can't find the information you need.
• When an oscillator using volume is selected and no volume information is available for the chart's symbol, an error will occur.
• The method I use to convert an oscillator's value into a percentage is fragile in the early history of datasets
because of the nascent expression of the oscillator's range during those early bars.
█ NOTES
Working with this workbench
This indicator is called a workbench for a reason; it is designed for traders interested in exploring its behavior with different oscillators and settings, in the hope they can come up with a setup that suits their trading methodology. I cannot tell you which setup is the best because its setup should be compatible with your trading methodology, which may require faster or slower transitions, thus different configurations of the settings affecting the calculations of the divergence channels.
For Pine Script™ Coders
• This script uses the new overload of the fill() function which now makes it possible to do vertical gradients in Pine. I use it for both channels displayed by this script.
• I use the new arguments for plot() 's `display` parameter to control where the script plots some of its values,
namely those I only want to appear in the script's status line and in the Data Window.
• I used my ta library for some of the oscillator calculations and helper functions.
• I also used TradingView's ta library for other oscillator calculations.
• I wrote my script using the revised recommendations in the Style Guide from the Pine v5 User Manual.
Smoothed RSI Heikin Ashi Oscillator w/ Expanded Types [Loxx]Smoothed RSI Heikin-Ashi Oscillator w/ Expanded Types is a spin on Heikin Ashi RSI Oscillator by @JayRogers. The purpose of this modification is to reduce noise in the original version thereby increasing suitability of the signal output. This indicator is tuned for Forex markets.
Differences:
35+ Smoothing Options for RSI
35+ Smoothing Options for HA Candles
Heiken-Ashi Better Expanded Source input. This source input is use for the RSI calculation only.
Signals
Alerts
What are Heiken-Ashi "better" candles?
The "better formula" was proposed in an article/memo by BNP-Paribas (In Warrants & Zertifikate, No. 8, August 2004 (a monthly German magazine published by BNP Paribas, Frankfurt), there is an article by Sebastian Schmidt about further development (smoothing) of Heikin-Ashi chart.)
They proposed to use the following :
(Open+Close)/2+(((Close-Open)/( High-Low ))*ABS((Close-Open)/2))
instead of using :
haClose = (O+H+L+C)/4
According to that document the HA representation using their proposed formula is better than the traditional formula.
What are traditional Heiken-Ashi candles?
The Heikin-Ashi technique averages price data to create a Japanese candlestick chart that filters out market noise.
Heikin-Ashi charts, developed by Munehisa Homma in the 1700s, share some characteristics with standard candlestick charts but differ based on the values used to create each candle. Instead of using the open, high, low, and close like standard candlestick charts, the Heikin-Ashi technique uses a modified formula based on two-period averages. This gives the chart a smoother appearance, making it easier to spots trends and reversals, but also obscures gaps and some price data.
Future updates
Expand signal options to include RSI-, Zero-, and color-crosses
Moving Average Filters Add-on w/ Expanded Source Types [Loxx]Moving Average Filters Add-on w/ Expanded Source Types is a conglomeration of specialized and traditional moving averages that will be used in most of indicators that I publish moving forward. There are 39 moving averages included in this indicator as well as expanded source types including traditional Heiken Ashi and Better Heiken Ashi candles. You can read about the expanded source types clicking here . About half of these moving averages are closed source on other trading platforms. This indicator serves as a reference point for future public/private, open/closed source indicators that I publish to TradingView. Information about these moving averages was gleaned from various forex and trading forums and platforms as well as TASC publications and other assorted research publications.
________________________________________________________________
Included moving averages
ADXvma - Average Directional Volatility Moving Average
Linnsoft's ADXvma formula is a volatility-based moving average, with the volatility being determined by the value of the ADX indicator.
The ADXvma has the SMA in Chande's CMO replaced with an EMA, it then uses a few more layers of EMA smoothing before the "Volatility Index" is calculated.
A side effect is, those additional layers slow down the ADXvma when you compare it to Chande's Variable Index Dynamic Average VIDYA.
The ADXVMA provides support during uptrends and resistance during downtrends and will stay flat for longer, but will create some of the most accurate market signals when it decides to move.
Ahrens Moving Average
Richard D. Ahrens's Moving Average promises "Smoother Data" that isn't influenced by the occasional price spike. It works by using the Open and the Close in his formula so that the only time the Ahrens Moving Average will change is when the candlestick is either making new highs or new lows.
Alexander Moving Average - ALXMA
This Moving Average uses an elaborate smoothing formula and utilizes a 7 period Moving Average. It corresponds to fitting a second-order polynomial to seven consecutive observations. This moving average is rarely used in trading but is interesting as this Moving Average has been applied to diffusion indexes that tend to be very volatile.
Double Exponential Moving Average - DEMA
The Double Exponential Moving Average (DEMA) combines a smoothed EMA and a single EMA to provide a low-lag indicator. It's primary purpose is to reduce the amount of "lagging entry" opportunities, and like all Moving Averages, the DEMA confirms uptrends whenever price crosses on top of it and closes above it, and confirms downtrends when the price crosses under it and closes below it - but with significantly less lag.
Double Smoothed Exponential Moving Average - DSEMA
The Double Smoothed Exponential Moving Average is a lot less laggy compared to a traditional EMA. It's also considered a leading indicator compared to the EMA, and is best utilized whenever smoothness and speed of reaction to market changes are required.
Exponential Moving Average - EMA
The EMA places more significance on recent data points and moves closer to price than the SMA (Simple Moving Average). It reacts faster to volatility due to its emphasis on recent data and is known for its ability to give greater weight to recent and more relevant data. The EMA is therefore seen as an enhancement over the SMA.
Fast Exponential Moving Average - FEMA
An Exponential Moving Average with a short look-back period.
Fractal Adaptive Moving Average - FRAMA
The Fractal Adaptive Moving Average by John Ehlers is an intelligent adaptive Moving Average which takes the importance of price changes into account and follows price closely enough to display significant moves whilst remaining flat if price ranges. The FRAMA does this by dynamically adjusting the look-back period based on the market's fractal geometry.
Hull Moving Average - HMA
Alan Hull's HMA makes use of weighted moving averages to prioritize recent values and greatly reduce lag whilst maintaining the smoothness of a traditional Moving Average. For this reason, it's seen as a well-suited Moving Average for identifying entry points.
IE/2 - Early T3 by Tim Tilson
The IE/2 is a Moving Average that uses Linear Regression slope in its calculation to help with smoothing. It's a worthy Moving Average on it's own, even though it is the precursor and very early version of the famous "T3 Indicator".
Integral of Linear Regression Slope - ILRS
A Moving Average where the slope of a linear regression line is simply integrated as it is fitted in a moving window of length N (natural numbers in maths) across the data. The derivative of ILRS is the linear regression slope. ILRS is not the same as a SMA (Simple Moving Average) of length N, which is actually the midpoint of the linear regression line as it moves across the data.
Instantaneous Trendline
The Instantaneous Trendline is created by removing the dominant cycle component from the price information which makes this Moving Average suitable for medium to long-term trading.
Laguerre Filter
The Laguerre Filter is a smoothing filter which is based on Laguerre polynomials. The filter requires the current price, three prior prices, a user defined factor called Alpha to fill its calculation.
Adjusting the Alpha coefficient is used to increase or decrease its lag and it's smoothness.
Leader Exponential Moving Average
The Leader EMA was created by Giorgos E. Siligardos who created a Moving Average which was able to eliminate lag altogether whilst maintaining some smoothness. It was first described during his research paper "MACD Leader" where he applied this to the MACD to improve its signals and remove its lagging issue. This filter uses his leading MACD's "modified EMA" and can be used as a zero lag filter.
Linear Regression Value - LSMA (Least Squares Moving Average)
LSMA as a Moving Average is based on plotting the end point of the linear regression line. It compares the current value to the prior value and a determination is made of a possible trend, eg. the linear regression line is pointing up or down.
Linear Weighted Moving Average - LWMA
LWMA reacts to price quicker than the SMA and EMA. Although it's similar to the Simple Moving Average, the difference is that a weight coefficient is multiplied to the price which means the most recent price has the highest weighting, and each prior price has progressively less weight. The weights drop in a linear fashion.
McGinley Dynamic
John McGinley created this Moving Average to track price better than traditional Moving Averages. It does this by incorporating an automatic adjustment factor into its formula, which speeds (or slows) the indicator in trending, or ranging, markets.
McNicholl EMA
Dennis McNicholl developed this Moving Average to use as his center line for his "Better Bollinger Bands" indicator and was successful because it responded better to volatility changes over the standard SMA and managed to avoid common whipsaws.
Non lag moving average
The Non Lag Moving average follows price closely and gives very quick signals as well as early signals of price change. As a standalone Moving Average, it should not be used on its own, but as an additional confluence tool for early signals.
Parabolic Weighted Moving Average
The Parabolic Weighted Moving Average is a variation of the Linear Weighted Moving Average. The Linear Weighted Moving Average calculates the average by assigning different weight to each element in its calculation. The Parabolic Weighted Moving Average is a variation that allows weights to be changed to form a parabolic curve. It is done simply by using the Power parameter of this indicator.
Recursive Moving Trendline
Dennis Meyers's Recursive Moving Trendline uses a recursive (repeated application of a rule) polynomial fit, a technique that uses a small number of past values estimations of price and today's price to predict tomorrows price.
Simple Moving Average - SMA
The SMA calculates the average of a range of prices by adding recent prices and then dividing that figure by the number of time periods in the calculation average. It is the most basic Moving Average which is seen as a reliable tool for starting off with Moving Average studies. As reliable as it may be, the basic moving average will work better when it's enhanced into an EMA.
Sine Weighted Moving Average
The Sine Weighted Moving Average assigns the most weight at the middle of the data set. It does this by weighting from the first half of a Sine Wave Cycle and the most weighting is given to the data in the middle of that data set. The Sine WMA closely resembles the TMA (Triangular Moving Average).
Smoothed Moving Average - SMMA
The Smoothed Moving Average is similar to the Simple Moving Average (SMA), but aims to reduce noise rather than reduce lag. SMMA takes all prices into account and uses a long lookback period. Due to this, it's seen a an accurate yet laggy Moving Average.
Smoother
The Smoother filter is a faster-reacting smoothing technique which generates considerably less lag than the SMMA (Smoothed Moving Average). It gives earlier signals but can also create false signals due to its earlier reactions. This filter is sometimes wrongly mistaken for the superior Jurik Smoothing algorithm.
Super Smoother
The Super Smoother filter uses John Ehlers’s “Super Smoother” which consists of a a Two pole Butterworth filter combined with a 2-bar SMA (Simple Moving Average) that suppresses the 22050 Hz Nyquist frequency: A characteristic of a sampler, which converts a continuous function or signal into a discrete sequence.
Three pole Ehlers Butterworth
The 3 pole Ehlers Butterworth (as well as the Two pole Butterworth) are both superior alternatives to the EMA and SMA. They aim at producing less lag whilst maintaining accuracy. The 2 pole filter will give you a better approximation for price, whereas the 3 pole filter has superior smoothing.
Three pole Ehlers smoother
The 3 pole Ehlers smoother works almost as close to price as the above mentioned 3 Pole Ehlers Butterworth. It acts as a strong baseline for signals but removes some noise. Side by side, it hardly differs from the Three Pole Ehlers Butterworth but when examined closely, it has better overshoot reduction compared to the 3 pole Ehlers Butterworth.
Triangular Moving Average - TMA
The TMA is similar to the EMA but uses a different weighting scheme. Exponential and weighted Moving Averages will assign weight to the most recent price data. Simple moving averages will assign the weight equally across all the price data. With a TMA (Triangular Moving Average), it is double smoother (averaged twice) so the majority of the weight is assigned to the middle portion of the data.
The TMA and Sine Weighted Moving Average Filter are almost identical at times.
Triple Exponential Moving Average - TEMA
The TEMA uses multiple EMA calculations as well as subtracting lag to create a tool which can be used for scalping pullbacks. As it follows price closely, it's signals are considered very noisy and should only be used in extremely fast-paced trading conditions.
Two pole Ehlers Butterworth
The 2 pole Ehlers Butterworth (as well as the three pole Butterworth mentioned above) is another filter that cuts out the noise and follows the price closely. The 2 pole is seen as a faster, leading filter over the 3 pole and follows price a bit more closely. Analysts will utilize both a 2 pole and a 3 pole Butterworth on the same chart using the same period, but having both on chart allows its crosses to be traded.
Two pole Ehlers smoother
A smoother version of the Two pole Ehlers Butterworth. This filter is the faster version out of the 3 pole Ehlers Butterworth. It does a decent job at cutting out market noise whilst emphasizing a closer following to price over the 3 pole Ehlers.
Volume Weighted EMA - VEMA
Utilizing tick volume in MT4 (or real volume in MT5), this EMA will use the Volume reading in its decision to plot its moves. The more Volume it detects on a move, the more authority (confirmation) it has. And this EMA uses those Volume readings to plot its movements.
Studies show that tick volume and real volume have a very strong correlation, so using this filter in MT4 or MT5 produces very similar results and readings.
Zero Lag DEMA - Zero Lag Double Exponential Moving Average
John Ehlers's Zero Lag DEMA's aim is to eliminate the inherent lag associated with all trend following indicators which average a price over time. Because this is a Double Exponential Moving Average with Zero Lag, it has a tendency to overshoot and create a lot of false signals for swing trading. It can however be used for quick scalping or as a secondary indicator for confluence.
Zero Lag Moving Average
The Zero Lag Moving Average is described by its creator, John Ehlers, as a Moving Average with absolutely no delay. And it's for this reason that this filter will cause a lot of abrupt signals which will not be ideal for medium to long-term traders. This filter is designed to follow price as close as possible whilst de-lagging data instead of basing it on regular data. The way this is done is by attempting to remove the cumulative effect of the Moving Average.
Zero Lag TEMA - Zero Lag Triple Exponential Moving Average
Just like the Zero Lag DEMA, this filter will give you the fastest signals out of all the Zero Lag Moving Averages. This is useful for scalping but dangerous for medium to long-term traders, especially during market Volatility and news events. Having no lag, this filter also has no smoothing in its signals and can cause some very bizarre behavior when applied to certain indicators.
________________________________________________________________
What are Heiken Ashi "better" candles?
The "better formula" was proposed in an article/memo by BNP-Paribas (In Warrants & Zertifikate, No. 8, August 2004 (a monthly German magazine published by BNP Paribas, Frankfurt), there is an article by Sebastian Schmidt about further development (smoothing) of Heikin-Ashi chart.)
They proposed to use the following:
(Open+Close)/2+(((Close-Open)/( High-Low ))*ABS((Close-Open)/2))
instead of using :
haClose = (O+H+L+C)/4
According to that document the HA representation using their proposed formula is better than the traditional formula.
What are traditional Heiken-Ashi candles?
The Heikin-Ashi technique averages price data to create a Japanese candlestick chart that filters out market noise.
Heikin-Ashi charts, developed by Munehisa Homma in the 1700s, share some characteristics with standard candlestick charts but differ based on the values used to create each candle. Instead of using the open, high, low, and close like standard candlestick charts, the Heikin-Ashi technique uses a modified formula based on two-period averages. This gives the chart a smoother appearance, making it easier to spots trends and reversals, but also obscures gaps and some price data.
Expanded generic source types:
Close = close
Open = open
High = high
Low = low
Median = hl2
Typical = hlc3
Weighted = hlcc4
Average = ohlc4
Average Median Body = (open+close)/2
Trend Biased = (see code, too complex to explain here)
Trend Biased (extreme) = (see code, too complex to explain here)
Included:
-Toggle bar color on/off
-Toggle signal line on/off
Better Heiken-Ashi Candles w/ Expanded Source Types [Loxx]Better Heiken-Ashi Candles w/ Expanded Source Types is an indicator to compare regular candles to traditional Heiken-Ashi candles to "better" Heiken Ashi candles. This indicator and comparison study appears an oscillator. The purpose of this indicator is to demonstrate a better way to calculate HA candles and also to demonstrate expanded source types. This indicator is meant to be used by advanced Pine Coders who wish to add fine-tuning to their indicators and strategies.
What are Heiken Ashi "better" candles?
The "better formula" was proposed in an article/memo by BNP-Paribas (In Warrants & Zertifikate, No. 8, August 2004 (a monthly German magazine published by BNP Paribas, Frankfurt), there is an article by Sebastian Schmidt about further development (smoothing) of Heikin-Ashi chart.)
They proposed to use the following :
(Open+Close)/2+(((Close-Open)/(High-Low))*ABS((Close-Open)/2))
instead of using :
haClose = (O+H+L+C)/4
According to that document the HA representation using their proposed formula is better than the traditional formula.
What are traditional Heiken-Ashi candles?
The Heikin-Ashi technique averages price data to create a Japanese candlestick chart that filters out market noise.
Heikin-Ashi charts, developed by Munehisa Homma in the 1700s, share some characteristics with standard candlestick charts but differ based on the values used to create each candle. Instead of using the open, high, low, and close like standard candlestick charts, the Heikin-Ashi technique uses a modified formula based on two-period averages. This gives the chart a smoother appearance, making it easier to spots trends and reversals, but also obscures gaps and some price data.
What's going on with this indicator?
- First, we have the options to select the candlestick type: Regular, HA, HA Better
- Next, and to demonstrate the expanded source types, I've added a simple moving average. In the drop down for the SMA source you'll notice something very different from the typical TradingView source selector. Here's how to decode the new names for the sources:
Close = close
Open = open
High = high
Low = low
Median = hl2
Typical = hlc3
Weighted = hlcc4
Average = ohlc4
Average Median Body = (open+close)/2
Trend Biased = (see code, too complex to explain here)
Trend Biased (extreme) = (see code, too complex to explain here)
... for HA and HA better, see the same set up as above but with different open and close values to calcualate the other source types
- For the HA better calculations, we run the close value through either an Adaptive, Kaufman, or T3 smoothing filter. The length for these smoothing filters, either 2 or 3, can be found in the code and is a constant value that shouldn't be changed. This smoothing is in inline with what is described in the article mentioned above
- Lastly, I've placed an SMA over the oscillator so that the user can test out the various sources explained above
Included:
- Toggle on/off bar coloring
PSv5 Color Magic and Chart Theme SimulatorKEEP YOUR COINS FOLKS! I DON'T NEED THEM, DON'T WANT THEM. Many other talented authors on TV deserve them.
INTRODUCTION:
This is my "PSv5 Color Magic and Chart Theme Simulator" displayed using Pine Script version 5.0. The purpose of this PSv5 colorcator is to show vivid colors that are most suitable in my opinion for modifying or developing Pine scripts. Whether you are new to Pine or an experienced Pine poet, this should aid you in developing indicators with stunning color from the provided color list that is easily copied and pasted into any novel script you should possess. Whichever colors you choose, and how, is up to your imagination's capacity.
COMMENTARY:
I have a thesis. Pine essentially is a gigantor calculator with a lot of programmable bells and whistles to perform intense analytics. Zillions of numbers per day are blended up into another cornucopia of numbers to analyze. The thing is, ALL of those numbers are moot unless we can informatively portray them in various colorized forms with unique methods to point out significant numeric events. By graphically displaying them with specific modes of operation, only then do these numbers truly make any sense to us and become quantitatively beneficial.
I have to admit... I hate numbers. I never really liked them, even before I knew what an ema() was. Some days I almost can't stand them, and on occasion I feel they deserve to be flushed down the toilet at times. However, I'm a stickler for a proper gauge of measurements. Numbers are a mental burden, but they do have "purpose and meaning". That's where COLOR comes in! By applying color in specific ways in varying dynamic forms, we can generate smarter visual aids from these numerics. Numbers can be "transformed" into something colorful it wasn't before, into a tool, like a hammer. But we don't need a hammer, we need an impressive jack hammer for BIG problem solving that we could never achieve in the not to distant past.
As time goes on, we analytically measure more, and more, and more each year. It's necessary to our continual evolution. That's one significant difference between us and cave men, and the pertinent reason why we are quickly evolving as a species, while animals haven't. Humankind is gifted to enumerate very well AND blessed to see in color. We use it for innumerable things in the technological present for purpose and pleasure. Day in and day out, we take color for granted, because it's every where we can look. The fact is, color is the most important apparatus in humankind's existence EVER. We wouldn't have survived this far without it.
By utilizing color to it's grand potential, greater advancements can be attained while simultaneously being enjoyed visually. Once color is transformed from it's numeric origins into applicable tools, we can enjoy the style, elegance, and QUALITATIVE nature of the indication that can be forged. Quantities can't reveal all. Color on the other hand has a handy "quality" factor to it, often revealing things we can't ordinarily recognize. When high quality tools provide us with obtained goals, that's when we will realize how magical color truly is, always has been, and shall always be.
The future emerging economies and future financial vessels of people around the globe are going to be dependent on the secured construction of intelligent applications with a rock solid color foundation, not just math alone. I have no doubt about that. I can envision that with my eyes closed. To make an informed choice, it should be charted or graphed somehow prior to a final executive decision to trade. Going back to abysmal black and white with double decimal points placed next to cartoons within extinction doomed newspapers is not a viable option any more.
OBSERVATIONS AND UTILITY:
One thing you will notice is the code is very dense. Looks almost hideous right? Well, the variable naming is lengthy, but it's purpose is to be self explanatory, even for those who don't know how to program, YET. I'm simply not a notation enthusiast. My main intention was to provide clearly identifiable variables from their origin of assignment to their intended destination of use, clearly visible for anyone visiting. The empowerment of well versed words that are easier to understand, is a close rival to the prominent influence color has.
Secondly, I'm displaying hline() and label.new() as prime candidates to exemplify by demonstration how the "Power of Color" can be embraced with the "Power of Pine". Color in Pine has been extensively upgraded to serve novel purposes to accomplish next generation indicators that do and WILL come to exist. New functions included with PSv5 are color.rgb(), color.from_gradient(), color.r(), color.g(), color.b(), and color.t() to accompany color.new() in our mutual TV adventures. Keep in mind, the extreme agility of color also extends to line.new(), the "entirely new" linefill.new(), table.new(), bgcolor() and every other function that may utilize color.
There's a wide range of adjustability in Settings to make selections to see how they perform on different backgrounds, with their size and form. As you curiously toy with those, you're going to notice how some jump out like laser beams while others don't. Things that aren't visually appealing, still have very viable purposes, even if they don't stand out in the crowd. Often, that's preferable. The important thing is that when pertinent information relative to indication is crucial, you can program it with distinction from an assortment of a potential 1.67 million colors that can be created in Pine. "These" are my chosen favorite few, and I hope you adopt them.
PURPOSES:
For those of you who are new to Pine Script, this also may help you understand color hex/rgb and how it is utilized in Pine in a most effective manner. The most skilled of programmers can garner perks as well. There is countless examples of code diversity present here that are applicable in other scripts with adequate mutation. Any member has the freedom use any of this code in this script any way they see fit. It's specifically intended for all. There is absolutely no need for accreditation for any of this code reuse ever, in the present case. Don't worry about, I'm not.
The color_tostring() will be most valuable in troubleshooting color when using color.rgb() and becoming adept with it. I'm not going to be able to use color.rgb() without it. Chameleon indicators of the polychromatic variety are most likely going to be fine tuned with color_tostring() divulging it's results to label.new() or even table.new() maybe. One the best virtues of this script in chart, is when you hover over the generated labels, there's a hidden gift for those who truly wish to learn the intricate mechanics of diverse color in Pine. Settings has informative tooltips too.
AFTERTHOUGHTS:
Colors are most vibrant on the "Black Chart" which is the default, but it doesn't currently exist as a chart theme. With the extreme luminous intensity of LCDs in millicandela( mcd ), you may notice "Light" charts may saturate the colors making charts challenging to analyze. Because of this, I personally use "Dark Charts" and design my indicators specifically for these. I hope this provides inspiration for the future developers who are contemplating the creation of next generation indicators and how color may enhance their usefulness.
When available time provides itself, I will consider your inquiries, thoughts, and concepts presented below in the comments section, should you have any questions or comments regarding this indicator. When my indicators achieve more prevalent use by TV members , I may implement more ideas when they present themselves as worthy additions. Have a profitable future everyone!
neutronix community bot ML + Alerts 4h-daily (mod. capissimo)Gm traders,
i have been a python programmer for some years studying artificial intelligence for general purpose; after some time i finally decided to have a look at some finance related stuff and scripts.
Moved by curiosity i've decided to make some but decisive modifications to a script i tried to use initially but without success: the LVQ machine learning strategy.
So after studying the charts and indicators, i have rewritten this script made by Capissimo and added heavy filtering thanks to vwap and vwma, then fixed repaint and other issues.
I hope you enjoy it and that it could increase your possibilities of success in trading.
HOW TO USE THE SCRIPT
Add the script to 3h+ charts like for example BTC 4h, 6h, 8h, 12h, daily. (In order for it to work on shorter timeframes charts you can try to change to lookback window but i dont advise it).
Change only rsi and volfilter(volume filtering) settings to try to find the best winrate. Leave dataset to open. Fyi the winrate isn't 100% accurate but can give you a raw vision of final results.
Use alerts included for trading and and in options click on 'Once per bar'. If you have checked 'Reverse Signals' in the control panel you have got more 'risky' signals so be advised if trading futures and stocks.
Exit trade signals not provided, so it is recommended the use of take profits and stop loss (1.5:1 ratio)
As always, the script is for study purposes. Do not risk more than you can spend!
Original LVQ-based strategy made by capissimo
Modified by gravisxv 13/10/2021
Heikin-Ashi MACD"Heikin-Ashi, also sometimes spelled Heiken-Ashi, means "average bar" in Japanese. The Heikin-Ashi technique can be used in conjunction with candlestick charts when trading securities to spot market trends and predict future prices. It's useful for making candlestick charts more readable and trends easier to analyze. For example, traders can use Heikin-Ashi charts to know when to stay in trades while a trend persists but get out when the trend pauses or reverses. Most profits are generated when markets are trending, so predicting trends correctly is necessary."
HA bars help us to smooth the price action, and I think MACD gives me a lot of signals and I need to eliminate them and add MACD strategy on Heiken-Ashi candles to look performance.
Mostly, it eliminates %75 of the signals, and most of the time it did increase backtest performance significantly.
There is still a way to it to combine other indicators for complete strategy, but at least We can achieve better MACD with this approach.
ITG ScalperITG Scalper by Complector.
Inspired by Juboal-Rabaroansa Perosteck Alseyn Balveda dam T'seif
Methology:
- I am using a TEMA (triple EMA) to determine the local trend direction and to give buy & sell signals when the trend changes.
- An optional filter, using moving average convergence divergence (MACD), can be switched on to filter out 'false' signals.
- The calculation of the TEMA does not request data from a resolution higher or lower than the resolution of the main charts symbol,
However, the filter function does, if another resolution is chosen for the filter.
- Persistent variables are used for buy and sell prices, enabling color-coding of the sell-signal (profitable or not).
Features:
- Color coded TEMA - bullish=green , bearish=red
- Buy/Sell indicator - Sell indicator: green=profit, yellow=loss
- Optional noise filter
- Optional variable time-frame for noise filter
Remarks:
In my experience, the default values works best on the daily time frame. I encourage everyone to experiment with the values for best results.
Using the script on non-standard charts (Heikin Ashi, Renko etc.) can produce unrealistic results.
Using a resolution higher or lower than the main charts symbol for the filter can possibly lead to repainting.
Thanks to Iain M. Banks for making my life richer :-)
RSI-Last-3-ExtremaThis script indicates when the current Relative Strength Index of the last 8 closes is beyond a level from center oscillation which signals the equity is likely to reverse course. When it is the lowest RSI reading of the prior 3 readings and below 25, a green vertical bar will appear signaling a potential BUY point. Likewise, the highest reading of the prior 3 RSI readings and above 75 will signal a vertical red bar or SELL signal. The bar has to have a final close price for the signal to be active. Reversal could take a few more bars to occur depending on the timeframe and equity symbol.
You will be able to find many charts that have this signal perfectly finding the top or bottom of a significant trend.
It successfully indicates profitable reversal around 80% of the time. So far, It is 85% accurate or better in determining downtrend start points on the Daily, 120, 60, 30 Minute charts according to the study of more than 10,000 occurrences. It is 86% accurate on the 30 Minute chart.
This is another tool I use in finding or confirming potential price action. Hope you find it useful.
To add this, favorite the script by clicking "Add to your Favorite Indicators" at the top of the code portion below. On your top tool bar is an "fx" button with a downward arrow to the right of it. Click on the downward arrow/caret and scroll down to "RSI-Last-3-Extrema". Click on this title and it should add to the bottom of your current chart. If you do not see BUY (green vertical bars) or SELL (red vertical bars) right away, try other charts and timeframes.
Donchian DipThe Donchian Dip
This strategy is designed to look for good "Buy the Dip" entries on stocks that are clearly in a strong 1-year upward trend. If you do not know how to identify those stocks on your own please do not use this system or continue your education until you do. The Donchian Dip strategy was designed on the daily time frame but works amazingly well on both daily and weekly timeframes. It does still work on intraday charts also if the current trend on the daily chart is in a strong uptrend.
Chart Setup:
3-period Donchian Channel with a 1-period offset (hide basis)
Bollinger Bands with the default settings of 20/2 (display basis)
Entry Signals:
There are 3 different entry signals that will be printed on the chart that have similar underlying criteria but are ranked based on skill level just like ski slope skill levels! I recommend only taking green entries until you are familiar with the system and the stocks you are trading.
Green Easy Entry:
This is the safest buy the dip entry that is normally found at or near a large retracement bottom. You might get one or two bad entries but be persistent and eventually, a great entry will present itself!
These are the specifics for the conditions that trigger a Green entry if you want to know what they are:
1. The current bar is an up bar (green or white bar) and closed above the lower Donchian channel
2. Previous bar or 2 bars back closed below the lower Donchian channel
3. Previous bar or 2 bars back closed below the Bollinger Band Basis (20 SMA )
4. The low of the previous bar or 2 bars back was below the lower Bollinger Band
Blue Intermediate Entry:
This is a decent entry if you missed the green entry, want to add to an existing position, or are not sure it will pull back far enough to even give a green entry. I would suggest only trade these entries to add to an existing pyramid position or get back into a trade that you were recently stopped out of. However, on high-flying stocks like TSLA these signals and the Black Diamond entry signals might be the only ones you get for a long time. Also, on the weekly chart, Blue or Black entries are sometimes all you will get for a year or more.
These are the specifics for the conditions that trigger a Blue entry if you want to know what they are:
1. The current bar is an up bar (green or white bar) and closed above the lower Donchian channel
2. Previous bar or 2 bars back closed below the lower Donchian channel
3. Previous bar or 2 bars back closed below the Bollinger Band Basis (20 SMA )
Black Diamond Advanced Rule:
This is normally just a small pullback re-entry signal on a strong trending stock like TSLA ...trade with extreme caution!!! You have been warned but daredevils feel free to give it a shot. I sometimes do trade these entries if the market and sector of the stock I am trading are extremely bullish or if I am looking to add to a position but I use a conservative stop.
These are the specifics for the conditions that trigger a Black entry if you want to know what they are:
1. The current bar is an up bar (green or white bar) and closed above the lower Donchian channel
2. Previous bar or 2 bars back closed below the lower Donchian channel
3. Previous bar or 2 bars back closed above the Bollinger Band Basis (20 SMA )
Exit Criteria:
The goal of this strategy is to buy the dip and hold as long as possible...let's practice some Paytience and exercise those holding muscles! RLT!!!
So, we don't want to exit early but we also want to protect our profits somehow. We do this by using the built-in trailing stops that are defined by dots of three different shades of purple on the chart (feel free to change these in the settings). Simply move your trailing stop to the highest current dot price level. Do not move the trailing stop down ever even if a lower dot is printed later. These are simply the suggested trailing stops and definitely use your own judgment for exits but if you backtest this strategy enough you will most likely discover that in the long run, these trailing stops work really well.
I hope this strategy helps you to identify good "Buy the Dip" entries on stocks you love as well as trains you to hold your winners longer for bigger gains.
***HOW TO ADD TO YOUR CHARTS***
1) Click the "Add to Favorite Scripts" button
2) Go to a stock chart and click the "Indicators" icon at the top
3) Next, on the left, click the "Favorites" and then click the "Naked Put - Growth Indicator v2"
4) It should appear on your charts, and you can click the "gear" icon on the study to edit a few settings.
5) Read the release notes above so you understand how it works.
Pearsons R historic breaks ( for making strategy out of it )Pearsons R adjustments of linear regressions is a good tool to analyse visually the trend basis channeling of the market,
one of the common challenges in the scripts which i came across the tradingview community is the lack of the historic places put over the charts where the price actually crossed up/below the channel boundaries,
For me in order to do so we would have to replay the scripts over and over.
So I came up with an addon extension to a good script on the community ()
I have added the historic marks over the charts ( blue/green/red/orange Arrows which you see on the charts)
These arrows are the places where the price have crossed the channel boundaries historically
So,
Blue arrow = Bull Intent ,Place where the upper channel boundary line have been crossed
Orange arrow = Bear Intent , Place where the Lower channel boundary line have been crossed
Green arrow = Bull Max , Place where the Maximum Upper channel boundary line have been crossed
Red arrow = Bear Max , Place where the Minimum Lower channel boundary line have been crossed
For me this type of approach is good for making a strategy out of the concepts visually, in congestion to other indicators
I would suggest you guys to check this on alert basis with your setups to derive out the best from linear regressions
Lastly it would be a pleasure to give credits to the creators of Pearsons R scripts in Tradingview
@midtownsk8rguy
@TradeBoneDogs
@x11joe
Also thanking Tradingview for providing us such an awesome community and platform :)
[blackcat] L3 Ehlers Enhanced Corona Swing PositionLevel: 3
Background
John F. Ehlers introuced Enhaced Corona Swing Position Indicator in April, 2012.
Function
John Ehlers's corona indicators, "Corona Charts," provide a "multidimensional" view of market activity. In the article "Corona Charts" in Nov, 2008, John Ehlers further developed his earlier work on market cycles. A new kind of indicator was presented that uses a glow-like effect to present another dimension of data. Implementation of corona charts in pine v4 helps detect dominant cycles in data. It provides a corona chart for swing positions indicator. He made an enhanced version of corona chart after 4 years, which could be used as a range filter to detect sideways and trends. Dr . Ehlers claims that a corona is displayed when the market is in a trend and there is little cyclic component. The swing position indicator shows the phasing of the data within the dominant cycle. In a pure cycle the Swing Position will trace out the shape of a sine wave.
Key Signal
DomCyc ---> Dominant Cycle
Raster ---> Corona Raster Array
Pros and Cons
100% John F. Ehlers definition translation, even variable names are the same. This help readers who would like to use pine to read his book.
Remarks
The 79th script for Blackcat1402 John F. Ehlers Week publication.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
Bollinger Bands %B + ATR This indicator is best suitable for the 30-minutes interval OIL charts, due to ATR accuracy.
BB%B is great for showing oversold/overbought market conditions and offers excellent entry/exit opportunities for Day Trading (30 minutes chart), as well as reliable convergence/divergence patterns. ATR is conveniently combined and shows potential market volatility levels for the day when used in 30-minutes charts, thus demarcating your day trade exit point.
To use the ATR on this indicator: Just read the ATR value of the lowest (for a new bull trend) or the highest (for a new bear trend) candlestick of the newly formed trend leg. Let's suppose the ATR reads 0.2891, then you project a move of 2.891 points towards the given trend direction using the ruler tool (30-minutes charts). That's all, and there you have your take profit target!
Good Luck!!!
TST Signals & AlertsThis is an unofficial script for strategies tested on Trading Strategy Testing Youtube channel. Over time, most successful strategies will be added with an option to set strategy-specific alerts . TST Signals & Alerts will draw signals on the chart when the entry conditions are met. You can also opt for displaying indicators .
My script is meant for beginners but can be used by veterans too. Just pick one or two strategies, you don't want to flood your chart with conflicting signals. You may want to support your trades with a proper analysis. Is the market trending? Is there a fundament around the corner?
If a new signal occurs when there is still an open position, you are not supposed to take another.
The current version includes MACD and ADX + BB and BB strategies.
MACD strategy:
►Buy, when MACD crosses below the signal line when it is negative. The price must also be above 200 EMA.
►Sell, when MACD crosses above the signal line when it is positive. The price must also be below 200 EMA.
►This strategy was tested on 15-minute charts of EURUSD with reward-to-risk ratio 1,5 and win rate of 61% over 100 trades.
►►►MACD has to be added to your chart separately because it needs a new window. Ticking display indicators will not add MACD to your chart.
►►►MACD was also tested by a different channel I made a script for. You can view the results and the script here:
ADX + BB strategy:
►Buy, when the price is above 200 EMA and ADX becomes higher than 25.
►Sell, when the price is below 200 EMA and ADX becomes higher than 25.
►Stop-loss is either 200 EMA or Bollinger Bands level. Check the channel for more information.
►This strategy was tested on 5-minute charts of EURUSD, USDJPY, AUDUSD with reward-to-risk ratio 1,2 and win rate of 56% over 100 trades in total.
BB strategy:
►Buy, when the price is above 200 EMA and candle's low is below the lower Bollinger Band.
►Sell, when the price is below 200 EMA and candle's high is above the upper Bollinger Band.
►This strategy was tested on 15-minute charts of EURUSD with reward-to-risk ratio 1,5 and win rate of 52% over 100 trades in total.
►►►Due to the relatively low win rate of this strategy, you need to filter out potentially harmful signals with a proper analysis.
Bear in mind that backtesting performance doesn't guarantee future profitability. • Most systematic strategies are not suitable for each timeframe - if you use the different timeframe than the one it was tested on, the result can differ significantly. • You should perform your own backtest to base your trades on more data & to establish confidence in the selected strategy. • This script is not a replacement for proper analysis.
New strategies will be added when I have time. If I see multiple people asking for the same feature, I might agree to release it with a new version. I am not going to add input options in this script, it could come as a separate script though. I am in no way affiliated with the Youtube channel, so if you find the script helpful, shot me a message or send me some TradingView coins >)
If you encounter any bug, you can report it in a message or in comments. Support it with screenshot and relevant information such as a time when it occurred and what options were on etc.






















