Indicator

Indicator

Oscillating Length Moving Averages***CREDIT TO PulseWire's TA Library*** (), Attempted to use "import PulseWire/ta/4" to import the library, but for whatever reason
some of the functions failed to work, while others had no issue, so I opted to just copy paste what I wanted to use.
This moving average uses an oscillator to influence the length used during calculation. Extremely customizable/tunable with ability to change Max and Min length values, length multiplier, length multiple,4 different settings ,( Decline , <>Peak, >Decline , <>Peak, > Indicator

Indicator

Sw1tchFX - Average Daily RangeDESCRIPTION AND OVERVIEW
The Average Daily Range is a measure of volatility (typically across 5 days for the FX markets). I originally saw this being used in a trading system called ANTSSYS by Daryll Guppy and some other developers. I couldn't find it anywhere so I decided to build it from scratch.
What this does is allow you to measure volatility across various FX assets (I will apply other asset classes in the future that this is applicable to i.e. Crypto, Commodities, Blue Chip Stocks), and set realistic targets based off that volatility. Overall, this makes much more sense to me in the FX markets rather than support and resistance lines because it's based off the actual movement of the asset class. Market research shows that an asset class has a 80-85% chance to reach 75% of it's Average Daily Range (ADR).
Let's take a look at the daily ADR on the GBPNZD 15m chart. Notice how the values of the ADR act as real support and resistance based off the volatility of the asset. In this case, price did not quite reach the 75% ADR target.
Let's take a look at another example on EURNZD 15m chart. In this case, price hit the 75% target.
It's important to note that these levels do not bound the price. The probability that price exceeds it's 75% ADR is fairly low, but not impossible. Especially during important news events. Let's look at the recent USDCHF 15m chart for example.
Additionally, you can use these values to measure longer term movements (Weekly, and Monthly)
Here is a weekly view:
And a monthly view:
HOW I USE THIS
I use this in conjunction with some other indicators I've developed. Typically, I use range bars since I only care about price, not time. Additionally, averages are smoother when time is not taken into account and only price.
HOW THE CANDLE OPEN AND CLOSE IS CALCULATED
This is done based off of your own specific time zone and from the daily candle. So for me on PST, the daily candle will close at 1400. Once closed, a new ADR value is automatically calculated and added to the chart. There is an option to show past ADR values if you would like to see them or conduct additional research.
Indicator

ATR+ Advanced Sessions ATR for DaterangeATR+ Advanced Sessions ATR for Daterange
The ATR+ adds the following additional filters to the stock ATR indicator by Tradingview:
- Calculates the overall average ATR for a user defined daterange, optionally filtered by trading session and selected weekdays, presented as a secondary line over the standard ATR line.
- Basic ATR line, with colour highlight to indicate the selected sessions, days and timeframe being calculated by the average ATR+ line.
- Average ATR+ line indicating the average of all ATRs within the defined timeframe, optionally filtered by instances of a selected trading session and selected weekdays.
- Customisable appearance.
- The ATR+ also includes the basic ATR configuration options typically found in the standard ATR by Tradingview, including period length and smoothing type. Defaults are set to the factory standards: 14 length, RMA smoothing type.
What Is the Average True Range (ATR)?
The ATR is a technical analysis tool that measures market volatility by decomposing the entire range asset price for that period. Investopedia describes the ATR as follows:
"The average true range (ATR) is a technical analysis indicator, introduced by market technician J. Welles Wilder Jr. in his book New Concepts in Technical Trading Systems, that measures market volatility by decomposing the entire range of an asset price for that period.
The true range indicator is taken as the greatest of the following: current high less the current low; the absolute value of the current high less the previous close; and the absolute value of the current low less the previous close. The ATR is then a moving average, generally using 14 days, of the true ranges."
For more information on the ATR and its calculations and use cases, see here:
Investopedia link here.
Tradingview link here.
Note
The indicator may time out if the number of bars being calculated is too long. If this happens, you will need to reduce the datetime range, or increase the chart timeframe in order to reduce the number of bars being calculated and the indicator will attempt to recalculate. Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

10yr, 20yr, 30yr Averages: Month/Month % Change; SeasonalityCalculates 10yr, 20yr and 30yr averages for month/month % change
~shows seasonal tendencies in assets (best in commodities). In above chart: August is a seasonally bullish month for Gold: All the averages agree. And January is the most seasonally bullish month.
~averages represent current month/previous month. i.e. Jan22 average % change represents whole of jan22 / whole of dec21
~designed for daily timeframe only: I found calling monthly data too buggy to work with, and I thought weekly basis may be less precise (though it would certainly reduce calculation time!)
~choose input year, and see the previous 10yrs of monthly % change readings, and previous 10yrs Average, 20yr Average, 30yr Average for the respective month. Labels table is always anchored to input year.
~user inputs: colors | label sizes | decimal places | source expression for averages | year | show/hide various sections
~multi-yr averges always print, i.e if only 10yrs history => 10yr Av = 20yr Av = 30yr Av. 'History Available' label helps here.
Based on my previously publised script: "Month/Month Percentage % Change, Historical; Seasonal Tendency"
Publishing this as seperate indicator because:
~significantly slower to load (around 13 seconds)
~non-premium users may not have the historical bars available to use 20yr or 30yr averages =>> prefer the lite/speedier version
~~tips~~
~after loading, touch the new right scale; then can drag the table as you like and seperate it from price chart
##Debugging/tweaking##
Comment-in the block at the end:
~test/verifify specific array elements elements.
~see the script calculation/load time
~~other ideas ~~
~could tweak the array.slice values in lines 313 - 355 to show the last 3 consecutive 10yr averages instead (i.e. change 0, 10 | 0,20 | 0, 30 to 0, 10 | 10, 20 | 20,30)
~add 40yr average by adding another block to each of the array functions, and tweaking the respective labels after line 313 (though this would likely add another 5 seconds to the load time)
~use alternative method for getting obtaining multi-year values from individual month elements. I used array.avg. You could try array.median, array.mode, array.variance, array.max, array.min (lines 313-355)
Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator
