Función ICustom

 

Hola a todos

En primer lugar debo decir que hay mucha información útil en el tablero aquí, es grande: D

siguiente mi pregunta

¿Cómo puedo obtener el resultado del indicador (u otra variable) como valor de retorno si lo llamo con icustom?

Intenté analizar el código de algunos otros indicadores para esa parte pero... no hay diferencia (o me lo perdí).

¿entonces como funciona?

saludos homi:)

 
 

hola y perdón

tj por responder:)

Oh, me malinterpretaste

¡es mi inglés de mierda ...lo siento!

normalmente se como llamar a un indicador con icustom(),

pero cuando trato de llamar LSMA trendindicator entonces me devuelve el valor "1" todo el tiempo, no madder lo que la tendencia es realmente ahora devuelve siempre un valor.... "1".

por lo que pensé que el 1 que devuelve es algún tipo de errorcheck que devuelve verdadero o falso.

pero necesito saber cual es la tendencia y tengo que añadir algun codigo al indicador que me devuelva el valor de la tendencia no el valor del errorcheck.

y mi pregunta de arriba significa :que código añadir al indicador para que me devuelva el trendvalue en vez del errorcheckvalue cuando lo llamo con icustom().

saludos homi

 

Usando iCustom para obtener el valor de LSMA.

homicida:
tj por responder:)

oh usted me malinterpreta

¡es mi inglés de mierda ...lo siento!

normalmente se como llamar a un indicador con icustom(),

pero cuando trato de llamar LSMA trendindicator entonces me devuelve el valor "1" todo el tiempo, no madder lo que la tendencia es realmente ahora devuelve siempre un valor.... "1".

por lo que pensé que el 1 que devuelve es algún tipo de errorcheck que devuelve verdadero o falso.

pero necesito saber cual es la tendencia y tengo que añadir algun codigo al indicador que me devuelva el valor de la tendencia no el valor del errorcheck.

y mi pregunta de arriba es: que código añadir al indicador para que me devuelva el trendvalue en vez del errorcheckvalue cuando lo llame con icustom().

saluda a homi

Hola homi,

No te he entendido mal. Te he puesto un ejemplo de trabajo de iCustom.

De todos modos. esta es una línea de código que obtendrá el valor de LSMA utilizando iCustom.

Nota: He utilizado LSMA en color ()

Alert(iCustom(NULL,0,"LSMA in Color",14,1500,0,0));

parmeter 1 :el símbolo - NULLpara el símbolo actual.

parmeter 2 : marco de tiempo - 0 para el marco de tiempo actual.

parmeter 3 : nombre del indicador - aquí es"LSMA in Color".

parmeter 4 : este es un ajuste para LSMA - Rperiod= 14.

parámetro 5 : esta es una configuración para LSMA - Draw4HowLongg= 1500.

parámetro 6 : el número de línea (rango de 0 a 7) - normalmente se utiliza 0.

parmeter 7 : la barra de trabajo - 0 para la barra actual.

Por favor, pruebe esta línea de código y dime .

 

hola

Lo he probado, su código funciona bien .....

pero eso no soluciona el problema^^

Tengo el valor de retorno como usted dijo, pero es siempre el mismo valor no madder lo que la tendencia es realmente su 214783647 todo el tiempo.

he buscado el valor en el código del indicador hay 3 buffers y el buffer que tiene el 214783647 es la tendencia no el valor que se almacena en ella

como

si el buffer1 contiene el 214783647 significa tendencia al alza, los otros 2 buffers contienen algo como 174...

si el buffer2 contiene el 214783647 significa tendencia a la baja, los otros 2 buffers contienen algo como 174...

¿podría esto causar el problema?

saludos homi

 

¡214783647 significa que hay un error!

homicida:
hola

Lo he probado, su código funciona bien .....

pero eso no soluciona el problema^^

El código de la aplicación es el mismo que el del indicador, pero siempre es el mismo valor, no importa cuál sea la tendencia, siempre es 214783647.

he buscado el valor en el código del indicador hay 3 buffers y el buffer que tiene el 214783647 es la tendencia no el valor que se almacena en ella

como

si el buffer1 contiene el 214783647 significa tendencia al alza, los otros 2 buffers contienen algo como 174...

si el buffer2 contiene el 214783647 significa tendencia a la baja, los otros 2 buffers contienen algo como 174...

¿podría esto causar el problema?

