Wednesday 8 November 2017

Forex Optimizer V2 7


Gordago, la divisa. : Forex Forex Optimizer Optimizador -,, la divisa. ,,. :. Optimizador de divisas, Forex Optimizer. Optimizador de divisas, Forex Optimizer. /. . ,,. . ,. ,,, (),,,. . ,,: API. , Forex Optimizer. Forex: Optimizador de código abierto. 2.7 subversión: svn checkout trac. gordago. ru/svn/tags/2.7/ 2,8,,: svn checkout trac. gordago. ru/svn/trunk/ Lite actualización Desarrollar Lite actualización Desarrollar -. ,,. ,,. , - LiteUpdate LiteUpdate Develop. Idioma Editor Editor de idiomas -. LanguageManager () Editor de idiomas (). . ,:: Info en gordago punto com ICQ: 481186408 SnowCron SnowCron Redes Neuronales de comercio de divisas en este artículo: un ejemplo del uso de nuestras redes neuronales software para crear un sistema de comercio red neuronal completa. En este ejemplo se utiliza la corteza incorporado en lenguaje de script. así que por favor leer la guía de lenguaje de script en primer lugar. El uso de redes neuronales para crear FOREX Trading Estrategia En este tutorial en línea gratis se encuentra el ciclo completo de la utilización de redes neuronales de la corteza (Redes Neuronales software) para las operaciones de cambio (o la bolsa de comercio. La idea es la misma). Usted aprenderá cómo elegir las entradas para las redes neuronales artificiales. y cómo decidir qué usar como la salida. Encontrará un ejemplo de un producto listo para usar script que permite llevar a cabo la optimización de redes neuronales, tanto de la estructura de la Red Neuronal (número de neuronas) y el sistema de comercio de divisas (detener la caída, etc.) Por último (la parte que no está presente en la mayoría de los tutoriales), que aprenderán qué hacer a continuación. Después de todo, la corteza Redes Neuronales El software no puede hacer el comercio en tiempo real, es necesario utilizar algo así como la estación de Comercio, MetaQuotes o MetaTrader. Como puerto del sistema de comercio de divisas desde la corteza hasta su plataforma de operaciones favorito ¿Tiene que hacer frente a las DLL, controles ActiveX y programación de bajo nivel La respuesta es NO. Córtex Redes Neuronales software viene con la facilidad de uso característica que le permite fácilmente el puerto (entrenados) de red neuronal resultante al lenguage de su plataforma de negociación. No hay archivos DLL, DDE, ActiveX o cualquier otro tipo de soluciones de bajo nivel - todo es así de simple. Nota importante: este no es un tutorial de cómo el comercio. En su lugar, se le indica cómo utilizar las redes neuronales de la corteza del software. pero usted todavía tiene que inventar su propio sistema de comercio. El que usamos aquí es apenas un punto de partida, y shouldn t ser utilizado como una estrategia de comercio de divisas como es. La idea de este texto es el de enseñar a crear sistemas de comercio basados ​​en NN y portarlos a la plataforma de negociación de su elección. El ejemplo es, sin embargo, ovesimplified, y sólo puede ser utilizado como el de la ilustración de los principios de negociación. Asimismo, el sistema de comercio MACD, que se pueden encontrar en muchos tutoriales, no está funcionando bien más (ya que los mercados han cambiado), pero aún así es un buen ejemplo del uso de indicadores para el comercio mecánica. En dos palabras: hacer su propio análisis. Otra nota importante: el tutorial utiliza ejemplos, muchos de ellos. Para hacer la vida más fácil, me gustan todos, no sólo los fragmentos incluido. Sin embargo, el texto hace mucho más tiempo. Además, voy desde el primer sistema, torpe, las operaciones de cambio. al más avanzado, cada vez que explicar lo que había sido mejorada y por qué. Sea paciente, o ir directamente a la sección que necesita. nota final importante: el código no es algo tallado en piedra, que podría cambiar desde que este texto fue escrito. Las versiones finales de los archivos de comandos se incluyen en el archivo de la corteza. Trampas de divisas señales de compra / venta: ¿Qué problema con ejemplos sencillos en la Guía del usuario de la corteza Redes Neuronales Software s hemos utilizado un ejemplo sencillo de una red neuronal aftifficial. predecir el precio de GENZ de valores. Para averiguar cuál es el problema con este enfoque, dejar que s hacer el mismo ejemplo simple, utilizando MSFT. TXT, en lugar de la GENZ. TXT (use 800 registros en el conjunto de aprendizaje, como MSFT. TXT es un poco más corto, entonces GENZ. TXT). Sólo wouldn t funciona Por qué El motivo se hará evidente, si te preguntas: ¿Cuál es la predicción de red neural razón de los valores futuros se puede realizar en primer lugar la respuesta es: se trata de aprender a hacer lo que se llama redes neuronales de reconocimiento de patrones . para reconocer patrones, y si hay una lógica oculta en estos patrones, será reconocido a continuación, incluso un nuevo patrón (con la misma lógica). Eso es un truco - con la misma lógica. No hay ni siquiera uno, sino tres problemas aquí. En primer lugar, si nos fijamos en el Microsoft s precio de las acciones, se dará cuenta, que iba en la parte de aprendizaje de nuestros datos, y hacia los lados - en la parte de pruebas. Por lo que es posible, que la lógica había cambiado. En segundo lugar, y más importante aún - ¿Qué es el modelo que ves, si le enseñamos a la red neuronal en el rango de 10 - 100 y, a continuación, presentamos con algo en el rango de 1 a 3 - que son diferentes patrones de 10, 20, 30 y 1, 2, 3 tienen un aspecto similar a la humana, porque - pORQUE - tenemos esta capacidad de dividir por diez, cuando se presenta con los números que terminan en cero. Es lo que se denomina un pre-procesamiento de los datos, y por defecto, el NN no puede hacerlo. Se puede enseñar, por supuesto. ¿Qué es exactamente tenemos que enseñarlo Esta es la tercera, y la más importante. No necesitamos la predicción de precios No nos importa Lo que necesitamos es señales de venta de divisas de compra. Ahora, espera un minuto Necesitamos a) tener nuestra entrada (tanto el aprendizaje y las pruebas) en el mismo rango, y necesitamos b) sea capaz de tomar decisiones comerciales basadas en ella ISN t que lo que llamamos un indicador Bingo Por lo tanto, eso es lo que vamos a hacer - vamos a construir un indicador, para alimentar a la NN como una entrada, y vamos a tratar de obtener una predicción del valor del indicador, no el precio de las acciones sin valor En nuestro primer ejemplo, lo haremos cotizaciones de acciones de carga desde el disco, abra el archivo de red neuronal e iniciar el aprendizaje - todo ello en un modo automatizado. Crear un nuevo archivo de secuencia de comandos (o abra el que viene con el archivo de software de redes neuronales de la corteza) y lo llaman las poblaciones de nn. tsc. En primer lugar, hay que descargar los valores de los precios de los autos MSFT. TXT. Vamos a utilizar el indicador de CLV (véase más adelante), pero para calcularlo, necesitamos valores ajustados para dividir-alta y baja, no sólo para cerca. Aquí es cómo conseguir ellos. poblaciones nn. tsc, parte 1 La primera línea asigna la ruta de acceso a la variable strStockPath, por supuesto, usted tendrá que editarlo, si el archivo de datos se encuentra en el directorio diferente. En la segunda línea se especifica, que este camino no es relativa (la relativa a la ubicación del archivo de Cortex. exe). El cargador TABLA recibe el camino, la cadena vacía para la línea de salida, 1 - para omitir la primera línea (nombres de columna), parte de la línea de pie de página del archivo s (la última línea de MSFT. TXT no contiene datos), es también se indica para cargar el número de columna 0 (y llamarlo arrDate), 2 (arrHigh), 3 (arrLow), 4 (ARRC) y 6 (arrClose). Para una descripción completa de PALA tabla, consulte la guía de referencia ARGOT. Entonces calculamos división, dividiendo la Ajustado Cerrar Cerrar, y utilizar este valor para ajustar Bajo y Alto. El archivo contiene datos MSFT. TXT más reciente primero, mientras que los queremos ÚLTIMO. A continuación, tenemos que crear un indicador. Vamos s decir, que va a ser un indicador de la ubicación Cerca del valor, aunque en la vida real que probablemente utilice más de un indicador como la entrada de NN. El Primer Indicador de lugar de valor se calcula como CLV ((Cerrar - Menor) - (Mayor - Cerrar)) / (Mayor - Menor), donde Close, bajo y alto son para el intervalo, no necesariamente para una sola barra. Tenga en cuenta, que la queremos en el 0 - 1 rango, para que sea más fácil para normalizar a nuestra gama NN s (que es, de nuevo, 0-1). poblaciones nn. tsc, parte 3 A continuación, tenemos que crear un archivo de retraso. Let s uso se queda igual a 1, 2. 9 (Para más detalles sobre las funciones de archivo, consulte la guía de referencia ARGOT). Tenga en cuenta, que el diálogo NN Cortex s puede producir retardos simples de forma automática (se puede utilizar un botón Generar lag). Sin embargo, más adelante en este texto, vamos a trabajar con retardos complejos (es decir, no son 1, 2, 3. Pero 1, 3, 64. lo que sea), por lo que necesitamos para crear el código que puede manejar esta tarea en de una manera más flexible. poblaciones nn. tsc, parte 4 Tener el archivo de retraso, estamos listos para crear nuestra primera red neuronal. Esta función toma una gran cantidad de parámetros, así que cuidado. Sin embargo, el código es muy simple. Por cierto, la mayor parte de este código se puede quitar, si cree que puede manejar números, en lugar de nombres meaningfull en su código, sin embargo, que sería una práctica de codificación muy mala. poblaciones nn. tsc, parte 5 Ahora, después de que tengamos una red neuronal y el archivo quedado con los datos, tenemos que enseñar a la red. El archivo de retardo (ind. lgg MSFT) 1074 registros, por lo que es razonable utilizar 800 como un conjunto de aprendizaje, y el restante 274 como un conjunto de pruebas. Puede, por supuesto, abrir un archivo de red y haga clic en el botón Ejecutar de la ficha de aprendizaje. Pero como se trata de una introducción a la programación de la corteza Redes Neuronales software avanzado, y mucho s utilizar el argot construido en el lenguaje de scripts en su lugar. El siguiente código abre el diálogo modal con la configuración ann NN. Tenga en cuenta, que si usted quiere tener un privilegio de hacer clic en el botón Ejecutar, es necesario cambiar las existencias nn. tsc, parte 6 El bStartLearning puede ser 0, en cuyo caso el diálogo esperará a su entrada, o 1, entonces el aprendizaje comenzará aytomatically. El bResumeScript, si es igual a 1, se reanudará la secuencia de comandos, si cierra el cuadro de diálogo haciendo clic en el botón OK. El bFunción se utiliza para restablecer la red antes de que comience el aprendizaje. Ejecutar el script, y esperar a que el contador de época a superar los 1000, a continuación, haga clic en Detener. Ir a la pestaña Aplicar y haga clic en Aplicar. Esto ejecutará el conjunto completo de datos (tanto en el aprendizaje y las pruebas) a través de la NN, y crear el archivo. apl, que contiene a la vez original de entrada-salida, y la predicción generada-NN, de esta manera puede trazar fácilmente y compate uno contra el otro . Ir a la ficha Salida, seleccione el archivo msft ind. apl, haga clic en Examinar archivos, seleccione los campos, a continuación, seleccionar el No en el cuadro de lista de la izquierda, y (manteniendo pulsada la tecla CTRL mientras selecciona con el ratón) Clv y NN: Clv en el cuadro de lista de la derecha. Haga clic en gráfico para ver lo bien que nuestra predicción es. Bien. Es más o menos bueno, por lo que podemos decir con sólo mirarlo. Aún así, nada extraordinario. Esto fue sólo un ejemplo de lo que puede hacer con secuencias de comandos argot, y cómo automatizar tareas rutinarias Cortex s. Sin embargo, hasta ahora, no hemos hecho nada que no poda hacer a mano. Bien. casi nada, ya que si se desea crear un archivo de retardo de encargo, con, por ejemplo, CLV-100, CLV-50, CLV-25. columnas, entonces usted tendrá que utilizar el argot (o Excel.), porque no se puede hacer en en la corteza y sin secuencias de comandos. Estrategia de Forex Trading: lo que para optimizar Aquí es nuestro siguiente problema. ¿Necesitamos una predicción de buen aspecto, o necesitamos la podemos utilizar para el comercio con fines de lucro La pregunta parece extraño, pero sólo pensar en ello por un momento. Vamos s decir que tenemos una muy buena predicción de 1 hora. 95 precisa. Aún así, ¿hasta dónde puede ir el precio en una hora no demasiado lejos, me temo. Compararlo con la situación, cuando se tiene un lugar impreciso de predicción de 10 horas. ¿Será mejor Para responder a esta pregunta, tenemos que operar en realidad, una simple comparación de los errores medios producidos por los dos NN no ayudará. La segunda parte (del mismo problema) se encuentra en la forma en que definimos una buena predicción. Vamos s decir que tenemos una red, que produce la predicción, que es 75 precisa. Compararlo con el NN, que está produciendo 100 predicción exacta. El último es mejor. Ahora, divida la salida (predicción) de los 100 NN precisa por 10. Tendremos una red muy inexacto, ya que su señal es ni de lejos la señal se utilizó como una salida deseada. Y misma manera, sin embargo, que puede ser utilizado que utiliza 100 precisa NN, todo lo que tenemos que hacer es multiplicar a 10 Véase, se crea el NN, sintonizando el error cuadrático medio, y no la correlación, por lo que, al menos en teoría, una mejor NN puede mostrar resultados pobres, cuando se utiliza para el comercio real la acción / de la divisa. Para resolver este problema, necesitamos poner a prueba nuestra NN uso del comercio, y de utilizar los resultados de esta negociación (ganancias y disposición del crédito) para decidir, si esto NN es mejor que el otro. Vamos a hacerlo. Vamos s crear un programa, que se puede utilizar para afinar NN, y esta vez, por la puesta a punto, que significará resultados comerciales. Red Neuronal de comercio: Pocas notas cortas primer lugar, en nuestro ejemplo anterior, el aprendizaje automático nunca parar, porque no hemos t especifica ningún criterio de parada. En el cuadro de diálogo, o en la función CREAR NN, puede proporcionar el min. de error (cuando el NN le llega, se detiene y, si bResumeScript se establece en 1, el cuadro de diálogo se cerrará y el guión se reanudará). También yo puede proporcionar el número máximo de épocas, o ambas cosas. No estoy usando en el ejemplo a continuación, al menos no siempre, porque tengo la intención de ver el aprendizaje y hacer clic en Detener cuando pienso en el NN está listo. Si desea hacerlo de modo totalmente automático, prestar atención a estos parámetros. Segundo. Una de las maneras de hacer una red más pequeña, más rápido y preciso, es comenzar con la pequeña red, y aumentarla es el tamaño, neurona por neurona. Obwiously, el número de las neuronas de entrada está determinada por el número de columnas de datos de entrada (pero podemos variar ellos, también), y el número de neuronas de salida debe ser igual al número de columnas de datos de salida (por lo general, pero no necesariamente ). Esto significa que necesitamos para optimizar el número de neuronas en la capa (s) oculta. Además, como ya he mencionado, que don t realmente sabemos qué datos usar. Se CLV-15 (15 días de retraso) aumentar la precisión de nuestra predicción ¿Necesitamos CLV-256 Será mejor utilizar los dos en el mismo NN, o va a añadir CLV-256 arruinar nuestro rendimiento Uso de ciclos anidados para probar diferentes parámetros de entrada, puede: Crear el NN, misma manera que lo hicimos para los datos de saldos (Let me repeate, para la NN, no hay ninguna diferencia entre acciones y divisas, lo que acaba de ocurrir que tengo par de archivos de datos de alta calidad para FOREX que quiero para procesar, al escribir este texto). Pruebe diferentes combinaciones de retardos. Pruebe diferentes número de neuronas en la capa oculta. . y diferentes combinaciones de diferentes indicadores. . y así. Sin embargo, si se intenta todas las combinaciones posibles de todos los parámetros posibles, nunca obtener sus resultados, no importa lo rápido que el equipo es. A continuación, vamos a utilizar par de trucos para reducir los cálculos a su mínima expresión. Por cierto, que pueda parecer, que si se parte de una neurona oculta, luego aumentar a 2, 3 y así sucesivamente, y en algún momento el error (la calidad de la predicción) o el beneficio (si se prueba la NN por comercio de usarlo) comenzará a bajar, a continuación, usted tiene su ganador. Por desgracia, no puedo demostrar, que después del primer pico de rendimiento no puede haber una segunda. Esto significa, que el error puede ir como 100, 30, 20, 40, 50 (que era sólo en su mínimo, a la derecha) y luego 30, 20, 10, 15. (la segunda mínimo). Sólo tenemos que probar todos los números razonables. Tercero. La optimización es una espada de doble filo. Si el exceso de optimizar su código, puede no trabajar fuera de los datos que utilizó para ajustarlo. Yo haré todo lo posible para evitar este escollo. Si usted quiere hacer optimizaciones adicionales a su código o NN, yo le aconsejo que haga una investigación en Internet, para aprender más acerca de los problemas ocultos de este enfoque. Además, voy a prestar atención a la suavidad de la curva de beneficios. El beneficio que se parece a 0, -500, 1000, -100, 10000 puede ser grande, pero el beneficio 0, 100, 200, 300, 400. es mejor, ya que es menos riesgoso. Podemos hablar de ello más adelante. Por último, para este ejemplo vamos a utilizar divisas, en lugar de precios de las acciones. Desde el punto de vista de la NN no hay diferencia, y desde mi punto - Forex es mucho más divertido para el comercio. Si prefiere las existencias, el código puede ser modificado fácilmente. Una estrategia de negociación de divisas para jugar En primer lugar, vamos s crear un prototipo de nuestro código, que puede ser fácilmente optimizado en el futuro. Va a ser un sistema de comercio, que utiliza una red neuronal para el comercio y produce un gráfico (beneficio frente al número de comercio). También calculará reducción, como medida de la solidez de nuestro sistema de comercio. divisas 01.tsc nn, parte 1 La diferencia principal aquí es que utilizamos funciones, en lugar de colocar todo el código en el bloque principal del programa. De esta manera es mucho más fácil de manejar. En segundo lugar, tenemos una función TestNet. Estoy utilizando un algoritmo muy simple de la negociación. El indicador CLV se limita a 0 - 1 en el intervalo (nuestra versión de CLV es), por lo que cuando el indicador cruza el dBuyLevel (ver el código de seguridad), que estoy comprando, cuando se cruzaba por la dSellLevel, estoy vendiendo. Obviamente, no es la mejor estrategia de negociación, pero lo hará para nuestro propósito (sólo por ahora). Si desea mejorarla, aquí hay algunos consejos. En primer lugar, es posible que desee tener un sistema, que no siempre está en el mercado. En segundo lugar, es posible que desee utilizar más de un indicador como entradas, y tal vez, más de un NN, por lo que la decisión de comercio se realiza con base en unos indicadores previstos. Vamos a añadir algunas mejoras en el algoritmo de negociación posterior. Utilizamos algunos supuestos estándar del mercado de divisas: la propagación es de 5 puntos, leverade es 100, min. lote es de 100 (mini-FOREX). Vamos s echar un vistazo a nuestro sistema de comercio. Una vez más, es un uno simplificada. Una nota importante: la TestNn () se llama pasado, y tiene acceso a todas las variables que se crearon a ese punto. Así que si ves una variable que estoy usando, sin inicializarla, probablemente significa que se ha inicializado en NewNn (), TeachNn () o alguna otra función que se llamaba antes de la TestNn (). Para facilitar las cosas, los comentarios se colocan en el código. divisas 01.tsc nn, parte 2 Algunas palabras sobre la reducción. Hay pocas formas de calcular, y que están utilizando lo que considero el más honesto. La reducción es una medida de la inestabilidad de nuestro sistema. ¿Cuál es la oportunidad, que va a perder dinero Digamos que la cantidad inicial es 1000. Si el beneficio va 100, 200, 300, 400. La reducción es 0. Si se va 100, 200, 100. continuación, la reducción es de 0,1 ( 10), como acabamos de perder una cantidad, igual a 1/10 del depósito inicial (1200-1100). Lo que recomendaría encarecidamente aconsejaría contra el uso de los sistemas de comercio con grandes detracciones. Además, aquí utilizo la disposición del crédito, que se va a utilizar con el tamaño del lote variable. Sin embargo, en las muestras reales, que vienen con el libro electrónico, verá otra versión: Como se puede ver, aquí siempre usamos 1000 (la cantidad inicial) para calcular el descenso. La razón es simple: utilizamos siempre el mismo tamaño del lote (sin embargo la administración del dinero), por lo que no hay diferencia, la cantidad de dinero que ya hemos acumulado en nuestra cuenta, una ganancia promedio debe ser constante. El peor escenario posible en este caso es el siguiente: desde el principio (1000 a cuenta) estamos perdiendo dinero. Si usamos 1000 a calcular el descenso, obtendremos la peor reducción. Esto nos ayudará a no engañar a nosotros mismos. Por ejemplo, digamos, hemos cambiado por algún tiempo, y tenemos 10.000 en nuestra cuenta. Luego perder algo de dinero, y ahora tenemos 8.000. A continuación, hemos quitado, y consiguió 12.000. Buen sistema de comercio Probablemente no. Vamos a repetir la lógica s de nuevo, ya que es muy importante (y lo será aún más importante, cuando comenzamos a hacer la administración del dinero). Tenemos el comercio utilizando lotes de tamaño fijo. Así que, estadísticamente, no hay garantía de que la pérdida máxima no va a ocurrir en el comienzo mismo, cuando sólo tenemos 1000. Y si sucede, que tendrá -1000 (10.000 - 8.000), por lo que el sistema de comercio es probablemente demasiado arriesgado. Cuando hablamos de la administración del dinero (probablemente, no en este texto), tendremos que utilizar enfoque diferente para el cálculo drawdown. Tenga en cuenta, que en este sistema de comercio, estoy usando el peor escenario posible: Estoy comprando el uso de alta, venta y uso bajo. Muchos probadores no siguen estas reglas, y crear sistemas de comercio, que funcionan muy bien en datos históricos. Pero en la vida real, estos sistemas de comercio tienen un rendimiento muy pobre. ¿Por qué tomar un vistazo a la barra de precios. Tiene abierto, alto, bajo y cerrar. ¿Sabe usted, cómo el precio se mueve dentro de la barra No. Entonces, vamos s decir, su sistema de comercio genera una señal de compra, en la parte inferior de la barra de precios (si Dlow Tenga en cuenta que estoy usando dLotSize igual a 0,1 lote (100) . Obviamente, en el comercio real, se beneficiará en gran medida, si el tamaño del lote se calcula en función del dinero que tiene, algo así como: nn divisas 01.tsc, parte 3 sin embargo, estamos haciendo pruebas de aquí, ni de negociación y las. las pruebas, tenemos que, entre otras cosas, para ver cómo suavizar la curva de ganancia es. Esto es mucho más fácil de hacer si el tamaño del lote es la misma (en la situación ideal, para dLotSize 100 obtendremos una línea recta, con un poco de pendiente positiva , mientras que en el caso del tamaño del lote ajustable obtendremos un exponente, que es mucho más difícil de analizar). más adelante en este texto, vamos a aplicar reglas de manejo de dinero en nuestro sistema de comercio, pero no todavía. Después de que haya terminado con la última parte de nuestra función de prueba, deje s caminar a través del resto del código. la función siguiente, se crea un indicador de CLV. Se necesita el intervalo como parámetro, lo que significa que podemos llamar muchas veces, durante la optimización, pasando por diferentes números. Tenga en cuenta, que estoy usando el NN que trabaja en el 0 - 1 intervalo. Los datos pueden normalizarse, por supuesto, pero optaron por dividir el indicador por 2 y añadir 0,5, por lo que está en el 0 - 1 rango. divisas 01.tsc nn, parte 4 Para crear el archivo de retraso, podemos utilizar la función de crear el archivo de LAG. Alternativamente, podemos hacerlo de forma explícita, proporcionando todo el código necesario. En este caso, tenemos un mayor control, y vamos a necesitar, si comenzamos un número variable de columnas retardados y así sucesivamente. nn divisas 01.tsc, parte 5 El parámetro nRemoveFirst es importante. Muchas funciones, como indicadores, medias móviles, el retraso generadores, para el caso, no funcionan bien dentro de los primeros registros del conjunto de datos. Vamos s decir que tenemos MA (14) - ¿qué va a colocar en los registros 1 - 13 así que elegimos para quitar simplemente los primeros registros (poco fiables). Para el NewNn, así como para todas las funciones de este programa, tenemos que pasar como parámetros sólo lo que se puede cambiar durante el proceso de optimización. Por ejemplo, no hay necesidad de pasar un salto antes de parámetro, ya que es siempre la misma. nn divisas 01.tsc, parte 6 Función El TeachNn simplemente abre el diálogo NN. divisas 01.tsc nn, parte 7 Por último, necesitamos una función de gráficos. No es obligatorio, pero siempre es una buena idea para ver cuál es nuestra línea del beneficio se parece. El siguiente código utiliza el XML para producir un gráfico, por lo que es una buena idea leer el tutorial. Alternativamente, se puede dibujar el gráfico, en lugar de guardarlo en un archivo. Para hacerlo, utilice una de las muestras, que se encuentran en el directorio samples / scripts. Por último, se puede modificar el código, para producir HTML, en lugar de XML. HTML es más fácil de aprender, pero el código en sí mismo será un poco menos legible. divisas 01.tsc nn, parte 8 compilar y ejecutar la secuencia de comandos. Bien. Como era de esperar, el uso de 7 horas como un intervalo para el CLV producido resultados muy pobres: FOREX Trading Estrategias y Optimización La razón de los malos resultados es bastante obvia: se utilizó el intervalo, detener la caída, compra y venta de los niveles y otros parámetros, que eran puramente aleatoria - sólo nos recogió en primer lugar que encontramos en mente ¿y si probamos algunas combinaciones de señales de Forex Trading: ¿Qué hay que optimizar en primer lugar, por overoptimizing la compra y venta niveles, podemos arruinar nuestro desempeño futuro. Sin embargo, todavía puede sintonizar ellos, sobre todo, si el rendimiento está cerca de los valores cercanos de los límites de compra y venta. Por ejemplo, si tenemos -10 beneficio al comprar límite equivalente a 0,3, y 1000 el beneficio cuando es igual a 0,35, entonces es probable que haya una coincidencia afortunada, y no hay que usar 0,35 para nuestro sistema de comercio, al igual que en el futuro probablemente no sucederá de nuevo. Si, en cambio, tenemos -10 y 10 (en lugar de 1000), puede ser más seguro de usar. En general, nuestro sistema de comercio debe ser construido para peor escenario posible, como si durante el comercio real el rendimiento será mejor, a continuación, durante la prueba, vamos a sobrevivir, pero no al revés. Podemos variar el valor para el intervalo indicador, siempre y cuando tengamos suficientes operaciones, por lo que podemos estar seguros, en términos de estadísticas, en el desempeño de un sistema. Sin duda podemos variar el número de neuronas, No creo que pueda ser fácilmente overoptimized. Podemos variar el número de entradas y retrasos para las entradas. Es posible overoptimize esto, pero no es muy probable que suceda. Y, por supuesto, podemos probar diferentes indicadores. Señales de Forex precisos: ¿Cómo optimizar ya han sido mencionados como, si comenzamos a intentar todas las combinaciones posibles, que se llevará para siempre. Así que vamos a engañar. Vamos a crear conjuntos predefinidos de parámetros, que creemos que son razonables, y pasarlos al programa. Para hacer el menor número de cálculos como sea posible, nota, que CLV-1 y CLV-2 son, probablemente, importante, pero ¿qué pasa con CLV-128 y - si ya tenemos CLV-128, lo que necesitamos CLV-129 Probablemente, no. Así que vamos a tener algo como CLV-1, CLV-2, CLV-4, CLV-8. CLV-128 con sólo algunas variaciones, lo que hará que nuestros miles de tiempo de cálculo veces más corto. FOREX Trading System Professional: Puede que funcione en absoluto ¿Qué es exactamente lo que queremos predecir Hasta este punto hemos utilizado gráfico de 1 hora para el EURUSD, y que predecían CLV la siguiente barra s. ¿El CLV 2 será mejor ¿Qué hay de 3 CLV también, especialmente teniendo en cuenta los malos resultados de nuestro primer sistema de comercio, sería bueno saber, que - al menos en el mundo ideal, se puede lograr el objetivo (de comercio rentable). Para responder a estas preguntas, vamos s crear un programa de pruebas sencillas. Suponemos, que nuestra predicción es exacta 100, y, basándose en este supuesto, vamos a utilizar CLV N, no el NN predijo una. Eso es correcto - vamos a tomar los datos en el futuro, y para usarlos en lugar de la predicción NN. Este enfoque wouldn t funciona en la vida real, por supuesto, pero al leats, nos dará algunas ideas de lo que puede esperar. Al mirar los resultados, por favor, tenga en cuenta que no estamos utilizando cualquier administración del dinero avanzado, nuestro tamaño del lote se establece en un mínimo de 100. Si utiliza tamaños de lote variables, los resultados serán dramáticamente diferente. Pero incluso en un tamaño de lote ajustado a 0.1 podemos ver (abajo) que conseguir la información desde el futuro es un comerciante última s acebo Graal. divisas 02.tsc nn, parte 1 Usted ya está familiarizado con este código, se utiliza en FOREX NN 01.TSC. Se ocupa de la carga de datos. La única diferencia está en la parte que obtiene la lista de archivos en el directorio de imágenes y elimina todos los archivos con la extensión PNG. La razón de este código es simple: durante nuestras pruebas que vamos a crear muchos - quizás miles, - los archivos de imagen. Nos don t quieren que colgaba alrededor después de que hayamos terminado. Así que al principio de la secuencia de comandos que se van a suprimir las imágenes, creadas por otros scripts. divisas 02.tsc nn, parte 2 A pocos comentarios. No queremos probar todos los valores posibles para, por ejemplo, el intervalo de CLV. En su lugar, podemos crear una matriz, que contiene sólo valores que queremos probar. A continuación (véase más adelante) tendrá que caminar a través de esta matriz. Detener las pérdidas son parte importante de cualquier estrategia de negociación, por lo que han decidido variar también. Es una idea peligrosa, sin embargo, ya que es fácil de overoptimize el sistema. Tengo la intención de probar diferentes valores para los niveles de comprar y vender, pero se hará en el ciclo, sin la utilización de matrices. Al contrario que en el ejemplo anterior, queremos tener un archivo XML grande, que contiene muchas imágenes. Para hacerlo, he movido el código, que se está formando el encabezado y pie de página XML fuera de la función de gráfico. Lea uno de los tutoriales XML en línea para obtener más detalles. Tenga en cuenta, que estoy usando 0 como el primer retardo, lo que significa, que en primer lugar estoy probando el indicador (CLV) que no fue desplazado del futuro. Sólo para tener una idea, lo bueno cabo sistema de comercio sería sin NN (horrible, es la palabra correcta. Se está perdiendo todo el dinero). Córtex utiliza el control de Internet Explorer para mostrar páginas XML. Cuando las páginas crecen grandes, se necesita una gran cantidad de memoria. Si el ordenador no puede manejar, considere la creación de múltiples páginas HTML o XML, en lugar. En el caso de divisas nn 02, no debería ser un problema, ya que la página es relativamente corto. Como alternativa (que es lo que estoy haciendo en secuencias de comandos más adelante en este texto), crear el archivo XML, pero no lo abra desde la corteza. Abrirlas utilizando Internet Explorer en lugar - a diferencia de IE de control, el Internet Explorer no tiene el problema de memoria. Ahora el código que está tratando diferentes combinaciones de parámetros. divisas 02.tsc nn, parte 3 En este caso, estamos utilizando ciclos anidados. En cada ciclo, estamos assidning alguna variable (por ejemplo, nInterval para el ciclo de exterior). De esta manera el ciclo asignará valores de todos los elementos de una matriz correspondiente, uno en un tiempo. Luego, dentro de ella, se utiliza el ciclo interno, y así sucesivamente, de modo que todas las combinaciones de todos los elementos de la matriz se ponen a prueba. En el ciclo más interno, yo estoy llamando a la función Test (), para el comercio de prueba, y gráfico () para agregar una nueva imagen para una lista de las imágenes guardadas en el disco. Tenga en cuenta, que este gráfico () no muestra ninguna imagen, hasta que se hayan completado todos los ciclos. Las funciones de test () y CreateClv () son casi los mismos que en el ejemplo anterior. La única diferencia real es debido al hecho de que se llama más de una vez. Para hacerlo, yo estoy llamando tabla eliminar a las matrices de limpieza. Además, el aviso, que sólo estamos creando gráficos para las combinaciones de parámetros, que producen sistema de comercio con un beneficio positivo. De lo contrario, llamamos a continuar, para saltar la función Gráfico (). Muy extraño. Esto es sólo un ejemplo. Eso es. Lee mas.

No comments:

Post a Comment