[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 152

 
Skydiver:

Estoy en medio de algo. :-) la verdad es que no sé si llegaré a tiempo hoy (cansado).

En mi opinión, no hay que tener prisa en este negocio... Lo principal es la calidad y la ausencia de errores en los cálculos, también hay que prestar atención al valor del spread en el primer y en el segundo caso, para que el cambio de su valor sea mínimo...
 
alex12:
Tal vez en lugar de && lógico deberías escribir || (OR lógico) ?

Está todo mal, piénsalo, quieres prescribir (o ), por lo que el precio es siempre, o por encima... o por debajo... nivel.

Intenta buscar en el foro, en algún lugar se habló de "desglose de niveles" .

 

Buenos días a todos.

Decidí intentar escribir un indicador, pero me encontré con un problema. Comienza a dibujar sólo desde el momento en que lo pongo en el gráfico.

¿Cómo hacer que calcule al menos una parte de la historia?

int start()
  {
   int    counted_bars=IndicatorCounted();
   int i;
//----
   i=Bars-counted_bars-1;

   while(i>=1)                      
     {
     double Max=High[iHighest(NULL,0,MODE_HIGH,Nbar,0)];
     double Min=Low[iLowest(NULL,0,MODE_LOW,Nbar,0)];
       Buf[i]=Max-((Max-Min)/2);
       ABuf[i]=iMAOnArray(Buf,0,Per,0,MODE_SMA,i);             
      i--;                          
     }
//----
   return(0);
  }
¿Tal vez alguien pueda explicar a un inexperto cómo escribirlo correctamente?
 

Gek34:

Decidí intentar escribir un indicador, pero me encontré con un problema. Comienza a dibujar sólo desde el momento en que se lanza sobre el gráfico...

Póngalo en un bucle separado. El array para iMAOnArray no tiene tiempo de formarse.
ABuf[i]=iMAOnArray(Buf,0,Per,0,MODE_SMA,i);   
 

No funciona, he dejado de dibujar por completo.

¿Sería tan amable de darme una lección y un ejemplo para el futuro?

Sinceramente Gek.

 
Gek34:

No funciona, he dejado de dibujar por completo.

¿Sería tan amable de darme una lección y un ejemplo para el futuro?

Sinceramente Gek.


Supongo que sí:
int start()
  {
   int    counted_bars=IndicatorCounted();
   int i;
//----

   double Max=High[iHighest(NULL,0,MODE_HIGH,Nbar,0)];
   double Min=Low[iLowest(NULL,0,MODE_LOW,Nbar,0)];

   i=Bars-counted_bars-1;
   while(i>=1)                      
     {
       Buf[i]=Max-((Max-Min)/2);
      i--;                          
     }


   i=Bars-counted_bars-1;
   while(i>=1)                      
     {
       ABuf[i]=iMAOnArray(Buf,0,Per,0,MODE_SMA,i);             
      i--;                          
     }
//----
   return(0);
  }
 
PapaYozh:

Supongo que sí:

Heee.... Creo que todo debería estar en un bucle, así:

 while(i>=1)                      
     {
     double Max=High[iHighest(NULL,0,MODE_HIGH,Nbar,i)];
     double Min=Low[iLowest(NULL,0,MODE_LOW,Nbar,i)];
       Buf[i]=Max-((Max-Min)/2);
       ABuf[i]=iMAOnArray(Buf,0,Per,0,MODE_SMA,i);             
      i--;                          
     }
 
r772ra:

Heee.... Creo que todo tiene que estar en un ciclo, así:


Muchas gracias. Todo funcionó, vi mi error enseguida.

Y, en efecto, dicen que en el mundo no faltan los hombres buenos.

 


Al optimizar el robot, me sale una mierda intermitente. ¿De qué puede tratarse?

 

¿Pueden ayudarme a insertar el indicador Volumes en mi EA? En general, la tarea es sencilla: compruebe la primera y la segunda barra, si el color de la segunda barra es rojo y el de la primera es verde, ¡compre!

Razón de la queja: