sea lo que sea que estés tratando de hacer, probablemente esta no sea la manera de conseguirlo.
mira en 'Indicadores Custiom, expertos y pruebas de estrategia' -- expliqué la manera de usar iCustom...
Creo que deberías cambiar el indicador y hacer dos buffers extra para obtener esos datos.
el valor bajo es por ejemplo LOWbuff[]
el valor alto es HIGHbuff[]
ahora si tienes un nuevo high (dentro del indicador) entonces compruebas si es diferente del valor almacenado ahora mismo... si lo es, tienes un nuevo valor...
1.2815 ZigZag max por ejemplo
bar1
bar2
bar3
...
barx nuevo valor viene como 1.2755
su será algo como HIGHBUFF[1.2815,1.2815,....,1.2815,1.2755,1.2755... . ]
entonces usas Icustom(NULL,0, "ZigZag",3,0); --> y ¡voilá! tienes tu número
Espero que puedas entender de qué estoy hablando...
zolero
mira en 'Indicadores Custiom, expertos y pruebas de estrategia' -- expliqué la manera de usar iCustom...
Creo que deberías cambiar el indicador y hacer dos buffers extra para obtener esos datos.
el valor bajo es por ejemplo LOWbuff[]
el valor alto es HIGHbuff[]
ahora si tienes un nuevo high (dentro del indicador) entonces compruebas si es diferente del valor almacenado ahora mismo... si lo es, tienes un nuevo valor...
1.2815 ZigZag max por ejemplo
bar1
bar2
bar3
...
barx nuevo valor viene como 1.2755
su será algo como HIGHBUFF[1.2815,1.2815,....,1.2815,1.2755,1.2755... . ]
entonces usas Icustom(NULL,0, "ZigZag",3,0); --> y ¡voilá! tienes tu número
Espero que puedas entender de qué estoy hablando...
zolero
zolero:
sea lo que sea que estés tratando de hacer, probablemente esta no sea la manera de conseguirlo.
mira en 'Indicadores Custiom, expertos y pruebas de estrategia' -- expliqué la manera de usar iCustom...
Creo que deberías cambiar el indicador y hacer dos buffers extra para obtener esos datos.
el valor bajo es por ejemplo LOWbuff[]
el valor alto es HIGHbuff[]
ahora si tienes un nuevo high (dentro del indicador) entonces compruebas si es diferente del valor almacenado ahora mismo... si lo es, tienes un nuevo valor...
1.2815 ZigZag max por ejemplo
bar1
bar2
bar3
...
barx nuevo valor viene como 1.2755
su será algo como HIGHBUFF[1.2815,1.2815,....,1.2815,1.2755,1.2755... . ]
entonces usas Icustom(NULL,0, "ZigZag",3,0); --> y ¡voilá! tienes tu número
Espero que puedas entender de qué estoy hablando...
zolero
No, la verdad es que no lo entiendo, sea lo que sea que estés tratando de hacer, probablemente esta no sea la manera de conseguirlo.
mira en 'Indicadores Custiom, expertos y pruebas de estrategia' -- expliqué la manera de usar iCustom...
Creo que deberías cambiar el indicador y hacer dos buffers extra para obtener esos datos.
el valor bajo es por ejemplo LOWbuff[]
el valor alto es HIGHbuff[]
ahora si tienes un nuevo high (dentro del indicador) entonces compruebas si es diferente del valor almacenado ahora mismo... si lo es, tienes un nuevo valor...
1.2815 ZigZag max por ejemplo
bar1
bar2
bar3
...
barx nuevo valor viene como 1.2755
su será algo como HIGHBUFF[1.2815,1.2815,....,1.2815,1.2755,1.2755... . ]
entonces usas Icustom(NULL,0, "ZigZag",3,0); --> y ¡voilá! tienes tu número
Espero que puedas entender de qué estoy hablando...
zolero
Todo lo que quiero es hacer que mi EA sepa hacia dónde apunta el indicador de zigzag (hacia arriba o hacia abajo). ¿CÓMO PUEDO HACER ESO?
Todo lo que quiero es hacer que mi EA sepa hacia dónde apunta el indicador de zigzag (hacia arriba o hacia abajo). ¿CÓMO PUEDO HACERLO?
Probablemente quieras saber los dos últimos valores (ya que el zigzag no tiene siempre un valor). Así que tienes que leer los dos últimos valores de un indicador:int n, i; double zag, zig; i=0; while(n<2) { if(zig>0) zag=zig; zig=iCustom(NULL, 0, "ZigZag", 0, i); if(zig>0) n+=1; i++; }ahora tienes dos números zig -- último valor y zag -- valor anterior a ese
si(zag>zig) el indicador muestra hacia abajo
si(zig>zag) el indicador muestra hacia arriba
zolero
zolero:
si(zag>zig) el indicador se muestra hacia abajo
if(zig>zag) el indicador se muestra hacia arriba
zolero
GRACIAS, lo tengo, funciona de maravilla
Todo lo que quiero es hacer que mi EA sepa hacia dónde apunta el indicador de zigzag (hacia arriba o hacia abajo).
Probablemente quieras saber los dos últimos valores (ya que el zigzag no tiene siempre un valor), por lo que tienes que leer los dos últimos valores de un indicador:int n, i; double zag, zig; i=0; while(n<2) { if(zig>0) zag=zig; zig=iCustom(NULL, 0, "ZigZag", 0, i); if(zig>0) n+=1; i++; }ahora tienes dos números zig -- último valor y zag -- valor anterior a ese
si(zag>zig) el indicador se muestra hacia abajo
if(zig>zag) el indicador se muestra hacia arriba
zolero
c0d3:
DESPUÉS DE PROBARLO,
si(zag<zig) el indicador muestra hacia abajo
si(zig<zag) el indicador muestra hacia arriba
CREO QUE ES CORRECTO, ESTABA DANDO DIRECCIÓN OPUESTA CON (zag>zig), (zig>zag)
zolero:
si(zag>zig) el indicador se muestra hacia abajo
if(zig>zag) el indicador se muestra hacia arriba
zolero
GRACIAS, lo tengo, funciona de maravilla Todo lo que quiero es hacer que mi EA sepa hacia dónde apunta el indicador de zigzag (hacia arriba o hacia abajo).
Probablemente lo que quieres saber son los dos últimos valores (ya que el zigzag no tiene siempre un valor), así que tienes que leer los dos últimos valores de un indicador:int n, i; double zag, zig; i=0; while(n<2) { if(zig>0) zag=zig; zig=iCustom(NULL, 0, "ZigZag", 0, i); if(zig>0) n+=1; i++; }ahora tienes dos números zig -- último valor y zag -- valor anterior a ese
si(zag>zig) el indicador se muestra hacia abajo
if(zig>zag) el indicador se muestra hacia arriba
zolero
DESPUÉS DE PROBARLO,
si(zag<zig) el indicador muestra hacia abajo
si(zig<zag) el indicador muestra hacia arriba
CREO QUE ES CORRECTO, ESTABA DANDO DIRECCIÓN OPUESTA CON (zag>zig), (zig>zag)
c0d3:
Estaba mirando la última línea ya en el gráfico. esto significa que la última línea estaba mirando hacia abajo [o hacia arriba]. Debería significar que ahora mismo se espera un movimiento al alza [o a la baja]. Pero hay un pequeño problema con tomarlo como una señal al alza o a la baja: el zigzag puede [y a menudo lo hace] redibujarse a sí mismo. esto significa que si la línea entre dos puntos está mostrando el sur (de 1,2900 a 1,2850) entonces no significa que el precio suba. Probablemente subirá, pero hay una gran posibilidad de que después de algún movimiento hacia abajo tenga una nueva línea hacia abajo (de 1,2900 a 1,2820) y así sucesivamente. Mi punto es que tener una línea en el gráfico no significa que el movimiento en esta dirección haya terminado.
CREO QUE ES CORRECTO, ESTABA DANDO LA DIRECCIÓN OPUESTA CON (zag>zig), (zig>zag)
int n, i; double zag, zig;
i=0;
while(n<2)
{
if(zig>0) zag=zig;
zig=iCustom(NULL, 0, "ZigZag", 0, i);
if(zig>0) n+=1;
i++;
}
&nbint n, i; double zag, zig; i=0; while(n<2) { if(zig>0) zag=zig; zig=iCustom(NULL, 0, "ZigZag", 0, i); if(zig>0) n+=1; i++; }sp;int n, i; double zag, zig; i=0; while(n<2) { if(zig>0) zag=zig; zig=iCustom(NULL, 0, "ZigZag", 0, i); if(zig>0) n+=1; i++; }
He modificado un poco el código del zigzag para mostrar lo que quiero decir con la señal falsa. como dicen: una imagen puede decir más que 1000 palabras....
La línea roja es el zigzag original y va de abajo a arriba y de vuelta en los mejores momentos... al menos parece así. Pero si usted está codificando un ea entonces ea obtiene señales que están cerca de la línea amarilla. puede ser aún peor como hice realmente rápido hack ...
el codigo esta redibujando la linea hacia arriba o hacia abajo hasta que la proxima linea ha sido dibujada y asi paso a paso cambiando la linea amarilla (borrando los valores max y min) hasta que se obtiene una linea roja...
La línea roja es el zigzag original y va de abajo a arriba y de vuelta en los mejores momentos... al menos parece así. Pero si usted está codificando un ea entonces ea obtiene señales que están cerca de la línea amarilla. puede ser aún peor como hice realmente rápido hack ...
el codigo esta redibujando la linea hacia arriba o hacia abajo hasta que la proxima linea ha sido dibujada y asi paso a paso cambiando la linea amarilla (borrando los valores max y min) hasta que se obtiene una linea roja...
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Esto es lo que tengo hasta ahora
ZigZagHigh=iCustom(NULL,0, "ZigZag",MODE_HIGH,0);
ZigZagLow=iCustom(NULL,0, "ZigZag",MODE_LOW,0);
Las líneas se dibujan en el gráfico, pero tanto ZigZagHigh como ZigZagLow son iguales a cero cuando ejecuto el programa.
¿Cómo puedo determinar la tendencia del indicador ZigZag con la función icustom?
Gracias