Ayuda a la codificación - página 149

 

Hola Mladen,

Gracias de nuevo por toda tu ayuda. y necesito de nuevo

en el siguiente indicador, me gustaría obtener la flecha de "compra" y "venta" en la misma barra. (es decir, cuando las condiciones rsi, cci y cmo se producen en la misma barra (tiempo)). ¿puede modificar?

#property indicator_chart_window

#property indicator_buffers 2

#property indicador_color1 Azul

#property indicador_color2 Rojo

extern int barsToProcess=100000;

//

double ExtMapBuffer1[];

double ExtMapBuffer2[];

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

//

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

int init()

{

SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(0,DRAW_ARROW,0,2); SetIndexArrow(0,233);

SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(1,DRAW_ARROW,0,2); SetIndexArrow(1,234);

return(0);

}

int deinit() { return(0); }

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

//

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

int inicio()

{

int barras_contadas=IndicadorContado();

if(counted_bars>0)counted_bars--;

int limit=Barras_contadas; if(limit>barrasParaProcesar)limit=barrasParaProcesar;

for(int i=límite;i>=0;i--)

{

double rsi=iRSI(NULL,0,5,PRICE_CLOSE,i);

double cci=iCCI(NULL,0,15,PRECIO_CIERRE,i);

double cci1=iCCI(NULL,0,18,PRECIO_CIERRE,i);

double cmo=iCustom(NULL,0, "cmo",false,18,0,i);

if(rsi>80 && cci>250 && cmo>50)

ExtMapBuffer1=Low+5*Point;

si no ExtMapBuffer1=EMPTY_VALUE;

if(rsi<20 && cci1<-250 && cmo<-50)

ExtMapBuffer2=Alto-5*Punto;

si no ExtMapBuffer2=EMPTY_VALUE;

}

return(0);

}

 
anonimm:
Hola Mladen,

Gracias de nuevo por toda su ayuda. y necesito de nuevo

en el siguiente indicador, me gustaria obtener la flecha de "compra" y "venta" en la misma barra. (es decir, cuando las condiciones rsi, cci y cmo ocurren en la misma barra (tiempo)). ¿puede modificar?

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Azul

#property indicador_color2 Rojo

extern int barsToProcess=100000;

//

double ExtMapBuffer1[];

double ExtMapBuffer2[];

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

//

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

int init()

{

SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(0,DRAW_ARROW,0,2); SetIndexArrow(0,233);

SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(1,DRAW_ARROW,0,2); SetIndexArrow(1,234);

return(0);

}

int deinit() { return(0); }

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

//

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

int inicio()

{

int barras_contadas=IndicadorContado();

if(counted_bars>0)counted_bars--;

int limit=Barras_contadas; if(limit>barrasParaProcesar)limit=barrasParaProcesar;

for(int i=límite;i>=0;i--)

{

double rsi=iRSI(NULL,0,5,PRICE_CLOSE,i);

double cci=iCCI(NULL,0,15,PRECIO_CIERRE,i);

double cci1=iCCI(NULL,0,18,PRECIO_CIERRE,i);

double cmo=iCustom(NULL,0, "cmo",false,18,0,i);

if(rsi>80 && cci>250 && cmo>50)

ExtMapBuffer1=Low+5*Point;

si no ExtMapBuffer1=EMPTY_VALUE;

if(rsi<20 && cci1<-250 && cmo<-50)

ExtMapBuffer2=Alto-5*Punto;

si no ExtMapBuffer2=EMPTY_VALUE;

}

return(0);

}

Hola Anonimm, he añadido un buffer de tendencia, debería funcionar, pero al no tener el cmo cerca para probar no estoy 100% seguro.

Archivos adjuntos:
 

Hola mladen,

Gracias por tu rápida respuesta. El indi es bueno.

Podrías modificarlo para que no sólo muestre un lunes (si elegimos lunes), sino 300 lunes (o se puede ajustar).

O que muestre no solo un martes (si elegimos martes), sino que muestre 300 martes (se puede ajustar es mucho mejor).

Gracias y saludos,

anton

mladen:
anton1 Aquí tienes. Puedes elegir el día de la semana y ajustar los colores de las líneas
 
anton1:
Hola mladen,

Gracias por su rápida respuesta. El indi es bueno.

¿Podría modificarlo para que pueda mostrar no sólo un lunes (si elegimos lunes), sino 300 lunes (o se puede ajustar).

O que muestre no solo un martes (si elegimos martes), sino que muestre 300 martes (se puede ajustar es mucho mejor).

Gracias y saludos,

anton

Aquí tienes

Archivos adjuntos:
 

Hola mladen,

¿Podrías modificar este indicador de "año de apertura"? Necesito que este indi muestre no sólo un año de apertura, sino muchos años antes en la historia.

Gracias y saludos siempre,

anton

mladen:
fareastol

Esto puede encontrar el precio de apertura del año bastante rápido :

for (int i=0; i<12; i++) if (TimeYear(iTime(NULL,PERIOD_MN1,i))!=TimeYear(iTime(NULL,PERIOD_MN1,i+1))) break;

double yearOpen = iOpen(NULL,PERIOD_MN1,i);

Luego simplemente calculas la diferencia del cierre actual (Close[0] no importa que marco temporal estés usando cuando lo llames) y ese precio de apertura del año y ya está. Si lo necesitas como indicador, adjunta uno que muestre una línea horizontal en el precio de apertura del año actual y escriba la distancia en pips como comentario
 
anton1:
Hola mladen,

¿Podría modificar este indicador de "año de apertura"? Necesito que este indi muestre no sólo un año de apertura, sino muchos años antes en la historia.

Gracias y saludos siempre,

anton

Eso no es un indicador. Por favor, lea este post de nuevo

 

Hola mladen,

Eres una gran y amable persona.

Muchas gracias ..............

Saludos cordiales,

anton

nota: hola amigo mladen, ¿como debo agradecerte?

mladen:
Aquí tienes
 

oppsss perdón...

Tal vez usted está dispuesto a codificar la "línea horizontal de apertura anual", por favor.

Gracias,

anton

nota: ese indi muestra la línea de apertura anual, pero sólo para este año. Necesito un indicador que muestre la línea de apertura anual histórica.

mladen:
Eso no es un indicador. Por favor, lea ese post de nuevo
 

Hola mladen,

¿Podrías modificar este indicador de "año de apertura"? Necesito que este indi muestre no sólo un año de apertura, sino muchos años antes en la historia.

Gracias y saludos siempre,

anton

mladen:
fareastol

Esto puede encontrar el precio de apertura del año bastante rápido :

for (int i=0; i<12; i++) if (TimeYear(iTime(NULL,PERIOD_MN1,i))!=TimeYear(iTime(NULL,PERIOD_MN1,i+1))) break;

double yearOpen = iOpen(NULL,PERIOD_MN1,i);

Luego simplemente calculas la diferencia del cierre actual (Close[0] no importa que marco de tiempo estés usando cuando lo llames) y ese precio de apertura del año y eso sería todo. Si lo necesitas como indicador, adjunta uno que muestre una línea horizontal en el precio de apertura del año actual y escriba la distancia en pips como comentario
 
anton1:
Hola mladen,

¿Podría modificar este indicador de "año de apertura"? Necesito que este indi muestre no sólo un año de apertura, sino muchos años antes en la historia.

Gracias y saludos siempre,

anton

Anton,

Aquí adjunto mi indicador para ayudarle a dibujar el nivel de apertura del año de cualquier año en el pasado. Por favor, tenga en cuenta que el parámetro por defecto NumYear = 0 significa el precio de apertura de este año, usted debe aumentar ese número para mostrar el valor de los años anteriores. Además, para mostrar varios años al mismo tiempo en el mismo gráfico, también debe cambiar el nombre del ID de forma correspondiente.

Este indicador se basa totalmente en el trabajo de mladen más algunos cambios menores. Sólo soy un aficionado a la codificación. Así que si no funciona, es mi codificación débil, y tal vez Mladen daría sus manos en esto.

Saludos,

fareastol

Archivos adjuntos: