Tema interesante para muchos: las novedades de MetaTrader 4 y MQL4 - grandes cambios en camino - página 57

 
hrenfx:

Esta es la tarea de un algotrader adecuado, no de un probador.

bueno)) Es decir, si quiero probar con un lote más grande, o con otro método de entrada/salida, tengo que generar manualmente un nuevo historial personalizado))

Un ejemplo aproximado de un historial personalizado son los diferentes modos de prueba en MT4. Por los precios de apertura - se prepara una matriz de la historia (precios de apertura), en otros modos - otros.

Se utilizan indicadores y una matriz con un valor calculado para cada barra (si se optimiza, se utilizan varios indicadores).

Hay que tener en cuenta la liquidez y el tipo de órdenes utilizadas y el historial se puede construir/preprocesar automáticamente en consecuencia. Lo más importante es la materia prima inicial.

 
Avals:

bueno)) Es decir, si quiero probar con un lote más grande, u otro método de entrada/salida, tengo que generar manualmente una nueva historia personalizada))

¡Exactamente! Tenga en cuenta que no estamos hablando de la historia indicativa, que es vista por el robot de batalla, sino de una historia personalizada para la ejecución en el probador. Evidentemente, el cambio de volúmenes en TS conlleva un cambio en la Historia de Ejecución. O, por ejemplo, un cambio en el ping - similar.

Generar el historial de ejecución durante las pruebas es absurdo. Por esta razón, necesitamos estimar correctamente el resultado con la reinversión-TC. Porque a medida que el volumen aumenta sobre la marcha, el historial de ejecución cambia (se deteriora). Y como es imposible predecir de antemano la dinámica de los cambios en los volúmenes con los que se opera, también es problemático recoger el historial de ejecución por adelantado. Pero debido a este matiz en particular, nadie en su sano juicio generaría el historial de ejecución en un probador en tiempo real.

De nuevo, la media de oro es importante.

Usted, por supuesto, no necesita tal baile con pandereta, como todo el mundo prácticamente. Pero hay CTs en los que no se puede prescindir de la danza.

Para exprimir al máximo su CT (cualquiera), hay que esforzarse mucho. Casi nadie lo hace, conformándose con lo que obtiene.

 
hrenfx:

¡Exactamente! Tenga en cuenta que no estamos hablando de la historia indicativa vista por el robot de batalla, sino de la historia personalizada para la ejecución en el probador. Obviamente, el cambio de volúmenes en el TS conlleva un cambio en el historial de ejecución. O, por ejemplo, un cambio en el ping - similar.

Generar el historial de ejecución durante las pruebas es absurdo. Por esta razón, necesitamos estimar correctamente el resultado con Reinvest-TC. Porque a medida que el volumen aumenta sobre la marcha, el historial de ejecución cambia (se deteriora). Y como es imposible predecir de antemano la dinámica de los cambios en los volúmenes con los que se opera, también es problemático recoger el historial de ejecución por adelantado. Pero debido a este matiz en particular, nadie en su sano juicio generaría el historial de ejecución en un probador en tiempo real.

De nuevo, la media de oro es importante.

Usted, por supuesto, no necesita tal baile con pandereta, como todo el mundo prácticamente. Pero hay CTs en los que no se puede prescindir de la danza.

Para exprimir al máximo su CT (cualquiera), hay que esforzarse mucho. Casi nadie lo hace, conformándose con lo que obtiene.

Y no hay necesidad de probar con la reinversión)) tales cosas sólo con el Nivel2 sin ningún tipo de procesamiento previo (ya sea manual o automáticamente). En otros casos, el volumen de ejecución puede tenerse en cuenta con suficiente precisión. Por supuesto, esto sólo se puede estimar en el comercio real sin influencia en el mercado de sus propias órdenes.

Hay 2 formas globales de utilizar garrapatas reales:

1. el terminal almacena los ticks y los preprocesa antes de la prueba para ahorrar recursos.

2. el usuario almacena las garrapatas, las comprime él mismo (pero según las instrucciones del probador) y las entrega al probador. Por ejemplo, como ahora en mt5, pero tf<1min. Entonces podrá construir con sus requisitos en mente.

Creo que la mayoría estará satisfecha con cualquiera de estas opciones.

P.D. Pero MQ no gana de los que prueban sus estrategias en MT5, sino de los brokers y DCs. Estos últimos se preocupan por comerciar a través de ellos y no les importa quién y cómo hagan las pruebas. Es decir, se preocupan por el terminal comercial, no por el probador. Pero, la popularidad de la plataforma depende del probador, y por lo tanto de la elección del corredor) El dilema - historial personalizado y pruebas más precisas separará un poco a los usuarios del DC/corredor (lo que no gustará a este último), pero aumentará un poco la popularidad de la plataforma. Lo que sea más rentable depende de MQ)

 

