Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1173

 

¿Cómo puedo saber si un símbolo está disponible para una cuenta sin tener que abrirla en el mercado?

 
leonerd:

¿Cómo puedo saber si un símbolo está disponible para una cuenta sin tener que abrirla en el mercado?

Por lo general, en el sitio web del CD, donde se describen los tipos de cuentas, también hay especificaciones de los contratos. Si la especificación es diferente para cada tipo de cuenta, las listas de instrumentos disponibles reflejan sólo los que están disponibles para ese tipo de cuenta. En realidad, algunas empresas de corretaje muestran en la Observación del Mercado no sólo los símbolos con los que se puede operar, sino también otros símbolos. Están disponibles para la cuenta, las cotizaciones van, pero no se puede operar. Si está interesado en cómo listar programáticamente todos los símbolos disponibles, entonces utilice las funciones SymbolsTotal, SymbolName.

 

Hay una función.

double XX=0;

double x()
{
  XX++;

return(XX);
}


Cada llamada a la función cambiará la variable ХХ, y necesito que ХХ sea externa (según mi lógica), pero cada llamada a la función comenzó con ХХ siendo 0 y en consecuencia return(ХХ) devolverá su valor. Es decir, no entiendo cómo hacer que la variable XX sea externa y la función pueda ser llamada de forma "autónoma", aislada. Exactamente por medio de MQ4. Gracias.

 
Александр:

Hay una función.


Cada llamada a la función cambiará la variable XX, y necesito que XX sea externa (por la lógica que quiero), pero cada llamada a la función comenzó con XX siendo 0 y en consecuencia return(XX) devolvió su valor. Es decir, no entiendo cómo hacer que la variable XX sea externa y la función pueda ser llamada de forma "autónoma", aislada. Exactamente por medio de MQ4. Gracias.

El planteamiento de aumentar el contador es totalmente incomprensible. ¿Por qué no aumentarlo directamente, por qué necesitamos una función?

 
Александр:

Hay una función.


Cada llamada a la función cambiará la variable ХХ, y necesito que ХХ sea externa (por la lógica que quiero), pero cada llamada a la función comenzó con ХХ siendo 0 y en consecuencia return(ХХ) devolverá su valor. Es decir, no entiendo cómo hacer que la variable XX sea externa y que la función pueda ser llamada de forma "autónoma", aislada. Exactamente por medio de MQ4. Gracias.

Así que dentro de la función se pone a cero y ya está.

double XX=0;

double x()
{
  XX=0;
  XX++;
return(XX);
}
 
Alexey Viktorov:

Así que dentro de la función, ponlo a cero y ya está.

Siempre devolverá 1)

 
Vitaly Muzichenko:

De esta manera siempre se devolverá 1)

Tal y como se presenta el código, sí que devolverá siempre 1. Pero tengo entendido que no es una versión muy bien simplificada de la función, por eso sugerí esa solución.

Bien, digamos que la función tiene un bucle while y necesitamos rastrear cuántas iteraciones del bucle hubo.

Si no, esperaremos a que se aclare la pregunta.

 

La dificultad es que (para recordar el valor actual) creo una variable externa. Pero si llamo a la función varias veces y en momentos DIFERENTES, obtendré el mismo valor de esa variable. Y necesito varios "conjuntos" autónomos de la misma función. No quiero usar bucles, por razones obvias. Un bucle es un ejemplo perfecto de lo que necesito. Es como una función autónoma que vive sólo durante el bucle.

 

La dificultad es que (para recordar el valor actual) creo una variable externa. Pero si llamo a la función varias veces y en momentos DIFERENTES, obtendré el mismo valor de esa variable. Y necesito varios "conjuntos" autónomos de la misma función. No quiero usar bucles, por razones obvias. Un bucle es un ejemplo perfecto de lo que necesito. Es como una función autónoma que vive sólo durante un bucle.


Eso es lo que necesito.

double XX=0;

double x()
{
  XX=0;
  XX++;
return(XX);
}
///////////////
int start()

{

 Print(" x() = ',x()); // Проверка в 10:00, вызывал функцию в 08:00.
 x() = 40;// условно конечно

///////////

 Print(" x() = ',x()); // Проверка в 10:00, здесь вызвал вызывал функцию раньше в 01:00.
 x() =70;// условно конечно

return(0);
}
 
La forma más fácil de salir es tener varias funciones idénticas con diferentes nombres (sin contar los bucles). Pero no sé cuántas veces tengo que llamarlo, así que quiero una solución elegante.