FOREX - Tendencias, previsiones e implicaciones 2016 - página 721

 
Vladimir Zubov:

¡Rena! La broma con real, no puedo tener una apertura en una vela, hay un control de hierro allí. ¿Por qué se da esta situación por el hueco de las velas? Incluso no tengo el símbolo de apertura en la captura de pantalla, pero el terminal cerró la posición.

Como versión...

En primer lugar, el símbolo de 5 dígitos significa un montón de ticks y el número de veces que se ejecuta el mismo algoritmo. Es cierto que puede producirse un error en un BPA debido a un cambio brusco en el precio de apertura de una orden. La orden no se abrió, el algoritmo no manejó el error y la segunda orden sigue. Y la primera podría haberse abierto después de la primera. Fíjese en la hora de apertura del pedido.

 
new-rena:

Como una versión de...

En primer lugar, es un valor de 5 dígitos, lo que significa una gran cantidad de ticks y el número de veces que se ejecuta el mismo algoritmo. Es cierto que puede producirse un error en un GEP debido a un cambio brusco del precio de apertura de la orden. La orden no se abrió, el algoritmo no procesó el error y aquí está la segunda orden.

¿Versión de qué? MT4 988

Código bajo #propiedad estricta

Sólo proceso el primer tick de la apertura de una vela, ¿es correcta esta construcción?

//=============== Переменные =========================================

int prev_time = 0; // Trabajar con precios de apertura de velas

void OnTick()

{//Empieza-

// ======= Trabaja en los precios de apertura de las velas ============================

if ( Time[0] <= prev_time ) {return;}

prev_time = (int)Tiempo[0];

}//Inicio Fin-.

 
Vladimir Zubov:
¿Versión de qué? MT4 988
Versión de la causa del chip que has descrito.
 
Vladimir Zubov:

...

Código bajo #propiedad estricta

Se trata de la comprobación de errores de código, no de la gestión de errores de OrderSelect. ¿Tiene una función de gestión de errores OrderSelect en su código?
 
new-rena:
Esto es una comprobación de errores en el código, no de errores de procesamiento del comando OrderSelect. ¿Tiene el manejo de errores de OrderSelect en su código?

añadido como un candelabro, ¿tal vez sea eso?

Pero no hubo discotecas ni reinicio de la terminal. Al reiniciar, sé que el método no es correcto, puede abrirse en medio de una vela, pero en M1 no es tan importante, y no hubo reinicio.

 
new-rena:
Se trata de una comprobación de errores en el código, no de errores de procesamiento del comando OrderSelect. ¿Tiene el manejo de errores de OrderSelect en su código?

OrderSelect es mi guardián para las funciones de Kim, para que no haya apertura en la vela, parece que no hay problema allí.

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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=0;
  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));
}
//End

No se trata de la función, sino de los matices del trabajo en el mundo real.

 
Vladimir Zubov:

añadido como un candelabro, ¿tal vez sea eso?

Pero no hubo discotecas ni reinicio de la terminal. Al reiniciar sé que el método no es correcto, puede abrirse en medio de una vela, pero en M1 no es tan importante y no hubo reinicio.

Tendrás esto en cada tic. Utilice iTime(...PERIOD_XX...). Si lo haces así, sólo funcionará en la apertura de la vela de ese TF que has especificado. Sin embargo, si el comando de apertura/cierre de la orden devuelve un error, el robot la dará de nuevo en una nueva vela.

O iTime(...Period()...). - Esto es en el TF actual, es decir, el que está en el gráfico donde el EA es

 
Vladimir Zubov:

OrderSelect es mi guardián para las funciones de Kim, por lo que no hay apertura en la vela, parece que no hay problema allí.

Definitivamente no se trata de la función, sino de los matices del trabajo en lo real.

cargo....

No lo necesito de verdad...

 
new-rena:

andamio de carbón vegetal....

No necesito esto en el real...

1. ¿Cómo puedo hacer un nuevo control de velas para que una iteración sea en el primer tick?

Parece que este código funciona para controlar el disparo en la apertura de la vela :(

2. ¿Por qué no, se trata de la función de Kim para determinar la barra de una posición abierta?

P/S Se convirtió en MT4 ahora tengo que escribir todo de nuevo ...

 
new-rena:

tendrás esto en cada tic. Utilice iTime(...PERIOD_XX...). Si lo haces, sólo funcionará en la apertura de la vela de la TF que indiques. Sin embargo, si el comando de apertura/cierre de la orden devuelve un error, el robot la dará de nuevo en una nueva vela.

O iTime(...Period()...). - es en el marco de tiempo actual, es decir, en el gráfico donde el EA está

Hace cinco años me bajé el código del ejemplo de aquí, pero ahora todo el mundo es "listo" y sólo se dedica a maldecir y a luchar por los autónomos y el mercado...

¿Cómo determinar la apertura de una vela de una manera nueva y correcta?