Sencillamente, no conoces el retrato del usuario medio del terminal, y por eso tienes una visión tan distorsionada de lo que afecta a la popularidad de la plataforma.

Renat lo está haciendo casi todo bien para popularizar el producto de masas entre los comerciantes. Sí, hay muchas restricciones, pero el usuario medio ni siquiera las siente.

El corredor medio también es una criatura tonta. Y se dirige al usuario medio en el mejor de los casos.

El dinero grande en FOREX está detrás de las plataformas independientes de la plataforma con enfoques avanzados de agregación. Tenemos que mejorar las condiciones comerciales para aumentar el volumen.

Compare simplemente qué régimen tiene potencialmente más dinero:

  1. Cobrar una cuota de suscripción a los corredores por utilizar su plataforma.
  2. Cobrar una comisión (del volumen de negocio) a los corredores + instituciones, por el uso de la plataforma.

No en igualdad de condiciones, la misma LMAX abandona a los clientes minoristas y se pasa al segundo esquema: ser el mejor LP, compitiendo con EBS y otros. Trasladar a los minoristas a sus IB con MT4/5 y otras plataformas.

Quien se toma en serio el algotrading no depende de las plataformas de negociación.

 

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

Quién apoya a MT5

MetaDriver, 2013.08.13 01:36

Si el aumento de clientes es mayor que la pérdida de implantación, es claramente una renta. Si el crecimiento de clientes es mayor que la pérdida de implantación, ya es claramente rentable.

Al contrario.
 
hrenfx:

Sencillamente, no conoces el retrato del usuario medio del terminal, y por eso tienes una visión tan distorsionada de lo que afecta a la popularidad de la plataforma.

Renat lo está haciendo casi todo bien para popularizar el producto de masas entre los comerciantes. Sí, hay muchas restricciones, pero el usuario medio ni siquiera las siente.

El corredor medio también es una criatura tonta. Y se dirige al usuario medio en el mejor de los casos.

El dinero grande en FOREX está detrás de las plataformas independientes de la plataforma con enfoques avanzados de agregación. Tenemos que mejorar las condiciones comerciales para aumentar el volumen.

Compare simplemente qué régimen tiene potencialmente más dinero:

  1. Cobrar una cuota de suscripción a los corredores por utilizar su plataforma.
  2. Cobrar una comisión (del volumen de negocio) a los corredores + instituciones, por el uso de la plataforma.

No en igualdad de condiciones, la misma LMAX abandona a los clientes minoristas y se pasa al segundo esquema: ser el mejor LP, compitiendo con EBS y otros. Trasladar a los minoristas a sus IB con MT4/5 y otras plataformas.

Quien se toma en serio el algotrading no depende de las plataformas de negociación.

Las dos opciones están bien ilustradas por dos visiones del mundo.

Uno dice que hay que activar el entorno, el otro dice que hay que congelar todo como está. Demócratas y republicanos, liberales y conservadores.

La primera opción (con una cuota de suscripción) obliga al corredor a poner al día a sus clientes y a animarles a operar (la cuota de suscripción debe devolverse), ya que, de lo contrario, el corredor sufre pérdidas y es cuestionable que siga formando parte del mercado.

La segunda opción no importa, aunque no haya ni una sola operación en un mes, el broker seguirá siendo usuario de la plataforma (sin operaciones, sin gastos).

Cuál es mejor es una pregunta eterna, hay veces que uno es mejor y otras que el otro es mejor.

 

Necesitaba mejorar mi probador para un nuevo oficio. Entender el código del antiguo fue más tiempo perdido (maté varias semanas - enfoques ocasionales), que escribir uno nuevo.

Por lo tanto, me tomó 5 horas (con la depuración) para escribir un nuevo probador desde cero. Sus características (me satisfacen de entrada):

  • Funciona con el modelo de apuestas M1 HighBid + LowAsk (los resultados son más precisos que el probador MT5).
  • Un símbolo.
  • Velocidad (i7 2700K) cerca de 100.000.000 barras por segundo (277 años de FOREX por segundo) en el TS de prueba - no vacío, muchas cosas calculadas. Constantemente en el mercado.
  • No hay MM - no hay lotes.
  • Beneficio sólo en pips.
  • El operador tiene la posibilidad de controlar el deslizamiento y la comisión.
  • Optimizador con sus propios criterios de optimización - para cada uno de ellos abre su propio archivo (puede ocupar muchos GB) con cadenas de operaciones ordenadas.
  • No hay comprobaciones de errores en el probador - conozco todos los matices de mi probador, así que no lo permito.
  • El TS está escrito en un MQL4 ligeramente abreviado - se han eliminado todas las cosas innecesarias. Pero puedes utilizar toda la potencia de C++.
  • El probador está escrito sin OOP - no sé cómo hacerlo de manera competente. Así que es prácticamente un lenguaje C puro.
  • Código fuente en C++ libre~ 20Kb.
  • Las paradas y los mercados fueron desechados (se dejó OrderClose) - no es necesario.
  • Cada corrida (por elección - especificar el número de corrida) puede ser visualizada y estudiada en el paquete matemático - el archivo de cambios de equidad y balance es escrito de manera simple.
  • No hay genética.
  • No hay OpenCL - no puede hacerlo.
  • Un solo hilo. Carga todos los núcleos de forma estúpida - múltiples optimizadores ejecutados manualmente.
  • Aplicación de la consola.
  • Los parámetros de entrada del TC, los ajustes del comprobador y los rangos de optimización se establecen en el archivo.
  • TC se compila junto con el probador en un archivo EXE.
  • Antes del inicio sólo hay tres archivos: EXE, historial, configuración.
  • El optimizador tiene una interrupción de la ejecución, si el estado actual de la ejecución no satisface las condiciones (por ejemplo, el hundimiento es demasiado alto).
  • El script MQL4 prepara el historial para el probador, fue escrito hace mucho tiempo.
  • No hay asignación dinámica de memoria para la tabla de pedidos - una vez asignada la memoria y olvidada.
  • No hay registros, no los miro.
  • No hay historial de pedidos - de la misma manera.
  • No se sabe nada de los indicadores y todo lo que tiene que ver con ellos: no los necesitamos para la ST.
  • Los precios son enteros (long int).

Si la misma tontería se implementa en MQL5, podemos utilizar Cloud en el modo de optimización matricial. Sólo hay que enviar el historial cada vez - la compresión incorporada de dicha información es necesaria.

Teóricamente es posible alcanzar una velocidad de ~ 100 Bb/s (en el TS de prueba). Me pregunto cuál es el rendimiento de MT5-tester en toda la nube en los mismos loros?

100 mil millones de bares por segundo es una buena velocidad para todo tipo de investigaciones. Si se convierte a otras unidades, esa velocidad dice que un año de un minuto de historia del FOREX se ejecuta ~300.000 veces por segundo en un símbolo.

La mayor parte del tiempo la pasé aprendiendo la sintaxis del lenguaje, simplemente buscándolo en Google. No es un programador.

Ya te digo que es una gran pérdida de tiempo escribir un marco universal para tus modestas necesidades. Es mejor explorar. Si hay que tener en cuenta algo, basta con añadirlo.

Esto es sólo un núcleo, ahora se necesita un conjunto de herramientas astutas para el optimizador. Aquí se necesitará bastante más tiempo: hay que pensar.

The Dev-C++ Resource Site
  • Hongli Lai
  • www.bloodshed.net
Dev-C++ is Free Software distributed under the GNU General Public License. This means you are free to distribute and modify Dev-C++, unlike most Windows software! Be sure the read the license. Donations Please support Dev-C++ by making a donation ! The money will be shared between the active developers and the support manager in order to...
 
hrenfx:
  • Velocidad (i7 2700K) alrededor de 100.000.000 barras por segundo (277 años de FOREX por segundo) en el TS de prueba - no es nada, se calculan muchas cosas. Constantemente en el mercado.

Y lo más importante, no olvides añadir la lectura del disco al tiempo.

La cifra de 100 000 000 barras es muy agradable, sobre todo con la aclaración de que hay HighBid + LowAsk (es decir, no) ¿O sólo hay 100 000 barras?

¿Analizar los resultados de las pruebas en Excel? ¿Calcular en un segundo y mirar el Excel durante una hora?


Para la comparación, el probador de MetaTrader 5 en M1 en Openbar, sin indicadores, pero con todo el equipaje y los servicios (que no ha molestado), incluyendo la animación de la interfaz gráfica de usuario y el levantamiento de toda la base del disco:

  • EURUSD,M1: 19.538.553 ticks (5.180.083 barras) generados en 7906 ms

lo que da unos 2,4 millones de ticks por segundo en un i7 similar.

 
Renat:

