Tuesday 31 October 2017

Amibroker Probando Un Sistema De Crossover De Media Móvil


Cómo optimizar el sistema de comercio NOTA: Este es un tema bastante avanzado. Por favor lea primero los tutoriales anteriores de AFL. La idea detrás de una optimización es simple. Primero usted tiene que tener un sistema que negocia, éste puede ser un crossover simple de la media móvil por ejemplo. En casi todos los sistemas existen algunos parámetros (como período de promedio) que deciden cómo se comporta el sistema dado (es decir, es adecuado para largo o corto plazo, cómo reacciona en las poblaciones altamente volátiles, etc.). La optimización es el proceso de encontrar valores óptimos de esos parámetros (dando el mayor beneficio del sistema) para un símbolo dado (o una cartera de símbolos). AmiBroker es uno de los pocos programas que le permiten optimizar su sistema en varios símbolos a la vez. Para optimizar su sistema tiene que definir de uno a diez parámetros para ser optimizado. Usted decide cuál es el valor mínimo y máximo permitido del parámetro y en qué incrementos se debe actualizar este valor. AmiBroker realiza varias pruebas de nuevo el sistema utilizando TODAS las combinaciones posibles de valores de parámetros. Cuando este proceso está terminado, AmiBroker muestra la lista de resultados clasificados por beneficio neto. Puede ver los valores de los parámetros de optimización que proporcionan el mejor resultado. Escribir fórmula AFL La optimización en el tester posterior es soportada a través de una nueva función llamada optimizar. La sintaxis de esta función es la siguiente: variable optimize (quot Descripción quot, default. Min. Máximo paso) variable - es la variable AFL normal que obtiene asignado el valor devuelto por la función optimize. Con los modos de backtesting, exploración, exploración y comentar normales, la función de optimización devuelve el valor por defecto, por lo que la llamada de función anterior es equivalente a: variable default En el modo de optimización, la función de optimización devuelve valores sucesivos de min a max (inclusive) Quot Descriptionquot es una cadena que se utiliza para identificar la variable de optimización y se muestra como un nombre de columna en la lista de resultados de optimización. Default es un valor por defecto que optimiza la función devuelve en exploración, indicador, comentario, escaneo y modos normales de retroceso min es un valor mínimo de la variable que se está optimizando max es un valor máximo de la variable que se está optimizando paso es un intervalo usado para incrementar la Valor de min a max AmiBroker soporta hasta 64 llamadas para optimizar la función (por lo tanto hasta 64 variables de optimización), tenga en cuenta que si está utilizando una optimización exhaustiva, entonces es muy buena idea limitar el número de variables de optimización a sólo unos pocos. Cada llamada para optimizar la generación de bucles de optimización (máximo - minuto) / paso y múltiples llamadas para optimizar multiplican el número de ejecuciones necesarias. Por ejemplo, optimizar dos parámetros usando 10 pasos requerirá 1010 100 bucles de optimización. Función de optimización de llamada ONCE por variable al principio de la fórmula ya que cada llamada genera una nueva optimización de bucles La optimización de símbolos múltiples es totalmente compatible con AmiBroker El espacio de búsqueda máximo es 2 64 (10 19 10,000,000,000,000,000,000) combinaciones 1. Optimización de variable única: sigavg Optimizar (Promedio de la señal: 9. 2. 20. 1) Comprar Cross (MACD (12. 26), Signal (12. 26. sigavg)) Sell Cross (Signal (12. 26. sigavg), MACD 2. Optimización de dos variables (adecuada para gráficos en 3D) por Optimizar (por 2. 5. 50. 1) Nivel Optimizar (nivel 2. 2. 150. 4) Comprar Cross (CCI (per), nivel) 3. Optimización de la variable múltiple (3) Optimización de la variable (mfast) Optimizar (MACD lento) 12. Optimización (MACD lento) Velocidad de venta (Señal (mfast, mslow, sigavg), MACD (mfast, mslow)) Después de entrar La fórmula simplemente haga clic en el botón Optimizar en la ventana QuotAutomatic Analysisquot. AmiBroker comenzará a probar todas las combinaciones posibles de variables de optimización e informará los resultados en la lista. Después de la optimización se hace la lista de resultados se presenta ordenada por el beneficio neto. Como puede ordenar los resultados por cualquier columna de la lista de resultados, es fácil obtener los valores óptimos de los parámetros para la reducción más baja, el menor número de operaciones, el mayor factor de beneficio, la menor exposición al mercado y el retorno anual ajustado al riesgo más alto. Las últimas columnas de la lista de resultados presentan los valores de las variables de optimización para la prueba dada. Cuando usted decide qué combinación de parámetros se adapte a sus necesidades, lo mejor de todo lo que necesita hacer es reemplazar los valores predeterminados en optimizar llamadas de función con los valores óptimos. En la etapa actual es necesario escribirlos manualmente en la ventana de edición de la fórmula (el segundo parámetro de optimizar la llamada de función). Visualización de gráficos de optimización 3D animados Para mostrar el gráfico de optimización 3D, primero debe ejecutar la optimización de dos variables. Dos optimización variable necesita una fórmula que tiene 2 llamadas de función Optimize (). Un ejemplo de fórmula de optimización de dos variables se ve así: por Optimizar (por 2. 5. 50. 1) Nivel Optimizar (nivel 2. 2. 150. 4) Comprar Cross (CCI (per), nivel) Sell Cross (Level, CCI (per)) Después de ingresar la fórmula, debe hacer clic en el botón quotOptimizequot. Una vez completada la optimización, debe hacer clic en la flecha desplegable del botón Optimizar y seleccionar Ver gráfico de optimización 3D. En unos segundos aparecerá un colorido diagrama tridimensional de superficie en una ventana del visor de gráficos en 3D. A continuación se muestra un gráfico 3D de ejemplo generado utilizando la fórmula anterior. De forma predeterminada, los gráficos 3D muestran los valores del beneficio neto con respecto a las variables de optimización. Sin embargo, puede trazar un gráfico de superficie 3D para cualquier columna de la tabla de resultados de optimización. Simplemente haga clic en el encabezado de la columna para ordenarla (aparecerá una flecha azul que indica que los resultados de optimización están ordenados por columna seleccionada) y, a continuación, seleccione Ver gráfico de optimización 3D nuevamente. Mediante la visualización de cómo sus parámetros de los sistemas afectan el rendimiento comercial, puede decidir con más facilidad qué valores de parámetros producen una calidad exagerada y que producen un rendimiento del sistema similar. Configuraciones robustas son regiones en el gráfico 3D que muestran cambios graduales en lugar de cambios abruptos en el gráfico de superficie. Gráficos de optimización 3D son una gran herramienta para evitar la curva de ajuste. La curvatura (o sobre-optimización) ocurre cuando el sistema es más complejo de lo que debe ser, y toda esa complejidad se enfocó en las condiciones del mercado que podrían nunca volver a ocurrir. Los cambios radicales (o picos) en los gráficos de optimización 3D muestran claramente áreas de sobre-optimización. Usted debe elegir la región del parámetro que produce una meseta ancha y ancha en la carta 3D para su comercio de la vida real. Los conjuntos de parámetros que generan picos de ganancia no funcionarán confiablemente en el comercio real. Controles del visor de gráficos 3D El visor de gráficos 3D de AmiBrokers ofrece capacidades de visualización total con una rotación completa de gráficos y animación. Ahora puede ver los resultados de su sistema desde todas las perspectivas imaginables. Puede controlar la posición y otros parámetros del gráfico mediante el ratón, la barra de herramientas y los métodos abreviados de teclado, lo que encuentre más fácil para usted. A continuación encontrará la lista. - para girar - mantenga presionado el botón del ratón IZQUIERDO y mueva en las direcciones X / Y - para acercar, alejar - mantenga presionado el botón del ratón DERECHO y moverse en las direcciones X / Y - mover (traducir) - mantenga presionado el botón del ratón IZQUIERDO Y CTRL y mover en direcciones X / Y - a Animar - mantenga presionado el botón del ratón IZQUIERDA, arrastre rápidamente y suelte el botón mientras arrastra el ESPACIO - animar (auto-rotación) TECLA DE FLECHA IZQUIERDA - rotate vert. Izquierda TECLA DE FLECHA A LA DERECHA - gira vert. Derecha FLECHA ARRIBA - rotar horiz. Arriba FLECHA ABAJO - gire el horiz. NUMPAD 4 - mover hacia la izquierda NUMPAD 6 - moverse hacia la derecha NUMPAD 8 - subir NUMPAD 2 - bajar PAGE UP - subir el nivel del agua hacia arriba PAGE DOWN - nivel de agua abajo Optimización inteligente (no exhaustiva) AmiBroker ofrece ahora una optimización inteligente (no exhaustiva) además de una búsqueda regular y exhaustiva. La búsqueda no exhaustiva es útil si el número de todas las combinaciones de parámetros del sistema comercial dado es simplemente demasiado grande para ser factible para la búsqueda exhaustiva. La búsqueda exhaustiva está perfectamente bien, siempre y cuando sea razonable usarla. Digamos que usted tiene 2 parámetros cada uno que van de 1 a 100 (paso 1). Eso es 10000 combinaciones - perfectamente bien para la búsqueda exhaustiva. Ahora con 3 parámetros tienes 1 millón combinaciones - todavía está bien para la búsqueda exhaustiva (pero puede ser lenghty). Con 4 parámetros tienes 100 millones de combinaciones y con 5 parámetros (1..100) tienes 10 billones de combinaciones. En ese caso, sería demasiado tiempo para comprobar todos ellos, y este es el área donde los métodos no exhaustivos de búsqueda inteligente puede resolver el problema que no es solucionable en un tiempo razonable mediante la búsqueda exhaustiva. Aquí es absolutamente la instrucción más simple de cómo utilizar nuevo optimizador no exhaustivo (en este caso CMA-ES). 1. Abra su fórmula en el editor de fórmulas 2. Agregue esta línea única en la parte superior de su fórmula: OptimizerSetEngine (quotcmaequot) // también puede usar quotspsoquot o quottribquot aquí 3. (Opcional) Seleccione su objetivo de optimización en Automatic Analysis, Settings , QuotWalk-Forwardquot, campo de optimización. Si se salta este paso, se optimizará para CAR / MDD (rendimiento anual compuesto dividido por la reducción máxima). Ahora, si ejecuta la optimización utilizando esta fórmula, utilizará un nuevo optimizador evolutivo (no exhaustivo) CMA-ES. ¿Cómo funciona? La optimización es el proceso de encontrar el mínimo (o máximo) de la función dada. Cualquier sistema comercial puede ser considerado como una función de cierto número de argumentos. Las entradas son parámetros y datos de cotización. La salida es su objetivo de optimización (digamos CAR / MDD). Y usted está buscando el máximo de la función dada. Algunos de los algoritmos inteligentes de optimización se basan en la naturaleza (comportamiento animal) - Algoritmo PSO, o proceso biológico - Algoritmos genéticos, y algunos se basan en conceptos matemáticos derivados por los seres humanos - CMA-ES. Estos algoritmos se utilizan en muchas áreas diferentes, incluyendo las finanzas. Ingrese quotPSO financequot o quotCMA-ES financequot en Google y encontrará mucha información. Los métodos no exhaustivos (o quotsmartquot) encontrarán óptimo global o local. El objetivo es, por supuesto, encontrar uno global, pero si hay un único pico agudo de las combinaciones de parámetros zillones, métodos no exhaustivos no pueden encontrar este único pico, pero tomando forma comerciantes perspecive, encontrar único pico agudo es inútil para Porque ese resultado sería inestable (demasiado frágil) y no replicable en el comercio real. En el proceso de optimización estamos buscando regiones de meseta con parámetros estables y este es el área donde brillan los métodos inteligentes. En cuanto al algoritmo utilizado por la búsqueda no exhaustiva, se ve como sigue: a) el optimizador genera una población inicial de grupos de parámetros (generalmente aleatoria) b) el backtest es realizado por AmiBroker para cada conjunto de parámetros de la población c) los resultados de los backtests son Evaluado de acuerdo con la lógica del algoritmo y la nueva población se genera sobre la base de la evolución de los resultados d) si se encuentra mejor nuevo - guárdelo y vaya al paso b) hasta que se cumplan los criterios de detención Iteraciones máximas b) detener si el rango de los mejores valores objetivos de las últimas generaciones X es cero c) detenerse si al agregar un vector de desviación estándar 0,1 en cualquier dirección del eje principal no cambia el valor del valor objetivo d) Exhaustivo) en AmiBroker es necesario especificar el motor optimizador que desea utilizar en la fórmula AFL utilizando la función OptimizerSetEngine. La función selecciona el motor de optimización externo definido por nombre. AmiBroker actualmente se comercializa con 3 motores: Standard Particle Swarm Optimizer (quotspsoquot), Tribus (quottribquot) y CMA-ES (quotcmaequot) - los nombres en llaves se utilizarán en llamadas OptimizerSetEngine. Además de seleccionar el motor del optimizador puede que desee establecer algunos de sus parámetros internos. Para ello, utilice la función OptimizerSetOption. Función OptimizerSetOption (quotnamequot, value) La función establece parámetros adicionales para el motor de optimización externo. Los parámetros dependen del motor. Los tres optimizadores enviados con AmiBroker (SPSO, Trib, CMAE) soportan dos parámetros: quotRunsquot (número de ejecuciones) y quotMaxEvalquot (evaluaciones máximas (pruebas) por ejecución única). El comportamiento de cada parámetro es dependiente del motor, por lo que los mismos valores pueden y, por lo general, dará diferentes resultados con diferentes motores utilizados. La diferencia entre Runs y MaxEval es la siguiente. La evaluación (o prueba) es un solo backtest (o evaluación del valor objetivo de la función). RUN es una ejecución completa del algoritmo (encontrar el valor óptimo) - generalmente involucra muchas pruebas (evaluaciones). Cada ejecución simplemente RESTABLECE todo el proceso de optimización desde el nuevo comienzo (nueva población aleatoria inicial). Por lo tanto, cada ejecución puede conducir a encontrar diferentes locales máx / min (si no encuentra global). El parámetro Runs define el número de ejecuciones de algoritmos posteriores. MaxEval es el número máximo de evaluaciones (bactests) en cualquier ejecución individual. Si el problema es relativamente simple y 1000 pruebas son suficientes para encontrar el máximo global, 5x1000 es más probable encontrar el máximo global, ya que hay menos posibilidades de quedar atrapado en el máximo local, como subsecuentes se iniciará a partir de la población aleatoria inicial diferente. Ser complicado Depende del problema bajo prueba, su complejidad, etc, etc. Cualquier método no exhaustivo estocástico no le da la garantía de encontrar max / min global, independientemente del número de pruebas si es más pequeño que exhaustivo. La respuesta más fácil es. Especifique como gran número de pruebas como es razonable para usted en términos de tiempo necesario para completar. Otro consejo simple es multiplicar por 10 el número de pruebas con la adición de nueva dimensión. Eso puede conducir a la sobreestimación del número de pruebas necesarias, pero es bastante seguro. Los motores enviados están diseñados para ser fáciles de usar, por lo tanto, son usables los valores predeterminados / automáticos, por lo que la optimización se puede ejecutar normalmente sin especificar nada (aceptar valores predeterminados). Es importante entender que todos los métodos de optimización inteligente funcionan mejor en espacios de parámetros continuos y funciones objetivo relativamente suaves. Si el espacio de parámetros es discreto, los algoritmos evolutivos pueden tener problemas para encontrar el valor óptimo. Es especialmente cierto para los parámetros binarios (on / off) - no son adecuados para cualquier método de búsqueda que utiliza gradiente de cambio de función objetivo (como la mayoría de los métodos inteligentes). Si su sistema comercial contiene muchos parámetros binarios, no debe utilizar el optimizador inteligente directamente en ellos. En su lugar, intente optimizar sólo los parámetros continuos utilizando el optimizador inteligente y cambie los parámetros binarios manualmente o mediante un script externo. SPSO - Optimizador de enjambre de partículas estándar El Optimizador de enjambre de partículas estándar se basa en el código SPSO2007 que se supone debe producir buenos resultados siempre que se proporcionan parámetros correctos (por ejemplo, Runs, MaxEval) para un problema particular. Selección de opciones correctas para el optimizador de PSO puede ser difícil por lo tanto los resultados pueden variar significativamente de caso a caso. SPSO. dll viene con códigos fuente completos dentro de la subcarpeta quotADKquot. OptimizerSetOption (quotRunsquot, 1) OptimizerSetOption (quotMaxEvalquot, 1000) sl Optimizar (quotsquot, 26, 1, 100, 1) OptimizerSetOption (quotRunsquot, 1) OptimizerSetOption (quotRunsquot, 1) ) (0, MACD (fa, sl)) TRIBES - El Optimizer adaptable del optimizador del enjambre de la partícula del Parámetro-menos es adaptable (quotfquot, 12, 1, 100, 1) , Versión sin parámetros de PSO (optimización de optimización de enjambre de partículas) no exhaustiva. Para el fondo científico vea: particleswarm. info/Tribes2006Cooren. pdf En teoría debe funcionar mejor que PSO regular, porque puede ajustar automáticamente los tamaños del enjambre y la estrategia del algoritmo al problema que está resolviendo. La práctica muestra que su rendimiento es bastante similar a PSO. El complemento Tribes. DLL implementa la variante quotTribes-Dquot (es decir, adimensional). Basado en clerc. maurice. free. fr/pso/Tribes/TRIBES-D. zip de Maurice Clerc. Los códigos fuente originales utilizados con permiso del autor Tribes. DLL vienen con código fuente completo (dentro de la carpeta quotADKquot) Parámetros soportados: quotMaxEvalquot - número máximo de evaluaciones (backtests) por ejecución (predeterminado 1000). Debe aumentar el número de evaluaciones con un número creciente de dimensiones (número de parámetros de optimización). El predeterminado 1000 es bueno para 2 o máximo 3 dimensiones. QuotRunsquot - número de ejecuciones (reinicios). (Predeterminado 5) Puede dejar el número de ejecuciones con un valor predeterminado de 5. Por defecto, el número de ejecuciones (o reinicios) se establece en 5. Para utilizar el optimizador Tribes, sólo tiene que agregar una línea a su código: OptimizerSetOption (quotMaxEvalquot , 5000) // 5000 evaluations max CMA-ES - Optimizador de estrategias evolutivas CMA-ES (Covariance Matrix Adaptation Evolutionary Strategy) es un optimizador no exhaustivo avanzado. Para los antecedentes científicos ver: bionik. tu-berlin. de/user/niko/cmaesintro. html De acuerdo con los benchmarks científicos supera a otras nueve, las estrategias evolutivas más populares (como el PSO, la evolución genética y diferencial). Bionik. tu-berlin. de/user/niko/cec2005.html El complemento CMAE. DLL implementa quotGlobalquot variante de búsqueda con varios reinicios con el creciente tamaño de población CMAE. DLL viene con código fuente completo (dentro de la carpeta quotADKquot) Por defecto número de ejecuciones (O reinicia) se establece en 5. Es aconsejable dejar el número predeterminado de reinicios. Puede cambiarlo usando la llamada OptimizerSetOption (quotRunsquot, N), donde N debe estar en el rango 1..10. No es recomendable especificar más de 10 ejecuciones, aunque es posible. Tenga en cuenta que cada ejecución utiliza TWICE el tamaño de la población de ejecución anterior por lo que crece exponencialmente. Por lo tanto, con 10 carreras que terminan con la población 210 mayor (1024 veces) que la primera ejecución. Hay otro parámetro quotMaxEvalquot. El valor predeterminado es CERO, lo que significa que el complemento calculará automáticamente MaxEval requerido. Se aconseja no definir MaxEval por sí mismo como el defecto funciona bien. El algoritmo es lo suficientemente inteligente como para minimizar el número de evaluaciones requeridas y converge muy rápido a punto de solución, por lo que a menudo encuentra soluciones más rápido que otras estrategias. Es normal que el plugin omita algunos pasos de evaluación, si detecta que se encontró la solución, por lo tanto, no debería sorprenderse que la barra de progreso de optimización se mueva muy rápido en algunos puntos. El complemento también tiene la capacidad de aumentar el número de pasos sobre el valor inicialmente estimado si es necesario para encontrar la solución. Debido a su naturaleza adaptativa, el tiempo de cotización que se deja y / o el número de pasos mostrados por el diálogo de progreso es sólo una suposición más aproximada en el momento y puede variar durante el curso de optimización. Para utilizar el optimizador CMA-ES, sólo tiene que agregar una línea a su código: Esto llevará a cabo la optimización con la configuración predeterminada que están bien para la mayoría de los casos. Debe tenerse en cuenta, como es el caso de muchos algoritmos de búsqueda de espacio continuo, que la disminución del parámetro quotstepquot en las llamadas de función Optimize () no afecta significativamente los tiempos de optimización. Lo único que importa es el problema quotdimension, es decir, el número de parámetros diferentes (número de optimizar las llamadas de función). El número de quotstepsquot por parámetro se puede establecer sin afectar el tiempo de optimización, así que utilice la resolución más fina que desee. En teoría, el algoritmo debería ser capaz de encontrar solución en un máximo de 900 (N3) (N3) backtests donde quotNquot es la dimensión. En la práctica, converge mucho más rápido. Por ejemplo, la solución en el espacio de parámetros 3 (N3) dimensional (digamos 100100100 1 millón de pasos exhaustivos) puede encontrarse en tan sólo 500-900 pasos CMA-ES. Optimización individual multihilo A partir de AmiBroker 5.70 además del multithreading de múltiples símbolos. Puede realizar la optimización multi-subprocesos de símbolo único. Para acceder a esta funcionalidad, haga clic en la flecha desplegable situada junto al botón quotOptimizequot en la ventana New Analysis y seleccione quot. QuotIndividual Optimizequot usará todos los núcleos de procesador disponibles para realizar la optimización de símbolo único, lo que lo hace mucho más rápido que la optimización regular. En el modo quotCurrent symbolquot realizará la optimización en un símbolo. En los modos quotAll symbolsquot y quotFilterquot procesará todos los símbolos secuencialmente, es decir, la primera optimización completa para el primer símbolo, luego la optimización en el segundo símbolo, etc. Limitaciones: 1. El Backtester personalizado NO es compatible (todavía) 2. Los motores de optimización inteligentes NO son compatibles - Sólo funciona la optimización EXHAUSTIVA. Eventualmente, podemos deshacernos de la limitación (1) - cuando AmiBroker se cambia, el backtester personalizado no usa OLE más. Pero (2) es probablemente aquí para quedarse para el largo. 14 de octubre de 2011 Añadido 29 de febrero 2012, los puntos adicionales a considerar: 1) Este sistema depende de obtener rellenos precisos en el precio abierto. Para obtener dichos rellenos se requiere un feed de datos de mínimo retardo de calidad y habilidades avanzadas de programación para implementar la automatización del comercio. 2) Al establecer el precio de entrada ligeramente por debajo del precio abierto (tratando de mejorar el rendimiento) el sistema falla miserablemente. Incluso la mejora del precio por sólo un centavo mata el sistema. Esto sugiere que la mayor parte del beneficio proviene de días en los que el precio de apertura era igual a la baja diaria, es decir, el precio subió desde el abierto y nunca cayó por debajo de ella. Esto, por supuesto, es obvio. Para confirmar esto añadí esta condición de prueba (que mira hacia adelante) para excluir los días en que se abren bajo: comprar Comprar Y NO O L Esto mata el sistema y demuestra que la mayor parte de la ganancia proviene de días en que OL. Para confirmar aún más esta añadí la condición opuesta: Comprar Comprar y O L Esto da beneficios casi infinitas, y demuestra que la mayoría de las ganancias provienen de días en los que el precio se mueve luego del Abra y no vuelve nunca por debajo de ella. Tratar de mejorar el precio de entrada es un error que uno debe ingresar en un Stop de 1-2 ct por encima del precio de Open, esto eliminará los días cuando el precio cae y nunca vuelve atrás. Esto mejora significativamente el rendimiento. 3) Este sistema negocia knee-jerk comerciante-respuestas / patrones. Tales patrones son generalmente ahogados por el comercio de gran volumen, por lo tanto, este sistema funciona mucho mejor cuando se selecciona tickers con volúmenes entre 500.000 y 5.000.000 acciones / día. Esto también mejora el rendimiento significativamente. La adición de las dos características anteriores da como resultado una curva de equidad mucho mejor que la que se muestra a continuación. Lo siento, no tengo tiempo para documentar lo anterior con mayor detalle. Buena suerte Este post esboza una idea muy simple de comercio de larga duración que compra a un porcentaje determinado por debajo de la baja de ayer, y sale al siguiente día. Aunque a veces puede ser difícil obtener el precio exacto de Open, la alta rentabilidad de este sistema lo convierte en un buen candidato para una mayor experimentación. El sistema funciona bien con Watchlists como el N100, SP500, SP1500, Russel 1000, etc. Rendimiento en el Russel 1000, con un máx. Las posiciones abiertas fijadas a 1, para el período 12/10/2003 al 12/10/2011, tienen este aspecto: Algunas de las otras Listas de Vigilancia dan menos exposición (ganancias), pero esto viene con menores DDs. Las comisiones se fijaron en 0,005 por acción. No se utiliza margen. Ninguna clasificación explícita se utiliza los tickers se negocian en función de su clasificación alfabética en la lista de seguimiento. Esto puede parecer extraño, pero es significativo: al invertir este tipo el sistema falla. Esto podría significar que, debido a problemas de escaneo en tiempo real, los símbolos enumerados en la parte superior de este tipo pueden ser comercializados de forma diferente a los listados en la parte inferior. Preste atención a la liquidez (es posible que desee cambiar más de una posición) y el deslizamiento (la entrada es bastante libre de riesgo, pero las salidas pueden ser problemáticas). Los DDs son significativos pero pueden compensarse con entradas y salidas mejoradas en tiempo real. Al negociar automáticamente puede ser posible colocar órdenes de entrada de OCA DAY-LMT para todas las señales y esperar y ver lo que llena. Dado que las salidas son más difíciles que las entradas, es posible que desee explorar otras estrategias de salida. Los valores por defecto de los parámetros se sacan de un sombrero. Casi seguramente puede Optimizarlos o ajustarlos dinámicamente para tickers individuales. He probado brevemente este sistema en modo Walk-Forward y los resultados fueron rentables para todos los años probados. Excepto por el número de acciones negociadas parámetros no parecen muy críticos. Sobre-optimizar doesn8217t parece un problema en este caso. El código de abajo es muy simple y requiere pocas explicaciones. Sin embargo, es importante entender que este sistema disfruta de una pequeña ventaja negociando en el Open y calculando el TrendMA usando el mismo precio de Open. Algunos podrían interpretar esto como una fuga futura, sin embargo, si el comercio de este sistema en tiempo real, no lo es. Muchas personas no se dan cuenta de que si el comercio en el Abierto también puede utilizar este precio en sus cálculos de 8212, siempre y cuando los realiza en tiempo real 8212 es aquí donde AmiBroker y la tecnología le puede dar una ventaja. Si Ref () devuelve el TrendMA por una barra, el sistema sigue siendo muy rentable, sin embargo los DDs aumentan para algunas Watchlists. Si utiliza inversiones fijas, la diferencia es insignificante. El procedimiento de negociación sería comenzar a escanear antes de que el mercado se abra y eliminar los tickers que tienen un precio tan remoto que es poco probable que cumplan con el OpenThresh. Por lo tanto, puede comenzar a escanear 1000 símbolos, pero muy rápidamente el número escaneado se reducirá a sólo una docena o más tickers. Cuando te acerques a las 9:30 am, tu análisis en tiempo real será muy rápido y podrás colocar tu pedido LMT muy cerca del Open 8211, incluso podrás mejorar el precio de Open. A pesar de que algunas personas miraron el código de abajo y no encontraron nada malo, los beneficios parecen bastante altos para un sistema tan simple. Informe los errores que pueda ver. Presentada por Herman en 19:03 bajo Ideas (Experimental) Comentarios desactivados en el sistema de la cartera del EOD Gap-Trading 1 de septiembre de 2011 Este idea fue publicada (161.332) en la lista principal AmiBroker el 3 de julio de 2011. Hubo numerosos excelentes comentarios sobre La lista y si usted está interesado en trabajar en este sistema usted hace bien para leerlos todos antes de comenzar. Después de publicar encontré un número de publicaciones en la web que discutían esta idea comercial, algunos decían que estaban negociando un sistema similar con buen éxito. Me referí a este sistema un 8220Gap Trading8221 sistema, pero esto puede ser un poco de un misnomer, 8220Mean reversion8221 podría ser una mejor clasificación. Buscando en Google obtendrá muchos más éxitos a sistemas similares. Aquí están algunos acoplamientos: Parece ser una idea negociada bastante discutida y sugiero que usted realice un cierto googling en sus los propios para aprender lo más último. Como usuario de Amibroker tiene mejores herramientas que la mayoría de los comerciantes y tiene una mejor oportunidad que la mayoría de llegar a una variación que funcione. Tal vez con un poco menos beneficios, y con una importante cantidad de código adicional 8212 se won8217t sea un proyecto 8220quicky8221 :-) Algunas personas comentaron que este sistema no funcionará en el comercio de bienes, si bien pueden ser adecuados otros dicen esquemas como este trabajo. No terminé el sistema y puedo afirmar que es comerciable o no. El sistema compra en un cierto porcentaje por debajo de la baja de ayer, en un pedido LMT, y sale el mismo día en el cierre. Archivado por Herman a las 6:53 pm en Ideas (Experimental) Comentarios desactivados en una idea de negociación de EOD Gap de larga duración Sólo utilizo un pequeño criterio de configuración para buscar mis existencias. MACD por defecto, busco el histograma 4 barras abajo y 1 barra para arriba para la señal de la compra (tengo el histograma fijado al rojo para abajo y azul para arriba así que puedo ver claramente). MACD por encima de Zero Line RSI por encima de 30 Este sistema está basado en el comercio de tendencia. La compra de pullback cuando el mercado sigue su tendencia al alza. Para buscar configuraciones MACD Trend: 1) Inserte la siguiente fórmula en un gráfico. 2) Ejecutar un escaneo en AA usando SMACDTrend con todos los símbolos. N últimos días. N 1 y Sincronizar gráfico en seleccionar como los ajustes. Las existencias que cumplan los criterios se informarán en la lista de resultados. Nota: Algunas variaciones de las reglas de configuración pueden definir señales que son bastante raras y en bases de datos pequeñas es posible que no haya configuraciones en ningún día dado (por lo tanto no se informará de existencias por la exploración). 3) Haga clic en cualquier símbolo en el panel Resultados para ver el gráfico, para ese símbolo, en el fondo. Nota: En este ejemplo se utilizó una base de datos de formación, que sólo contiene datos hasta el 5/11/2007. Idea de comercio por protraderinc. Comentarios y fórmula por el proyecto de ley 8211 WaveMechanic. Archivado por brianz a las 11:06 pm en Ideas (Experimental) Comentarios desactivados en MACD Trend System 14 de octubre de 2007 Archivado por brianz a las 10:43 pm en Ideas (Experimental) Comentarios desactivados en 15 Día Performers Trading System 19 de agosto 2007 This is El primero de una serie de KISS (mantenerlo simple, estúpido) ideas comerciales para que usted juegue con. Todas las ideas de sistema presentadas aquí no están probadas, no terminadas y pueden contener errores. Su objetivo es mostrar posibles patrones para una exploración más profunda. Como siempre, se le invita a hacer comentarios y / o añadir sus propias ideas a esta serie. Yo prefiero sistemas en tiempo real que operan con rapidez, son automatizados y carecen de indicadores tradicionales. Preferiblemente, no deben tener parámetros optimizables, pero no siempre puedo alcanzar este objetivo. No todos los sistemas serán tan simples que habrá algunos que usan un promedio simple o funciones tipo HHV / LLV. El primer sistema que se muestra a continuación es una copia del sistema de demostración que utilizo para desarrollar rutinas de Automatización de Comercio en otros lugares de este sitio. Gap-Trading en tiempo real. Para ver cómo funciona esto, debe Backtest en datos de 1 minuto con una periodicidad en el rango de 5-60 minutos. Su primera impresión puede ser que estos beneficios son simplemente debido a un mercado, sin embargo, el hecho de que las ganancias largas y cortas son aproximadamente igual sugiere que hay más a la misma. Debido a que 98 de todos los oficios caen entre las 9:30 AM y las 10:30 AM, este tipo de sistema es agradable si usted sólo quiere intercambiar un corto tiempo cada día. Esto reduce el riesgo con respecto a la exposición al mercado y le da más tiempo para disfrutar de otras actividades. Backtesting esto en la lista de vigilancia NASDAQ-100 (backtests individuales, Periodicidad 15 min.) Da los beneficios que se muestran a continuación para el período del 1 MAR 2007 al 17 AGO 2007. Los nombres de ticker se omite para mantener el gráfico compacto el gráfico simplemente muestra un beneficio neto Barra para cada ticker probado. La exposición promedio para este sistema es de unos 15, por lo tanto, puede ser capaz de negociar carteras para aumentar los beneficios y suavizar las curvas de patrimonio. Tenga cuidado de que en su forma cruda, las retiradas son inaceptables y que puede haber restricciones de volumen para muchos tickers. Dado que este sistema tiene poca exposición, puede ser un candidato para la exploración del mercado y el comercio de cartera clasificado. Los RARs serían una indicación de las ganancias máximas absolutas que podrían obtenerse si se lograba aumentar la exposición a cerca de 100. Sin embargo, el movimiento de precios de diferentes tickers puede estar correlacionado, y los oficios de diferentes tickers pueden solaparse. Si muchos comerciantes comerciales al mismo tiempo, sería difícil aumentar la exposición del sistema. Archivado por Herman a las 1:49 pm en Ideas (Experimental) Comentarios desactivados en KISS-001: Intraday Gap Trading 17 de agosto de 2007 Está invitado a enviar enlaces a las ideas del sistema en los comentarios a este post. Gap Trading Strategies 8211 Stockcharts Promedio móvil intraday Crossover con posicionamiento de tamaño 8211 NeoTicker Volatilidad-Breakout-Systems 8211 Comerciantes Registro De diez días de alto / bajo sistema 8211 StockWeblog Reversión de sistemas 8211 SeekingAlpha Systems Traders Club. Boletines del Club Trader. 16 de julio de 2007 Esta categoría está reservada para los sistemas de negociación real, es decir, que haya negociado en algún momento o que considere negociar. Dado que los criterios de negociabilidad varían de persona a persona, y como los sistemas pueden funcionar o no dependiendo de cómo se negocian, será difícil analizar las contribuciones aquí. Con respecto a lo que se publica aquí, mantenga una mente abierta y considere que el cartel considera el sistema negociable. Puedes contribuir publicándote como autor (requiere registro) o en un comentario a esta publicación. Aquí es donde usted puede compartir los sistemas comerciales que son marginalmente rentables, es decir, aquellos que no deben ser comercializados como son, pero que muestran potencial. Normalmente, este sería un sistema básico que es rentable, pero las experiencias bajan de 50. Estos sistemas a menudo se puede mejorar mediante la adición de paradas, objetivos, gestión del dinero, las técnicas de cartera, etc La realidad es que mientras no puede tener la experiencia para hacer Funciona alguien más puede. Casi todos nosotros encontramos ideas de sistemas comerciales en libros y revistas que luego codificamos en AFL para su evaluación. Algunos de estos sistemas pueden haber existido durante muchos años, mientras que otros son nuevas ideas. Después de codificarlos, casi siempre, estamos decepcionados y expulsamos el sistema (trabajo). En lugar de lanzar tu trabajo, estás invitado a publicar el sistema aquí para darle a otro desarrollador la oportunidad de arreglarlo. Se le invita a contribuir como autor (requiere registro) o en un comentario a esta publicación. Aquí está el ejemplo muy simple y clásico para construir un triple EMA (Exponential Moving Average Crossover) (Sistema de Crossover Promedio Mínimo Exponencial) . El sistema es muy popular si alguien (comerciante / inversor) es un novato al análisis técnico clásico. En este AFL el triple de media móvil compra, vender señales están codificados y viene con exploración y funcionalidad de exploración. Es una simple tendencia siguiendo el sistema donde el sistema muestra la señal de compra si muestra 3 EMA 13 EMA 34 EMA y muestra una señal de venta si 3 EMA promedian y aplican / arrastran y dejan caer el código de cruce triple promedio móvil sobre el gráfico en blanco. 7) Bingo que está hecho. Ahora usted será capaz de ver el crossover promedio móvil triple con comprar y vender los indicadores. Acerca de Rajandran Rajandran es un comerciante a tiempo completo y fundador de Marketcalls, muy interesado en la construcción de modelos de tiempo, algos. Conceptos de comercio discrecional y el análisis comercial Sentimental. Ahora instruye a los usuarios de todo el mundo, desde comerciantes experimentados, comerciantes profesionales a comerciantes individuales. Rajandran asistió a la universidad en Chennai donde obtuvo un BE en Electrónica y Comunicaciones. Rajandran tiene una amplia comprensión de los softwares comerciales como Amibroker, Ninjatrader, Esignal, Metastock, Motivewave, Market Analyst (Optuma), Metatrader, Tradingivew, Python y entiende las necesidades individuales de los comerciantes y los inversores que utilizan una amplia gama de metodologías. Comentarios Muchas gracias. Requisito de Exención de Responsabilidad del Gobierno de los Estados Unidos Regla 4.41 del CTFC El comercio de futuros contiene un riesgo sustancial y no es adecuado para todos los inversores. Un inversionista podría perder todo o más de la inversión inicial. Capital de riesgo es el dinero que se puede perder sin poner en peligro la seguridad financiera o el estilo de vida. Sólo considerar el capital de riesgo que debe ser utilizado para el comercio y sólo aquellos con suficiente capital de riesgo debe considerar la negociación. El rendimiento pasado no es necesariamente indicativa de resultados futuros. REGLAMENTO 4.41 DEL CTFC Los RESULTADOS DE RENDIMIENTO HIPOTÉTICOS O SIMULADOS TIENEN CIERTAS LIMITACIONES. DESCONOCIDO UN REGISTRO DE RENDIMIENTO REAL, LOS RESULTADOS SIMULADOS NO REPRESENTAN COMERCIO REAL. TAMBIÉN, DADO QUE LOS COMERCIOS NO HAN SIDO EJECUTADOS, LOS RESULTADOS PUEDEN TENER COMPENSACIÓN POR EL IMPACTO DE CIERTOS FACTORES DE MERCADO TALES COMO LA LIQUIDEZ. LOS PROGRAMAS DE COMERCIO SIMULADOS EN GENERAL ESTÁN SUJETOS AL FACTOR DE QUE SEAN DISEÑADOS CON EL BENEFICIO DE HINDSIGHT. NO SE HACE NINGUNA REPRESENTACIÓN QUE CUALQUIER CUENTA TENDRÁ O ES POSIBLE PARA LOGRAR GANANCIAS O PÉRDIDAS SIMILARES A LOS MOSTRADOS. Todos los oficios, patrones, gráficos, sistemas, etc. discutidos en este sitio web o en el anuncio son sólo con fines ilustrativos y no se interpretan como recomendaciones específicas de asesoramiento. Todas las ideas y materiales presentados aquí son para propósitos informativos y educativos solamente. Nunca se ha desarrollado ningún sistema o metodología comercial que pueda garantizar beneficios o evitar pérdidas. Los testimonios y ejemplos utilizados en este documento son resultados excepcionales que no se aplican a personas promedio y no tienen la intención de representar o garantizar que cualquier persona obtendrá los mismos resultados o resultados similares. Las transacciones realizadas en la dependencia de los sistemas de Trend Methods son tomadas por su cuenta y riesgo. No se trata de una oferta de compra o venta de futuros. Copyright 2017 Marketcalls Servicios Financieros Pvt Ltd middot Todos los derechos reservados middot Y nuestro mapa del sitio middot Todos los logos y la marca comercial pertenece a sus respectivos propietarios Los datos e información se proporcionan únicamente con fines informativos y no tienen fines comerciales. Ni el sitio web de marketcalls. in ni ninguno de sus promotores serán responsables por cualquier error o retraso en el contenido, o por cualquier acción tomada en dependencia de los mismos.

No comments:

Post a Comment