¡¡¡"Enseñar" el EA !!! [hizo el número de operaciones (no órdenes) que quería durante el intervalo que especifiqué]

 
¡¡¡Buenos días!!! Díganme, señores programadores, ¿es posible "enseñar" al Asesor Experto a realizar un determinado número de operaciones?
 
BeerGod:
durante un tiempo determinado o el número total de posiciones abiertas al mismo tiempo?

El intervalo de tiempo ya ha sido definido en él. Necesito que realice el número necesario de operaciones (no órdenes) en el intervalo de tiempo que he especificado
 
sergeev:

Por favor, repita la pregunta en una declaración ampliada.


Por ejemplo, si mi EA abre una orden, pasará un cierto tiempo y todas las órdenes se cerrarán (hay un resultado). Si el EA vuelve a abrir una orden, pasará un tiempo determinado y la orden se cerrará (ya tenemos el resultado). Y el EA no se abre más, es decir, se desconecta. Y como dije antes, el marco de tiempo en el EA es ajustable, lo que significa que usted puede establecer el número de operaciones dentro del marco de tiempo. En la configuración del Asesor Experto, en la ventana de opciones, debería ver una opción adicional, donde puede establecer el número de operaciones (no confundir con el número de órdenes abiertas).
 

La forma más sencilla y directa es mirar todo el historial de pedidos y contar cuántos pedidos se hacen en un intervalo de tiempo determinado. Esto sería lento de probar, si se hace, debería hacerse justo antes de abrir la orden (después de todas las comprobaciones de apertura), para no recorrer el historial innecesariamente.

 
Rapitvina:

El intervalo de tiempo ya está fijado en él. Necesito que realice el número necesario de operaciones (no de pedidos) en el plazo que he especificado.
¿No debería exceder el número requerido (fácil de hacer) - o no menos que el número requerido (entonces tenemos problemas con las condiciones de entrada)?
 
Rich:
¿Debe haber no más del número requerido (fácil de hacer) - o no menos del número requerido (entonces las condiciones de entrada son poco claras)?

¿Qué no está claro? Las condiciones de entrada están definidas por el intervalo de tiempo .....
 
Rapitvina:

Tiene que comprometerse tanto como yo quiero que lo haga.

:) ¿Puede hacerlo?
 
Integer:

:) ¿Puede hacerlo?

Sí, puede. Lo hace todos los días, sólo tienes que pulsar el botón de ON/OFF tú mismo.
 
Rapitvina:

Lo hará. Lo hace todos los días sólo tiene que pulsar el propio botón ON/OFF.


Esta es la función de Yi Kim

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает количество секунд после открытия последней позиций. |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
datetime SecondsAfterOpenLastPos(string sy="", int op=-1, int mn=-1) {
  datetime t;
  int      i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderOpenTime()) t=OrderOpenTime();
            }
          }
        }
      }
    }
  }
  return(TimeCurrent()-t);
}

Llamada de un asesor.

If(SecondsAfterOpenLastPos()>300) //300- 5 минут,600- 10 минут И.Т.Д
fija la hora que quieras........., no, esa no...

 
r772ra:
poner el tiempo correcto ........., no, ese no?


no, necesitas una función que cuente el número de pedidos en un rango de tiempo determinado.
 
sergeev:

no, se necesita una función que cuente el número de pedidos en un rango de tiempo determinado.

No, no es necesario contar las órdenes en el campo de la terminal todas las órdenes están cerradas.