Lo principal es no olvidarse de añadir la lectura del disco a la hora.

Es un tiempo inútil, ya que no tiene ningún efecto en la optimización. Ahora que tienes SSD, puedes arreglar el RAM-Drive también. En resumen, este tiempo no sirve de nada.

El número de 100 000 000 barras es muy agradable, especialmente cuando se especifica que hay HighBid + LowAsk(es decir, no). ¿O sólo hay 100 000 barras?

¿Por qué crees que no lo hay? Sólo utilicé unos cientos de miles de barras para la prueba de TS. Es decir, 100 millones de barras por segundo es la velocidad de optimización. Así que la duración de la historia inicial no es importante para este parámetro.

Por ejemplo, el historial inicial de 100 000 barras se ejecuta 1000 veces por segundo en el optimizador, lo que significa la velocidad de 100 millones de barras por segundo.

¿Analizar los resultados de las pruebas en Excel? ¿Calcular en un segundo y mirar el Excel durante una hora?

Excel es una mierda (no lo conozco simplemente). En los paquetes de matrices es elemental retorcer el resultado de una corrida. No es necesario cambiar el documento de la matriz en sí. Casi todas las características de la CT se dan en el momento. Esto es mucho más avanzado y eficiente que el análisis en un probador MT5 o en cualquier otro probador.

Por cierto, el MT5-tester no tiene filtros de resultados de optimización. Lo hice inmediatamente (sin GUI, pero está 100% justificado) . Por ejemplo, he ordenado las carreras por beneficios. He puesto el filtro por drawdown, y todo está claro: la fila de abajo es siempre una carrera con menos drawdown que la de arriba. Es un método muy eficaz. Te recomiendo que lo implementes en tu probador.

Para la comparación, MetaTrader 5 probador en M1 en Openbar, sin indicadores, pero con todo el equipaje y los servicios (que no se molestó en), incluyendo la animación de la interfaz gráfica de usuario y el levantamiento de toda la base del disco:

  • EURUSD,M1: 19.538.553 ticks (5.180.083 barras) generados en 7906 ms

que da aproximadamente 2,4 millones de ticks por segundo en un i7 similar.

Mejor citar la velocidad de optimización (escrito arriba) - en teoría debería ser mayor para usted. No estoy seguro de por qué los ticks se generaron en el modo de barra libre.

Por cierto, ¿MT4 sigue superando (y si tengo en cuenta la aceleración del código MQL4?) la velocidad de MT5 en modo openbar en optimización o no?

 

Ya veo, entonces se trata exclusivamente del ciclo for(i=0;i<100000;i++) { microdevice(); }, los costes de todo lo demás se descartan.

En este caso no hay efectos de velocidad de los que hablar. Porque ni siquiera se puede lanzar una tarea de optimización en un motor tan desnudo. No puede lanzar ninguna investigación. Inmediatamente te enfrentas al problema de "necesitas indicadores, mecanismos de análisis convenientes, funciones matemáticas y demás" para una tarea sensata.

Sobre los matpackages, donde se hila todo lo que se quiere -también del mismo hilo, como "no noto los gastos generales". Nada en los matpackages (¿cuánto cuestan, por cierto?) se hila, todo se tiene que hacer a mano, peor que el excel. Por no hablar de conseguir que todas las operaciones se muestren correctamente en el gráfico de precios con un botón.

Seguimos comprobando/superponiendo puntos clave en las barras libres. Y sí, simulamos el desarrollo de la historia a partir de garrapatas en aras de la precisión y de no poder mirar hacia adelante. No tenemos un modo desordenado de "pasar por las barras tal cual", simplemente se hace la vista gorda al hecho de que en su caso la barra completa está entera, simplemente no se mira nada más que el precio de apertura, protegiéndose así de mirar hacia el futuro. ¿Te imaginas cómo nos llamarían si pusiéramos en marcha un modo que te permitiera mirar al futuro? Exactamente.

MT4 es arquitectónicamente más rápida que MT5 debido al probador integrado en el terminal, a la ausencia de gastos generales en la transferencia de todo el entorno del mercado a un proceso de terceros a través de TCP/IP, a la descompresión del historial bien comprimido en el agente, a la ejecución de la prueba, a la transmisión de los registros y estados al terminal y a la devolución de los resultados.

Lo que es increíble, durante tantos años has estado hablando de arbitraje, scalping, vórtice de micropips en el flujo de ticks, criticas a nuestros probadores, y ahora nos enseñas un ciclo for-bar con dos precios de compra/venta.