https://www.tradingview.com/script/is0c2vTu-Moving-Average-3-0-3rd-Generation/
IFTA journal n. 12, anno 2012
Sulla pubblicazione IFTA del 2012 ho letto l’articolo sulle Moving Average 3.0, non presenti su Prorealcode, mentre ho trovato un codice su Tradingview che incollo sotto. Si tratta di medie delle medie con vari moltiplicatori che non ho capito bene come è possibile tradurre in linguaggio prorealcode e ho bisogno di un vostro aiuto, quando possibile. Mi sembrano medie mobili interessanti da conoscere e studiare nelle loro applicazione perché riducono il ritardo rispetto a quello delle altre medie mobili, semplice, esponenziale e pesata. Grazie
Questo è il codice Tradingview:
//@version=3
// Copyright (c) 2018-present, Alex Orekhov (everget)
// Moving Average 3.0 (3rd Generation) script may be freely distributed under the MIT license.
study(“Moving Average 3.0 (3rd Generation)”, shorttitle=”NMA”, overlay=true)
length1 = input(title=”1st Length”, type=integer, minval=1, defval=14)
length2 = input(title=”2nd Length”, type=integer, minval=1, defval=3)
maInput = input(title=”MA Type”, defval=”EMA”, options=[“EMA”, “SMA”, “VWMA”, “WMA”])
src = input(title=”Source”, type=source, defval=close)
getMA(src, length) =>
ma = 0.0
if maInput == “EMA”
ma := ema(src, length)
if maInput == “SMA”
ma := sma(src, length)
if maInput == “VWMA”
ma := vwma(src, length)
if maInput == “WMA”
ma := wma(src, length)
ma
getNMA(src, length1, length2) =>
lambda = length1 / length2
alpha = lambda * (length1 – 1) / (length1 – lambda)
ma1 = getMA(src, length1)
ma2 = getMA(ma1, length2)
nma = (1 + alpha) * ma1 – alpha * ma2
nma = getNMA(src, length1, length2)
plot(nma, title=”NMA”, linewidth=2, color=#6d1e7f, transp=0)