Errores, fallos, preguntas - página 582

 
ivandurak:

A continuación se muestra un script que debería mostrar las etiquetas del carácter seleccionado, independientemente del carácter sobre el que se lance. Sin embargo, sólo muestra las etiquetas cuando se lanza sobre el mismo carácter. Plz necesita un empujón.


En lugar de:

   CopyRates(Symbol(),0,0,10,price);

necesito

   CopyRates("EURUSD",0,0,10,price);
 
uncleVic:

En lugar de:

necesito

¿Por qué no funciona con Symbol()?
 
tol64:
¿Por qué no funciona con Symbol()?

emite las etiquetas del símbolo seleccionado, independientemente del símbolo sobre el que se lance.

con Symbol() tomará la que se lance.

 

¿Por qué la enumeración ENUM_APPLIED_PRICE empieza por 1?

   ENUM_APPLIED_PRICE enm;
   for(int i=0;i<10;i++)
     {
      enm=i;
      Print(EnumToString(enm));
     }

resultado:

        ENUM_APPLIED_PRICE::9
        ENUM_APPLIED_PRICE::8
        PRICE_WEIGHTED
        PRICE_TYPICAL
        PRICE_MEDIAN
        PRICE_LOW
        PRICE_HIGH
        PRICE_OPEN
        PRICE_CLOSE
        ENUM_APPLIED_PRICE::0
 

¿Cuál es la hora devuelta por la función TimeCurrent( )?

La ayuda dice:

Devuelve la última hora conocida del servidor, la hora de llegada de la última cotización de uno de los símbolos seleccionados en Market Watch. En el manejador OnTick() esta función devolverá el tiempo del tick entrante para ser procesado. En otros casos (por ejemplo, en los manejadores OnInit(), OnDeinit(), OnTimer(), etc.) es la hora de la última llegada de la cotización de cualquier símbolo disponible en la ventana "Market Watch", la misma que se muestra en la cabecera de esta ventana. El valor de la hora se genera en el servidor comercial y no depende de la configuración de la hora del PC del usuario.

La hora de llegada de la última cotización para cualquier símbolo - puede ser significativamente diferente para diferentes símbolos de- especialmente para aquellos, para los que las operaciones están cerradas))

Si se observa el panorama del mercado - servidor MQL (la imagen está tomada hoy):


Vemos la hora 15:22:42 - no corresponde a ninguno de los símbolos. ¿Quizás haya que ajustar algo en el servidor?

 

Señores MQ tiene una pequeña sugerencia:

Cuando se optimiza un EA, es posible que se cierre accidentalmente el terminal. ¿Es posible hacer que se requiera la confirmación del cierre?

Para los que no lo necesiten hacer una bandera en la configuración del probador.

Espero que otros usuarios de MT me apoyen. Es una pena que unos días de trabajo se vayan al garete y haya que volver a empezar.

 
vdv2001:

Señores MQ tiene una pequeña sugerencia:

Cuando se optimiza un EA, es posible que se cierre accidentalmente el terminal. ¿Es posible hacer que se requiera la confirmación del cierre?

Para los que no lo necesiten hacer una bandera en la configuración del probador.

Espero que otros usuarios de MT me apoyen. Es una pena que unos días de trabajo se vayan al garete y haya que volver a empezar.

Y también hay una pérdida de contacto en el interruptor de red (nunca se sabe cuáles son los problemas del usuario final). En general, hay que ampliar el problema,

Haga un autoguardado intermedio de los datos internos del probador (ya sabe, la última población),

para que (el probador) pueda seguir buscando desde el último punto guardado en un nuevo inicio.

HZZ Esta característica ha sido probada durante mucho tiempo en los juegos (juego raro puede ser pasado regularmente sin guardar) y se justifica bastante bien. Así que no sería un nuevo modelo de la moto.

 

Con el debido respeto, por favor, explique el problema. Imho, el problema no está en el esquiador y no en el asfalto, los esquís siguen siendo. ¿Cómo es posible que el ciclo se vuelva infinito? O patada en dirección al esquí.

class proba
  {
   private:
      int   Nambe;
   public:
       void     Init(){Nambe=10 ;};
       void     Vedenie() {Nambe--  ;};
       bool     Start(){if (Nambe >0) return(true); return(false) ;};        
  };
//=========================================================================
proba cikl;
void OnStart()
  {
      cikl.Init();
      while(cikl.Start())
        {
         cikl.Vedenie() ;
         Print(" Функция старт вернула ",cikl.Start());
        }
  }
 

Si se corrige el texto de la clase así:

class proba
  {
   private:
      int   Nambe;
   public:
       void     Init(){Nambe=10 ;};
       void     Vedenie() {Nambe--  ;};
       bool     Start(){
         if (Nambe >0)return(true);
         return(false) ;
       };        
  };

entonces todo funciona:

2011.11.27 11:06:13 proba (EURUSD,M30) La función de inicio devuelve false

2011.11.27 11:06:12 proba (EURUSD,M30) La función de inicio devolvió true

2011.11.27 11:06:12 proba (EURUSD,M30) La función de inicio devuelve true

2011.11.27 11:06:12 proba (EURUSD,M30) La función de inicio devuelve true

2011.11.27 11:06:11 proba (EURUSD,M30) La función de inicio devuelve true

2011.11.27 11:06:10 proba (EURUSD,M30) La función de inicio devuelve true

2011.11.27 11:06:09 proba (EURUSD,M30) La función de inicio devuelve true

2011.11.27 11:06:07 proba (EURUSD,M30) La función de inicio devuelve true

2011.11.27 11:05:59 proba (EURUSD,M30) La función de inicio devuelve true

2011.11.27 11:05:44 proba (EURUSD,M30) La función de inicio devuelve true

Maravillas.

 
gdtt:

Si arreglas el texto de la clase así:

funciona.

maravillas.

Ctrl-C Ctrl-V no funciona plz explicar lo que el truco, y lo que la versión que tiene. Tengo la compilación 540 del 11 de noviembre de 2011.