| JSystemTrader |
|
|
| Por X-Trader |
| 16 de Febrero de 2007 |
|
Página 4 de 4
3.3. Automatizar estrategias
Después seleccionamos el archivo ForexTrend.java, le damos con el boton derecho, seleccionamos Copy y después nuevamente con el botón derecho le damos a Paste. Nos preguntará el nombre que queremos ponerle; para este ejemplo vamos a llamarlo CruceMediasXTrader. Con ello hemos creado un duplicado de una de las estrategias para modificarla tranquilamente. Ahora abrimos el nuevo archivo y buscamos la siguiente línea: private final int maFastLength = 45, maSlowLength = 180; Dado que el sistema ForexTrend es un simple cruce de medias exponenciales, en esta línea parece evidente (sin saber nada de Java) que lo que se declara son los periodos de las dos medias móviles del sistema. Para poder generar bastantes señales, cambiamos la sentencia a lo siguiente: private final int maFastLength = 4, maSlowLength = 9; Bajando un poco más encontraremos dos líneas como éstas: Contract contract = ContractFactory.makeContract("EUR", "CASH", "IDEALPRO", null, "USD"); La primera línea controla el producto sobre el que vamos a operar mientras que la segunda especifica el minutaje y el número de contratos a introducir en cada operación. Tal y como está ahora mismo lanzará órdenes de 25000$ en el cruce EUR/USD negociado en IdealPro pero nos gustaría que lanzara las órdenes al DAX así que vamos a cambiar algunos parámetros, reemplazando esas líneas por lo siguiente: Contract contract = ContractFactory.makeContract("DAX", "FUT", "DTB", "200703", null); Es decir, vamos a lanzar órdenes a partir de un cruce de medias exponenciales de 4 y 9 periodos en futuro sobre DAX vencimiento Marzo de 2007 trabajando con barras de 1 minuto y operando con un contrato. Finalmente debemos indicar el horario de la operativa. Para ello modificaremos la siguiente línea: addTradingInterval("1:00", "23:50", 5); // trades about 23 hours/day En ella se indica que el sistema opere entre la 1.00 y las 23.50 h., cerrando posiciones a las 23.50 h. y no abriendo nuevas posiciones en los últimos 5 minutos de ese intervalo. Para operar en un horario más realista cambiamos esa línea de la siguiente forma: addTradingInterval("9:00", "17:30", 5); Finalizadas las modificaciones, lo guardamos desde File->Save y seguidamente incorporamos esta nueva estrategia al proyecto mediante el menu Project->Build All. Ahora empieza lo realmente interesante: lanzamos nuevamente el JSystemTrader mediante el botón Run, conectamos con la TWS (File->Connect to TWS) y cargamos la estrategia que acabamos de crear, desde Trading->Strategies... Si todo ha ido bien, ahi debe aparecer un sistema llamado CruceMediasXTrader aplicado al DAX en 1 min. Lo marcamos y pulsamos en Start Trading. En ese momento JSystemTrader se descarga el histórico reciente del DAX para hacer los cálculos pertinentes y en el momento que pase el primer minuto, el programa decidirá en qué posición deberíamos estar y lanzará la orden. Una vez tengamos algunas órdenes ejecutadas, podemos hacer doble click sobre la estrategia para que nos muestre, en tiempo real:
En definitiva, creo que JSystemTrader es posiblemente una de las mejores aplicaciones para automatizar nuestra operativa y que en los próximos meses dará mucho que hablar. No quisiera terminar este artículo sin enumerar otras alternativas también gratuitas que prometen bastante aunque por ahora no sean tan potentes como JSystemTrader:
Un saludo Haz click aquí para debatir este artículo en el Foro
Compartir
Enviar email
Hits: 13309 Trackback(0)
Comentarios (0)
![]() Escribir comentario
|








