¿Un error en la función OrderSend()? - página 4

 
hoz:
Bueno, sí, lo hago en modo visual y mira... ¿Y qué puede no mostrar correctamente? Al fin y al cabo, si se rueda el TS en horas o en H4 en demo, puede pasar el invierno unos cuantos años :) ..... :) Es una pena.

Bueno, el visualizador parece mostrar, pero puede perder algo, en general, no se puede confiar en él o no para todos los algoritmos que pinta con precisión una imagen de lo que está sucediendo, es mejor observar en paralelo en la demo, el grial no nace en un día ...

P.D. Estoy escribiendo todas mis ideas principalmente para el H1, pero es más rápido en la demo que resolver los rompecabezas de los probadores ...

 
hoz:

Ya está hecho. También aumenté la variable de sangría un poco y ahí vamos.... Supongo que no siempre es posible decirlo a ojo.

Me pregunto, ¿en qué más tiene efecto la globalización de la variable lastBarTime, además del rendimiento? Su tipo es estático, lo que significa que la variable almacena su valor durante toda la vida del programa...

Hay otra cosa interesante. Si todavía utilizo la varita en varias funciones, ¿fue correcto que la declarara de una vez en el inicio? ¿O no es muy razonable obtener valores en cada tic, por el consumo de recursos?


Unavariable local es una variable declarada dentro de una función. El ámbito de las variables locales es el cuerpo de la función, en la que se declara esta variable. Una variable local puede ser inicializada por una constante o expresión, correspondiente a su tipo.

Una variable global es una variable declarada fuera de todas las funciones. El alcance de las variables globales es todo el programa. Una variable global no está localizada en ningún nivel. Una variable global sólo puede ser inicializada por una constante correspondiente a su tipo (pero no por una expresión). Las variables globales se inicializan una vez antes de ejecutar las funciones especiales.

Si el control de un programa está dentro de una función, los valores de las variables locales declaradas en otra función no están disponibles. El valor de cualquier variable global está disponible desde cualquier función especial y de usuario.

 
Es más sencillo que eso. La estática no funciona en MQL4.
 
tara:
Es más sencillo que eso. La estática no funciona en MQL4.

¿Hace cuánto tiempo?
 
Lo siento, no funciona en absoluto. De la C del principio:(
 
tara:
Lo siento, no funciona en absoluto. De la C del principio:(
¿Algún otro programador que pueda confirmarlo? Un voto no será suficiente.
 
tara:
Es más sencillo que eso. La estática no funciona en MQL4.
Cuántos códigos escritos por profesionales he visto, y su estática suele estar presente. Pero ha dicho que no funciona. ¿Qué debo creer ahora? :(
 
hoz:
Cuántos códigos he visto escritos por profesionales, y a menudo tienen estática. Y dices que no funciona. ¿Quién va a creer ahora? :(
No puedes confiar en nadie.
 
tara:
Lo siento, no funciona en absoluto. De la C del principio:(

Personalmente, nunca me he encontrado con un statik que no funcionara.

aquí hay un ejemplo de un experto, quieres comprobarlo en un gráfico:

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   static int cc=20;
   Print("cc = ",cc);
   cc++;
   
   return(0);
  }
 

La estática funciona al 100%. Esta es la prueba:

int start()
  {
   static int i=0;
   while(i<3) {Print("K=",test());i++;}
   return(0);
  }
int test()
 {
  static int k=0;
  k++;
  return(k);
 }

Y los resultados:

Estática