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

 
ZZZEROXXX:

Probablemente no sea del todo correcto, o me haya equivocado, aquí está el dibujo de lo que quiero conseguir.

  if(ObjectFind("VerticalLine")!=-1){
    datetime TimeVL=ObjectGet( "VerticalLine", OBJPROP_TIME1); //получили координату времени где стоит вертикальная линия с именем VerticalLine  
    int shift=iBarShift(NULL, 0, TimeVL); //получил смещение линии от текущего момента в свечах 
    for(int i=0; i<=shift; i++){ // цикл от текущего бара - до бара где стоит вертикальная линия 
     double MA= iMA(NULL, 0, 12, 0, MODE_SMA, PRICE_CLOSE, i) ;
     Print("i=",i," MA=",MA);
    }
   }
   else Print("Нет Вертикальной линии");
 
kaats:

Gracias, lo tengo, ¡funciona!

 

¡¡¡Buenas tardes!!!
Soy un principiante, por lo que como un gatito ciego, incluso donde para hurgar:))).
El problema o la pregunta es que he encontrado un indicador, pero está atascado (es decir, para conocer su rendimiento necesita entrar en las propiedades, y no cambiar nada para salir, entonces se actualizará).
Si quisiera actualizarlo, me gustaría utilizar algún otro EA.
Sólo tengo 5 índices idénticos con diferentes parámetros y tengo que actualizar los 5 cada vez.

¡no puedo agradecerles lo suficiente!

 

Gente, por favor ayuda, quiero llevar un control de las órdenes en mi EA y cuando llegue un nuevo tick, si hay una orden abierta o pendiente, inmediatamente ir al principio de la función de inicio, para esperar un nuevo tick, es decir, no hacer más cálculos en el EA hasta que el número de órdenes abiertas o pendientes sea 0. ¿Cumple este código los requisitos?

 //--- Учет колличетва ордеров 
   if (OrdersTotal()>=1)
      return;
 

Pregunta para los expertos, quizás alguien se haya encontrado con esto:

Si un EA que se ejecuta en un día de la semana reinicia accidentalmente el terminal en un fin de semana, cuando la comunicación con el servidor (tiempo de negociación) llega el lunes, el EA deja de funcionar.

He probado a reiniciar el terminal a una hora determinada entre semana saltando entre timeframes, pero el EA no reacciona como debería. Debería reiniciarse, es decir, volver a calcular todos los parámetros de nuevo.

¿Qué me aconseja? Quizás estoy complicando las cosas y hay una forma más sencilla.

Las opciones de respuesta: "reiniciar manualmente" no son adecuadas. Levantarse a las 2 de la mañana y reiniciar el Asesor Experto en 20-30 terminales no es muy interesante. Si hay cientos de cuentas, ¿tengo que pasar toda la noche reflexionando? En definitiva, ¿cómo automatizarlo al inicio de la semana laboral?
 
vovan-gogan:

Gente, por favor ayuda, quiero llevar un control de las órdenes en mi EA y cuando llegue un nuevo tick, si hay una orden abierta o pendiente, inmediatamente ir al principio de la función de inicio, para esperar un nuevo tick, es decir, no hacer más cálculos en el EA hasta que el número de órdenes abiertas o pendientes sea 0. ¿Cumple este código los requisitos?


No he puesto corchetes,

   if (OrdersTotal()>=1)
    {
      return;
    }
 
forexnew:

Pregunta para los expertos, quizás alguien se haya encontrado con esto:

Si un EA que se ejecuta en un día de la semana reinicia accidentalmente el terminal en un fin de semana, cuando la comunicación con el servidor (tiempo de negociación) llega el lunes, el EA deja de funcionar.

He probado a reiniciar el terminal a una hora determinada entre semana saltando entre timeframes, pero el EA no reacciona como debería. Debería reiniciarse, es decir, volver a calcular todos los parámetros de nuevo.

¿Qué me aconseja? Quizás estoy complicando las cosas y hay una forma más sencilla.

Las opciones de respuesta: "reiniciar manualmente" no son adecuadas. Levantarse a las 2 de la mañana y reiniciar el Asesor Experto en 20-30 terminales no es muy interesante. Si hay cientos de cuentas, ¿tengo que pasar toda la noche reflexionando? En definitiva, ¿cómo automatizar esto al principio de la semana?

¿Qué tipo de error escribe? ¿Tiene que escribir algo, o no hace nada en absoluto?
 
LazarevDenis:


No he puesto frenos,

Mierda... Los paréntesis no son necesarios aquí. Funcionará tal cual:

 //--- Учет колличетва ордеров 
   if (OrdersTotal()>=1)
      return;
 
forexnew:
...si un EA que se ejecuta en un día de la semana reinicia accidentalmente el terminal en un fin de semana, entonces cuando la comunicación con el servidor (tiempo de negociación) llega el lunes, el EA deja de funcionar.
Para empezar, desmarca estos elementos (a veces también se desactivan al volver a iniciar sesión). Si no ayuda, hay que mirar el código.

 

Puede escribir cero dividir, por lo que recuerdo. Pero esto se debe a que ciertos parámetros no se recalculan. En otras palabras, el EA simplemente no se inicia correctamente porque se inició antes de la sesión de trabajo.

Por supuesto, estas casillas se han eliminado.

Supongo que cualquier Asesor Experto lanzado en el fin de semana se comportará de la misma manera. ¿Alguien lo ha probado o le funciona bien a todo el mundo después de empezar el fin de semana?