saluda a homi

Hola homi,

Creo que hay un error en su llamada iCustom.

De todos modos, aquí está el código que llamará a iCustom de LSMA para devolver el valor de sus 3 líneas.

Nota 1: Los valores de las 3 líneas son los mismos porque LSMA es indicador de color (si quieres saber más pregúntame)

Nota 2: 214783647 es un error. He incluido en el ejemplo de demostración algunas líneas de código que devolverán el mismo error para que te quede claro.

//+------------------------------------------------------------------+

//| iCustom_Demo.mq4 |

//| Coders' Guru. |

//| https://www.forex-tsd.com |

//+------------------------------------------------------------------+

#property copyright "Coders Guru"

#property link "https://www.forex-tsd.com"

#property indicator_chart_window

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

int counted_bars=IndicatorCounted();

//----

Alert("Line3 on LSMA is: " + iCustom(NULL,0,"LSMA in Color",14,1500,2,0));

Alert("Line1 on LSMA is: " + iCustom(NULL,0,"LSMA in Color",14,1500,0,0));

Alert("Line2 on LSMA is: " + iCustom(NULL,0,"LSMA in Color",14,1500,1,0));

//Some mis-typed iCustom calls which will return:

//Wrong LSMA parameter

Alert("This is an error " + iCustom(NULL,0,"LSMA in Color",0,1500,0,0));

//Wrong line number

Alert("This is an error " + iCustom(NULL,0,"LSMA in Color",14,1500,3,0));

//Wrong Bar number

Alert("This is an error " + iCustom(NULL,0,"LSMA in Color",14,1500,3,counted_bars));

//----

return(0);

}

//+------------------------------------------------------------------+
Archivos adjuntos:
 

hola de nuevo:D

ok im derrotado por el indicador lol:)

no puedo conseguir que funcione como quiero

dices que es un indicador de color ¿qué significa eso?

y lo más importante es ¿cómo puedo obtener el estado actual de la misma?

Siempre obtengo un número alámbrico que parece una versión redondeada del precio de cierre en las tres líneas, incluso con su demo sin modificar (indicador y demo).

¿Qué me falta?

¿Cómo puedo convertir la salida en una simple cadena "verde" "roja" "amarilla"?

saludos

estresado homi

 

¡Ayúdenme por favor!

homicida:
ok im derrotado por el indicador lol:)

no consigo que funcione como quiero

dices que es un indicador de color ¿qué significa eso?

y lo más importante es ¿cómo puedo obtener el estado actual de la misma?

Siempre obtengo un número alámbrico que parece una versión redondeada del precio de cierre en las tres líneas, incluso con su demo sin modificar (indicador y demo).

¿Qué me falta?

¿Cómo puedo convertir la salida en una simple cadena "verde" "roja" "amarilla"?

saludos

homi estresado

Hola homi estresado

¿Has probado la demo y sigues obteniendo números erróneos?

¿podrías decirme las Alertas que tienes? eso es lo que tengo yo (hace 2 minutos)

Archivos adjuntos:
icustom.jpg  29 kb
 

se ve exactamente como los resultados que obtuve .

¿pero qué son esos valores?

saludos homi

p.d.

¿alguien más tiene el problema de que strategybuilder no actualiza los gráficos?

 
homicida:
se ve exactamente como los resultados que obtuve .

¿pero qué son esos valores?

saluda a homi

homi,

Alerta de la línea 1: es el valor del firstbuffer o LSMA (ExtMapBuffer1)

Linea 2 Alert: es el valor del secondbuffer o LSMA (ExtMapBuffer2)

Línea 3 Alert: es el valor del tercerbuffer o LSMA (ExtMapBuffer3)

Entonces escribí tres llamadas de iCustoms con parámetros intencionadamente erróneos para mostrarte lo que probablemente esté mal en la llamada de tu iCustom.

¿Podría decirme exactamente qué es lo que quiere hacer? Tal vez pueda ayudarte.

 

oh lo único que quiero es llamarlo y recuperar la tendencia actual.

como "1" para arriba "2" para abajo y "3" para el lado.

eso es lo que estoy tratando de hacer.

porque tu código funciona bien.

se que mi principal problema es la falta de conocimiento sobre el indicador

por lo que no puedo interpretar los valores de retorno de la manera correcta.

pero no puedo encontrar algo de información al respecto.

saludos homi

Razón de la queja: