Nasan Moving Average belong to the group of moving average which provides a high degree of smoothness with very low lag.
The calculation process involves several steps to analyze the typical price of a financial asset over specific periods. It starts by computing a simple moving average and standard deviation of the typical price. Then, it standardizes (differencing TP - Average Typical price over previous n periods) the price and applies an inverse hyperbolic sine transformation to the standardized value. The transformed values are summed cumulatively, and various weighted moving averages are calculated to adjust and smooth the data. The final output is a smoothed signal with reduced lag.
Input Parameters:
len: Differencing length (default 21, Use a minimum of 5 and for lower time frames less than 15 min use values between 300 -3000) len1: Correction Factor Length 1 (default 21, this determines the length of the MA you want , eg. 10 MA, 50 MA, 100 MA, ) len2: Correction Factor Length 2 (default 9, this works best if it is ~ </=1/2 of len1 ) len3: Smoothing Length (default 5, I would not change this and only use if I want to introduce lag where you want to use it for cross over strategies).
Differencing and Standardization:
The code calculates the standardized price a by differencing the typical price and normalizing it using the mean and standard deviation. This step standardizes the price changes. Transformation:
The transformation using logarithms and square roots (b) aim to stabilize the variance and make the distribution more normal-like, improving the robustness of the cumulative sum c. Cumulative Sum:
The cumulative sum c of the transformed series helps in integrating the series over time, capturing the overall trend and movement. Correction Factors:
Correction factors c1 and c4 adjust the cumulative sum based on weighted averages, to correct any biases or to align it with the typical price. Smoothing:
The final result c6 is smoothed using a weighted moving average, reducing noise and making it easier to interpret trends.
In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.