Laboratorio De Sistemas Comerciales
7 características que necesita saber acerca de TSLab Vea la introducción corta para saber más Ver el trabajo real del sistema En esta demostración de x8 minutos demostraremos cómo crear un algoritmo de seguimiento de tendencias y conectarlo con indicadores adicionales (como MACD, SMA). Y después de eso vamos a probarlo en el índice ASX. Ver video Elija el instrumento para el comercio ¿Prefieres FX o CFD. ¿Crees que tu mejor comercio sería en Opción y Futuros. O tal vez confíe sólo en las acciones Conozca más sobre las ventajas y desventajas de cada instrumento para algo-trading. Evolucionar Aproveche todo lo que TSLab puede ofrecer para participar en un curso en línea gratuito dedicado a algo-trading. Aplicamos tecnología, que le permite superar los límites, los otros sistemas de comercio algorítmico por lo general tienen. Basta con arrastrar y soltar los bloques, que ya contienen una parte del código, y conectarlos juntos. Módulo de Gestión de Riesgos Utilice Módulo de Gestión de Riesgos para asegurarse de que todos sus pedidos y operaciones cumplan con su estrategia. Activa tus propios filtros con restricciones y límites. Construido en indicadores técnicos Hay cientos de indicadores utilizados por los comerciantes. Permita que TSLab controle los valores que establece en los indicadores para no mezclarlos. Pruebe sus estrategias Su agente siempre puede proporcionarle datos históricos, que puede utilizar fácilmente para refinar su secuencia de comandos. Seleccione el intervalo de tiempo, aplique indicadores y analice los resultados. Comprobar la estabilidad del script Puede utilizar datos en tiempo real para controlar su estrategia. Apliqúese usando datos actuales y vea cuáles pueden parecer los resultados sin ninguna pérdida de dinero. Echa un vistazo a la tabla de profundidad de mercado para conocer no sólo el número de ofertas de compra y venta que implica el instrumento, pero sus precios también. La Profundidad de Mercado indica la liquidez del instrumento. TSLab es una solución única en el mundo de los sistemas de comercio algorítmico Creando TSLab decidimos concentrarnos en hacerlo muy simple y fácil de entender por cualquier persona con cualquier formación y antecedentes. Creemos que todo el mundo que está interesado en el comercio algorítmico puede comenzar a construir sus propios scripts en TSLab en poco tiempo. Anteriormente podría llevar muchos años de estudio para poder programar sus propias estrategias de negociación. Ahora ofrecemos una solución para crear sus propios scripts sólo pasar unas horas a la semana sin necesidad de conocer los lenguajes de programación. Las únicas cosas que usted necesita saber son el mercado, sus tendencias e indicadores. TSLab sólo funciona para youTrading System Lab sistema de comercio autónomo Designer Trading System Lab Professional es una plataforma de comercio completo para el desarrollo y el comercio de sus ideas. Es tan poderosa como las herramientas utilizadas por algunos de los mayores fondos de cobertura del mundo. De hecho, algunos de ellos realmente utilizan Trading System Lab como sus comerciantes de la plataforma de investigación que pueden permitirse cualquier cosa elegir Trading System Lab. Contiene cientos de funciones poderosas para hacer que la expresión de cualquier idea de negociación sea fácil. También permite una verdadera gestión avanzada y optimización de la gestión del dinero, soporte True Forex, optimización True Walk Forward y el Análisis de Acciones realista más avanzado disponible. Introducción a TSL Trading System Lab generará automáticamente Sistemas de Negociación en cualquier mercado en unos pocos minutos usando un programa de computadora muy avanzado conocido como AIMGP (Inducción Automática de Código de Máquina con Programación Genética). Creación de un sistema de comercio dentro de Trading System Lab se lleva a cabo en 3 sencillos pasos. En primer lugar, se ejecuta un preprocesador simple que extrae y procesa automáticamente los datos necesarios del mercado con el que desea trabajar. TSL acepta CSI, MetaStock, AIQ, TradeStation, datos de Internet gratis, ASCII, TXT, CSV, CompuTrac, DowJones, FutureSource, TeleChart2000v3, TechTools, XML, datos binarios e Internet Streaming. En segundo lugar, el generador del sistema de comercio (GP) se ejecuta durante varios minutos, o más, para desarrollar un nuevo sistema de comercio. Puede utilizar sus propios datos, patrones, indicadores, relaciones intermarcas o datos fundamentales dentro de TSL. En tercer lugar, el sistema de comercio evolucionado está formateado para producir nuevas señales del sistema de comercio desde TradeStation o muchas otras plataformas comerciales. TSL escribirá automáticamente Easy Language, Java, Assembler, código C, código C y WealthLab Script Language. El Sistema de Negociación puede ser negociado manualmente, negociado a través de un corredor, o negociado automáticamente. Usted puede crear el sistema de comercio usted mismo o podemos hacerlo por usted. Entonces, o usted o su corredor pueden negociar el sistema manualmente o automáticamente. Evitar el sistema de comercio de Curve Fit El programa genético de Labs contiene varias características que reducen la posibilidad de ajuste de curvas o producen un sistema de comercio que no continúa realizando en el futuro. En primer lugar, los Sistemas de Negociación evolucionados tienen su tamaño podado hasta el tamaño más bajo posible a través de lo que se llama Presión de Parsimonia, tomando como base el concepto de longitud de descripción mínima. Por lo tanto, el sistema de comercio resultante es tan simple como sea posible y generalmente se cree que cuanto más simple sea el sistema de comercio, mejor se llevará a cabo en el futuro. En segundo lugar, la aleatoriedad se introduce en el proceso evolutivo, lo que reduce la posibilidad de encontrar soluciones que sean localmente, pero no globalmente óptimas. La aleatoriedad se introduce no sólo en las combinaciones del material genético utilizado en los Sistemas de Negociación evolucionados, sino también en Parsimony Pressure, Mutation, Crossover y otros parámetros GP de nivel superior. Se realizan pruebas fuera de la muestra mientras se está realizando el entrenamiento con la información estadística presentada en las pruebas de la muestra y fuera de la muestra del sistema de comercio. Los registros de ejecución se presentan al usuario para los datos de formación, validación y fuera de muestra. Un buen comportamiento El rendimiento de la muestra puede ser indicativo de que el sistema de comercio está evolucionando con características robustas. El deterioro sustancial en las pruebas automáticas fuera de la muestra en comparación con las pruebas en la muestra puede implicar que la creación de un robusto sistema de comercio está en duda o que el terminal o conjunto de entrada puede ser necesario cambiar. Por último, el conjunto de terminales se elige cuidadosamente para no sesgar excesivamente la selección del material genético inicial hacia cualquier sesgo o sentimiento particular del mercado. TSL no comienza su ejecución con un sistema de comercio predefinido. De hecho, inicialmente sólo se establece el conjunto de entradas y una selección de modos o modos de entrada en el mercado, para la búsqueda y asignación automática de entradas. Un patrón o indicador de comportamiento que puede ser pensado como una situación alcista puede ser utilizado, descartado o invertido dentro de la GP. Ningún patrón o indicador está preasignado a ningún sesgo particular del movimiento del mercado. Esta es una salida radical del desarrollo generado manualmente del sistema de comercio. ¿Qué es un sistema de comercio? Un sistema de comercio es un conjunto lógico de instrucciones que dicen al comerciante cuándo comprar o vender un mercado en particular. Estas instrucciones rara vez requieren la intervención de un comerciante. Los Sistemas de Negociación pueden ser negociados manualmente, observando las instrucciones de negociación en una pantalla de computadora, o pueden ser intercambiados permitiendo que la computadora ingrese los oficios en el mercado automáticamente. Ambos métodos están en uso generalizado hoy en día. Hay más administradores de dinero profesionales que se consideran operadores sistemáticos o mecánicos que aquellos que se consideran discrecionales, y el desempeño de los administradores sistemáticos de dinero es generalmente superior al de los administradores de dinero discrecional. Los estudios han demostrado que las cuentas comerciales generalmente pierden dinero más a menudo si el cliente no está usando un sistema de comercio. El significativo aumento de los sistemas de negociación en los últimos 10 años es evidente, especialmente en las empresas de corretaje de materias primas, sin embargo las empresas de corretaje de acciones y de bonos están cada vez más conscientes de los beneficios mediante el uso de Trading Systems y algunos han comenzado a ofrecer Clientes minoristas. La mayoría de los gestores de fondos mutuos ya están utilizando algoritmos informáticos sofisticados para guiar sus decisiones en cuanto a qué stock caliente a elegir o qué rotación del sector está a favor. Los ordenadores y los algoritmos se han convertido en la corriente principal en la inversión y esperamos que esta tendencia continúe mientras que los inversionistas más jóvenes y más informáticos continúan permitiendo que partes de su dinero sean administradas por Trading Systems para reducir el riesgo y aumentar los retornos. Las enormes pérdidas experimentadas por los inversionistas que participan en la compra y tenencia de acciones y fondos mutuos como el mercado de valores se derritieron en los últimos años está fomentando este movimiento hacia un enfoque más disciplinado y lógico a la inversión en el mercado de valores. El inversionista medio se da cuenta que él o ella actualmente permite que muchos aspectos de sus vidas y vidas de sus seres queridos sean mantenidos o controlados por computadoras como los automóviles y aviones que usamos para el transporte, el equipo de diagnóstico médico que usamos para el mantenimiento de la salud, Los controladores de calefacción y refrigeración que utilizamos para el control de la temperatura, las redes que utilizamos para la información basada en Internet, incluso los juegos que jugamos para el entretenimiento. ¿Por qué entonces algunos inversores minoristas creen que pueden disparar desde la cadera en sus decisiones en cuanto a qué acciones o fondos mutuos para comprar o vender y esperar a ganar dinero Por último, el inversionista promedio se ha convertido en cauteloso de los consejos y la información remitida por corredores sin escrúpulos , Contadores, directores corporativos y asesores financieros. Evolución versus Optimización Durante los últimos 20 años, los matemáticos y los desarrolladores de software han buscado indicadores y patrones en los mercados de acciones y materias primas buscando información que pueda apuntar a la dirección del mercado. Esta información se puede utilizar para mejorar el rendimiento de los sistemas de negociación. Generalmente, este proceso de descubrimiento se logra mediante una combinación de prueba y error y una minería de datos más sofisticada. Por lo general, el desarrollador tomará semanas o meses de crujido de números con el fin de producir un sistema de comercio potencial. Muchas veces este sistema de comercio no funcionará bien cuando realmente se utiliza en el futuro debido a lo que se llama ajuste de curva. A lo largo de los años ha habido muchos sistemas de comercio (y las empresas de desarrollo de sistemas de comercio) que han ido y venido como sus sistemas han fallado en el comercio en vivo. Desarrollar sistemas de negociación que continúen realizando en el futuro es difícil, pero no imposible de lograr, aunque ningún desarrollador ético o administrador de dinero dará una garantía incondicional de que cualquier sistema de comercio, o de cualquier acción, bono o fondo mutuo, continuará Para producir beneficios en el futuro para siempre. Lo que llevó semanas o meses para que el desarrollador del Sistema de Negociación produjera en el pasado puede ahora ser producido en cuestión de minutos a través del uso de Trading System Lab. Trading System Lab es una plataforma para la generación automática de Trading Systems y Trading Indicators. TSL hace uso de un motor de programación genética de alta velocidad y producirá sistemas de negociación a una tasa de más de 16 millones de barras de sistema por segundo basado en 56 entradas. Tenga en cuenta que sólo unas pocas entradas realmente serán usadas o necesarias resultando en estructuras de estrategia evolucionadas generalmente simples. Con aproximadamente 40.000 a 200.000 sistemas necesarios para una convergencia, el tiempo de convergencia para cualquier conjunto de datos puede ser aproximado. Tenga en cuenta que no estamos simplemente ejecutando una optimización de la fuerza bruta de los indicadores existentes en busca de parámetros óptimos desde los que utilizar en un sistema de comercio ya estructurado. El Generador del Sistema de Negociación comienza en un origen de punto cero sin hacer suposiciones sobre el movimiento del mercado en el futuro y luego desarrolla Trading Systems a un ritmo muy alto combinando la información presente en el mercado y formulando nuevos filtros, funciones, condiciones y relaciones ya que Progresa hacia un sistema de comercio genéticamente modificado. El resultado es que un excelente sistema de comercio puede ser generado en unos pocos minutos en 20-30 años de datos de mercado diarios en prácticamente cualquier mercado. Más información sobre el sistema de comercio Código del sistema de laboratorio para los sistemas de comercio Labs Volver a página de código principal Septiembre 2000, sistema híbrido No. 1 Octubre 2000, sistema RS No 1 Noviembre 2000, sistema de retirada No 1 enero / febrero 2001, sistema Meander marzo de 2001 , Bandas de fuerza relativa Junio de 2001, Viejo fiel Julio 2001, Promedio ponderado en volumen Agosto 2001, Un mal compromiso Octubre 2001, Valor beta Noviembre 2001, Variación de patrones Harris 3L-R Diciembre 2001, Sistema de bolsas profundas Enero 2002, , Sistema Pair-trade II abril de 2002, sistema Pair-trade III mayo 2002, variación Pristine junio 2002, salidas expertas julio 2002, cambio medio móvil agosto 2002, marcha inversa septiembre 2002, ruptura baja volatilidad Octubre 2002, , Sistema de inventario de contrapunch Diciembre de 2002, Sistema de referencia de volatilidad enero de 2003, Sistema de ruptura de volatilidad a largo plazo Febrero de 2003, Sistema de ruptura dinámica mayo de 2004, Sistema de cruces de corto plazo WMA Mayo 2004, Sistema de choque Junio 2004, Experimentación con salidas (Futures Trading System Lab) Julio 2004, Combinación indicador-tiempo (ITC) (Futures System Trading Lab) Agosto 2004, Sistema RSI Trend Está trabajando con varias compañías de software para proporcionar código para Trading System Labs que no se muestra aquí. Entradas: LookBack (9), WhereToBuy (0.5) Variables: HighValue (0), LowValue (99999), BuyValue (0) LowValue Menor (Low, LookBack) HighValue Mayor (Alto, LookBack) BuyValue (HighValue - LowValue) 0 Then Begin Buy tomorrow at BuyValue LowValue Stop Si Cerrar lt LowValue1 Then ExitLong en Open Si BarsSinceEntry 9 y OpenPositionProfit lt 0 Entonces ExitLong on Open Octubre 2000, Código TradeStation: Variables: RelStr (0), AvgRelStr (0), CalcRelStr (0) , AvgOBV (0), CalcOBV (0), CalcStr (0) RelStr IFF (AvgPrecio 0, 0, AvgPrice / AvgPrice Datos2) AvgRelStr Promedio (RelStr, 5) CalcRelStr IFF (RelStr 0, 0, RelStr / AvgRelStr) CalcStr CalcRelStr CalcOBV Si CalcStr Cruces por encima de 1,0 y MarketPosition 0 Entonces compra en Cerrar Si CalcStr cruza por debajo de 1 Entonces ExitLong en Cerrar Si Close lt EntryPrice 0,96 Luego ExitLong on Close Noviembre (0, 0, OBV / AvgOBV) 2000, código TradeStation: Condition1 MarketPosition 0 y Close Average (Close, 50) y High High1 y (close1 lt close2 y close2 lt close3) Si Condition1 True Then Comprar mañana en Market ExitLong (quotStopquot) Si PositionProfit 0 Then ExitLong (quotExitquot) mañana en el mercado de enero / febrero de 2001, código de TradeStation: Vars: SumVS (0), AvgVS (0), DiffVS (0), StdVS (0), SetArr (0), SumArr (0) , DiffArr (0), VSLow (0), VSMid (0), VSHigh (0), RiskReward (0) Para SetArr 0 a 4 Begin VSSetArr 4 0 (OpenSetArr - AvgPriceSetArr 1) / AvgPriceSetArr 1 VSSetArr 4 1 (HighSetArr - AvgPriceSetArr 1) / AvgPriceSetArr 1 VSSetArr 4 2 (LowSetArr - AvgPriceSetArr 1) / AvgPriceSetArr 1 VSSetArr 4 3 (CloseSetArr - AvgPriceSetArr 1) / AvgPriceSetArr 1 Para SumArr 0 a 19 Begin Si SumArr 0 Luego SumVS SumVS VSSumArr Si SumArr 19 Entonces AvgVS SumVS / 20 para DiffArr 0 a 19 Comenzar Si DiffArr 0 Luego DiffVS DiffVS Square (VSDiffArr - AvgVS) Si DiffArr 19 Entonces StdVS squareRoot (DiffVS / 20) VSLow AvgPrice (1 (AvgVS - StdVS 2)) VSMid AvgPrice (1 AvgVS) VSHigh AvgPrice (1 (AvgVS StdVS 2)) Si MarketPosition 0 luego comenzar Comprar (quotBuyquot) Mañana a las VSLow límite Si MarketPosition 1 Entonces ExitLong (quotPTquot) mañana a VSHigh límite Si MarketPosition 1 Entonces ExitLong (quotTSquot) mañana a VSLow parada si abrirá mañana gt VSLow Entonces ExitLong (quotSLaquot) de la entrada (quotBuyquot) A (VSLow - (VSMid-VSLow)) Detener Si abrirá mañana lt VSLow Entonces ExitLong (quotSLbquot) de la entrada (quotBuyquot) A (Open MAÑANA (VSMid-VSLow)) Detener marzo de 2001, TradeStation Código: Vars: MaLen (21), Ratio2 (0), Ratio3 (0), MaRatio2 (0), MaRatio3 (0), DiffMaRatio2 (0), DiffMaRatio3 (0), ProdDiff (0), UpperProdDiff (0), LowerProdDiff (0) Ratio2 C / C Dato2 Ratio3 C / C Dato3 MaRatio2 media (Ratio2, Malen) MaRatio3 media (Ratio3, Malen) DiffMaRatio2 Ratio2 / MaRatio2 DiffMaRatio3 Ratio3 / MaRatio3 ProdDiff DiffMaRatio2 DiffMaRatio3 UpperProdDiff 1 DesviaciónEstándar (ProdDiff, Malen) 1 LowerProdDiff 1 - DesviaciónEstándar (ProdDiff, Malen) 2 Si MarketPosition 0 y BarsSinceExit (1) GT 1 y ProdDiff gt UpperProdDiff y ProdDiff gt ProdDiff2 luego comprar (quotGo Longquot) al Cierre Si MarketPosition 1 y ProdDiff lt ProdDiff4 Entonces ExitLong (quotEnd Longquot) en el mercado ExitLong ( QuotTrailing Longquot) mañana a la parada más baja (baja, 2) si MarketPosition 0 y BarsSinceExit (1) gt 1 y ProdDiff lt LowerProdDiff y ProdDiff lt ProdDiff2 Luego Sell (quotGot Shortquot) en Close Si MarketPosition -1 y ProdDiff gt ProdDiff4 Then ExitShort (quotEnd Shortquot) en Market ExitShort (quotTrailing Shortquot) mañana en el más alto (Alto, 2) Stop Si BarsSinceEntry 8 y OpenPositionProfit lt 0 Entonces Comienza ExitLong en Market ExitShort al Final de Mercado Junio 2001, Código TradeStation: Input: VSStd (1) Vars: SumVS (), AvgVS (0), DiffVS (0), StdVS (0), SetArr (0), SumArr (0), DiffArr (0), VSLow (0), VSMid (0), VSHigh (0), RiskReward 0) Array: VS20 (0) Para SetArr 0 A 4 Comienzo VSSetArr 4 0 (OSetArr - CSetArr 1) / CSetArr 1 VSSetArr 4 1 (HSetArr - CSetArr 1) / CSetArr 1 VSSetArr 4 2 (LSetArr - CSetArr 1) / CSetArr 1 VSSetArr 4 3 (CSetArr - CSetArr 1) / CSetArr 1 End Para SumArr 0 a 19 Begin Si SumArr 0 Luego SumVS 0 SumVS SumVS VSSumArr Si SumArr 19 Entonces AvgVS SumVS / 20 Para DiffArr 0 a 19 comenzar Si DiffArr 0 entonces DiffVS 0 DiffVS DiffVS (VSDiffArr - AvgVS) Si DiffArr 19 Entonces StdVS SquareRoot (DiffVS / 20) Final End VSLow C (1 (AvgVS - StdVS VSStd)) VSMid C (1 AvgVS) VSHigh C (1 (AvgVS StdVS VSStd)) Si MarketPosition 0 y (Cerrar, 80) 11 Comprar (quotBuyquot) mañana en VSLow límite Si Promedio (Close, 80) lt Promedio (Close, 80) 11 Entonces Vender mañana A VSHigh límite Fin Si BarsSinceEntry gt 1 Then Comenzar ExitLong en Close ExitShort on Close End Julio 2001, código TradeStation: Vars: MaLen (9), AvgVolume (0), Turbo (0), InvTurbo (0), MaWeight (0), TurboMA (0) Moy PromVolume (V, MaLen) Turbo (AvgVolume - Menor (AvgVolume, MaLen)) / (Máximo (AvgVolume, MaLen) - Menor (AvgVolume, Malen) InvTurbo 1 - Turbo If MaLen gt 2 Entonces MaWeight (1 MaLen)) Else MaWeight 0.67 TurboMA TurboMA InvTurbo AvgPrice Turbo Si Fecha lt 1000401 Entonces Comienza Si MarketPosition 0 y C lt TurboMA y TurboMA lt TurboMA 1 Entonces Compre Mañana en el Máximo (Alto, 2) Stop End Si MarketPosition 1 y C lt TurboMA Entonces Comienza ExitLong en Cerrar ExitLong Mañana en EntryPrice 0.96 Stop Fin Si Fecha gt 1000401 Luego Comience Si MarketPosition 0 y C gt TurboMA y TurboMA gt TurboMA 1 Entonces Venderá Mañana en el Menor (Bajo, 2) Stop End Si MarketPosition -1 y C gt TurboMA Then Comenzar ExitShort on Close ExitShort Mañana en EntryPrice 1.04 Stop End Agosto 2001, código de la TradeStation: If (Maxlist (High3, Close4) gt High4 O Maxlist (High3, Close4) gt High2 O Maxlist (High3, Close4) gt High1) and Close Lt Close1 y Open Tomorrow lt High3 Luego Compra 1 contrato Mañana en (Max3, Close4) 1.001) Detener si (Minlist (Low3, Close4) lt Low4 o Minlist (Low3, Close4) lt Low2 o Minlist (Low3, Close4) lt Low1) y Close gt Close1 y Open Tomorrow gt Low3 Entonces Vender 1 Contrato Mañana en (Minlist (Low3, Close4) 0.999) Stop Si EntryPrice gt 0 Entonces Comienza Si MarketPosition 1 Entonces Comienza ExitLong en EntryPrice 0.96 Stop ExitLong en EntryPrice 1.12 Limit End If MarketPosition -1 Then Begin ExitShort on EntryPrice 1.04 Detener ExitShort on EntryPrice 0.88 Limit End End Si BarsSinceEntry gt 3 Then SetExitOnClose ExitLong on Close ExitShort on Close End Octubre 2001, Código TradeStation: Entradas: DepPrice (Close of data1), IndPrice (Close of data2 ) Vars: Longitud (63), iBeta (1), Ind (0), Dep (0), SumX (0), SumY (0), SumXY (0), SumXsq (0), j (0) Dep (DepPrice - DepPrice1) / DepPrice1 Ind (IndPrice - IndPrice1) / IndPrice1 Si CurrentBar gt Longitud Entonces Comienza SumX Summation (Ind, Longitud) SumXY 0 SumY Summation (Dep, Longitud) SumXsq 0 Para j 0 a Length - 1 Comienza SumXY SumXY (Indj Depj ) SumXsq SumXsq Cuadrado (Indj) Fin Si SumXY ltgt 0 y SumX ltgt 0 Entonces iBeta ((Longitud SumXY) - (SumX SumY)) / ((Longitud SumXsq) - Cuadrado (SumX)) Si IndPrice gt Promedio (IndPrice, Longitud) Y iBeta gt 1 y MarketPosition ltgt 1 A continuación, compre 1 contrato Mañana en el límite más bajo (5) Si IndPrice lt promedio (IndPrice, Longitud) e iBeta lt 1 y MarketPosition ltgt -1 entonces SellShort 1 Contrato Mañana al más alto (Alto, 5 ) Límite Si EntryPrice gt 0 Entonces Comienza Si Close lt EntryPrice 0.96 o Close gt EntryPrice 1.12 Entonces Vender Mañana al Mercado Si Cerrar gt EntryPrice 1.04 o Close lt EntryPrice 0.88 Entonces BuyToCover Mañana en Market End Noviembre 2001, Código TradeStation: Entradas: PTarget ), StopL (4) Variables: ProfitPrice (0), StopPrice (0) Si L1 lt L2 y L2 lt L3 y H0 gt H3 Luego Buy (quot3L-Rquot) Next Bar en Open ProfitPrice EntryPrice (1 PTarget / 100) StopPrice EntryPrice (1 - PTarget / 100) Si MarketPosition 1 Entonces Comienza a vender (quot3L-R Exitquot) Siguiente Bar en ProfitPrice Limit Sell (quot3L-R Stopquot) Siguiente Bar en StopPrice Stop End Diciembre 2001, Código TradeStation: Entradas: MaxLength (5) Variables : MarPos (0), LongLoss (0), ShortLoss (0) Si BarsSinceEntry gt (MaxLength - 2) Entonces SetExitOnClose Si MarketPosition ltgt 1 y Close lt AvgPrice y AvgPrice lt AvgPrice5 Luego Comienzo Si Abierto Mañana lt AvgPrice Luego Begin Buy (quotLongquot) mañana a las AvgPrice Detener Fin Fin Si MarketPosition ltgt -1 y cerrar gt AvgPrice y AvgPrice gt AvgPrice5 luego comenzar Si abrirá mañana gt AvgPrice luego comenzar de venta a descubierto (quotShortquot) mañana a AvgPrice Detener Fin Fin MARPOS MarketPosition Si MARPOS ltgt MarPos1 y MARPOS 1 Entonces LongLoss LOW1 Si MARPOS ltgt MarPos1 y MARPOS -1 Entonces ShortLoss High1 Si EntryPrice gt 0 Luego de comenzar Si BarsSinceEntry gt 1 luego comenzar LongLoss maxlist (LongLoss, bajo) ShortLoss MinList (ShortLoss, alta) end else begin LongLoss maxlist (LongLoss, bajo) ShortLoss MinList ( ShortLoss, High) End If MarketPosition 1 Entonces Comienza a vender (quotLSquot) mañana en LongLoss Stop Sell (quotLTquot) mañana en el más alto (Alto, 5) Límite Final Si MarketPosition -1 Luego Begin BuyToCover (quotSSquot) mañana en ShortLoss Stop BuyToCover (quotSTquot) Mañana en el límite más bajo (5) Límite End End Enero 2002, código de las Estaciones de Comercio: Variables: LenRC (5), TradeLenRC (5), RiskCalc (0), RC1 (0), RC2 (0), RC3 (0), RC4 (0), RC5 (0), RC6 (0), RC7 (0), RC8 (0), RC9 (0), RC10 (0) RC1 RateOfChange (Close Datos1, LenRC) RC2 RateOfChange RateOfChange (Cerrar Dato3, LenRC) RateOfChange RC4 (Cerrar Data4, LenRC) RC5 RateOfChange (Cerrar Dato5, LenRC) RC6 RateOfChange (Cerrar Data6, LenRC) RC7 RateOfChange (Cerrar Data7, LenRC) RC8 RateOfChange (Cerrar Data8, LenRC) RateOfChange RC9 ( Cerrar Data9, LenRC) RC10 RateOfChange (Cerrar Data10, LenRC) Si MarketPosition 0 y RC1 MinList (RC1, RC2, RC3, RC4, RC5, RC6, RC6, 5) Finalizar si MarketPosition 0 y RC1 MaxList (RC1, RC2, RC3, RC4, RC5, RC6, RC6, RC7, RC8, RC9, RC10) Luego Comenzar a vender Next Bar en el mercado RiskCalc AvgTrueRange (5) End If BarsSinceEntry gt TradeLenRC Then Begin ExitLong Next Bar at Market ExitShort Bar siguiente en Market End Febrero de 2002, Código TradeStation: Vars: Ratio (0), AvgRatio (0), RiskCalc (0) Ratio Close Datos1 / Close Datos2 AvgRatio XAverage (Ratio, 9) Si AvgRatio Cruces por encima de AvgRatio9 Entonces comience a comprar en el mercado RiskCalc AvgTrueRange (9) Fin Si AvgRatio Cruces por debajo de AvgRatio9 Luego comenzar a vender en el mercado RiskCalc AvgTrueRange (9) Fin de abril de 2002, Código TradeStation: Variables: LenC (5), TradeLenRC (5), RiskCalc (0) RC4 (0), RC6 (0), RC6 (0), RC7 (0), RC8 (0), RC9 (0), RC2 RC10 (0), TrendFilter (0) RC1 RateOfChange (Cerrar Datos1, LenRC) RC2 RateOfChange (Cerrar Datos2, LenRC) RC3 RateOfChange (Cerrar Dato3, LenRC) RC4 RateOfChange (Cerrar Data4, LenRC) RC5 RateOfChange (Cerrar Dato5, LenRC) RC6 RateOfChange (Cerrar Data6, LenRC) RC7 RateOfChange (Cerrar Data7, LenRC) RC8 RateOfChange (Cerrar Data8, LenRC) RC9 RateOfChange (Cerrar datos9, LenRC) RC10 RateOfChange (Cerrar Data10, LenRC) TrendFilter media (Cerrar Data11, 80) Si gt TrendFilter TrendFilter11 Then Begin Si MarketPosition 0 y RC1 MinList (RC1, RC2, RC3, RC4, RC5, RC6, RC3, RC7, RC8, RC9, RC6) RC1, RC2, RC9, RC10, RC1, RC2, RC6, RC7, RC8, RC9, RC10) Entonces Comienza la Venta Siguiente Barra en el Mercado RiskCalc AvgTrueRange (5) End End Si TrendFilter lt TrendFilter11 Entonces Comienza Si MarketPosition 0 y RC1 MinList (RC1, RC2 , RC3, RC3, RC3, RC3, RC3, RC6, RC7, RC8, RC9, RC10) Luego Comienza la Venta Siguiente Barra al Mercado RiskCalc AvgTrueRange (5) End If MarketPosition 0 y RC1 MaxList (RC1, RC2, RC3, RC4, RC5, , RC8, RC9, RC10) Entonces Comienza a Comprar Siguiente Barra al Mercado RiskCalc AvgTrueRange (5) End End Si BarsSinceEntry gt TradeLenRC Entonces Comienza ExitLong Next Bar en Market ExitShort Next Bar en Market End Mayo 2002, Código TradeStation: Si High lt High1 y High 1 lt High2 y High2 lt High3 y Close lt Open y Close1 lt Open1 y Close2 lt Open2 A continuación, compre mañana en Alto Pare ExitLong Mañana en Bajo Stop Si MarketPosition ltgt 0 y Abierto Mañana gt High Then ExitLong Mañana en Open Si Alta gt High1 y Close Lt Close1 Then SetExitOnClose Junio 2002, Código TradeStation: Entradas: BarsInTrade (8), ProfitExit (8), LossExit (4) Variables: LongStop (0), ShortStop (0), LongTarget (0), ShortTarget (0), LimitExit 0), StopExit (0) LimitExit (ProfitExit / 2 0,5) / 100 StopExit (LossExit / 5 0,2) / 100 Si MarketPosition 0 Entonces Comienza Si High lt High2 y Close lt Abierto y Abierto Siguiente Bar lt High Then Begin Buy Next Bar at Alto Parar LongStop 1 - StopExit LongTarget 1 LimitExit End Si Bajo gt Bajo2 y Cierre gt Abierto y Abierto Siguiente Barra gt Bajo Luego Comienza a Vender Next Bar en Bajo Stop ShortStop 1 StopExit ShortTarget 1 - LimitExit End End Si MarketPosition 1 Comienza ExitLong Next Bar at EntryPrice LongStop Detener ExitLong Siguiente Bar en EntryPrice LongTarget Límite final Si MarketPosition -1 antes de comenzar ExitShort Siguiente Bar en el campo corto EntryPrice Detener ExitShort Siguiente Bar en EntryPrice ShortTarget Límite final Si BarsSinceEntry BarsInTrade1 luego comenzar ExitLong Siguiente Bar en el Mercado ExitShort Siguiente Bar en el mercado a finales de julio de 2002 , Código TradeStation: Si MarketPosition ltgt 1 y Average (Close, 9) Cruza por encima del Promedio (Close, 36) Luego Begin RiskCalc 4 AvgTrueRange (10) 36) Then ExitLong Next Bar en Market If MarketPosition 1 y EntryPrice gt 0 Then ExitLong Next Bar en EntryPrice - RiskCalc Stop Agosto 2002, código TradeStation: Si MarketPosition ltgt -1 Then Sell Next Bar en Close1 2 AvgTrueRange (5) limit Si MarketPosition ltgt 1 Then Buy Next Bar Close1 - 2 AvgTrueRange (5) limit Si MarketPosition 1 Entonces Comienza ExitLong Next Bar en EntryPrice - AvgTrueRange (5) Stop ExitLong Next Bar en EntryPrice 2 AvgTrueRange (5) Limite End If MarketPosition -1 Then Begin ExitShort Next Bar A la entradaPrecio AvgTrueRange (5) Stop ExitShort Next Bar a EntryPrice - 2 AvgTrueRange (5) Límite Septiembre 2002, Código TradeStation: Variables: ProfitDistance (0), RiskCalc (0), MMExport (1) Condición1 Intervalo MinList (Range, Range1, Range2 , Range3) Condition2 Low lt Low1 y High lt High2 Condición3 Bajo gt Low1 y High gt High1 Condición4 Close lt High1 y Close gt Low1 Si MarketPosition 0 y Condition1 y Condition2 and Condition4 Luego Begin Buy Next Bar en Alto Stop ProfitDistance Rango 3 End If MarketPosition 0 y Condición1 y Condición3 y Condición4 Luego Comienza Vendemos Siguiente Barra en Límite Alto ProfitDistance Rango 3 Final Si EntryPrice gt 0 Entonces Comienza ExitLong en Low Stop ExitLong en EntryPrice ProfitDistance Limit ExitShort en EntryPrice - ProfitDistance Limit Fin Octubre 2002, Código TradeStation: Variables: EntryAvg (0), ExitAvg (0), EntryVol (0), ExitVol (0), RiskCalc (0) EntryAvg Promedio (Cerrar, 60) ExitAvg Promedio (Cerrar, 30) EntryVol 2 StdDev (Close, 60) , 30) RiskCalc (EntryAvg EntryVol) - (ExitAvg - ExitVol) Comprar NumCont Contratos Siguiente Bar en EntryAvg EntryVol stop de venta NumCont Contratos Siguiente Bar en EntryAvg - EntryVol Detener ExitLong Mañana a las ExitAvg - ExitVol Detener ExitShort Mañana a las ExitAvg ExitVol Detener EntryAvg MA (Cerrar , 60) ExitAvg MA (Cerrar, 30) EntryVol 2 StDev (Close, 60) ExitVol 1 StDev (Cerrar, 30) RiskCalc (EntryAvg EntryVol) - (ExitAvg - ExitVol) / entrada Entryavg EntryVol STOP / BuyStopLevel EntryAvg EntryVol Comprar High gt BuyStopLevel BuyPrice Max (Open, BuyStopLevel) / y ecuaciones similares para abreviar ShortStopLevel EntryAvg / - EntryVol corto bajo lt ShortStopLevel ShortPrice Min (Open, ShortStopLevel) SellStopLevel ExitAvg - ExitVol Vender bajo lt SellStopLevel SellPrice Min (Open, SellStopLevel) CoverStopLevel ExitAvg ExitVol cubierta de la alta Gt CoverStopLevel CoverPrice Max (Open, CoverStopLevel) Noviembre 2002, Código TradeStation: Condición1 CloseW (2) gt CloseW (1) y CloseW (1) gt C y C2 gt C1 y C1 gt C Condición2 CloseW (2) Y CloseW (1) lt C y C2 lt C1 y C1 lt C Si Condition1 True y MarketPosition 0 Entonces Buy (quotGo longquot) en open Si Condition2 True y MarketPosition 0 Then Sell (quotGuard) en open Variables: TrailingStop (True) BarsInTrade (8), ProfitExit (4), LossExit (1.6), LongStop (0), ShortStop (0), LongTarget (0), ShortTarget (0), Top (0), Bottom (0) Si BarNumber 1 Comienza ProfitExit Exceso de Ganancia / 100 Exceso de Pérdida Exceso de Pérdida / 100 LongStop 1 - Pérdida Exit LongTarget 1 ProfitExit ShortStop 1 LossExit ShortTarget 1 - ProfitExit Extremo Alto Alto Inferior Bajo Si EntryPrice gt 0 Comienza Si MarketPosition 1 Comienza Si TrailingStop True Entonces Comienza Top MaxList (QuotL-Trailquot) Siguiente barra en el punto de inicio LongStop Stop End Else ExitLong (quotL-Stopquot) Barra siguiente en EntryPrice LongStop Stop ExitLong (quotL-Trgtquot) Barra siguiente en EntryPrice LongTarget Limit End If MarketPosition -1 Then Begin Si TrailingStop True Then Begin Bottom Barras siguientes en la parte inferior Barras en la parte inferior Barras en la parte inferior Barras en la parte inferior Barras en la parte inferior Barras en la parte inferior Comenzar ExitLong (quotL-Timequot) Bar siguiente en Market ExitShort (quotS-Timequot) Bar siguiente en Market End End Diciembre 2002, Código TradeStation: Variables: RandomTrigger (0), ShortVol (0), LongVol (0), ShortLookBack (10) LongVookBack (63), ShortTrend (0), LongTrend (0), LongTrendDir (0) ShortVol AvgTrueRange (ShortLookBack) LongVol AvgTrueRange (LongLookBack) Si ShortVol gt LongVol Entonces ShortTrend 1 Eltra ShortTrend -1 LongTrend Promedio (Cerrar, 80) Si LongTrend gt LongTrend20 Then LongTrendDir 1 Else LongTrendDir -1 If MarketPosition 0 and ShortTrend 1 and RandomTrigger 1 Then Begin If Date lt 1000401 Then Buy at Close If Date gt 1000401 Then Sell at Close End If MarketPosition ltgt 0 Then Begin ExitLong at (EntryPrice - ShortVol) Stop ExitLong at (EntryPrice 3 ShortVol) Limit ExitShort at (EntryPrice ShortVol) Stop ExitShort at (EntryPrice - 3 ShortVol) Limit If BarsSinceEntry gt ShortLookBack -1 Then Begin ExitLong on Close ExitShort on Close End End January 2003, TradeStation code: If Close gt (Average(Close, 60) StdDev(Close, 60)) Then Buy at Market If Close lt (Average(Close, 60) - StdDev(Close, 60)) Then Sell at Market February 2003, TradeStation code: Var: HistVol( 0), YestHistVol(0), DeltaHistVol(0), LookBack(0) YestHistVol HistVol HistVol StdDev(C, 30) DeltaHistVol (HistVol - YestHistVol) / HistVol If CurrentBar 1 Then LookBack 20 LookBack LookBack (1 DeltaHistVol) LookBack MaxList(LookBack , 20) LookBack MinList(LookBack, 60) If Close gt Highest(High, LookBack)1 Then Buy at Market If Close lt Lowest(Low, LookBack)1 Then Sell at Market May 2004, MetaStock code: To create the system test, open the tester under the Tools menu. Select new test and enter the following formulas in for the specific orders. Enter Long: Cross(Mov(C,10,W),Mov(C,7,W)) Close Long: Cross(Mov(C,7,W),Mov(C,10,W)) Enter Short: Cross(Mov(C,7,W),Mov(C,10,W)) Close Short: Cross(Mov(C,10,W),Mov(C,7,W)) MetaStock code for Futures Trading System Lab: To create the system test, open the tester under the Tools menu. Select new test and enter the following formulas in for the specific orders. June 2004, TradeStation code: inputs: Length( 10 ), NumDevsDn( 1.5 ) variables: LowerBand( 0 ) LowerBand BollingerBand( Low, Length, - NumDevsDn ) value1 TLNew( Date1, Time1, LowerBand1, Date, Time, LowerBand ) if CurrentBar gt 1 and Low crosses under LowerBand then Buy ( quotBBandLEquot ) next bar Market if Close gt EntryPrice then Sell this bar at Close if BarsSinceEntry 20 then sell this bar at Close To create the system test, open the tester under the Tools menu. Select new test and enter the following formulas in for the specific orders. Buy Order: LltBBandBot(L,10,S,1.5) Sell Order: bc:LltBBandBot(L,10,S,1.5) C gt ValueWhen(1,Ref(bc,-1),O) MetaStock code for Futures Trading System Lab Because this system uses an entry signal that can be true for several bars in a row, MetaStock version prior to 8.0 can not accurately count how long the trade has been active. Therefore, the formulas for this system are only valid in the MetaStock 8.0 and later. Para crear la prueba del sistema, abra el comprobador en el menú Herramientas. Select new test and enter the following formulas in for the specific orders. Buy Order: hgtref(hhv(h,55),-1) Sell Order: x: Simulation. CurrentPositionAge llt ref(llv(l,55),-1)((0.1ATR(20))x) July 2004, MetaStock code: This system is designed to run on weekly data. Para crear la prueba del sistema, abra el comprobador en el menú Herramientas. Select new test and enter the following formulas in for the specific orders. The formulas below are for version 7.2 and earlier. Enter Long: ADX(14)lt30 AND Cross(Mov(C,30,S),Mov(C,60,S)) Close Long: bc:ADX(14)lt30 AND Cross(Mov(C,30,S),Mov(C,60,S)) If(BarsSince(bc)lt10, LltRef(LLV(L,60),-1), Mov(C,30,S)ltMov(C,60,S) ) Enter Short: ADX(14)lt30 AND Cross(Mov(C,60,S),Mov(C,30,S)) Close Short: sc:ADX(14)lt30 AND Cross(Mov(C,60,S),Mov(C,30,S)) If(BarsSince(sc)lt10, HgtRef(HHV(H,60),-1), Mov(C,30,S)gtMov(C,60,S) ) For versions 8.0 and later, the formulas can be simplified a bit, and at the same time, made for accurate to the intents of the system. Below are the 8.0 formulas. Buy Order: ADX(14)lt30 AND Cross(Mov(C,30,S),Mov(C,60,S)) Sell Order: If(Simulation. CurrentPositionAgelt10, LltRef(LLV(L,60),-1), Mov(C,30,S)ltMov(C,60,S) ) Sell Short Order: ADX(14)lt30 AND Cross(Mov(C,60,S),Mov(C,30,S)) Buy to Cover Order: If(Simulation. CurrentPositionAgelt10, HgtRef(HHV(H,60),-1), Mov(C,30,S)gtMov(C,60,S) ) August 2004, MetaStock code: The following formulas were written for use in an Expert Advisor. To use them, open the expert advisor from the Tools menu. Select New and then move to the symbols tab. For each of the following formulas, click New to make a new symbol. Enter the name and the formula. Then select the graphics tab to set the symbol, color and placement desired. Name: Enter Long Formula: r:RSI(14) bc:Cross(r,75) sc:Cross(25,r) trade:If(PREV0,If(bc,1,0), If(sc OR (PREV20),0,PREV1)) trade1 Name: Enter Short Formula: r:RSI(14) bc:Cross(r,75) sc:Cross(25,r) trade:If(PREV0,If(sc,1,0), If(bc OR (PREV20),0,PREV1)) trade1 Name: Exit Long Formula: r:RSI(14) bc:Cross(r,75) sc:Cross(25,r) trade:If(PREV0,If(bc,1,0), If(sc OR (PREV20),0,PREV1)) Cross(trade0,0.5) Name: Exit Short Formula: r:RSI(14) bc:Cross(r,75) sc:Cross(25,r) trade:If(PREV0,If(sc,1,0), If(bc OR (PREV20),0,PREV1)) Cross(trade0,0.5) The same formulas listed above can be put into the columns of an exploration. Put each one into a separate formula and use the following formula for the filter: cola AND colb AND colc AND cold The formulas can also be used in a system test. No changes are required for this. June 2006, tymoraPRO software code: Program TymoraSampleIndicatorChannelMidPoint //Must have the word quotIndicatorquot in the Program Header const IndName ChnMidP var tmpHi, tmpLo, curHi, curLo, prvMidP, MidP, PS, PV, MM, LS: extended barsToUse, rColor: integer Band1: Integer function init(ChartNo, TF: Integer AssetN: String): integer //this function is called first by tymoraPRO and should initialize all your variables, etc //ChartNo 0..35, TF (timeFrame) 1Day. 71min, AssetN assetname // if this function returns anything but 0 tymoraPRO will ignore indicator for this run var i: integer cfgs: string begin // Initialization code goes here SetName(IndName) Band1 : AddBand(ChartNo) SetBandScale(Band1,0) //set scale to price SetBandStyle(Band1,2,psSolid) tmpHi : 0 tmpLo : 0 curHi : 0 curLo : 0 barsToUse : 50 rColor : clGreen cfgs : GetInitParams(ChartNo, IndName) if (cfgs ltgt ) then Begin try barsToUse : strtoint(cfgs) except barsToUse : 50 end End //if (barsToUse 0) then barsToUse : OptimalCycle(ChartNo, TF)4 //if (barsToUse 0) then barsToUse : 50 ReturnAssetInfo(AssetN, PS, PV, MM, LS) result : 0 end function main(ChartNo, TF: Integer AssetN: String istemp: boolean): integer //this function is called first by tymoraPRO and should initialize all your variables, etc //ChartNo 0..35, TF (timeFrame) 1Day. 71min, AssetN assetname // if (istemp true) this is a temporary newbar (the current uncompleted bar) //indicator can also be customized based on ChartNumber, TimeFrame, and/or AssetName var i, volup, voldn, dt, tm, ok: integer op, hi, lo, cl, pcl, useHi, useLo, useMidP: extended hifirst: boolean begin // main code goes here if (not istemp) then Begin tmpHi : 0 tmpLo : 0 if (curHi ltgt 0) then Begin ok : BarData(ChartNo, barsToUse, dt, tm, op, hi, lo, cl, volup, voldn, hifirst) if (ok -1) or CompPrc(curHi, hi, PS,) or CompPrc(curLo, lo, PS,) then curHi : 0 End if (curHi 0) then Begin curHi : 0 curLo : 0 for i : 0 to barsToUse-1 do begin BarData(ChartNo, i,dt, tm, op, hi, lo, cl, volup, voldn, hifirst) if (curHi 0) or (curHi lt hi) then curHi : hi if (curLo 0) or (curLo gt lo) then curLo : lo end End PrvMidP : MidP MidP : (curHicurLo)/2 if (MidP gt PrvMidP) then rColor : clGreen else if (MidP lt PrvMidP) then rColor : clRed BandAddXY(Band1,NewChartX(ChartNo, istemp),MidP, rColor, istemp) End if istemp then Begin if (tmpHi 0) then Begin for i : 0 to barsToUse-2 do begin BarData(ChartNo, i,dt, tm, op, hi, lo, cl, volup, voldn, hifirst) if (tmpHi 0) or (tmpHi lt hi) then tmpHi : hi if (tmpLo 0) or (tmpLo gt lo) then tmpLo : lo end End useHi : tmpHi useLo : tmpLo BarData(ChartNo,- 1,dt, tm, op, hi, lo, cl, volup, voldn, hifirst) //new temporary bar if (hi gt useHi) then useHi : hi if (lo lt useLo) then useLo : lo if ((useHiuseLo)/2 gt MidP) then rColor : clGreen else if ((useHiuseLo)/2 lt MidP) then rColor : clRed BandAddXY(Band1,NewChartX(ChartNo, istemp),(useHiuseLo)/2,rColor, istemp) End result : 0 end function afterdraw(ChartNo, TF: Integer AssetN: String FirstValueIndex, LastValueIndex: integer): integer //this routine is called in order to add any additional text or drawing on the final chart begin // additional chart annotation goes here result : 0 end function cleanup(ChartNo, TF: Integer AssetN: String): integer // perform any variable cleanup and other stuff here, return 0 if all okay begin // final cleanup code goes here (ie. freeing created bands) FreeBand(Band1) result : 0 end Copyright copy 2000-2008, Active Traderreg Magazine, Chicago, IL
Comments
Post a Comment