Probando 'CopyTicks' - página 21

 
Network 'xxx': authorized on Alpari-MT5 through mt5.nl.3 (ping: 64.15 ms)

En el casi vacío marketwatch de Alpari, el copitix frena tanto como en BCS.

En Robo, todo es más de un orden de magnitud más rápido.

 

Resultados en USDCHF M1, CalcLength del indicador https://www.mql5.com/ru/code/16537:

  • RoboForexEU - 23 ms (no hay copa en la emisión, sólo bid/ask)
  • MetaQuotes-Demo - 15-30 ms (hay un vaso con volúmenes en la emisión)


Los resultados fluctúan constantemente + no se cumple la regla de los hilos simples - en uno de los flujos sin la selección y la mezcla para CopyTicks, en el otro con la selección. La demo no está abierta en BCS, pero lo principal es que no hay pilas en RoboForex.

Extraño código de medición. Se midieron muchas cosas innecesarias, pero no el tiempo de solicitud de CopyTicks:

virtual void Visual( void ) const
  {
    const ulong StartTime = ::GetMicrosecondCount();

    int X0;
    int Y0;

    BARS bars(this.Chart);

    TICKSPICTURE TicksPicture(this.Chart, &bars, X0, Y0);

    this.SetProperty(::OBJPROP_XDISTANCE, X0);
    this.SetProperty(::OBJPROP_YDISTANCE, Y0);

    TicksPicture.Fill(ColorBid, ::BID);
    TicksPicture.Fill(ColorAsk, ::ASK);
    TicksPicture.Fill(ColorSpread, ::AVG);

    TicksPicture.SendToResource(this.Resource);

    ::Comment("LastCalcTime = " + (string)::TimeLocal() +
              ", Ticks = " + (string)bars.GetAmountTicks() +
              ", CalcLength = " + (string)((::GetMicrosecondCount() - StartTime) / THOUSAND) + " ms.");

    ::ChartRedraw(this.Chart);

    return;
  }

En cualquier caso, optimizamos la llamada para copiar ticks. Se necesita mucho.
Тиковый индикатор Ticks
Тиковый индикатор Ticks
  • votos: 15
  • 2016.10.14
  • //www.mql5.com/ru/users/fxsaber">
  • www.mql5.com
Показывает тиковую ценовую историю (Bid/Ask) внутри всех видимых баров.
 
Renat Fatkhullin:

Resultados en USDCHF M1, CalcLength del indicador https://www.mql5.com/ru/code/16537:

  • RoboForexEU - 23 ms (no hay pila en la emisión, sólo bid/ask)
  • MetaQuotes-Demo - 15-30 ms (hay un vaso con volúmenes en la emisión)

Problemas en Alpari Real y BCS Real. Es muy fácil abrir el verdadero

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Estadísticas de deslizamiento de órdenes limitadas en la bolsa

pivomoe, 2016.08.25 15:15

Empezar a hacer una cuenta demo mt5 con bx. Recibirá un correo electrónico con un enlace a la distribución. En la etapa de selección del servidor no elija un servidor de demostración, sino para el comercio real. Crear una cuenta con datos arbitrarios. Crear un certificado. Todo lo que tienes es una cuenta real con saldo cero con cotizaciones e historial reales.


Los resultados están constantemente flotando + la regla de los hilos individuales no se respeta - en uno sin pila los hilos (donde no hay necesidad de hacer selecciones y fusiones para CopyTicks), en el otro con pila. La demo no se abre en BCS, pero lo principal es que no hay flujos en Roboforex

Un código de medición extraño. Medido un montón de cosas extra, pero de ninguna manera el tiempo de la solicitud CopyTicks:

Eso no depende de mí. Se mide todo junto. La única diferencia es el servidor de comercio. Así que los frenos sólo están relacionados con los copyticks.

En cualquier caso, la llamada a copyTicks está optimizada. Se necesita mucho.

Copyix en su forma actual es muy inconveniente. Por ejemplo, no está en absoluto claro cómo obtener la garrapata que estaba antes de.

¿Por qué no podemos devolver el índice de la matriz base y trabajar con la base como con una matriz? Dejemos los problemas de añadir nuevos datos a la base de datos totalmente en manos del usuario. Que lo solucione él mismo, si algo va mal. Ahora mismo, trabajar con Copyix es, bueno, muy incómodo. Parece que soy una de las pocas personas que lo utiliza de forma muy activa. Y puedo decir sobre esto con bastante responsabilidad.

 
Renat Fatkhullin:

Resultados en USDCHF M1, CalcLength del indicador https://www.mql5.com/ru/code/16537:

  • RoboForexEU - 23 ms (no hay estadísticas en la emisión, sólo bid/ask)
  • MetaQuotes-Demo - 15-30 ms (hay un vaso con volúmenes en la emisión)


