[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 1089

 
alexhammer:
Pero si no ocurre nada en el primer tick por alguna circunstancia, perderá todos los demás. ¿Existe una opción para que haga los cálculos hasta un determinado punto y luego pase a modo de espera para la siguiente vela?
 

alexhammer:

No creo que dzhini quisiera exactamente lo que sugieres. Usted propone trabajar sobre los precios de apertura, mientras que él quiere trabajar sobre los ticks, pero no más de una operación dentro de una barra.

 
dzhini:
Pero si no ocurre nada en el primer tick por alguna circunstancia, perderá todos los demás. ¿Existe una forma de hacer que realice los cálculos hasta un determinado punto y luego espere a la siguiente vela?

Para ello tienes que utilizar la función KimIV, y te sugiero que pienses en cómo utilizarla y decidas por ti mismo.

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

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

Para ello hay que utilizar la función KimIV, y te sugiero que pienses en cómo utilizarla.

uhhhhhhhhhhh, lo resolveremos ))) gracias
 
khorosh:

Para ello hay que utilizar la función KimIV, y te sugiero que pienses en cómo utilizarla.

Genial... está funcionando. ¡¡¡GRACIAS!!!
 
alexhammer:

Falta la tercera opción ( a tiempo)
 
VINAR:

Falta la tercera opción ( a tiempo)
por favor, un estudio :)))
 

¿Qué puede causar este problema?

Copio todo el código (copiar-pegar) de un EA que funciona de un archivo a una nueva ventana de EA (otro archivo) y deja de funcionar... misma situación en el modo guardar como

 

hola a todos

Soy nuevo en la programación de mts

Tengo un buen Asesor Experto que hace 14 000 depósitos

después de eso empieza a perder

He cambiado el parámetro de reducción máxima a 14 000 y no pierde 22 000

Gracias de antemano

 
evgenii_7:

hola a todos

Soy nuevo en la programación de mts

Tengo un buen Asesor Experto que hace 14 000 depósitos

después de eso empieza a perder

He cambiado el parámetro de reducción máxima a 14 000 y no pierde 22 000

Gracias de antemano


sin la optimización oportuna de los parámetros de entrada todo se derrama tarde o temprano... porque no hay nada "eterno" sino los verdaderos valores... :-))) el mercado cambia de vez en cuando...