Buenas me gustaría saber por que este indicador sale mal los datos ya que tengo los graficos abiertos y no coinciden con este screener, tengo uno igual en horas y en minutos y si me funcionan pero en dias lo pruebo de varias maneras y el numero que da el screener es incorrecto lo he probado también cambiando las unidades del grafico y se mueven a otros precios pero no a los que son exactamente. Un saludo
defparam drawonlastbaronly = true
PRECIO= CLOSE
TIMEFRAME(1day)
ema201 = ExponentialAverage[20](close)
TIMEFRAME(2day)
ema202 = ExponentialAverage[20](close)
TIMEFRAME(3day)
ema203 = ExponentialAverage[20](close)
TIMEFRAME(default)
DrawText("1",BarIndex[3],ema201,dialog,standard,17) COLOURED(0,0,0)
DrawText("2",BarIndex[2],ema202,dialog,standard,17) COLOURED(0,0,0)
DrawText("3",BarIndex[2],ema203,dialog,standard,17) COLOURED(0,0,0)
DRAWHLINE(close)
RETURN PRECIO AS "CLOSE" coloured("Red", 0), ema201 as "ema201" COLOURED("BLUE",0), ema202 as "ema202" COLOURED("BLUE",0), ema203 as "ema203" COLOURED("BLUE",0)
Yo también he notado estas diferencias.
Investigaré y te lo haré saber tan pronto como pueda 🙂
Hice algunas pruebas, comparé los cálculos de código con el gráfico y el indicador.
Por lo que puedo decir, calcular la EMA solo en un marco de tiempo de 1 día dio resultados perfectos en comparación con hacer lo mismo con un gráfico de 1 día con indicadores de EMA.
Usando marcos de tiempo de 2.3 días en el código, dio buenos resultados que siguieron la curva promedio, pero, con algún error. Usando ‘updateonclose’, se redujo el error, pero hubo desviación cuando la curva invirtió la dirección.
La comparación de los gráficos de 2,3 días con el indicador EMA dio una estrecha correlación con el marco temporal codificado de 2,3 días.
El uso de la opción “usar otro período” en la configuración promedio dio peores resultados y tuvo poca correlación con los resultados del otro método.
En conclusión, codificar los promedios con un marco de tiempo, dio los mejores resultados.
En segundo lugar, la codificación en un marco temporal distinto al predeterminado.
Y en tercer lugar, la opción ‘usar otro período’ dio peores resultados, lo que puede apuntar a un error.
Se usó este código para comparar líneas activando y desactivando las líneas relevantes desde la configuración del indicador.
defparam drawonlastbaronly = true
TIMEFRAME(1day )
TF1SMA20 = average[20](close)
TF1SMA40 = average[40](close)
TF1SMA60 = average[60](close)
TIMEFRAME(2day ,updateonclose )
TF2SMA20 = average[20](close)
TIMEFRAME(3day ,updateonclose )
TF3SMA20 = average[20](close)
TIMEFRAME(default) // 1 day
day1Sum20 = (summation[20](close))/20
day2Sum40 = (summation[40](close))/40
day3Sum60 = (summation[60](close))/60
RETURN /*
*/ TF1SMA20 as"1day TF SMA20 1day avg" coloured("red")style(line,3) /*
*/ , TF1SMA40 as"1day TF SMA40 2day avg" coloured("lime")style(line,3) /*
*/ , TF1SMA60 as"1day TF SMA60 3day avg" coloured("aqua")style(line,3) /*
*/ , day1Sum20 as"sum20/20 1day avg" coloured("yellow")style(dottedline,3)/*
*/ , day2Sum40 as"sum40/40 2day avg" coloured("yellow")style(dottedline,3)/*
*/ , day3Sum60 as"sum60/60 3day avg" coloured("yellow")style(dottedline,3)/*
*/ , TF2SMA20 as"2day TF SMA20 2day avg" coloured("violet")style(line,3) /*
*/ , TF3SMA20 as"3day TF SMA20 2day avg" coloured("violet")style(line,3)
/**/