Los resultados fluctúan constantemente + no se cumple la regla de los hilos individuales - hay hilos sin picks y fusiones para CopyTicks en uno de ellos, en el otro con el pick. En BCS la demo no se abre, pero lo principal es que en RoboForex no hay pilas

Extraño código de medición. Medido un montón de cosas innecesarias, pero de ninguna manera CopyTicks tiempo de solicitud:

virtual void Visual( void ) const
  {
    const ulong StartTime = ::GetMicrosecondCount();

    int X0;
    int Y0;

    BARS bars(this.Chart);

    TICKSPICTURE TicksPicture(this.Chart, &bars, X0, Y0);

    this.SetProperty(::OBJPROP_XDISTANCE, X0);
    this.SetProperty(::OBJPROP_YDISTANCE, Y0);

    TicksPicture.Fill(ColorBid, ::BID);
    TicksPicture.Fill(ColorAsk, ::ASK);
    TicksPicture.Fill(ColorSpread, ::AVG);

    TicksPicture.SendToResource(this.Resource);

    ::Comment("LastCalcTime = " + (string)::TimeLocal() +
              ", Ticks = " + (string)bars.GetAmountTicks() +
              ", CalcLength = " + (string)((::GetMicrosecondCount() - StartTime) / THOUSAND) + " ms.");

    ::ChartRedraw(this.Chart);

    return;
  }

En cualquier caso, optimizamos la llamada para copiar ticks. Se necesita mucho.

Por favor, aclare lo que quiere decir sobre los hilos individuales.

Otra pregunta, para que los ticks lleguen lo más rápido posible, es necesario que la copa no esté abierta en el terminal y no haya una suscripción al evento de actualización de la copa desde el EA/indicador?

De referencia:

Velocidad de salida: el terminal almacena para cada símbolo 4096 ticks recientes en la caché de acceso rápido (65536 ticks para los símbolos con la pila en marcha), las consultas a estos datos son las más rápidas.

De nuevo, para un acceso rápido, ¿debería estar oculta la apuesta y no debería haber una suscripción para actualizar la apuesta por símbolo? ¿O tener una pila (oculta/abierta) ya es garantía de ralentización?
 
Alexey Kozitsyn:

Por favor, aclare lo que quiere decir sobre los flujos individuales.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Probando 'CopyTicks'

fxsaber, 2016.10.13 10:18

Hay un matiz de MT con los ticks en el que el propio historial de ticks se sobrescribe de forma retroactiva debido a las múltiples fuentes de ticks recibidas.


 
fxsaber:
Gracias, pero ¿sabéis lo del cristal y la velocidad de recepción?
 
Alexey Kozitsyn:
Gracias, pero ¿sabéis lo del cristal y la velocidad de recepción?
No, por desgracia. Renat afirmó que el tumblr está en constante transmisión para todo el marketwatch. Pero esa no es una solución conveniente (de despilfarro) para la mayoría de las situaciones.
 
fxsaber:
No, por desgracia. Renat argumentó que el vaso está permanentemente racionalizado para todo el mercado. Pero esa no es una solución adecuada para la mayoría de las situaciones.
Sería más lógico tener su propia copa por símbolo.
 

Así es como debe probar CopyTicks:

MqlTick ExtArr[2048];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   ulong from   =(TimeTradeServer()-1200)*1000;
   ulong ticks  =GetMicrosecondCount();
   int   records=CopyTicks(_Symbol,ExtArr,COPY_TICKS_INFO,from,2048);

   ticks=GetMicrosecondCount()-ticks;
   Print("Time: ",ticks," msc for ",records," records");
  }

Este es el resultado en microsegundos: 95 microsegundos por muestra de 2048 ticks de INFO en los últimos 20 minutos

2016.10.18 14:15:38.673 TEST (USDCHF,M1)        Time: 95 msc for 1206 records
Esto es drásticamente diferente de las decenas de milisegundos que usted afirmó. Eso es porque no has medido los CopyTicks.
 
Alexey Kozitsyn:

Por favor, aclare lo que quiere decir sobre los hilos individuales.

El flujo de compra/venta y el flujo completo con volúmenes y precios de última hora son dos grandes diferencias.

Cardinalmente grandes diferencias.


Otra pregunta, para que los ticks lleguen lo más rápido posible, ¿es necesario que la copa no esté abierta en el terminal y no haya una suscripción al evento de actualización de la copa desde el Expert Advisor/Indicator?

La apertura en el terminal o la suscripción en el EA no importa.

Si el símbolo está en marketwatch, entonces el terminal recibe todo el flujo de ticks con apuestas sin condiciones.


Pero lo más importante es que los cálculos de la frecuencia de muestreo anteriores son irrelevantes. Están hechos con tanta torpeza (todo lo que no sea el tiempo de CopyTicks está medido) que resulta hasta sorprendente.