Friday 13 October 2017

Estrategias De Negociación Adaptativa


MetaTrader 5 - Sistemas de Trading Sistemas Adaptables de Negocio y Su Uso en el Terminal MetaTrader 5 Introducción Cientos de miles de comerciantes de todo el mundo utilizan las plataformas de comercio desarrolladas por MetaQuotes Software Corp. El factor clave que conduce al éxito es la superioridad tecnológica basada en la Experiencia de muchos años y las mejores soluciones de software. Muchas personas ya han estimado nuevas oportunidades que están disponibles con el nuevo lenguaje MQL5. Sus principales características son el alto rendimiento y la posibilidad de utilizar la programación orientada a objetos. Además de ello, con la aparición del tester de estrategia multi-moneda en el terminal del cliente MetaTrader 5, muchos comerciantes han adquirido herramientas únicas para desarrollar, aprender y usar sistemas comerciales complejos. Automated Trading Championship 2010 comienza este otoño miles de robots comerciales escritos en MQL5 van a participar en ella. Ganará un Asesor Experto que gane el máximo beneficio durante la competición. Pero la estrategia que aparecerá será la más efectiva. El tester de estrategia del terminal MetaTrader 5 permite encontrar el mejor conjunto de parámetros, con los que el sistema obtiene la máxima ganancia durante un período de tiempo especificado. Pero se puede hacer en tiempo real La idea del comercio virtual usando varias estrategias en un Asesor Experto fue considerada en el Concurso de Asesores Expertos dentro de un artículo de Asesor Experto, que contiene su implementación en MQL4. En este artículo, vamos a mostrar que la creación y el análisis de estrategias adaptativas se ha vuelto mucho más fácil en MQL5 debido al uso de la programación orientada a objetos. Clases para trabajar con datos y clases comerciales de la Biblioteca Estándar. 1. Estrategias de negociación adaptativa Los mercados cambian constantemente. Las estrategias comerciales deben adaptarse a las condiciones actuales del mercado. Los valores de los parámetros que dan la máxima rentabilidad de la estrategia se pueden encontrar sin utilizar la optimización mediante el cambio secuencial de los parámetros y el análisis de los resultados de las pruebas. La Figura 1 muestra las curvas de equidad para diez Asesores Expertos (MA3, MA93), cada una de ellas comercializada por la estrategia de promedios móviles, pero con períodos diferentes (3,13.93). La prueba se ha realizado en EURUSD H1, el período de prueba es 4.01.2010-20.08.2010. Como se puede ver en la Figura 1, los expertos asesores tuvieron casi los mismos resultados durante las primeras dos semanas de trabajo, pero más sus ganancias comenzaron a divergir significativamente. Al final del período de prueba los mejores resultados comerciales fueron mostrados por los expertos asesores con los períodos 63, 53 y 43. El mercado ha elegido los mejores. ¿Por qué no deberíamos seguir su elección? ¿Qué sucede si combinamos las diez estrategias en un único Asesor Experto, ofrecemos la posibilidad de negociación virtual para cada estrategia y periódicamente (por ejemplo, al principio de cada nueva barra) determinamos la mejor estrategia para el real Comercio y comercio de acuerdo con sus señales Los resultados de la estrategia de adaptación obtenida se muestran en la Figura 2. La curva de equidad de la cuenta con comercio adaptativo se muestra con el color rojo. Tenga en cuenta que durante más de la mitad del período la forma de la curva de patrimonio para la estrategia de adaptación es la misma que la de la estrategia MA63, que finalmente parece haber sido la ganadora. Figura 2. Curvas de equidad en la cuenta con la estrategia adaptativa que utiliza señales de 10 sistemas de comercio Las curvas de equilibrio tienen la dinámica similar (Figura 3): Figura 3. Curvas de equilibrio de la estrategia adaptativa que utiliza señales de 10 sistemas de comercio Si ninguno De las estrategias es rentable en este momento, los sistemas adaptativos no deberían realizar operaciones comerciales. El ejemplo de este caso se muestra en la fig. 4 (período del 4 al 22 de enero de 2010). Figura 4. El período de tiempo en que la estrategia adaptativa dejó de abrir nuevas posiciones debido a la ausencia de estrategias rentables A partir de enero de 2010, la estrategia MA3 muestra la mejor efectividad. Puesto que el MA3 (azul) tenía la cantidad máxima de dinero ganada en ese momento, la estrategia adaptativa (roja) siguió sus señales. En el período del 8 al 20 de enero todas las estrategias consideradas tuvieron un resultado negativo, por eso la estrategia adaptativa no abrió nuevas posiciones comerciales. Si todas las estrategias tienen un resultado negativo, es mejor mantenerse alejado del comercio. Esta es la cosa significativa que permite detener el comercio no rentable y mantener su ahorro de dinero. 2. Implementación de la Estrategia de Negociación Adaptativa En esta sección, vamos a considerar la estructura de la estrategia de adaptación que realiza el comercio virtual utilizando simultáneamente varias estrategias comerciales y elige la más rentable para el comercio real de acuerdo a sus señales. Tenga en cuenta que el uso del enfoque orientado a objetos hace la solución de este problema significativamente más fácil. En primer lugar vamos a investigar el código del Asesor Experto adaptativo, luego vamos a echar un vistazo detallado a la CAdaptiveStrategy donde se implementa la funcionalidad del sistema adaptativo, y luego mostraremos la estructura de la clase CSampleStrategy Clase base de las estrategias comerciales en las que se implementa la funcionalidad del comercio virtual. Además, iban a considerar el código de dos de sus hijos - las clases de CStrategyMA y CStrategyStoch que representan las estrategias de negociación por las medias móviles y el oscilador estocástico. Después de analizar su estructura youll ser capaz de escribir fácilmente y agregarle propias clases que realizan sus estrategias. 2.1. Código del Asesor Experto El código del Asesor Experto se ve muy simple: Las tres primeras líneas definen las propiedades del programa. Entonces viene la directiva include que indica al preprocesador que incluya el archivo CAdaptiveStrategy. mqh. Los corchetes angulares especifican que el archivo debe tomarse del directorio estándar (generalmente, es terminalfolderMQL5Include). La siguiente línea contiene la declaración del objeto AdaptiveExpert (instancia de la clase CAdaptiveStrategy) y el código de OnInit. Las funciones de OnDeinit y OnTick del Asesor Experto consisten en las llamadas de las funciones correspondientes ExpertOnInit, ExpertOnDeInit y ExpertOnTick y el objeto AdaptiveExpert. 2.2. La clase CAdaptiveStrategy La clase de thr Expert Advisor adaptativo (clase CAdaptiveStrategy) se encuentra en el archivo CAdaptiveStrategy. mqh. Comencemos con los archivos de inclusión: La razón por la que incluimos el archivo ArrayObj. mqh es la conveniencia de trabajar con clases de diferentes estrategias utilizando el objeto de la clase CArrayObj, que representa una matriz dinámica de punteros a las instancias de clase generadas por la base Clase CObject y sus hijos. Este objeto será el array mallstrategies, se utilizará un contenedor de estrategias comerciales. Cada estrategia se representa como una clase. En este caso, hemos incluido los ficheros que contienen las clases CStrategyMA y CStrategyStoch, que representan las estrategias de negociación por promedios móviles y negociación por el oscilador estocástico. Para solicitar propiedades de posiciones actuales y para realizar operaciones comerciales, utilizaremos las clases CPositionInfo y CTrade de la biblioteca Standard, por eso incluimos los archivos PositionInfo. mqh y Trade. mqh. Echemos un vistazo a la estructura de la clase CAdaptiveStrategy. Para implementar un enfoque unido a los objetos de diferentes clases, las estrategias comerciales (o más bien las instancias de sus clases) se almacenan en las estrategias de matriz dinámica (del tipo CArrayObj), que se utiliza como un contenedor de clases de las estrategias. Esta es la razón por la cual la clase de estrategias comerciales SampleStrategy se genera a partir de la clase CObject. La función ProceedSignalReal implementa la sincronización de la dirección y el volumen de una posición real con la dirección y el volumen dados: Tenga en cuenta que es más fácil trabajar con la posición de comercio con las clases de comercio. Utilizamos los objetos de las clases CPositionInfo y CTrade para solicitar las propiedades de posición de mercado y para realizar operaciones comerciales respectivamente. La función RealPositionDirection solicita los parámetros de la posición abierta real y devuelve su dirección: Ahora vamos a echar un vistazo a las funciones principales de la clase AdaptiveStrategy. Comencemos con la función ExpertOnInit: El conjunto de estrategias de negociación se prepara en la función ExpertOnInit. En primer lugar, se crea el objeto de la matriz dinámica mallstrategies. En este caso, hemos creado diez instancias de la clase CStrategyMA. Cada uno de ellos se inicializó (en este caso, se establecen diferentes períodos y se permite el comercio virtual) mediante la función de inicialización. A continuación, utilizando la función SetStrategyInfo establecemos el instrumento financiero, el nombre de la estrategia y el comentario. Si es necesario, utilizando la función SetStops (TP, SL) podemos especificar un valor (en puntos) de Take Profit y Stop Loss, que se ejecutará durante el comercio virtual. Tenemos esta línea comentada. Una vez creada y ajustada la clase de estrategia, la añadimos al contenedor mallstrategies. Todas las clases de estrategias comerciales deben tener la función CheckTradeConditions () que realiza las verificaciones de las condiciones de operación. En la clase de la estrategia adaptativa esta función se llama al principio de cada nueva barra, por lo que damos a las estrategias una posibilidad de comprobar los valores de los indicadores y hacer las operaciones de comercio virtual. En lugar de diez medias móviles especificadas (3, 13, 23. 93) podemos agregar cientos de promedios móviles (instancias si la clase CStrategyMA): O podemos agregar las clases de estrategia que funciona por las señales del oscilador estocástico (instancias de La clase CStrategyStoch): En este caso el contenedor incluye 10 estrategias de promedios móviles y 5 estrategias del oscilador estocástico. Los ejemplos de clases de estrategias de negociación deben ser los hijos de la clase CObject y deben contener la función CheckTradeConditions (). Es mejor heredarlos de la clase CSampleStrategy. Las clases que implementan estrategias comerciales pueden ser diferentes y su número no es limitado. La función ExpertOnInit finaliza con la lista de estrategias que están presentes en el contenedor mallstrategies. Tenga en cuenta que todas las estrategias en el contenedor se consideran como los hijos de la clase CSampleStrategy. Las clases de estrategias comerciales CStrategyMA y CStrategyStoch son también sus hijos. El mismo truco se utiliza en la función ExpertOnDeInit. En el contenedor, llamamos a la función SaveVirtualDeals para cada estrategia que almacena el historial de transacciones virtuales realizadas. Utilizamos el nombre de estrategia para el nombre de archivo que se pasa como un parámetro. A continuación, desinitializamos las estrategias llamando a la función Deinitialization () y eliminando el contenedor mallstrategies: Si no necesita saber acerca de las transacciones virtuales realizadas por las estrategias, elimine la línea donde se llama tStrategy. SaveVirtualDeals. Tenga en cuenta que al usar el tester de estrategia los archivos se guardan en el directorio / testerdirectory / Files /. Consideremos la función ExpertOnTick de la clase CAdaptiveStrategy que se llama cada vez que aparece una nueva marca: El código es muy simple. Cada estrategia, ubicada en el contenedor debe ser capaz de recalcular el resultado financiero actual de sus posiciones virtuales utilizando los precios actuales. Se realiza llamando a la función UpdatePositionData (). Aquí, una vez más llamamos a las estrategias como los herederos de la clase CSampleStrategy. Todas las operaciones comerciales se realizan al principio de una nueva barra (la función IsNewBar () permite determinar este momento, así como los otros métodos de verificación de nueva barra). En este caso, el final de la formación de una barra significa que todos los datos de la barra anterior (precios y valores de los indicadores) ya no va a cambiar, por lo que puede analizarse en la correspondencia con las condiciones de comercio. A todas las estrategias les damos la oportunidad de realizar este control y realizar sus operaciones de comercio virtual llamando a su función CheckTradeConditions. Ahora debemos encontrar la estrategia más exitosa entre todas las estrategias en el array de mallstrategies. Para hacerlo, usamos la matriz Performance, los valores devueltos por la función StrategyPerformance () de cada estrategia se colocan en ella. La clase base CSampleStrategy contiene esta función como la diferencia entre los valores actuales de Equidad virtual y Balance. La búsqueda del índice de la estrategia más exitosa se realiza mediante la función ArrayMaximum. Si la mejor estrategia tiene un beneficio negativo en el momento y no tiene posiciones abiertas reales, entonces es mejor no negociar, esa es la razón por la que salimos de la función (ver sección 1). Además, solicitamos la dirección de la posición virtual de esta estrategia (bestdirection). Si difiere de la dirección actual de la posición real, entonces la dirección actual de la posición real será corregida (usando la función ProceedSignalReal) de acuerdo con la mejor dirección de dirección. 2.3. Class CSampleStrategy Estrategias colocadas en el contenedor mallstrategies fueron consideradas como las herederas de la clase CSampleStrategy. Esta clase es la base para las estrategias comerciales que contiene la implementación del comercio virtual. En este artículo vamos a considerar un caso simplificado de la implementación de comercio virtual, los swaps arent aken en consideración. Las clases de estrategias comerciales deben ser heredadas de la clase CSampleStrategy. Permite mostrar la estructura de esta clase. No analizaremos su descripción detallada, se puede encontrar información adicional en el archivo CSampleStrategy. mqh. Allí también puede encontrar la función de comprobar nueva barra - IsNewBar. 3. Clases de Estrategias Comerciales Esta sección está dedicada a la estructura de clases de estrategias comerciales que se utilizan en el Asesor Experto adaptativo. 3.1. Clase CStrategyMA - Estrategia de negociación por promedios móviles La clase CStrategyMA es un hijo de la clase CSampleStrategy donde se implementa toda la funcionalidad del comercio virtual. La sección protegida contiene variables internas que se utilizarán en la clase de la estrategia. Estos son: mhandle - handle del indicador iMA, mperiod - período de la media móvil, mvalues ​​- matriz que se utilizará en la función CheckTradeConditions para obtener los valores actuales del indicador. La sección pública contiene tres funciones que proporcionan la implementación de la estrategia comercial. Función Inicialización. La estrategia se inicializa aquí. Si necesita crear indicadores, creelos aquí. Función Deinitialization. La estrategia se desintegra aquí. Las manijas de los indicadores se publican aquí. Función heckTradeConditions. Aquí, la estrategia comprueba las condiciones comerciales y genera señales comerciales que se utilizan para el comercio virtual. Para realizar operaciones de comercio virtual, la función SetSignalState de la clase madre de CStrategy se llama una de cuatro de las siguientes señales comerciales que se le pasan: La señal para abrir una posición larga (SIGNALOPENLONG) La señal para abrir una posición corta (SIGNALOPENSHORT) La señal para cerrar una posición corta (SIGNALCLOSELONG) La señal para cerrar una posición corta (SIGNALCLOSESHORT) El concepto es simple - sobre la base de estados de indicador y precios, se determina el tipo de señal (newstate), entonces el estado actual del virtual Se solicita la transacción (utilizando la función GetSignalState) y si no son iguales, se llama a la función SetSignalState para corregir la posición virtual. 3.2. Clase CStrategyStoch - la Estrategia de Trading por Estocástico El código de la clase que realiza la negociación sobre la base de la intersección de las líneas principal y de señal del oscilador iStochastic se da a continuación: Como se ve, las únicas diferencias entre la estructura de la clase CStrategyStoch Y el de CStrategyMA son la función de inicialización (diferentes parámetros), el tipo de indicador utilizado y las señales comerciales. Por lo tanto, para utilizar sus estrategias en el asesor experto adaptable, debe volver a escribir en la forma de clases de ese tipo y cargarlos en el contenedor mallstrategies. 4. RESULTADOS DEL ANÁLISIS DE LAS ESTRATEGIAS ADAPTATIVAS DE COMERCIO En esta sección, vamos a discutir varios aspectos del uso práctico de las estrategias adaptativas y los métodos para mejorarlas. 4.1. Mejora del sistema con estrategias que utilizan señales inversas Los promedios móviles no son buenos cuando no hay tendencias. Ya hemos conocido este tipo de situaciones: en la figura 3, se puede ver que no hubo tendencia entre el 8 y el 20 de enero, por lo que las 10 estrategias que usan los promedios móviles en el comercio tuvieron una pérdida virtual. El sistema adaptativo dejó de operar como resultado de la ausencia de una estrategia con una cantidad positiva de dinero ganado. ¿Hay alguna manera de evitar ese efecto negativo? Vamos a añadir a nuestras 10 estrategias (MA3, MA13. MA93) otras 10 clases CStrategyMAinv. Cuyas señales comerciales son invertidas (las condiciones son las mismas pero SIGNALOPENLONG / SIGNALOPENSHORT y SIGNALCLOSELONG / SIGNALCLOSESHORT intercambian sus posiciones). Así, además de diez estrategias de tendencia (instancias de la clase CStrategyMA), tenemos otras diez estrategias de contra-tendencia (instancias de la clase CStrategyMAinv). El resultado del uso del sistema adaptativo que consta de veinte estrategias se muestra en la figura 5. Figura 5. Diagramas de equidad en la cuenta de la estrategia adaptativa que utiliza 20 señales comerciales: 10 promedios móviles CAdaptiveMA y 10 reflejados CAdaptiveMAinv Como puede Ver en la figura 5, durante el período en el que todas las estrategias de CAdaptiveMA tuvieron un resultado negativo, siguiendo las estrategias de CAdaptiveMAinv permitió que el Asesor experto evitara las retiradas no deseadas al principio del comercio. Este tipo de enfoque puede parecer inaceptable, ya que perder el depósito es sólo una cuestión de tiempo cuando se utiliza una estrategia de contra-tendencia. Sin embargo, en nuestro caso, no se limitaron a una sola estrategia. El mercado conoce mejor qué estrategias son efectivas en este momento. El lado fuerte de los sistemas adaptativos es que el mercado sugiere por sí mismo qué estrategia debe utilizarse y cuándo debe utilizarse. Da la posibilidad de abstraer de la lógica de las estrategias - si una estrategia es efectiva, entonces la forma en que funciona no tiene importancia. El enfoque adaptativo utiliza el único criterio de éxito de una estrategia - su eficacia. 4.2. Vale la pena invertir las señales de la peor estrategia El truco con la inversión mostrada anteriormente conduce a un pensamiento sobre la posibilidad potencial de utilizar las señales de la peor estrategia. Si una estrategia no es rentable (y la peor en eso), entonces podemos obtener un beneficio actuando a la inversa ¿Podemos convertir una estrategia perdedora en una rentable por un simple cambio de sus señales Para responder a esta pregunta, tenemos que cambiar ArrayMaximum con ArrayMinimum en la función ExpertOnTick () de la clase CAdaptiveStrategy, así como para implementar el cambio de direcciones multiplicando el valor de la variable BestDirection por -1. Además, debemos comentar la limitación del comercio virtual en caso de efectividad negativa (ya que vamos a analizar el resultado de la peor estrategia): Diagrama de equidad del asesor experto adaptativo que utiliza las señales invertidas de la peor estrategia es Que se muestra en la figura 7: Figura 7. Diagramas de equidad en las cuentas de diez estrategias y el sistema adaptativo que utiliza las señales invertidas del peor sistema En este caso, la estrategia menos exitosa para la mayoría de las veces fue la basada en la intersección De los promedios móviles con el período 3 (MA3). Como se puede ver en la figura 7, existe la correlación inversa entre MA3 (color azul) y la estrategia adaptativa (color rojo). Pero el resultado financiero del sistema adaptativo no impresiona. Copiar (e invertir) las señales de la peor estrategia no conduce a mejorar la efectividad de la negociación. 4.2. ¿Por qué el montón de promedios móviles no es tan eficaz como parece? En lugar de 10 promedios móviles puede utilizar muchos de ellos mediante la adición de otros cien de estrategias CStrategyMA con diferentes períodos para el contenedor mallstrategies. Para hacerlo, cambie ligeramente el código de la clase CAdaptiveStrategy: Sin embargo, debe comprender que los promedios móviles cercanos inevitablemente se intersectarán, el líder cambiará constantemente y el sistema adaptativo cambiará sus estados y posiciones abiertas / cerradas más frecuentemente de lo necesario. Como resultado, las características del sistema adaptativo empeorarán. Puede comprobarlo por sí solo comparando las características estadísticas del sistema (la pestaña Resultados del probador de estrategias). Es mejor no hacer sistemas adaptativos basados ​​en muchas estrategias con parámetros cercanos. 5. Lo que debe ser considerado El contenedor mallstrategies puede tener miles de ejemplos de estrategias sugeridas incluidas, incluso se puede agregar todas las estrategias con diferentes parámetros sin embargo, para ganar el Automated Trading Championship 2010. que necesita para desarrollar el sistema avanzado de gestión de dinero. Tenga en cuenta que hemos utilizado el volumen de negociación igual a 0,1 lotes para la prueba en los datos del historial (y en el código de las clases). 5.1 Cómo aumentar la rentabilidad del asesor experto adaptativo La clase CSampleStrategy tiene la función virtual MoneyManagementCalculateLots: Para administrar el volumen para el comercio, puede utilizar la información estadística sobre los resultados y las características de acuerdos virtuales que se registran en la matriz mdealshistory. Si necesita aumentar el volumen (por ejemplo, para duplicarlo si los últimos acuerdos virtuales en mdealshistory son rentables o para disminuirlo), debe cambiar el valor devuelto de la manera correspondiente. 5.2 Uso de las estadísticas de las ofertas para el cálculo del desempeño de la estrategia La función StrategyPerformance (), implementada en la clase CSampleStrategy, está destinada al cálculo del desempeño de la estrategia. La fórmula de efectividad de una estrategia puede ser más compleja y, por ejemplo, El cálculo de la efectividad de la entrada, salida y la efectividad de los acuerdos (los campos de entrada, salida y comercio de las estructuras de la matriz de la historia) se realiza automáticamente durante el proceso de entrada y salida. Comercio virtual (ver la clase CSampeStrategy). Esta información estadística se puede utilizar para hacer sus propias tasas, más complejas de la eficacia de la estrategia. Por ejemplo, como características de efectividad, puede utilizar el beneficio de las tres últimas ofertas (use el campo posProfit del archivo de ofertas mdealshistory): Si desea cambiar esta función, cámbiela sólo en la clase CSampleStrategy, debe ser la Para todas las estrategias comerciales del sistema adaptativo. Sin embargo, usted debe recordar que la diferencia entre Equidad y Equilibrio es también un buen factor de efectividad. 5.3 Utilizar tomar ganancias y detener pérdidas Puede cambiar la eficacia de los sistemas de negociación estableciendo niveles de parada fijos (puede hacerlo llamando a la función SetStops, que permite establecer los niveles de parada en puntos para el comercio virtual). Si se especifican los niveles, el cierre de las posiciones virtuales se realizará automáticamente, esta funcionalidad se implementa en la clase CSampleStrategy. En nuestro ejemplo (ver 2.2, la función de clases de promedios móviles), se comenta la función de establecer niveles de parada. 5.4. Zeroización Periódica del Beneficio Virtual Acumulativo El enfoque adaptativo tiene la misma desventaja que las estrategias comunes. Si la estrategia líder comienza a perder, el sistema adaptativo comienza a perder también. Esa es la razón por la que a veces se necesita para poner a cero los resultados de trabajo de todas las estrategias y cerrar todas sus posiciones virtuales. Para ello, se implementan las siguientes funciones en la clase CSampleStrategy: CheckPoint de este tipo se puede utilizar de vez en cuando, por ejemplo después de cada N barras. Debe recordar que el sistema adaptativo no es un grial (USDJPY H1, 4.01.2010-20.08.2010): Figura 8. Curvas de equilibrio y patrimonio del sistema adaptativo que utiliza las señales de la mejor de las 10 estrategias (USDJPY H1) Las curvas de todas las estrategias se muestran en la figura 9. Si no existen estrategias rentables en el sistema adaptativo, utilizarlas no es eficaz. Utilice estrategias rentables. Deberíamos considerar otra cosa importante e interesante. Preste atención al comportamiento de la estrategia adaptativa al inicio de la negociación: Figura 10. Curvas de equidad en la cuenta con 10 estrategias de la estrategia adaptativa Al principio, todas las estrategias tuvieron resultados negativos y la estrategia adaptativa dejó de operar, entonces comenzó a cambiar Entre las estrategias que tuvieron un resultado positivo y luego todas las estrategias volvieron a ser inútiles. Todas las estrategias tienen el mismo equilibrio al principio. Y sólo después de un tiempo, una u otra estrategia se convierte en un líder por lo que se recomienda establecer una limitación en la estrategia de adaptación para evitar el comercio en las primeras barras. Para hacerlo, complete la función ExpertOnTick de la clase CAdaptiveStrategy con una variable, cuyo valor se incrementa cada vez que aparece una nueva barra. En el principio, hasta que el mercado elige la mejor estrategia, usted debe permanecer lejos de comercio verdadero. Conclusiones En este artículo, hemos considerado un ejemplo del sistema adaptativo que consiste en muchas estrategias, cada una de las cuales realiza sus propias operaciones comerciales virtuales. Real trading se realiza de acuerdo con las señales de una estrategia más rentable en el momento. Gracias al uso del enfoque orientado a objetos, las clases para trabajar con datos y clases comerciales de la biblioteca Standard, la arquitectura del sistema parecía ser simple y escalable ahora usted puede fácilmente crear y analizar los sistemas adaptativos que incluyen cientos de estrategias comerciales. PD Para el análisis de conveniencia del comportamiento de sistemas adaptativos, se adjunta la versión de depuración de la clase CSampleStrategy (el archivo adaptive-systems-mql5-sources-debug-en. zip). La diferencia de esta versión es la creación de archivos de texto durante su trabajo que contienen los informes de síntesis sobre la dinámica de cambio de equilibrio virtual / equidad de las estrategias incluidas en el sistema. Top Razones por las que debe utilizar QuantShare: Trabaja con los EE. UU. y los mercados internacionales Ofrece las herramientas que le ayudarán a convertirse en un comerciante rentable Le permite implementar cualquier idea comercial Intercambiar artículos e ideas con otros usuarios de QuantShare Nuestro equipo de soporte es muy sensible y responderá a cualquiera de las siguientes preguntas: Sus preguntas Vamos a implementar las características que usted sugiere Precio muy bajo y mucho más características que la mayoría de otros software de comercio Gratis - No requiere tarjeta de crédito Razones principales por qué debe utilizar QuantShare: Advanced Charting Descargar EOD, intraday, fundamental, noticias y sentimiento Datos para cada mercado Poderoso Herramientas de análisis cuantitativo Backtest cualquier estrategia y generar señales de compra y venta diarias Crear compuestos e indicadores de mercado Descargar indicadores, sistemas de negociación, descargadores, pantallas. Compartido por otros usuarios Actualizado en 2011-11-07 Los sistemas de comercio adaptativo son estrategias que pueden aprender de la historia de los datos de mercado y activos y, en consecuencia, adaptar sus reglas a la nueva dinámica del mercado. Un sistema de comercio adaptativo automático o automático puede ajustar sus reglas de compra y venta dependiendo del desempeño de estas reglas en el pasado. Un ejemplo sería crear un sistema de comercio basado en una regla de compra única y luego apagar y en esta regla dependiendo del rendimiento de este último en los últimos 2 años. El sistema de comercio podría ser tan simple como comprar una acción cuando su índice de fuerza relativa de 14 barras (RSI) es mayor que 70. Esta estrategia puede ser transformada en un sistema de comercio adaptativo mediante la adición de una regla que analizar o backtest la primera regla, en El pasado, y luego devolver su rendimiento o cualquier otra métrica. A continuación, comprobar la medida de simulación y tomar una decisión basada en ella. Ejemplo: Desactive la regla RSI si la medida es negativa. Aquí hay cuatro indicadores comerciales que pueden ayudarle a crear sistemas de comercio adaptativo. Estos indicadores se crearon mediante la herramienta Crear función del software de comercio QuantShare. Están disponibles en el servidor compartido y se pueden modificar fácilmente para satisfacer sus necesidades. El indicador de compra es una función muy potente que analiza el rendimiento de una regla de negociación sobre el número especificado de barras. Para cada barra de negociación, calcula el rendimiento promedio de las diferentes operaciones que se generaron durante las barras N anteriores. Cada operación se realiza cuando la regla de compra suministrada es VERDADERO y se sale después de un número específico de barras (regla N-Bar Stop). Comprar una acción cuando el precio es superior a su media móvil de 30 barras y cuando el rendimiento promedio de las operaciones generadas por la regla 1, en el último año , Es positivo. La estrategia de negociación adaptativa utiliza una parada de 20 barras como regla de salida. Durante una simulación, este indicador le permite realizar backtests dentro de un backtest. Indicator link de descarga: Comprar Indicator Simulation / Backtest Trading Indicator Esta es una variación del indicador Buy. La función contiene un parámetro adicional que le permite especificar un número mínimo de transacciones. El retorno de la estrategia se establece en cero si el número de operaciones generadas por esta regla de adaptación (para cada barra de negociación) está por debajo de este número. Aquí está un ejemplo basado en dos reglas comerciales: rule1 close hhv (close, 5) rule2 volume 2sma (volumen, 20) buy rule1 and rule2 y BuyInd1 (rule1, 5, 10, 250) 0 y BuyInd1 (rule2, 5, 10) , 250) 0 Se genera una señal de compra si: - La acción está haciendo una nueva alta de 5 días (Regla 1) - El volumen es dos veces más alto que el volumen promedio de las últimas 20 barras (Regla 2) - Rendimiento promedio de las operaciones generadas Buy Simulador de Compra Esta función de Simulación de Compra / Venta es casi similar al Indicador de Compra con la diferencia de que le permite especificar una regla de salida (por ejemplo, El backtesting interno) y un número mínimo de operaciones a considerar para validar el resultado de la estrategia. Regla de venta: Las devoluciones comerciales se calcularán en función de la regla de compra y venta especificada. Tenga en cuenta que en el indicador Buy la regla de venta era una parada N-Bar. Operaciones mínimas: Después de realizar el backtesting interno (para cada barra), la función comprueba el número de transacciones y lo compara con este valor. Si el número de operaciones está por debajo del umbral mínimo entonces el retorno de la estrategia se establece en cero. Ejemplo: rule1 close sma (30) buy rule1 y BuySellSim (regla 1, regla 1, 10, 250) 0 En el ejemplo anterior, la regla de salida de la estrategia adaptativa consiste en vender el valor si la media móvil simple es mayor o igual a la Cerrar precio Note that by using 10 as minimum number of trades, the simulator or portfolio will never enter a new position (no signal) if there are less than 10 similar trades for the security in the past year. Strategy Indicator - Percent winning trades for a trading rule As the previous ones, this indicator acts as a simulator or backtester and returns a measure based on trades generated in the past N-bars. The measure that is returned by this function is the percentage of winning trades. Adaptive trading rules can be used to trade stocks, ETFs, Forex, futures and any other financial assets. Besides the previous indicator, the other ones use the average trade returns as metric. Of course, adaptive trading systems can be based on other metrics, such as the annual return, Sharpe ratio, Sortino ratio, maximum drawdown, standard deviation. All you have to do is create new adaptive functions or modify the formula of the existing ones. Trading Signals Trading Signals for SP Futures The ATS Trading Signals are designed to predict the short-term trends of the SP/ES futures 1 trading day in advance. Las señales comerciales descargadas por la noche se aplican al cierre de la sesión del día siguiente. Se incluyen las señales comerciales generadas por modelos individuales así como conjuntos de modelos. El período de comercio promedio para los modelos individuales oscila entre 3 y 350 días de negociación. Los sistemas de comercio construidos con conjuntos de modelos individuales proporcionan predicciones de las tendencias a corto, mediano y largo plazo. Indicadores Técnicos Los Indicadores Técnicos de ATS están diseñados para ser indicadores líderes de las tendencias diarias de precios de seguridad. Los indicadores SIP (Predictores de Índice de Acciones) fueron diseñados para ser predictivos de los contratos futuros de SP / ES. El conjunto de indicadores SIP incluye los siguientes siete indicadores: Presión de venta Presión de venta Presión neta Presión de compra alta Presión de venta alta Presión de avance Presión decreciente Los indicadores ATS se pueden cartografiar junto con la seguridad correspondiente utilizando una aplicación como AmiBroker. El poder predictivo de los indicadores puede ser fácilmente evaluado. Otro enfoque consiste en utilizar los indicadores como insumos para construir modelos de redes neuronales. Hay muchas posibilidades. Cómo descargar las señales comerciales ATS Mercury es la aplicación que se utiliza para descargar las señales e indicadores comerciales de ATS. Esta aplicación es gratuita. ATS Mercury se instala con el ID de usuario predeterminado de invitado. La cuenta de invitado es capaz de descargar un historial de los indicadores ATS, sin embargo, será retrasado por 1 día de negociación. Por ejemplo, cuando se utiliza la cuenta de invitado para descargar los valores de señal en un miércoles por la noche sólo las señales hasta el martes (el día de negociación anterior) estará disponible. Nota: Los archivos de señal se guardarán en la carpeta C: Indicadores de DataATS de forma predeterminada. Ejemplo de estrategia de negociación El indicador de presión neta SIP2 (SIP2NP) se publicó por primera vez el 30 de mayo de 2012 junto con los otros indicadores SIP2. La estrategia de negociación es ser largo los futuros SP cuando el indicador SIP2NP es mayor o igual a 0,6 y corto el mercado cuando es menor o igual a -0,6. Todas las operaciones están hipotéticamente cubiertas MOC en el día de negociación siguiente el día en que los sistemas se actualizan. La curva de equidad generada por esta regla simple sigue. Los beneficios acumulados son en puntos y no incluyen las comisiones o el deslizamiento. SIP2NP aplicado a los futuros SP El gráfico anterior se actualiza a 6/5/2015. El porcentaje de comercio perfecto es 18,65 y el sistema de comercio está en el mercado alrededor de 28 de la época. Usted puede descargar los indicadores y explorar esta estrategia comercial más utilizando ATS Mercury. Los suscriptores al servicio de Señal Comercial SP y SIP Indicador pueden descargar valores de señal actuales. Si desea suscribirse, puede hacerlo en la página Compras de productos. NOTA. Los resultados de rendimiento hipotéticos o simulados tienen limitaciones inherentes. A diferencia de un registro de rendimiento real, los resultados simulados no representan el comercio real. Además, dado que las operaciones no se han ejecutado realmente, los resultados pueden tener una compensación insuficiente o excesiva para el impacto, si alguno, de ciertos factores de mercado, como la falta de liquidez. Los programas comerciales simulados en general también están sujetos al hecho de que están diseñados con el beneficio de la retrospección. No se hace ninguna representación de que cualquier cuenta tenga o sea probable obtener ganancias o pérdidas similares a las mostradas. El desempeño pasado de nuestros sistemas de negociación, señales comerciales y software de modelado, ya sean reales o indicados por pruebas históricas simuladas de estrategias de negociación, no es indicativo de resultados futuros. 0169 Copyright 2008-2016 AdaptiveTradingSystems

No comments:

Post a Comment