Conversione dell’indicatore Moving Average 3.0 dal software trading TradingView
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Conversione dell’indicatore Moving Average 3.0 dal software trading TradingView
- This topic has 7 replies, 2 voices, and was last updated 1 year ago by robertogozzi.
Tagged: Moving Average 3.0
-
-
08/08/2023 at 1:10 PM #218733
https://www.tradingview.com/script/is0c2vTu-Moving-Average-3-0-3rd-Generation/
IFTA journal n. 12, anno 2012Sulla 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.0if 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)
magetNMA(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)
08/09/2023 at 11:38 AM #218804Credo questa sia una conversione corretta (non ho messo la scelta del tipo di media, basta che cambi il valore della riga 3, tra 0 e 8):
12345678910111213length1 = 10length2 = 20matype = 0 // https://www.prorealcode.com/documentation/average/src = CustomClose//lambda = length1 / length2alpha = lambda * (length1 - 1) / (length1 - lambda)//ma1 = average[length1,matype](src)ma2 = average[length2,matype](ma1)nma = (1 + alpha) * ma1 - alpha * ma2//RETURN nma AS "Moving Average 3.0"08/09/2023 at 3:08 PM #21884008/09/2023 at 5:37 PM #218844Non hai allegato l’esempio 🙂
08/09/2023 at 7:18 PM #21885908/09/2023 at 7:23 PM #218861Sto rileggendo l’articolo, oltre a fare delle altre prove per i settaggi dei periodi tra le medie normali e quelle 3.0. Ho cambiato anche un pò il codice per avere la possibilità di cambiare periodi e medie direttamente. Ecco il codice:
// conversione da Tradingview modificata il (9/8/2023)
length1 = corta
length2 = lunga
mediatrezero = matype // https://www.prorealcode.com/documentation/average/
src = CustomClose
//
lambda = length1 / length2
alpha = lambda * (length1 – 1) / (length1 – lambda)
//
ma1 = average[length1,matype](src)
ma2 = average[length2,matype](ma1)
nma = (1 + alpha) * ma1 – alpha * ma2
//
RETURN nma AS “Moving Average 3.0”
08/09/2023 at 7:31 PM #218863Un altro esempio, con SMA e media sma 3.0
1 user thanked author for this post.
08/10/2023 at 9:02 AM #218890 -
AuthorPosts
Find exclusive trading pro-tools on