[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 485

 
Figar0:

Sube tus citas a él

Por cierto, en el Probador de Estrategias no puedo probar un Asesor Experto que haga cálculos en un par de divisas, pero que abra operaciones en otro. Aparece el error 4106 Símbolo desconocido. Creo que es porque el probador no puede analizar dos pares simultáneamente.
 
El probador maneja esta situación de forma bastante correcta, busca un error en la ortografía del símbolo
 
sss2019:

Por cierto, en el probador no es posible probar un Asesor Experto que hace cálculos en un par de divisas, pero abre operaciones en otro. Aparece el error 4106 Símbolo desconocido. Creo que esto se debe a que el probador no puede analizar dos pares simultáneamente.

El probador no puede abrir acuerdos en un instrumento diferente al seleccionado, pero puede analizar cualquier instrumento disponible.
 
FAQ:
El probador maneja esta situación de forma bastante correcta, busca un error en la ortografía del símbolo

Tal vez te refieres a que estás probando en un par de divisas y tratando de abrir órdenes en otro, como la multidivisa ...
 

FAQ

El probador maneja esta situación de forma bastante correcta, busca un error en la ortografía del símbolo

Figar0

El probador no puede abrir tratos en el símbolo seleccionado

Así es como lo entiendes: ¿quién tiene razón aquí?

No puede haber ningún error en la descripción del símbolo. Cuando ejecuto el Asesor Experto en EURUSD, si introduzco EURUSD, funciona bien, pero si introduzco GBPUSD, no se abre.

 
sss2019:

Así se entiende, ¿quién tiene razón aquí?

No puede haber ningún error en la descripción del símbolo. Ejecuto el Asesor Experto en EURUSD y si introduzco EURUSD en la configuración, todo funciona bien, pero si introduzco GBPUSD, no se abre.


No hay ningún problema). Su problema está en el código, o en qué y dónde "entra", tal vez no hay ningún instrumento en MarketWatch.
 

Hola a todos de nuevo)

¿Pueden decirme si la función int ArrayInitialize(void array[], double value), quepone a cero todos los elementos de un array numérico, puede utilizarse para poner a cero un array bidimensional array[][]?

Si no es así, ¿cuál es la mejor manera de hacerlo?

 
En mi opinión, sí. Es fácil de comprobar.
 
FAQ:


No sé qué sistema informático tienes, pero es fácil poner en pausa el probador, sólo tienes que hacer un bucle con el EA.

conecte user32.dll y al principio del inicio debe introducir esta línea:

Ahora, al pulsar el botón de la palanca de cambios, los búhos quedarán colgados hasta que los sueltes, y el comprobador hará la correspondiente pausa.

Puedes hacer que funcione a través de una bandera estática:

Ahora cuando pulses control la exp se ralentizará, y cuando pulses alt volverá a arrancar

Y no olvides adjuntar la importación al principio


Ya veo. Gracias. Tengo XP, en el arranque hay dos subsistemas de arranque para elegir, el mío y otro. Desde el mío - la cláusula de pausa en el probador de estrategias funciona, desde el otro sistema de arranque - no... Es extraño que esto pueda ser así. Los búhos probados y el terminal del cliente son los mismos.
 
NickXXX:

Hola a todos de nuevo)

¿Pueden decirme si la función int ArrayInitialize(void array[], double value), quepone a cero todos los elementos de un array numérico, puede utilizarse para poner a cero un array bidimensional array[][]?

Si no, ¿cuál es la mejor manera de hacerlo?

Aquí hay una pregunta... Inicialicé una matriz tridimensional en mis funciones sin pensarlo dos veces, y todo funcionó. Pero cuando lo pensé... Lo he comprobado sin demasiada delicadeza:

//+------------------------------------------------------------------+
//|                                                        11111.mq4 |
//|                                Copyright © 2012, Artyom Trishkin |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, Artyom Trishkin"
#property link      ""

   double MyArray[2][2];
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   int i, j;
   for (i=0; i<2; i++) {
      MyArray[i][0]=i+1;
      Alert("MyArray[",i,"][0] = ", MyArray[i][0]);
      }
   for (j=0; j<2; j++) {
      MyArray[0][j]=j+3;
      Alert("MyArray[0][",j,"] = ", MyArray[0][j]);
      }
   Alert("ArrayInitialize(MyArray,-1);");
   ArrayInitialize(MyArray,-1);
   for (i=0; i<2; i++) {
      Alert("MyArray[",i,"][0] = ", MyArray[i][0]);
      }
   for (j=0; j<2; j++) {
      Alert("MyArray[0][",j,"] = ", MyArray[0][j]);
      }
//----
   return(0);
  }
//+------------------------------------------------------------------+


Salidas de alerta de abajo hacia arriba. Así que todo funciona....

Razón de la queja: