Volver A Probar Su Sistema De Comercio


Auto Trade System Back Testing Introducción Cuando se utiliza el sistema de hoja de cálculo para el estudio de comercio o se ha creado un ACSIL (Advanced Custom Study y el lenguaje de interfaz) sistema de comercio de estudio que utiliza las funciones de comercio ACSIL, entonces puede realizar Back Testing utilizando Trade Simulation Modo y reproducción del gráfico. O mediante la realización de un examen basado en barras. Con el fin de evaluar cómo su sistema de comercio ha realizado históricamente y para ver los intercambios históricos de los datos anteriores, es necesario ejecutar una prueba de nuevo. Un examen basado en barras utiliza los datos Open, High, Low, Close de las barras de gráficos cargadas para evaluar el sistema de comercio automatizado. Es esta información que se agrega incrementalmente a la carta durante la prueba posterior. Este método de Back Testing es más rápido comparado con un Replay Back Test, pero es menos preciso que un Replay Back Test. Una prueba de repetición de retroceso utiliza los datos subyacentes del archivo de datos Intraday para evaluar el sistema de comercio automatizado. Estos datos subyacentes tienen un marco de tiempo por registro de 1 a 1 minuto (depende de varios factores, incluyendo el servicio de Data / Trading utilizado, los datos históricos disponibles y los ajustes de Sierra Chart). Se trata de estos datos subyacentes más detallados en el archivo de datos Intraday que se agrega incrementalmente al gráfico durante la prueba posterior. Este es un método más lento de pruebas de espalda en comparación con un Bar Based Back Test, sin embargo, es más preciso. Con cualquiera de los dos métodos de prueba posterior, se puede consultar un informe completo de estadísticas de comercio basado en todos los rellenos de pedidos generados durante la prueba de retroceso. Consulte Visualización de los resultados de la prueba de retorno. Pruebas de respaldo basadas en barras con soporte para gráficos históricos e intradiarios. La prueba posterior en barras cargadas es un método de prueba de espalda usando los valores de Abrir, Alto, Bajo y Cerrar de las barras cargadas. Los datos subyacentes en el archivo de datos no se utilizan directamente, sólo las barras cargadas en sí. Por lo general, no realiza la misma alta exactitud de una prueba de retroceso en comparación con una prueba de repetición. Sin embargo, es generalmente más rápido y el método recomendado si la prueba rápida de la espalda es importante. Asegúrese de que hay una marca de verificación por Trade gtgt Auto Trading Activado si no hay uno ya. De lo contrario, el sistema de comercio automatizado no generará ninguna operación. Desconecte del servidor de datos y comercio si no lo está ya, seleccionando Archivo gtgt Desconectar. No es posible realizar una prueba de retroceso basada en barras mientras está conectada al servidor de datos o de comercio. Para realizar una prueba de retroceso de alta velocidad basada en barras cargadas, seleccione Trade Trade System Trade System Back Test Back Test. Se le pedirá el Incremento del procesamiento de la barra. El valor predeterminado es 250. Esto especifica el número de barras que se procesan de una vez antes de que se procese la entrada de la interfaz de usuario. Lo que significa que si especifica 250, se procesarán 250 barras a la vez y luego otras 250. Entre cada uno de estos bloques de procesamiento, podrá interrumpir la prueba de retorno pulsando la tecla Escape del teclado. Cuanto mayor sea el número especificado, mayor será el tiempo que la interfaz de usuario permanecerá ocupada. Para ver los resultados detallados de la Prueba de retroceso, consulte Ver resultados de prueba de retroceso. Basado en la barra Volver Prueba Notas Los estudios se calculan en la tabla 4 veces por cada barra. Para cada barra en el gráfico, los estudios se calculan primero con el precio Abierto, luego el Alto y el Bajo de la barra. Se usa primero el Alto o el Bajo primero, dependiendo de la dirección determinada del movimiento del precio. El Low se utiliza primero cuando el Close de la barra está más cerca de la High de la barra. El Alto se usa primero cuando el Cierre de la barra está más cerca del Bajo de la barra, o el Cierre es una distancia igual a la Alta y Baja. Finalmente, se procesa el precio Close de la barra. Los precios de llenado de los pedidos se basarán en los valores de barra Abierto, Alto, Bajo y Cerrar o dentro de una marca de ellos, a menos que los pedidos sean órdenes de reposo (órdenes no comerciales que no se llenaron inmediatamente). Para obtener más información, consulte Cómo se llenan las órdenes. Tenga esto en cuenta al mirar los precios de llenado. La marca de tiempo de un relleno de pedido será la hora de inicio de la barra en la que se produjo el relleno. No hay nada especial que usted necesita hacer con el desarrollo de un sistema comercial de ACSIL o de un sistema de la hoja de balance comercial cuando realiza la prueba de espalda basada de la barra. Si usted quiere hacer un comercio al cierre de la barra cuando sus reglas se cumplen, usted sabrá que su sistema está siendo evaluado en comparación con el precio de cierre cuando vea que el sc. LastTradePrice. En el caso de un sistema comercial de ACSIL, es igual al valor de cierre de la barra o dentro de una marca de la misma. La prueba de espalda basada en la barra es un método rápido de prueba de espalda a menos que usted necesite la garrapata de la alta precisión por la prueba de la repetición de la señal basada detrás que prueba. Repetición Prueba de retroceso - Automático Compatible con los gráficos de Intraday solamente. En esta sección se documenta cómo realizar una prueba de retroceso mediante el comando Trade gtgt Auto Trade. Esto simplifica el proceso de realizar una Prueba de Repetición Basada Back. Desconecte del feed de datos seleccionando File gtgt Disconnect en el menú. Seleccione Chart gtgt Chart Settings (Ajustes de gráficos) y establezca los Días a cargar en el número de días que desee realizar su prueba de retroceso. Presiona OK . Una vez que se establece, no tiene que ser cambiado de nuevo. Asegúrese de que hay una marca de verificación por Trade gtgt Auto Trading Activado si no hay uno ya. De lo contrario, el sistema de comercio automatizado no generará ninguna operación. Seleccione Trade gtgt Auto Trade System Repetición Back Test en el menú. Este comando borra todos los datos comerciales simulados para el símbolo de gráficos y reproduce el gráfico completo desde el principio a alta velocidad. Sierra Chart estará ocupado durante la prueba de regreso. Puede detener la prueba de retroceso si pulsa el botón Detener en la ventana Repetición de gráficos. Tendrá la oportunidad de pulsar este botón cada pocos segundos. Para ver los resultados detallados de la Prueba de retroceso, consulte Ver resultados de prueba de retroceso. Repetición de pruebas de retroceso - Manual Compatible con las tablas intradiarias. La prueba manual posterior se utiliza cuando se desea ejecutar la prueba de retroceso a una velocidad más lenta para observar lo que está haciendo y puede ser necesario utilizar este tipo de prueba de retroceso cuando vuelve a probar un sistema de comercio que implica varios gráficos. Asegúrese de que hay una marca de verificación por Trade gtgt Trade Simulation Mode On si no hay una. Sin embargo, se colocará en este modo de todos modos cuando inicie una prueba de retroceso. Asegúrese de que hay una marca de verificación por Trade gtgt Auto Trading Activado si no hay uno ya. De lo contrario, el sistema de comercio automatizado no generará ninguna operación. Vuelva a reproducir el gráfico desde el punto en el que desea comenzar su backtest. Para ello, seleccione Chart gtgt Replay Chart para mostrar la ventana de repetición. En la Ventana de Repetición debe seleccionar el Modo de Prueba Retroactiva Precisa del Sistema de Negociación. Desplácese hasta el punto del gráfico en el que desee iniciar la repetición y pulse el botón Reproducir en la ventana de reproducción. Cuando se inicia la repetición, se borra la posición simulada actual para el símbolo, si existe, los órdenes simulados para el símbolo, si los hay, y todos los rellenos de órdenes simulados para el símbolo. Para ver los resultados detallados de la Prueba de retroceso, consulte Ver resultados de prueba de retroceso. Realización de pruebas de nuevo en un sistema de comercio que utiliza múltiples gráficos Esta información se ha actualizado y se aplica a la versión 892 y versiones posteriores. Cuando se tiene un sistema de negociación que involucra varios gráficos, la pregunta es si es necesario volver a reproducir o Volver Prueba sólo el gráfico en el estudio del sistema de comercio está en, o todos los gráficos que hace referencia al sistema de comercio. Usted querrá volver a reproducir todos los gráficos que un sistema de comercio está haciendo referencia utilizando el método Replay Back Testing - Manual si desea que su sistema de comercio utilizar el precio y los valores de estudio de las barras que están en proceso de ser formado en lugar de utilizar el estudio Y los valores de precio en los gráficos de origen que tienen valores completos y finalizados. Por ejemplo, considere un gráfico de 5 minutos por barra. En el gráfico de origen al que se refiere el sistema de comercio, si no se reproduce al mismo tiempo tendrá barras completas de 5 minutos. Mientras que si usted está repitiéndolo, poco a poco en el período de cinco minutos, una barra de 5 minutos se construirá y los valores del estudio va a cambiar. Si es importante tener valores de barras cambiantes y valores de estudio para su sistema de comercio, y sólo usted puede responder a esta pregunta, entonces usted quiere volver a reproducir todas las cartas que el sistema de comercio utiliza. Usted querrá no volver a reproducir todas las cartas que un sistema de comercio está haciendo referencia y en lugar de sólo reproducir o realizar una prueba de nuevo en el gráfico en particular que el sistema de comercio está encendido, si es aceptable para que usted haya completado y finalizado bar y los valores de estudio En el gráfico o gráficos de origen. Cuando un sistema comercial está haciendo referencias a otros gráficos, necesita utilizar uno de los dos métodos para hacerlo. Tendrá que usar el estudio Estudio / Superposición de precios. O en el caso de un sistema comercial de ACSIL puede hacer referencias a otros gráficos utilizando el método documentado en la página Referencia de otros cuadros de tiempo y símbolos al usar la página de ACSIL. Cuando se utiliza la Superación de Estudio / Precio para superponer los precios o datos de estudio en la tabla en la que se encuentra el sistema de comercio, y las barras de gráfico se basan en Volumen, Número de Operaciones, Rango, Renko, Inversión, Volumen Delta o Cambios de precio. Debe configurar la entrada de estudio del modo de copia de datos para utilizar el valor más temprano del período de tiempo correspondiente. De lo contrario, en el caso de cuando el otro gráfico al que se hace referencia no esté reproduciendo y no esté sincronizado en el tiempo con el gráfico de destino, se utilizarán los datos de la última barra en el gráfico al que se hace referencia. Así que los datos referenciados no serían correctos. Cuando esté reproduciendo varios gráficos al mismo tiempo para realizar una prueba de retroceso, deberá utilizar el método Repetición de prueba de retroceso - Manual. En la ventana de repetición es necesario habilitar la opción Para todos los gráficos en Chartbook. Y en la ventana de Repetición, seleccione Modo de Prueba Detallada del Sistema de Negociación o Calcular en cada Tick / Trade. Al hacer esto, se realizará una Prueba de Retorno sincronizada. Para este tipo de prueba posterior, se recomienda desconectarse de los servidores de datos y comercio seleccionando Archivo gtgt Desconectar. Con un Back Test sincronizado, se determina la dependencia entre los gráficos y los cálculos se realizan en el orden correcto. Esto asegura la consistencia y exactitud. Puede utilizar cualquier velocidad de repetición. Al iniciar la repetición sincronizada de la prueba de retorno, se le pedirá el incremento del paso de tiempo para realizar la prueba de retroceso en (Introduzca paso de procesamiento en segundos). El valor predeterminado es 60 segundos. Cuanto más pequeño sea el plazo, más precisa será la prueba de retorno, sin embargo, tardará más en completarse. Cuanto mayor sea el plazo, más rápido será la Prueba de Retorno, pero será menos precisa. Sin embargo, la precisión depende realmente del marco de tiempo de las barras de gráfico de origen y destino. Usted no desearía utilizar un incremento del paso del tiempo que sea más largo que el marco de tiempo de las barras que son implicadas en el sistema que negocia. Es posible que desee elegir un marco de tiempo que es aproximadamente 25 de la duración media del tiempo de barra. Visualización de los resultados de la prueba Puede ver los resultados detallados de su sistema de comercio seleccionando Comercio de la actividad comercial en el menú. En la parte superior del registro de actividades comerciales, seleccione el símbolo en el que se ejecutó la prueba de retroceso. Debes elegir el símbolo que tiene SIM delante de él. En la parte superior del registro de la actividad comercial debe seleccionar Simulado en la lista de las Fuentes de la actividad del pedido, para mostrar la actividad de pedido y relleno para la Prueba posterior. Para obtener instrucciones completas, consulte la pestaña de estadísticas comerciales. Hay muchos campos mostrados que proporcionan resultados detallados de la negociación. Para un registro Comercio por Comercio, seleccione Trade gtgt Trade Activity Log gtgt Trades en el menú. Para obtener instrucciones completas, consulte la pestaña Operaciones. Para ver el pedido comercial se rellena visualmente en el gráfico, habilite Trade gtgt Show Order Fills en el menú de la ventana principal o la ventana del gráfico. Para saber exactamente cuándo se llenó una orden, es necesario mirar los rellenos de orden en el gráfico en lugar de mirar las flechas colocadas por un sistema de comercio en el gráfico porque esas flechas no necesariamente representan los pedidos reales aceptados y llenados. Para obtener información adicional acerca de esto, consulte Señales ignoradas con sistemas de hoja de cálculo o alertas (esto se aplica al estudio del sistema de hojas de cálculo para la negociación). Mejorar el rendimiento de la prueba de regreso Hay algunas cosas que se pueden hacer para mejorar el rendimiento de la prueba de espalda. La prueba de espalda más rápida va a ser cuando se utiliza el método de prueba Back Based Back Back Backing. En el caso de cuando se utiliza el sistema de hoja de cálculo para el comercio. Refiérase a Mejorar el rendimiento de las pruebas de regreso de los sistemas de comercio de hojas de cálculo además de los puntos siguientes. Desarrollar un sistema de comercio automatizado utilizando el Advanced Custom Study Interface y el lenguaje va a dar siempre el mejor rendimiento en comparación con el uso de hojas de cálculo. Cuando se ejecuta un tipo de repetición de prueba posterior, si los datos del archivo de datos del gráfico Intraday contienen registros de datos de 1 Tick o 1 Second, las pruebas de retorno serán más lentas comparadas con registros de datos de tiempo más alto en el archivo de datos Intraday. Por lo tanto, aumente los ajustes globales gtgt Data / Trade Service Settings gtgt Unidad de tiempo de almacenamiento de datos intradía. Una vez hecho esto, vuelva a descargar los datos del gráfico Intraday, vaya al gráfico Intraday y seleccione Editar gtgt Eliminar todos los datos y descargar. Esto sólo necesita hacerse una vez por símbolo. Esto ayudará a reducir el tiempo para las pruebas de espalda. La siguiente cosa a comprobar para determinar la fuente de la prueba lenta de la parte posterior es quitar todos los estudios de la carta o las cartas que están siendo repetidas, o de la carta una prueba de la parte posterior basada de la barra se está realizando encendido. Ejecutar la prueba de nuevo y ver si obtiene un mejor rendimiento. Si es así, entonces es uno de esos estudios particulares que causan el problema. A continuación, puede agregar estudios de nuevo gradualmente uno por uno para ver cuál está tomando un tiempo más largo para calcular. Si un estudio personalizado está causando un problema de rendimiento, entonces el desarrollador de ese estudio necesita mejorar el rendimiento de ese estudio. El estudio personalizado debe establecer sc. FreeDLL 0 en el bloque de código sc. SetDefaults para mejorar el rendimiento. Mejorar el rendimiento de la prueba de espalda de los sistemas de comercio de hoja de cálculo En el caso de cuando se utiliza el sistema de hoja de cálculo para el estudio de comercio, la prueba de espalda no suele ser muy rápido. La razón de esto es porque todos los datos de gráfico se envían a un objeto de hoja de cálculo independiente. Cada vez que se agrega una barra nueva al gráfico durante una prueba de retroceso, todos los datos del gráfico se deben volver a enviar a la hoja de cálculo. Esto hace que se produzcan muchos cálculos. Inherentemente el uso de ACSIL es mucho más rápido. Sin embargo, puede mejorar el rendimiento siguiendo los pasos que se indican a continuación. Observa tus fórmulas en las celdas K-Z (última columna de fórmula cuando usas 16 columnas de fórmulas). Determine cuántas filas de la fila actual 3, se refieren a. Por ejemplo, si las fórmulas se refieren no más allá de la fila 12, el Estudio de hoja de cálculo solo necesita mostrar 10 filas de datos a la hoja de cálculo. Reduzca la entrada Número de filas en la ventana Configuración de estudio para el estudio de Sistema de hojas de cálculo para el comercio al número mínimo de filas necesario. Borre los datos de las filas de hojas que ya no se utilizan en la hoja de cálculo. Para ello, resalte las filas seleccionando los números de fila en el lado izquierdo de la hoja de la hoja de cálculo y presione la tecla Suprimir del teclado o seleccione Hoja de cálculo gtgt Borrar selección. Elimine las hojas no utilizadas de la hoja de cálculo. En la parte superior izquierda de la ventana Hoja de cálculo, seleccione la hoja en particular que no se utiliza y seleccione Hoja de cálculo gtgt Eliminar hoja. Si también hay un Advanced Custom Study en el gráfico que usted mismo ha desarrollado, asegúrese de que tiene sc. FreeDLL establecido en 0. Esto es esencial para el rendimiento. Realice la prueba de retroceso utilizando uno de los métodos descritos en esta página. La prueba de espalda más rápida será una Prueba Básica Basada en la Barra. Diferencias entre las pruebas de retroceso y la evaluación del sistema de comercio de automóviles en tiempo real Las acciones de pedido BuyEntry, BuyExit, SellEntry y SellExit se evalúan cuando se calcula el estudio de negociación. Durante la actualización normal de los gráficos en tiempo real, este cálculo ocurre en el Intervalo de Actualización de Gráficos establecido en Ajustes Globales en Configuración General. Sin embargo, cuando transcurra el Intervalo de Actualización de Gráficos, los estudios de negociación sólo se calcularán cuando se reciban datos del feed de datos, o haya nuevos pedidos de comercio o datos de posición actualizados. Durante un Back Test, hay reglas definidas que controlan cuando se calculan los estudios de trading. Para una prueba de espalda basada en la barra. Los estudios de negociación se calculan para cada uno de los valores de Open, High, Low, Close de la barra. Durante una prueba de repetición. Los estudios de negociación se calculan cuando hay una nueva barra agregada al gráfico y en cualquier momento hay un cambio con los valores Alto, Bajo, Cerrar de la última barra en el gráfico como los datos se procesan a través del archivo de datos de gráfico Intraday. Durante la actualización en tiempo real. Entre los tiempos que se calculan los estudios de negociación que se encuentra en el Intervalo de Actualización de Gráficos. Potencialmente puede haber más de un registro de datos añadido al gráfico. Esto es especialmente cierto con los datos de tick por tick. Por lo tanto, el estudio no se calcula en cada una de las garrapatas. Si desea que sus acciones de pedido se evalúen lo más rápido posible durante la actualización del gráfico en tiempo real, es posible que desee disminuir el intervalo de actualización de gráfico. No recomendamos bajar de 50 a 100 ms. El punto de esta discusión es que puede haber algunas inconsistencias entre un sistema comercial que realiza en tiempo real y durante una prueba posterior debido a las condiciones ya la frecuencia para cuando se calculan los estudios incluyendo el estudio comercial. Usted tendrá la mayor coherencia entre la prueba de espalda y la evaluación en tiempo real del sistema de comercio de automóviles cuando esté realizando una Prueba de Repetición Basada en la Prueba en tick por tick data. Para asegurarse de que tiene los datos de marca por tick en los archivos de datos Intraday, consulte Configuración de datos Tick by Tick. En el caso del estudio Spreadsheet System for Trading, si desea evaluar sus fórmulas de condición sólo en un cierre de barra. A continuación, establezca la señal correspondiente sólo en una barra Cerrar las entradas con el sistema de hoja de cálculo para el estudio de comercio a Sí. Esto le dará al sistema una mayor estabilidad y no se verá afectado por el Intervalo de actualización de gráficos. En el caso de un sistema comercial de ACSIL, querrá utilizar sc. GetBarHasClosedStatus (). En el caso de un sistema de negociación que utilice múltiples gráficos, durante la actualización en tiempo real de los gráficos, para controlar el orden de cálculo de los gráficos basados ​​en la dependencia entre ellos, es necesario habilitar los ajustes globales gtgt Configuración general gtgt Utilizar la actualización de tabla de órdenes controladas. Esto proporciona mayor consistencia entre las pruebas de espalda y la evaluación en tiempo real del sistema de comercio de automóviles para los sistemas comerciales que utilizan múltiples gráficos. Prueba posterior y gráficos de contrato de futuros continuos Es compatible con realizar pruebas de retroceso cuando se utiliza una de las opciones de contrato continuo de gtgt. Al realizar la prueba de nuevo a través de una carta de contrato de futuros continuos, aunque los contratos de futuros expirados se cargan en el gráfico, el gráfico sólo tiene un símbolo que se utiliza para la negociación, a pesar de que son Back Testing a través de datos históricos. Así que las operaciones se producen en los precios de contrato vencidos, pero se especifica con el símbolo actual. Por lo tanto, sólo verá un símbolo al revisar los resultados de comercio en el registro de actividad comercial. Consistencia entre las pruebas de espalda Al realizar las Pruebas de Retroceso, debe utilizar uno de los métodos documentados en esta página y seguir los procedimientos que se indican. Cuando realice una Prueba de Repetición Basada en la Repetición, en la Ventana de Repetición debe seleccionar el Modo de Prueba Detrás del Sistema de Negociación Precisa para tener consistencia cuando Back Testing el mismo sistema de comercio automatizado en las mismas condiciones. Durante una prueba de retroceso, cuando Sierra Chart está procesando a través de los registros de datos subyacentes para una prueba posterior basada en Replay oa través de los datos de barras para una prueba de base basada en barras, los precios Bid y Ask se establecen a partir de los registros de datos subyacentes en el archivo de datos Intraday O se derivan de los datos de la barra Open High Low Close. Estos precios Bid y Ask se utilizan para llenar los pedidos que son enviados por un sistema automatizado de trading. Siempre hay una coherencia de 100 con el ajuste de los precios Bid y Ask entre Back Tests en los mismos datos de gráfico que los datos se procesan. Si su sistema de negociación da resultados inconsistentes entre las Pruebas de Fondo sin hacer cambios en los datos del gráfico, en los Ajustes del gráfico o en los Ajustes de estudio, debe buscar en su propio código de comercio / fórmulas para una causa. Cuando hay inconsistencias, esto sólo puede atribuirse a su propio código. Es muy poco probable que sea el resultado de cómo Sierra Chart está procesando la prueba de nuevo. Inconsistencias revela que su propio sistema de comercio produce resultados inconsistentes basados ​​en la forma en que está diseñado y funcionando. Incluso si no obtiene un resultado consistente entre las pruebas de espalda, generalmente esto no significa necesariamente mucho porque aunque puede que desee ver un resultado consistente cada vez que ejecute una prueba de regreso, asumiendo que su estudio está funcionando de forma consistente y Sierra Chart no No tienen ningún control sobre eso, no cambia el hecho de que con el comercio en vivo usted obtendrá otro resultado diferente de su sistema de comercio. Pruebe uno de los sistemas de comercio de Sierra Chart. Ejecútelo muchas veces. Obtendrá un resultado consistente cada vez. Si obtiene un resultado consistente cada vez, y con su propio sistema de comercio que no, entonces esto demuestra más probable es que el problema de inconsistencia es dentro de su propio sistema de comercio. Los sistemas de comercio de ejemplo de Sierra Chart se pueden encontrar en Análisis Estudios de gtgt Estudios y ejemplos personalizados gtgt. Si usted está probando de nuevo un sistema de comercio que implica la reproducción de múltiples cartas al mismo tiempo, entonces esto es algo que implica mucha más complejidad. Esto es algo a considerar si tiene inconsistencias entre las pruebas de espalda. Uso de los precios reales de la oferta y de la solicitud durante la prueba posterior Sierra Chart admite el uso de los precios reales de la oferta y de la oferta durante una prueba posterior basada en la repetición. Estos precios Bid and Ask se utilizan para llenar pedidos. Esto proporciona un grado muy alto de exactitud cuando la prueba posterior. Los precios históricos de Bid y Ask están disponibles cuando se utilizan datos históricos proporcionados por los servicios de datos históricos de Sierra Chart. En la mayoría de los casos, este servicio se utiliza para datos históricos de gráficos. Estos datos históricos sobre precios de ofertas y ofertas comienzan el 23 de junio de 2014. Siga estos pasos para usar los precios reales de pujas y solicitudes durante las pruebas regresivas. Establezca Sierra Chart para almacenar los datos tick by tick. Consulte Configuración de datos de Tick por Tick. Este es un paso esencial. Realice una prueba de repetición automática o manual. Debe ser una prueba de repetición. Una de las cosas más útiles que puede hacer en la ventana de análisis es volver a probar su estrategia comercial en datos históricos. Esto le puede dar una visión valiosa de las fortalezas y los puntos débiles de su sistema antes de invertir dinero real. Esta característica de AmiBroker solo puede ahorrar mucho dinero para usted. Escribir sus reglas comerciales Primero necesita tener reglas objetivas (o mecánicas) para entrar y salir del mercado. Este paso es la base de su estrategia y necesita pensarlo usted mismo ya que el sistema debe coincidir con su tolerancia al riesgo, tamaño de la cartera, técnicas de administración de dinero y muchos otros factores individuales. Una vez que usted tiene sus propias reglas para el comercio que debe escribir como comprar y vender reglas en AmiBroker Formula Lanugage (más corto y cubrir si desea probar también corto comercio). En este capítulo vamos a considerar el sistema de cruce de la media móvil muy básico. El sistema compraría acciones / contratos cuando el precio cercano suba por encima de la media móvil exponencial de 45 días y venderá acciones / contratos cuando el precio cercano caiga por debajo de la media móvil exponencial de 45 días. La media móvil exponencial se puede calcular en AFL usando su función incorporada EMA. Todo lo que necesita hacer es especificar la matriz de entrada y el período de promedio, por lo que la media móvil exponencial de 45 días de los precios de cierre puede obtenerse mediante la siguiente declaración: El identificador de cierre se refiere a la matriz incorporada que mantiene los precios de cierre del símbolo analizado en la actualidad . Para probar si el precio de cierre cruza por encima del promedio móvil exponencial utilizaremos la función cruzada incorporada: buy cross (close, ema (close, 45)) La declaración anterior define una regla comercial de compra. Da quot1quot o quottruequot cuando el precio cercano cruza encima de ema (cierre, 45). A continuación, podemos escribir la regla de venta que daría quot1quot cuando ocurra la situación opuesta - cerrar el precio cruza por debajo de ema (cerrar, 45): vender cross (ema (cerrar, 45), cerrar) Tenga en cuenta que estamos utilizando la misma función cruzada, El orden opuesto de los argumentos. Así que la fórmula completa para las operaciones largas se verá así: buy cross (close, ema (close, 45)) sell cross (ema (close, 45), close) NOTA: Para crear una nueva fórmula abra Editor de fórmulas usando Analysis-gtFormula Editor , Escriba la fórmula y elija Herramientas-gtSend al menú Análisis en el editor de fórmulas Para volver a probar su sistema, haga clic en el botón Volver a probar en la ventana Análisis automático. Asegúrese de que ha escrito en la fórmula que contiene al menos comprar y vender reglas comerciales (como se muestra arriba). Cuando la fórmula es correcta AmiBroker comienza a analizar sus símbolos de acuerdo a sus reglas comerciales y genera una lista de operaciones simuladas. Todo el proceso es muy rápido - puede volver a probar miles de símbolos en cuestión de minutos. La ventana de progreso le mostrará el tiempo estimado de finalización. Si desea detener el proceso, simplemente haga clic en el botón Cancelar en la ventana de progreso. Cuando el proceso está terminado, la lista de transacciones simuladas se muestra en la parte inferior de la ventana de análisis automático. (El panel Resultados). Puede examinar cuándo se produjeron las señales de compra y venta haciendo doble clic en el comercio en el panel Resultados. Esto le dará señales crudas o no filtradas para cada barra cuando se cumplan las condiciones de compra y venta. Si desea ver solo las flechas de comercio único (apertura y cierre del comercio actualmente seleccionado) debe hacer doble clic en la línea mientras mantiene presionada la tecla MAYÚS. Alternativamente, puede elegir el tipo de visualización seleccionando el elemento apropiado en el menú contextual que aparece al hacer clic en el panel de resultados con el botón derecho del ratón. Además de la lista de resultados, puede obtener estadísticas muy detalladas sobre el rendimiento de su sistema haciendo clic en el botón Informe. Para obtener más información sobre las estadísticas de los informes, consulte la descripción de la ventana del informe. Cambio de la configuración de las pruebas de regreso El motor de prueba en AmiBroker utiliza algunos valores predefinidos para realizar su tarea, incluyendo el tamaño de la cartera, la periodicidad (diaria / semanal / mensual), el monto de la comisión, la tasa de interés, Los campos de precios y así sucesivamente. Todos estos ajustes podrían ser cambiados por el usuario usando la ventana de configuración. Después de cambiar la configuración, recuerde volver a realizar la prueba de nuevo si desea que los resultados estén sincronizados con los ajustes. Por ejemplo, para probar de nuevo en barras semanales en lugar de todos los días, haga clic en el botón Configuración, seleccione Semanal de Periodicidad cuadro combinado y haga clic en Aceptar. A continuación, ejecute su análisis haciendo clic en Volver prueba. Nombres de variables reservadas La siguiente tabla muestra los nombres de las variables reservadas utilizadas por Automatic Analyzer. El significado y ejemplos de su uso se dan más adelante en este capítulo. Permite la cantidad en dólares de control o el porcentaje de la cartera que se invierte en el comercio (ver explicaciones a continuación) Análisis Automático (nuevo en 3.9) Hasta ahora hemos discutido el uso bastante simple del probador de espalda. AmiBroker, sin embargo, apoya métodos y conceptos mucho más sofisticados que serán discutidos más adelante en este capítulo. Tenga en cuenta que el usuario principiante debe jugar primero un poco con los temas más sencillos descritos anteriormente antes de continuar. Por lo tanto, cuando esté listo, eche un vistazo a las siguientes características recientemente introducidas del back-tester: a) AFL scripting host para los escritores de fórmulas avanzadas b) el apoyo mejorado para operaciones cortas c) la forma de controlar el precio de ejecución de órdenes de la Script d) varios tipos de paradas en el probador de espalda e) tamaño de la posición f) tamaño del lote redondo y tamaño de la señal g) cuenta de margen h) backtesting futuros AFL script host es un tema avanzado que está cubierto en un documento separado disponible aquí y no voy a discutir En este documento. Las características restantes son mucho más fáciles de entender. En las versiones anteriores de AmiBroker, si quería volver a probar el sistema utilizando operaciones largas y cortas, sólo se podía simular la estrategia de stop-and-reverse. Cuando la posición larga fue cerrada una nueva posición corta se abrió inmediatamente. Fue porque las variables reservadas de compra y venta se utilizaron para ambos tipos de operaciones. Ahora (con la versión 3.59 o superior) hay variables reservadas separadas para abrir y cerrar operaciones largas y cortas: buy - quottruequot o 1 value abre trading largo - quottruequot o 1 value cierra trade short - quottruequot - quottruequot o 1 valor cierra comercio corto Som con el fin de back-test de operaciones cortas que necesita para asignar corto y cubrir las variables. Si utiliza el sistema de stop-and-reverse (siempre en el mercado) simplemente asignar vender a corto y comprar para cubrir la venta corta comprar la cubierta Esto simula la forma de pre-3.59 versiones trabajadas. Pero ahora AmiBroker le permite tener reglas de negociación separadas para ir largo y para ir corto, como se muestra en este ejemplo simple: // comercio de largo entradas y las reglas de salida: comprar cross (cci (), 100) vender cross (100, cci () ) // reglas de entrada y salida de operaciones cortas: cross corto (-100, cci ()) cover cross (cci (), -100) Observe que en este ejemplo si CCI está entre -100 y 100 usted está fuera del mercado. Control de los precios de comercio AmiBroker ahora ofrece 4 nuevas variables reservadas para especificar el precio al que se ejecutan las órdenes de compra, venta, corto y de cobertura. Estos arrays tienen los nombres siguientes: buyprice, sellprice, shortprice y coverprice. La principal aplicación de estas variables es controlar el precio del comercio: BuyPrice IIF (dayofweek () 1, HIGH, CLOSE) // el lunes compran en high, de lo contrario compran en close Así que usted puede escribir lo siguiente para simular órdenes de stop real: BuyStop. La fórmula para comprar el nivel de parada SellStop. La fórmula para el nivel de la venta de la parada // si en cualquier momento durante el día los precios se levantan sobre el nivel de buystop (highgtbuystop) // la orden de compra ocurre (en el buystop o bajo lo que sea más alto) Buy Cross (High, BuyStop) // si en cualquier momento durante el Los precios de los días caen por debajo del nivel de sellprice (bajo sellstop) // la orden de venta tiene lugar (en sellstop o alta lo que sea menor) Sell Cross (SellPrice, SellStop) BuyPrice max (BuyStop, baja) Por favor, tenga en cuenta que AmiBroker preestablece los precios de compra, sellprice, shortprice y coverprice variables de matriz con los valores definidos en la ventana de configuración de prueba del sistema (se muestra a continuación), por lo que puede, pero dont need to define them in your formula. If you dont define them AmiBroker works as in the old versions. During back-testing AmiBroker will check if the values you assigned to buyprice, sellprice, shortprice, coverprice fit into high-low range of given bar. If not, AmiBroker will adjust it to high price (if price array value is higher than high) or to the low price (if price array value is lower than low) Profit target stops As you can see in the picture above, new settings for profit target stops are available in the system test settings window. Profit target stops are executed when the high price for a given day exceedes the stop level that can be given as a percentage or point increase from the buying price. By default stops are executed at price that you define as sell price array (for long trades) or cover price array (for short trades). This behaviour can be changed by using quotExit at stopquot feature. quotExit at stopquot feature If you mark quotExit at stopquot box in the settings the stops will be executed at exact stop level, i. e. if you define profit target stop at 10 your stop and the buy price was 50 stop order will be executed at 55 even if your sell price array contains different value (for example closing price of 56). Maximum loss stops work in a similar manner - they are executed when the low price for a given day drops below the stop level that can be given as a percentage or point increase from the buying price This kind of stop is used to protect profits as it tracks your trade so each time a position value reaches a new high, the trailing stop is placed at a higher level. When the profit drops below the trailing stop level the position is closed. This mechanism is illustrated in the picture below (10 trailing stop is shown): / a sample low-level implementation of Profit-target stop in AFL: / Buy Cross ( MACD (), Signal () ) for ( i 0 i lt BarCount i ) if ( priceatbuy 0 Buy i ) priceatbuy BuyPrice i if ( priceatbuy gt 0 SellPrice i gt 1.1 priceatbuy ) Sell i 1 SellPrice i 1.1 priceatbuy priceatbuy 0 else Sell i 0 This is a new feature in version 3.9. Position sizing in backtester is implemented by means of new reserved variable PositionSize ltsize arraygt Now you can control dollar amount or percentage of portfolio that is invested into the trade positive number define (dollar) amount that is invested into the trade for example: PositionSize 1000 // invest 1000 in every trade negative numbers -100..-1 define percentage: -100 gives 100 of current portfolio size, -33 gives 33 of available equity for example:PositionSize -50 / always invest only half of the current equity / dynamic sizing example:PositionSize - 100 RSI() as RSI varies from 0..100 this will result in position depending on RSI values - gt low values of RSI will result in higher percentage invested If less than 100 of available cash is invested then the remaining amount earns interest rate as defined in the settings. There is also a new checkbox in the AA settings window: quotAllow position size shrinkingquot - this controls how backtester handles the situation when requested position size (via PositionSize variable) exceeds available cash: when this flag is checked the position is entered with size shinked to available cash if it is unchecked the position is not entered. To see actual position sizes please use a new report mode in AA settings window: quotTrade list with prices and pos. sizequot For the end, here is an example of Tharps ATR-based position sizing technique coded in AFL: Buy ltyour buy formula heregt Sell 0 // selling only by stop TrailStopAmount 2 ATR( 20 ) Capital 100000 / IMPORTANT: Set it also in the Settings: Initial Equity / Risk 0.01Capital PositionSize (Risk/TrailStopAmount)BuyPrice ApplyStop( 2, 2, TrailStopAmount, 1 ) The technique could be summarized as follows: The total equity per symbol is 100,000, we set the risk level at 1 of total equity. Risk level is defined as follows: if a trailing stop on a 50 stock is at, say, 45 (the value of two ATRs against the position), the 5 loss is divided into the 1000 risk to give 200 shares to buy. So, the loss risk is 1000 but the allocation risk is 200 shares x 50/share or 10,000. So, we are allocating 10 of the equity to the purchase but only risking 1000. (Edited excerpt from the AmiBroker mailing list) Round lot size and tick size Various instruments are traded with various quottrading unitsquot or quotblocksquot. For example you can purchase fractional number of units of mutual fund, but you can not purchase fractional number of shares. Sometimes you have to buy in 10s or 100s lots. AmiBroker now allows you to specify the block size on global and per-symbol level. You can define per-symbol round lot size in the Symbol-gtInformation page (pic. 3). The value of zero means that the symbol has no special round lot size and will use quotDefault round lot sizequot (global setting) from the Automatic Analysis settings page (pic. 1). If default size is set also to zero it means that fractional number of shares/contracts are allowed. You can also control round lot size directly from your AFL formula using RoundLotSize reserved variable, for example: This setting controls the minimum price move of given symbol. You can define it on global and per-symbol level. As with round lot size, you can define per-symbol tick size in the Symbol-gtInformation page (pic. 3). The value of zero instructs AmiBroker to use quotdefault tick sizequot defined in the Settings page (pic. 1) of Automatic Analysis window. If default tick size is also set to zero it means that there is no minimum price move. You can set and retrieve the tick size also from AFL formula using TickSize reserved variable, for example: Note that the tick size setting affects ONLY trades exited by built-in stops and/or ApplyStop(). The backtester assumes that price data follow tick size requirements and it does not change price arrays supplied by the user. So specifying tick size makes sense only if you are using built-in stops so exit points are generated at quotallowedquot price levels instead of calculated ones. For example in Japan - you can not have fractional parts of yen so you should define global ticksize to 1, so built-in stops exit trades at integer levels. Account margin setting defines percentage margin requirement for entire account . The default value of Account margin is 100. This means that you have to provide 100 funds to enter the trade, and this is the way how backtester worked in previous versions. But now you can simulate a margin account. When you buy on margin you are simply borrowing money from your broker to buy stock. With current regulations you can put up 50 of the purchase price of the stock you wish to buy and borrow the other half from your broker. To simulate this just enter 50 in the Account margin field (see pic. 1). If your intial equity is set to 10000 your buying power will be then 20000 and you will be able to enter bigger positions. Please note that this settings sets the margin for entire account and it is NOT related to futures trading at all. In other words you can trade stocks on margin account. quotReverse entry signal forces exitquot check box to the Backtester settings. When it is ON (the default setting) - backtester works as in previous versions and closes already open positon if new entry signal in reverse direction is encountered. If this switch is OFF - even if reverse signal occurs backtester maintains currently open trade and does not close positon until regular exit (sell or cover) signal is generated. In other words when this switch is OFF backtester ignores Short signals during long trades and ignores Buy signals during short trades. quotAllow same bar exit (single bar trade)quot option to the Settings When it is ON (the default settings) - entry and exit at the very same bar is allowed (as in previous versions) if it is OFF - exit can happen starting from next bar only (this applies to regular signals, there is a separate setting for ApplyStop-generated exits). Switching it to OFF allows to reproduce the behaviour of MS backtester that is not able to handle same day exits. quotActivate stops immediatelyquotThis setting solves the problem of testing systems that enter trades on market open. In versions prior to 4.09 backtester assumed that you were entering trades on market close so built-in stops were activated from the next day. The problem was when you in fact defined open price as the trade entry price - then same day price fluctuations did not trigger the stops. There were some published workarounds based on AFL code but now you dont need to use them. Simply if you trade on open you should mark quotActivate stops immediatelyquot (pic. 1). You may ask why do not simply check the buyprice or shortprice array if it is equal to open price. Unfortunatelly this wont work. Why Simply because there are doji days when open price equals close and then backtester will never know if trade was entered at market open or close. So we really need a separate setting. quotUse QuickAFLquotQuickAFL(tm) is a feature that allows faster AFL calculation under certain conditions. Initially (since 2003) it was available for indicators only, as of version 5.14 it is available in Automatic Analysis too. Initially the idea was to allow faster chart redraws through calculating AFL formula only for that part which is visible on the chart. In a similar manner, automatic analysis window can use subset of available quotations to calculate AFL, if selected 8220range8221 parameter is less than 8220All quotationsquot. Detailed explanation on how QuickAFL works and how to control it, is provided in this Knowledge Base article: amibroker/kb/2008/07/03/quickafl/ Note that this option works not only in the backtester, but also in optimizations, explorations and scans. Backtesting What is Backtesting Backtesting is the process of testing a trading strategy on relevant historical data to ensure its viability before the trader risks any actual capital. A trader can simulate the trading of a strategy over an appropriate period of time and analyze the results for the levels of profitability and risk. Si los resultados cumplen los criterios necesarios que son aceptables para el comerciante, la estrategia se puede implementar con cierto grado de confianza de que dará lugar a beneficios. Si los resultados son menos favorables, la estrategia puede ser modificada, ajustada y optimizada para lograr los resultados deseados, o puede ser completamente desechada. Una cantidad significativa del volumen negociado en el mercado financiero de hoy es hecho por los comerciantes que utilizan algún tipo de automatización de la computadora. Esto es especialmente cierto para las estrategias comerciales basadas en el análisis técnico. Backtesting es una parte integral del desarrollo de un sistema de comercio automatizado. Cuando se hace correctamente, backtesting puede ser una herramienta invaluable para tomar decisiones sobre si utilizar una estrategia comercial. El período de tiempo de muestra en el que se realiza un backtest es crítico. La duración del período de tiempo de muestreo debe ser lo suficientemente larga como para incluir períodos de condiciones de mercado variables, incluyendo tendencias de alza, tendencia a la baja y negociación de rango limitado. Realizar una prueba en un solo tipo de condición de mercado puede producir resultados únicos que pueden no funcionar bien en otras condiciones del mercado, lo que puede conducir a conclusiones falsas. El tamaño de la muestra en el número de oficios en los resultados de la prueba también es crucial. If the sample number of trades is too small, the test may not be statistically significant. Una muestra con demasiadas operaciones durante un período demasiado largo puede producir resultados optimizados en los que un número abrumador de operaciones ganadoras se unen en torno a una condición o tendencia específica del mercado que es favorable para la estrategia. Esto también puede causar un comerciante para sacar conclusiones engañosas. Mantenerlo real Un backtest debe reflejar la realidad en la medida de lo posible. Trading costs that may otherwise be considered to be negligible by traders when analyzed individually may have a significant impact when the aggregate cost is calculated over the entire backtesting period. Estos costos incluyen las comisiones, los spreads y el deslizamiento, y podrían determinar la diferencia entre si una estrategia comercial es rentable o no. La mayoría de los paquetes de software de backtesting incluyen métodos para contabilizar estos costos. Quizás la métrica más importante asociada con el backtesting es el nivel de robustez de la estrategia. Esto se logra comparando los resultados de una prueba posterior optimizada en un período de tiempo de muestra específico (denominado en la muestra) con los resultados de un backtest con la misma estrategia y ajustes en un período de tiempo de muestra diferente (denominado out - De la muestra). If the results are similarly profitable, then the strategy can be deemed to be valid and robust, and it is ready to be implemented in real-time markets. If the strategy fails in out-of-sample comparisons, then the strategy needs further development, or it should be abandoned altogether.

Comments

Popular Posts