Página 1 de 1

ayuda con icustom

Publicado: 09 Oct 2010 11:09
por Gamelu
Buenas,
Alguien sabe como se pasa una variable con icustom, tengo un indicador con 7 buffers,

Código: Seleccionar todo

extern int ExtDepth=2;
extern int ExtDeviation=50;//pips
extern int ExtBackstep=3;
extern int Sep.Pips = 30;
extern int N.Obj.Price = 20;
//---- indicator buffers
double ZigzagBuffer[];
double HighMapBuffer[];
double LowMapBuffer[];
double HighLevel[];
double LowLevel[];
double HighOpen[];
double LowOpen[];
Lo que quiero es pasar el HighOpen y LowOpen a un expert, pensaba que con icustom podia pasar el buffer que yo quiera, pero no me sale. Lo estoy haciendo asi:

double valH=iCustom(NULL, 0, "ZigZag",2,50,3,30,20,3,0); //seria en teoria el Highlevel
double valL=iCustom(NULL, 0, "ZigZag",2,50,3,30,20,4,0); //seria en teoria el LowLevel

Me temo que esto no va a funcionar asi, a ver si alguien sabe como funciona
Saludos

Re: ayuda con icustom

Publicado: 09 Oct 2010 11:49
por Fer137
Debería funcionar tal como dices. No olvides poner en el init del indicador el IndicatorBuffers(7) y los SetIndexBuffer. Y comprueba con un Print si dentro del indicador esos buffers van bien.

Re: ayuda con icustom

Publicado: 09 Oct 2010 13:01
por Gamelu

Código: Seleccionar todo

int init()
  {
   IndicatorBuffers(7);
//---- drawing settings
   SetIndexStyle(0,DRAW_NONE);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexStyle(3,DRAW_LINE,STYLE_DOT);
   SetIndexStyle(4,DRAW_LINE,STYLE_DOT);
//---- indicator buffers mapping
   SetIndexBuffer(0,shift);
   SetIndexBuffer(1,HighLevel);
   SetIndexBuffer(2,LowLevel);
   SetIndexBuffer(3,HighOpen);
   SetIndexBuffer(4,LowOpen);
   SetIndexBuffer(5,HighMapBuffer);
   SetIndexBuffer(6,LowMapBuffer);
   
   SetIndexEmptyValue(0,0.0);

//---- indicator short name
   IndicatorShortName("ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")");
//---- initialization done
   return(0);
  }
El indicador en si funciona correctamente, lo que no consigo es que me pase el valor que debiera, puede que sea porque al seguir haciendo cálculos, machaque los valores, si me dices que está bien como lo estoy haciendo, tendré que intentar devolver el valor que quiero al buffer al final del indicador, el indicador no lo he hecho yo, por eso que realmente no sé cómo es su completo funcionamiento,
Gracias fer

Re: ayuda con icustom

Publicado: 09 Oct 2010 13:44
por Fer137
Lo del iCustom(...) está bien, con los parametros y el indice del buffer (aunque el 3 y el 4 serian el highopen y el lowopen, no los highlevel y lowlevel que decias antes).

Ten tambien en cuenta que esos indicadores zigzag suelen dar 0 en la mayoria de barras, solo dan datos en los vertices. Quizás en esos otros buffers tambien suceda eso (veo que es un indicador hecho a partir del zigzag pero no se que dibujarán los buffers añadidos)

Re: ayuda con icustom

Publicado: 09 Oct 2010 13:48
por Gamelu
El highopen y lowopen viene a ser la señal de breakout por arriba o por abajo, seria la señal del zigzag+- la variable de sep.pips, es optimizable lo que vamos a considerar como breakout, creo que no tiene mas misterio.
A ver si me da tiempo a acabarlo, va a ser un EA simple, para el concurso de XTB, no más.
Saludos, me voy a comer que va siendo hora