Thursday, November 17, 2016

Algoritmos De Predicción De Forex

Cómo funciona El objetivo principal de Forex-Forecasting es proporcionar predicciones diarias e intra-día de alta calidad de los precios de mercado FOREX. Recibirá predicciones de divisas en formato de tabla / gráfico, basadas en cinco períodos de tiempo diferentes (5 y 15 minutos, 1 hora, 1 día y 1 mes) junto con las señales de compra / venta apropiadas. Forex-Forecasting utiliza algoritmos de predicción inicialmente desarrollados para la predicción de stock y adaptados para el mercado Forex. Servicios: Puede acceder a nuestro servicio de dos maneras: En línea a través de nuestro sitio web. Una vez que hayas creado una cuenta, recibirás acceso al panel de control ya las herramientas que tengamos que ofrecer. Usando su software favorito, como Metastock, Metatrader y otros. Youll necesidad de descargar e instalar el plugin Forex-Forecasting. A continuación, puede utilizar nuestras predicciones en conjunto con las fórmulas y algoritmos de negociación que ya utiliza. El concepto: Muchas muestras de las tendencias de la moneda tienen una onda (o una estructura no periódica, oscilante). Esto puede representarse matemáticamente como una combinación del número de armónicos con frecuencias desconocidas, cambiantes y las tendencias amplitudes. Por lo tanto, la información sobre estos armónicos es muy útil tanto para predicciones de series temporales (predicciones de precios de mercado) como para soporte de decisiones (consejos de compra / venta). Sin embargo, no se pueden utilizar métodos analíticos ordinarios para separar los armónicos de los parámetros variables. Hemos desarrollado un método de previsión especial para series temporales económicas basadas en nuestra tecnología innovadora y única. Central a nuestro método es la descomposición de la tendencia y los componentes oscilatorios de la serie de tiempo con la ayuda de filtros digitales. Esta técnica adaptativa especial, basada en redes neuronales, se utiliza para actualizar nuestros modelos y detectar los días en que la serie cronológica cambia sus propiedades (nuestro know-how). En contraste con otros métodos, nuestra técnica puede identificar tendencias a largo plazo y oscilaciones con frecuencias cambiantes, mientras que proporciona resultados mucho más convenientes que, por ejemplo, un análisis de Fourier. Taller Internacional de Inteligencia sobre Adquisición de Datos y Sistemas Informáticos Avanzados: Tecnología y Aplicaciones 6-8 de septiembre de 2007, Dortmund, Alemania 58a Conferencia Económica Atlántica Internacional, Chicago, Illinois, 7-10 de Octubre, 2004SnowCron SnowCron Genetic Algorithm in FOREX Trading Systems Using Algorithm Genetic Para crear rentable FOREX Trading Strategy. Algoritmo Genético en Cortex Redes Neuronales Software Feedforward Backpropagation Neural Network Aplicación para cálculos genéticos basados ​​en comercio de Forex. Este ejemplo utiliza conceptos e ideas del artículo anterior, por lo que lea el Algoritmo Genético de redes neuronales en FOREX Trading Systems en primer lugar, aunque no es obligatorio. Acerca de este texto En primer lugar, lea la cláusula de exención de responsabilidad. Este es un ejemplo de usar la funcionalidad de algoritmo genético del Software de redes neuronales de Cortex, no un ejemplo de cómo hacer negocios rentables. Yo no soy tu gurú, tampoco debería ser responsable de tus pérdidas. Cortex Neural Networks Software tiene redes neurales en él, y FFBP hemos discutido antes es sólo una forma de elegir una estrategia de comercio de divisas. Es una buena técnica, potente y cuando se aplica correctamente, muy prometedor. Sin embargo, tiene un problema - enseñar a la Red Neural. Necesitamos saber la salida deseada. Es bastante fácil de hacer cuando hacemos la aproximación de función, simplemente tomamos el valor real de una función, porque sabemos lo que debería ser. Cuando hacemos la predicción de redes neuronales. Utilizamos la técnica (descrita en artículos anteriores) de enseñar la Red Neural sobre la historia, de nuevo, si predecimos, digamos, un tipo de cambio, sabemos (durante el entrenamiento) cuál es la predicción correcta. Sin embargo, cuando estamos construyendo un sistema comercial, no tenemos idea de cuál es la decisión comercial correcta, incluso si sabemos el tipo de cambio. Como cuestión de hecho, tenemos muchas estrategias de compraventa de divisas que podemos utilizar en cualquier momento, y Necesitamos encontrar una buena - cómo ¿Qué debemos alimentar como la salida deseada de nuestra red neuronal Si siguió nuestro artículo anterior, usted sabe, que hemos engañado para hacer frente a este problema. Enseñamos a la Red Neural para hacer la predicción del tipo de cambio (o indicador basado en el tipo de cambio) y luego utilizamos esta predicción para hacer el comercio. Luego, fuera de la parte de la Red Neural del programa, tomamos una decisión sobre qué Red Neural es la mejor. Algoritmos genéticos pueden hacer frente a este problema directamente, pueden resolver el problema declarado como encontrar las mejores señales comerciales. En este artículo vamos a utilizar Cortex Neural Networks Software para crear un programa de este tipo. Usando el Algoritmo Genético Los Algoritmos Genéticos están muy bien desarrollados, y muy diversos. Si quieres aprender todo sobre ellos, te sugiero que utilices Wikipedia, ya que este artículo trata solo de lo que puede hacer el software de Redes Neuronales Cortex. Tener software de redes neuronales de corteza. Podemos crear una Red Neural que toma algo de entrada, digamos, los valores de un indicador, y produce algo de salida, digamos, señales comerciales (comprar, vender, mantener) y detener la pérdida / tomar los niveles de beneficios para las posiciones que se abren. Por supuesto, si sembramos estos pesos de la Red Neural al azar, los resultados comerciales serán terribles. Sin embargo, digamos que creamos una docena de tales NN. Entonces podemos probar el rendimiento de cada uno de ellos, y elegir el mejor, el ganador. Esta fue la primera generación de NNs. Para continuar a la segunda generación, tenemos que permitir que nuestro ganador para procrear, pero para evitar copias idénticas, vamos a añadir algún ruido al azar a sus pesos descententes. En la segunda generación, tenemos a nuestro ganador de primera generación ya sus copias imperfectas (mutadas). Vamos a hacer las pruebas de nuevo. Tendremos otro ganador, que es MEJOR entonces cualquier otra Red Neural en la generación. Y así. Simplemente permitimos que los ganadores se reproduzcan y eliminen a los perdedores, al igual que en la evolución de la vida real, y obtendremos nuestra Red Neural de mejor comercio. Sin ningún conocimiento previo sobre qué debería ser el sistema comercial (algoritmo genético). Algoritmo Genético de Red Neural: Ejemplo 0 Este es el primer ejemplo de algoritmo genético. Y una muy simple. Vamos a caminar paso a paso para aprender todos los trucos que usarán los siguientes ejemplos. El código tiene comentarios en línea, así que solo debemos enfocar momentos clave. En primer lugar, hemos creado una red neuronal. Está utilizando pesos al azar, y todavía no se enseñó. Luego, en ciclo, hacemos 14 copias de la misma, usando MUTATIONNN fumction. Esta función hace una copia de una red neuronal de origen. Añadiendo valores aleatorios de 0 a (en nuestro caso) 0,1 a todos los pesos. Mantenemos las manijas a 15 NNs resultantes en una matriz, podemos hacerlo, ya que handle es sólo un número entero. La razón por la que usamos 15 NNs no tiene nada que ver con el comercio: Cortex Neural Networks Software puede trazar hasta 15 líneas en un gráfico simultáneamente. Podemos utilizar diferentes enfoques para la prueba. En primer lugar, podemos utilizar el conjunto de aprendizaje, todo de una vez. En segundo lugar, podemos probar, por ejemplo, 12000 resordes (de 100000), y caminar a través del conjunto de aprendizaje, desde el principio hasta el final. Esto hará que los conocimientos sean diferentes, ya que buscaremos redes neuronales que sean rentables en cualquier parte de los datos, no sólo en el conjunto. El segundo enfoque puede darnos problemas, si los datos cambian, desde el principio hasta el final. A continuación, la red evolucionará, obteniendo la capacidad de negociar al final del conjunto de datos, y la pérdida de la capacidad de comercio en su inicio. Para resolver ese problema, vamos a tomar 12000 registros aleatorios fragmentos de datos, y lo alimentan a la Red Neural. Es simplemente un ciclo sin fin, ya que 100000 ciclos nunca serán alcanzados a nuestra velocidad. A continuación, agregamos un niño por cada red, con pesos ligeramente diferentes. Tenga en cuenta, que 0,1 para mutación tange no es la única opción, como cuestión de hecho, incluso este parámetro puede ser optimizado mediante el algoritmo genético. Los NNs recién creados se añaden después de los existentes. De esta manera tenemos 30 NNs en una matriz, 15 viejos y 15 nuevos. Entonces vamos a hacer el siguiente ciclo de pruebas, y matar a los perdedores, de ambas generaciones. Para hacer las pruebas, aplicamos la Red Neural a nuestros datos, para producir salidas, y luego llamar a la función de prueba, que utiliza estas salidas para simular el comercio. Los resultados de la negociación se utilizan para deside, que NNs son los mejores. Utilizamos un intervalo de registros nLearn, desde nStart hasta nStart nLearn, donde nStart es un punto aleatorio dentro del conjunto de aprendizaje. El siguiente código es un truco. La razón por la que lo usamos es para ilustrar el hecho de que el algoritmo genético puede crear algoritmos genéticos. Pero no necesariamente será el mejor, y también, para sugerir, que podemos mejorar el resultado, si implicamos algunas limitaciones al proceso de aprendizaje. Es posible, que nuestro sistema de comercio funciona muy bien en los oficios largos, y muy pobre en corto, o viceversa. Si, por ejemplo, las operaciones largas son MUY buenas, este algoritmo genético puede ganar, incluso con grandes pérdidas en operaciones cortas. Para evitarlo, asignamos más peso a las operaciones largas en operaciones impares y cortas en ciclos pares. Esto es sólo un ejemplo, no hay garantía, que mejorará algo. Más abajo, en la discusión sobre correcciones. Técnicamente, usted no tiene que hacerlo, o puede hacerlo de manera diferente. Añada beneficios a una matriz ordenada. Devuelve una posición de inserción, entonces usamos esta posición para agregar el identificador de red neuronal, aprendiendo y probando beneficios a arrays no ordenados. Ahora tenemos datos para la red neuronal actual en el mismo índice de matriz que su beneficio. La idea es llegar a la matriz de NNs, ordenados por la rentabilidad. Dado que la matriz se clasifica por beneficios, para eliminar la mitad de las redes, que son menos rentables, sólo tenemos que quitar NNs 0 a 14 Las decisiones comerciales se basan en el valor de la señal de red neuronal, desde este punto de vista el programa es idéntico a Ejemplos del artículo anterior. FOREX Trading Strategy: Discusión del ejemplo 0 En primer lugar, echemos un vistazo a los gráficos. El primer gráfico de ganancia durante la primera iteración no es bueno en absoluto, como era de esperar, la Red Neural pierde dinero (image evolution00gen0.png copiada después de la primera iteración de la carpeta de imágenes): La imagen para obtener ganancias en el ciclo 15 es mejor, a veces , El algoritmo genético puede aprender muy rápido: Sin embargo, observe la saturación en una curva de beneficio. Es interesante también mirar la forma en que los beneficios individuales cambian, teniendo en cuenta, que el número de la curva, por ejemplo, 3 no es siempre para la misma Red Neural. Ya que están naciendo y terminó todo el tiempo: También tenga en cuenta, que poco forex sistema de comercio automatizado realiza pobres en operaciones cortas, y mucho mejor en largos, que pueden o no estar relacionados con el hecho de que el dólar estaba cayendo en comparación con Euros durante ese período. También puede tener algo que ver con los parámetros de nuestro indicador (tal vez, necesitamos período diferente para los cortos) o la elección de los indicadores. Aquí está la historia después de 92 y 248 ciclos: Para nuestra sorpresa, el algoritmo genético falló completamente. Vamos a tratar de averiguar por qué, y cómo ayudar a la situación. En primer lugar, no cada generación se supone que es mejor que el previuos La respuesta es no, al menos no dentro del modelo que utilizamos. Si tomamos ENTIRE el aprendizaje fijado de una vez, y lo usamos repetidamente para enseñar a nuestros NNs, entonces sí, ellos mejorarán en cada generación. Pero en su lugar, tomamos fragmentos aleatorios (12000 registros en el tiempo), y los usamos. Dos preguntas: ¿por qué el sistema fracasó en fragmentos aleatorios del conjunto de aprendizaje, y por qué no hemos utilizado conjunto de aprendizaje conjunto Bueno. Para responder a la segunda pregunta, lo hice. NNs se desempeñó mucho - en el conjunto de aprendizaje. Y no en el conjunto de pruebas, por la misma razón que falla cuando utilizamos FFPB aprendizaje. Para decirlo de otra manera, nuestros NNs se sobre-especializados, aprendieron a sobrevivir en el ambiente al que están acostumbrados, pero no fuera de él. Esto sucede mucho en la naturaleza. El enfoque que tomamos en su lugar fue la intención de compensar eso, al obligar a NNs a realizar buenos en cualquier fragmento al azar del conjunto de datos, por lo que esperamos, también podría realizar en un conjunto de pruebas desconocido. En su lugar, fallaron en las pruebas y en el conjunto de aprendizaje. Imagínense animales, viviendo en un desierto. Mucho sol, no hay nieve en absoluto. Este es un metafor para rizing mercado, como para nuestros datos NNs desempeñar el papel del medio ambiente. Los animales aprendieron a vivir en un desierto. Imagínense animales, que viven en un clima frío. Nieve y no hay sol. Bueno, se ajustaron. Sin embargo, en nuestro experimento, colocamos aleatoriamente nuestras NN en un desierto, en la nieve, en el agua, en los árboles. Presentándolos con diferentes fragmentos de datos (aleatoriamente subiendo, bajando, planos). Los animales murieron. O, para decirlo de otra manera, hemos seleccionado la mejor red neuronal para el conjunto de datos aleatorios 1, que, digamos, era para el mercado en alza. Luego presentamos, a los ganadores ya sus hijos, una caída de los datos de los mercados. NNs se desempeñó mal, que tomó mejor de los artistas pobres, tal vez, uno de los niños mutantes, que perdió la capacidad de comercio en el mercado en alza, pero tiene cierta capacidad para hacer frente a la caída de uno. Entonces volvimos la mesa otra vez, y otra vez, conseguimos el mejor ejecutante - pero el mejor entre los ejecutantes pobres. Simplemente no dimos a nuestros NNs ninguna posibilidad de convertirse en universal. Hay técnicas que permiten que el algoritmo genético aprenda nueva información sin perder el rendimiento en la información antigua (después de todo, los animales pueden vivir en verano y en invierno, así que la evolución es capaz de manejar los cambios repetitivos). Podemos discutir estas técnicas más adelante, aunque este artículo es más sobre el uso de Cortex Neural Networks Software. Que sobre la construcción de un exitoso sistema de comercio automatizado forex. Algoritmo Genético de la Red Neural: Ejemplo 1 Ahora es el momento de hablar sobre las correcciones. Un algoritmo genético simple que creamos durante el paso anterior tiene dos defectos importantes. En primer lugar, fracasó en el comercio con el beneficio. Está bien, podemos intentar utilizar un sistema parcialmente entrenado (fue rentable al principio). El segundo defecto es más grave: no tenemos control sobre las cosas, que este sistema hace. Por ejemplo, puede aprender a ser rentable, pero con grandes reducciones. Es un hecho bien conocido, que en la vida real, la evolución puede optimizar más de un parámetro simultáneamente. Por ejemplo, podemos obtener un animal, que puede correr rápido y ser resistente al frío. ¿Por qué no intentar hacer lo mismo en nuestro sistema de comercio automatizado forex. Eso es cuando usamos correcciones, que no son más que el conjunto de castigos adicionales. Digamos, nuestro sistema negocia con drawdown 0.5, mientras que queremos confirmarlo a 0 - 0.3 intervalo. Para decirle al sistema que cometió un error, disminuimos su beneficio (uno usado para determinar, que algoritmo genético ganó) hasta el grado, que es proporcional al tamaño de DD. Entonces, el algoritmo de evolución cuida el resto. Hay pocos factores más, que queremos tener en cuenta: podemos querer tener más o menos el mismo número de operaciones de compra y venta, queremos tener más operaciones rentables, luego de fracasos, tal vez queramos que el gráfico de ganancias Ser lineal y así sucesivamente. En evolution01.tsc implementamos un conjunto simple de correcciones. En primer lugar, utilizamos un gran número para un valor de corrección inicial. Lo multiplicamos a un valor pequeño (usualmente, entre 0 y 1), dependiendo del castigo que queramos aplicar. Entonces multiplicamos nuestro beneficio a esta corrección. Como resultado, el beneficio es corregido, para reflejar cuánto el algoritmo genético corresponde a nuestros otros criterios. Luego usamos el resultado para encontrar una red neuronal ganadora. FOREX Trading Strategy: Discutir el ejemplo 1 El ejemplo 1 funciona mucho mejor que el ejemplo 0. Durante los primeros 100 ciclos, aprendió mucho y los gráficos de beneficios parecen tranquilizadores. Sin embargo, como en el ejemplo 0, las operaciones largas son mucho más rentables, lo que probablemente significa que hay un problema en nuestro enfoque. Sin embargo, el sistema encontró un equilibrio entre un par de condiciones iniciales contradictorias: Hay una dinámica positiva tanto en el conjunto de aprendizaje y, más importante, en el conjunto de pruebas. En cuanto al aprendizaje adicional, en el ciclo 278 podemos ver, que nuestro sistema se sobreentrenó. Significa, todavía tenemos progreso en el conjunto de aprendizaje: Pero el conjunto de pruebas muestra debilidad: Este es un problema común con NNs: cuando lo enseñamos en el conjunto de aprendizaje, aprende a tratar con él, ya veces, aprende demasiado bien - a la Grado, cuando pierde el rendimiento en el conjunto de pruebas. Para hacer frente a ese problema, se utiliza una solución tradicional: seguimos buscando la Red Neural. Que funciona mejor en el conjunto de pruebas, y guardarlo, sobrescribiendo el anterior mejor, cada vez que se alcanza un nuevo pico. Este es el mismo enfoque, que usamos en el entrenamiento FFBP, excepto, esta vez tenemos que hacerlo nosotros mismos (añadir código, que busca una mejor red neuronal en un conjunto de pruebas, y llamando a SAVENN, o la exportación de pesos de la red neuronal a un archivo). De esta manera, cuando deje de entrenar, tendrá el mejor intérprete en el juego de prueba guardado y esperando por usted. Tenga en cuenta también, que no es el máx. Beneficio que buscas, pero el rendimiento óptimo, por lo que considerar el uso de correcciones, cuando se busca un mejor desempeño en un conjunto de pruebas. Algoritmo genético para FOREX Análisis técnico: ¿Dónde ahora? Después de obtener su ganador Neural Network. Puede seguir los pasos, descritos en el artículo anterior, para exportar pesos de esa Red Neural. Y luego utilizarlos en su plataforma de comercio en tiempo real, como Meta Trader, Trade Station y así sucesivamente. Alternativamente, puede centrarse en otras formas de optimizar la Red Neural. A diferencia del algoritmo FFBP, aquí puede obtener avay de usar conjuntos de aprendizaje y pruebas y mover el aprendizaje secuencial. Descargar Cortex Order Cortex Ver lista de precios La visibilidad es muy importante para este sitio. Si te gusta por favor, enlace a este URLForex Algorithmic Trading: Un cuento práctico para los ingenieros Como usted puede saber, el mercado de divisas (Forex) se utiliza para el comercio entre los pares de divisas. Pero es posible que no sea consciente de que es el mercado más líquido del mundo. Hace unos años, impulsado por mi curiosidad, tomé mis primeros pasos en el mundo de los algoritmos de comercio de Forex mediante la creación de una cuenta demo y jugando simulaciones (con dinero falso) en la plataforma de comercio Meta Trader 4. Después de una semana de comercio, Id casi duplicó mi dinero. Estimulado por mi propio éxito, cavé más profundo y con el tiempo me inscribí en varios foros. Pronto, estuve pasando horas leyendo sobre sistemas de negociación algorítmicos (conjuntos de reglas que determinan si usted debe comprar o vender), indicadores personalizados. Humor del mercado, y más. Mi primer cliente Alrededor de este tiempo, coincidentemente, he oído que alguien estaba tratando de encontrar un desarrollador de software para automatizar un sistema de comercio simple. Esto estaba de vuelta en mis días de colegio cuando estaba aprendiendo acerca de la programación simultánea en Java (hilos, semáforos, y toda esa basura). Pensé que este sistema automatizado esto no podría ser mucho más complicado que mi avanzado curso de ciencia de datos de trabajo, así que pregunté sobre el trabajo y vino a bordo. El cliente quería el sistema construido con MQL4. Un lenguaje de programación funcional utilizado por la plataforma Meta Trader 4 para realizar acciones relacionadas con las acciones. MQL5 ha sido puesto en libertad. Como es de esperar, se ocupa de algunos de los problemas MQL4s y viene con más funciones integradas, lo que hace la vida más fácil. El papel de la plataforma de negociación (Meta Trader 4, en este caso) es proporcionar una conexión a un corredor de Forex. El corredor proporciona entonces una plataforma con información en tiempo real sobre el mercado y ejecuta sus órdenes de compra / venta. A través de Meta Trader 4, puede acceder a todos estos datos con funciones internas, accesibles en varios plazos: cada minuto (M1), cada cinco minutos (M5) , M15, M30, cada hora (H1), H4, D1, W1, MN. El movimiento del precio actual se llama una marca. En otras palabras, una marca es un cambio en el precio de oferta o de oferta de un par de divisas. Durante los mercados activos, puede haber numerosas garrapatas por segundo. Durante los mercados lentos, puede haber minutos sin una garrapata. La marca es el latido de un robot Forex. Cuando realiza un pedido a través de una plataforma, compra o vende un determinado volumen de una determinada divisa. También establece límites de stop-loss y take-profit. El límite de stop-loss es la cantidad máxima de pips (variaciones de precio) que usted puede permitirse perder antes de renunciar a una operación. El límite de toma de beneficios es la cantidad de pips que youll acumular a su favor antes de cobrar. Si desea obtener más información sobre los conceptos básicos del comercio (por ejemplo, pips, tipos de pedido, spread, slippage, pedidos de mercado y más), consulte aquí. Las especificaciones de trading algorítmicas de los clientes eran simples: querían un robot basado en dos indicadores. Para los antecedentes, los indicadores son muy útiles cuando se trata de definir un estado de mercado y tomar decisiones comerciales, ya que se basan en datos anteriores (por ejemplo, el precio más alto en los últimos n días). Muchos vienen incorporados a Meta Trader 4. Sin embargo, los indicadores de que mi cliente estaba interesado en vino de un sistema de comercio personalizado. Querían comerciar cada vez que dos de estos indicadores personalizados se cruzaban, y sólo en un cierto ángulo. Hands On Cuando me ensucié las manos, aprendí que los programas MQL4 tienen la siguiente estructura: Directivas del preprocesador Parámetros externos Variables globales Init Función Deinit Función Función de inicio Funciones personalizadas La función de inicio es el corazón de cada programa MQL4, ya que se ejecuta cada vez que Movimientos de mercado (ergo, esta función se ejecutará una vez por cada tick). Este es el caso independientemente del período de tiempo que esté usando. Por ejemplo, podría estar operando en el horario H1 (una hora), pero la función de inicio se ejecutaría miles de veces por período de tiempo. Para solucionar este problema, forcé la función a ejecutar una vez por unidad de período: Obtención de los valores de los indicadores: La lógica de decisión, incluida la intersección de los indicadores y sus ángulos: Enviando los pedidos: Si está interesado, puede encontrar la completa, Runnable en GitHub. Back-Testing Una vez que construí mi sistema de comercio algorítmico, quería saber: 1) si se comportaba adecuadamente, y 2) si era bueno. Back-testing es el proceso de probar un sistema particular (automatizado o no) bajo los eventos del pasado. En otras palabras, usted prueba su sistema usando el pasado como un proxy para el presente. MT4 viene con una herramienta aceptable para volver a probar un sistema de comercio de Forex (hoy en día, hay más herramientas profesionales que ofrecen una mayor funcionalidad). Para empezar, configurar sus marcos de tiempo y ejecutar su programa en una simulación la herramienta simulará cada tick sabiendo que para cada unidad debe abrir a determinado precio, cerrar a un precio determinado y alcanzar los máximos y mínimos especificados. Después de comparar las acciones del programa contra los precios históricos, youll tener un buen sentido de si o no su ejecución correctamente. Los indicadores que se eligieron, junto con la lógica de decisión, no fueron rentables. De back-testing, Id comprobado el coeficiente de retorno de los robots para algunos intervalos de tiempo al azar no hace falta decir, yo sabía que mi cliente no iba a hacerse rico con los indicadores que había elegido, junto con la lógica de decisión, no eran rentables. Como muestra, aquí están los resultados de ejecutar el programa sobre la ventana M15 para 164 operaciones: Tenga en cuenta que nuestro balance (la línea azul) termina por debajo de su punto de partida. Una advertencia: decir que un sistema es rentable o no rentable no siempre es genuina. A menudo, los sistemas son (no) rentables por períodos de tiempo basado en el estado de ánimo de los mercados: optimización de parámetros y sus mentiras Aunque las pruebas de back me había desconfiado de esta utilidad robots, me intrigó cuando empecé a jugar con sus parámetros externos y Notó grandes diferencias en la relación de retorno total. Esta ciencia en particular se conoce como optimización de parámetros. Hice algunas pruebas en bruto para tratar de inferir la importancia de los parámetros externos en la relación de retorno y surgió con algo como esto: Usted puede pensar (como yo) que debe utilizar el parámetro A. Pero la decisión no es tan sencillo como Puede aparecer. En concreto, tenga en cuenta la imprevisibilidad del parámetro A: para los pequeños valores de error, su retorno cambia drásticamente. En otras palabras, es muy probable que el parámetro A supere los resultados futuros ya que cualquier incertidumbre, cualquier cambio en absoluto resultará en un peor desempeño. Pero, de hecho, el futuro es incierto Y por lo tanto el retorno del parámetro A es también incierto. La mejor opción, de hecho, es confiar en la imprevisibilidad. A menudo, un parámetro con un rendimiento máximo más bajo pero una predictibilidad superior (menos fluctuación) será preferible a un parámetro con alto retorno pero pobre predictibilidad. La única cosa que puede estar seguro es que usted no sabe el futuro del mercado, y pensando que sabe cómo el mercado va a realizar sobre la base de datos del pasado es un error. A su vez, usted debe reconocer esta imprevisibilidad. Pensando que usted sabe cómo el mercado va a realizar sobre la base de datos pasados ​​es un error. Esto no significa necesariamente que debamos usar el parámetro B, ya que incluso los retornos más bajos del parámetro A mejor que el parámetro B, esto es sólo para mostrarle que la optimización de parámetros puede resultar en pruebas que sobrevaloran los resultados futuros y tal pensamiento no es obvio. General Forex Algorithmic Trading Consideraciones Desde esa primera experiencia algorítmica Forex trading, he construido varios sistemas de comercio automatizado para los clientes, y puedo decir que theres siempre espacio para explorar. Por ejemplo, recientemente construí un sistema basado en encontrar los llamados movimientos Big Fish, es decir, enormes variaciones de pips en diminutas y diminutas unidades de tiempo. Este es un tema que me fascina. Construir su propio sistema de simulación es una excelente opción para aprender más sobre el mercado Forex, y las posibilidades son infinitas. Por ejemplo, podría intentar descifrar la distribución de probabilidad de las variaciones de precios en función de la volatilidad en un mercado (EUR / USD por ejemplo), y quizás hacer un modelo de simulación Montecarlo usando la distribución por estado de volatilidad, usando cualquier grado de precisión usted quiere. Voy a dejar esto como un ejercicio para el lector ansioso. El mundo Forex puede ser abrumador a veces, pero espero que este artículo te ha dado algunos puntos sobre cómo ir. Lectura adicional Hoy en día, hay una gran cantidad de herramientas para construir, probar y mejorar las automatizaciones de sistemas de comercio: Blox de comercio para las pruebas, NinjaTrader para el comercio, OCaml para la programación, por nombrar algunos. He leído extensamente sobre el misterioso mundo que es el mercado de Forex. Aquí hay algunos escritos que recomiendo para programadores y lectores entusiastas: Sobre el autor Ver perfil completo raquo Comentarios Siempre he querido aprender sobre esto. Gracias estudié un poco de la teoría del mercado en la universidad y aprendí sobre el canal de comercio. Siempre pensé que sería un buen ajuste para el comercio de algo ya que la estrategia es recursiva. ¿Tiene alguna sugerencia sobre cómo implementar el tipo de canal de estrategias (a diferencia de las estrategias de media móvil) I39m seguro de que usted sabe esto, pero algunos (antiguo) la investigación muestra que las estrategias de MA exponencial hacer más y incluso realizar estrategias de compra y mantenimiento sin tomar Ventajas fiscales. Hola Rismay, gracias por comentar, acerca de esto: QuotDos tienes algunos consejos sobre cómo implementar el tipo de canal de estrategias (a diferencia de las estrategias de Moving Average) Quot Hay muchos indicadores de canal por ahí (es decir: Donchian, IREGR y muchos más) También puede codificar su propio indicador de canal, una vez que tenga que puede hacer el ExpertAdvisor para tomar decisiones basadas en cualquier indicador / s que está utilizando. Los valores de los indicadores se refieren como una matriz de punto cero inverso oo..0 (es decir: los datos más recientes estarían en la posición 0 del búfer indicador). El libro de Andrew R. Young es un buen punto de partida para entender cómo funcionan los indicadores. Gracias impresionante del artículo. Curioso si you39ve contratado en el quantopian / comunidad Parece una gran manera de conseguir los pies mojados Gracias por este artículo impresionante Congrats Gran post Rogelio Sólo quería compartir mi experiencia también :) Casi todos los estados de libro de comercio, que la mayoría de los comerciantes fracasan debido a Factor psicológico, cuando hacen excepciones de sus propias estrategias, así que como un ingeniero mi único tought era que éste es un lugar perfecto para una solución del software para evitar la inntervention humana al sistema que negocia una vez que usted decide comenzar a usarlo. He pasado un año entero de mi carrera simplemente programando, probando y optimizando con datos pasados ​​cada estrategia que pude encontrar en línea y en varios libros de negociación diferentes. Y usted sabe qué - ninguno de ellos tenía rentabilidad constante. Y después de leer un montón de entradas de blog, etc llegué a la conclusión: Estamos viviendo en un mundo donde todo el mundo puede escribir su propio robot de comercio y las grandes corporaciones comerciales, los bancos, etc están constantemente analizando todos los mercados mediante el uso no sólo las estrategias Desarrollado por algunos gurús comerciales, pero también algoritmos de aprendizaje de máquina desplegado en super computadoras, que trata de encontrar al menos algunos patrones en todos los mercados. Y aquí está el resultado: Una vez que algún patrón se hace realidad al menos durante un cierto período de tiempo que emediatly se convierte en ningún patrón, porque todo el mundo en este juego están buscando estos patrones. Una vez que vea algún patrón que ponga un pedido para comprar o vender, su orden empuja el mercado en la dirección opuesta que usted quiere que vaya al menos por un tiempo. Pero no se crea, si usted ve el patrón muy probablemente un montón de otros comerciantes con inversiones hudge ve este patrón, así que esta vez están haciendo lo mismo y todos ustedes pierden su dinero todos juntos. Piense en ello antes de decidirse a convertirse en un comerciante con antecedentes de ingeniería de software. Hola Simanas, Gracias por el comentario reflexivo. En un bosquejo anterior de este artículo describí quiénes son los jugadores realmente inteligentes en este juego, y mencioné a los chicos de Jane Street, entre otros, que desempeñan el papel de intermediarios y arbitradores en el mercado. Nosotros (el Editor, Charlie Marsh y Me) decidimos no incluir eso entre otras reflexiones que consideraron sólo que están mencionando en este comentario. Dicho esto, me gusta creer que se puede encontrar una ventaja del mercado si se utilizan las herramientas correctas y hacer las simulaciones correctas utilizando las variables adecuadas. Gracias por comentar No he participado en esa comunidad que parece increíble para comenzar a programar y reutilizar el código que se ofrece allí Buen artículo Rogelio, En la lectura adicional, ¿por qué sugiere Ocami para la programación en lugar de MQL4 o MQL5 o quotRquot o lo que me gustó este artículo Ya que es exactamente el tipo de grandes hitos importantes que encontré. El proyecto que comenzó para una fórmula personalizada para varios clientes separados se convirtió en un producto comercial impulsado por las presentaciones de los usuarios. Ahora los usuarios pueden copiar o vender sus operaciones y operaciones de copia de los indicadores en Meta Trader. Sixtysecondoptions It39s llamado el operador automático de las opciones binarias (BOAT para el cortocircuito) y solamente las opciones binarias (2 resultados ganan o pierden solamente). Juan Manuel Ramallo ¿Lo puedes probar con caballos. Robot Forex es como configurar un ROBOT delante de la ruleta. Bullion Invest - Invest 500 Devolución 350 diarios durante 50 días Programa A: Recibir Recibir 70 diarios durante 50 días por cada depósito realizado en el Programa Estándar. Recibirá su principal inmediatamente después de que su período de inversión haya expirado. Llegar a bordo si desea bastante éxito garantizado desde el primer día sin error de amplificador de prueba. Gracias de nuevo.


No comments:

Post a Comment