Me Gusta y Comparto
Get Adobe Flash player

Necesito ayuda con este indicador: Multi weighted average

Ver el tema anterior Ver el tema siguiente Ir abajo

Necesito ayuda con este indicador: Multi weighted average

Mensaje  javiercaunedo el Jue Ene 31, 2013 9:09 pm

Hola a todos. Quería, si es posible y no mucho pedir, que alguien me explicara que hace concretamente este indicador. Os dejo la página de donde lo he descargado. Y para rematar el favor del todo. Alguien sabría la formula de dicho indicador para Excel 2007????. Se que es mucho pedir, pero...

La página: [Tienes que estar registrado y conectado para ver este vínculo]


Para que no lo busques, te pongo el código:

//------------------------------------------------------------------
#property copyright "mladen"
#property link "mladenfx@gmail.com"
//------------------------------------------------------------------

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 OrangeRed
#property indicator_width1 3

//
//
//
//
//

extern int Length = 25;
extern int Depth = 2;
extern int Price = PRICE_CLOSE;
double ma[];

//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//

int init()
{
SetIndexBuffer(0,ma);
Length = MathMax(MathMin(Length,25),1);
return(0);
}

int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);

//
//
//
//
//

for(int i = limit; i >= 0; i--)
{
double price = iMA(NULL,0,1,0,MODE_SMA,Price,i);
for (int k=0; k price = iLwma(price,Length,i,k);
ma[i] = price;
}
return(0);
}

//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//

double workLwma[][25];
double iLwma(double price, double period, int r, int instanceNo=0)
{
if (ArrayRange(workLwma,0)!= Bars) ArrayResize(workLwma,Bars); r = Bars-r-1;

//
//
//
//
//

workLwma[r][instanceNo] = price;
double sumw = period;
double sum = period*price;

for(int k=1; k=0; k++)
{
double weight = period-k;
sumw += weight;
sum += weight*workLwma[r-k][instanceNo];
}
return(sum/sumw);
}

javiercaunedo
Soy Nuevito

Temas Temas : 18
Fecha de inscripción Fecha de inscripción : 01/08/2012

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.