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

 
TarasBY:
Cualquier tarea puede resolverse de diferentes maneras. Sexto año en el mercado, pero nunca tuve la necesidad de cambiar Magik (incluso en los días de la "juventud verde").
Hay todo tipo de cosas. Por ejemplo, si hay que transferir la gestión de la posición a otro EA.
 
tara:
Hay todo tipo de cosas. Por ejemplo, si hay que transferir la gestión de la posición a otro asesor.
Bueno, si el otro consejero es también el suyo, entonces puede alimentarlo con cualquier mago adicional.
 
tara:
Hay todo tipo de cosas. Por ejemplo, si hay que transferir la gestión de la posición a otro EA.
Yo divido un EA en dos partes: la analítica y la comercial. La parte analítica es única para cada EA, pero la parte administrativa es la misma para todas ellas (quizás no todas las funciones administrativas estén implicadas en cada EA). Y no necesito transferir órdenes entre EAs.
 

He rebuscado en la ayuda y he buscado en la web, pero no he encontrado ningún ejemplo de cómo utilizar la función MessageBox. Por favor, avisa:

1. ¿Es posible cambiar la ubicación de la ventana que muestra MessageBox?

2. ¿Puedo cambiar los nombres de los botones, por ejemplo, de "Ok" y "Cancel" a "aha" y "no way"?

3. ¿Qué hacen las banderas MB_DEFBUTTON en esta función ? ¿De qué botones estamos hablando y para qué sirve?

 

Buen día (o noche).

Por favor, aconseja, si hago un bucle de código (for o while, lo que sea), y pongo en el bucle el código de obtener el valor de uno de los indicadores (o el precio en una variable), ¿funcionará?

¿Recibirá la variable, que está en el bucle, sus valores en un nuevo tick, porque el procedimiento está en bucle?

 
culler:

Buen día (o noche).

Por favor, aconseja, si hago un bucle de código (for o while, lo que sea), y pongo en el bucle el código de obtener el valor de uno de los indicadores (o el precio en una variable), ¿funcionará?

¿La variable situada en el bucle recibirá siempre un valor en un nuevo tick, porque el procedimiento está en bucle?

En un bucle de este tipo, antes de, por ejemplo, obtener el precio Ask (o cualquier otra cosa que venga con el tick), ponga RefreshRates() antes de esta acción para solicitar el valor Ask actual, no el antiguo valor Ask que venía con el tick que inició el bucle. Si solicita el valor del indicador dentro del bucle, el valor actual debería ser correcto.

Para estar 100% seguro, haga un simple Asesor Experto con su bucle y muestre la información en el gráfico a través de Comment(), y verá inmediatamente si los valores son correctos en el bucle.
 
paladin80:

En dicho bucle, antes de obtener, por ejemplo, el precio Ask (o cualquier otra cosa que venga con el tick), ponga RefreshRates() antes de esta acción para solicitar el valor Ask actual, no el valor Ask antiguo que venía con el tick que inició el bucle. Si dentro del bucle se solicita el valor del indicador, se debería obtener el valor actual correcto.

Para estar 100% seguro, haga un simple Asesor Experto con el bucle y muestre la información en el gráfico a través de Comment() y verá inmediatamente si los valores obtenidos en el bucle son correctos.


Gracias.
Así que funcionará. Esto es bueno.

Por cierto, ¿es correcto utilizar este enfoque en un bucle, o es perverso?

Me he dado cuenta de que debido a ese ciclo MT4 se cuelga completamente.

 
culler:


Por cierto, ¿es este el enfoque correcto del ciclo o es un poco perverso?

He notado que debido a este ciclo, MT4 se cuelga completamente.


Y hay amantes de la perversión. Me refiero a los bucles.
 
Hola a todos. Me puedes decir como probar un EA a 0 spread. Quizá haya que prescribir algo en el código.
 
culler:


Gracias.
Así que funcionará. Eso es genial.

Por cierto, ¿es correcto este enfoque del ciclo o es un poco perverso?

He notado que el bucle hace que MT4 se congele por completo.


De la ayuda"Cada script y cada experto trabaja en su propio hilo de trabajo. "

"Un script en bucle o un Asesor Experto no puede interrumpir el trabajo de otros programas".

es decir, se puede utilizar el bucle.

Estoy utilizando un script y una plantilla de este tipo para estas tareas:

void OnStart()
  {
   while(!IsStopped()) // пока скрипт не удалён с графика
     {
      bool is_new_tick=RefreshRates();
      // если true значит пришли новые котировки
      if(is_new_tick)
        {
         // код который необходимо выполнять при новых котировках
        }
      //остальной код
      Sleep(100);
     }
  }
Razón de la queja: