Documentación

Aplicaciones

Última actualización el 16. 1. 2019 by Tomas Vanek

¿Cómo funciona StrategyQuant?

Generación aleatoria es la base de StrategyQuant. Las estrategias generadas de este modo pueden mejorarse (evolucionarse) utilizando Evolución genética.

 

Generación aleatoria de estrategias de negociación

Una estrategia de negociación en la población inicial se construye utilizando una combinación de patrones de precios, indicadores técnicos, tipos de órdenes y otras partes para formar las reglas de entrada y salida.

StrategyQuant puede utilizar todos los indicadores y osciladores técnicos estándar (como CCI, RSI, Estocástico, etc.), valores temporales (como hora del día, día de la semana) y patrones de precios. Estos bloques de construcción se combinan utilizando operadores lógicos y de igualdad (y, o, >, <, etc.) para formar una regla de entrada o salida.
Además, admite distintos tipos de órdenes de entrada y salida (orden de mercado, orden limitada, objetivo de beneficio fijo, salida después de X barras, etc.).

Con todas las combinaciones posibles de reglas y órdenes, StrategyQuant es capaz de generar literalmente billones de posibles estrategias de trading diferentes.

 

Con todas las combinaciones posibles de reglas y órdenes, StrategyQuant es capaz de generar literalmente billones de posibles estrategias de trading diferentes.

El proceso de construcción en sí es completamente aleatorio: el constructor elige al azar diferentes bloques de construcción del conjunto disponible y los combina para crear la regla de entrada, el tipo de orden y la regla de salida.
Existen algunas restricciones de validez que garantizan que, por ejemplo, el precio no se compare con el valor temporal, etc.
El resultado es una estrategia de negociación aleatoria completamente nueva. Por supuesto, no todas las

estrategia es rentable, pero StrategyQuant puede producir y probar miles de nuevas estrategias por hora, y hay muchas rentables en esta cantidad.

Evolución genética

La evolución genética lleva aún más lejos el proceso de búsqueda de estrategias de negociación adecuadas.
En este modo, StrategyQuant crea primero una serie de estrategias aleatorias, que se utilizan como población inicial en la evolución.

Esta generación inicial de estrategias "evoluciona" a lo largo de generaciones sucesivas gracias a la tecnología de programación genética.

Este proceso imita la evolución: el algoritmo elige en cada generación las estrategias más aptas (utilizando criterios de rendimiento seleccionados), y el grupo de candidatos más aptos se utiliza después para producir una nueva generación de estrategias comerciales.

Como en la evolución, esto debería dar lugar a candidatos cada vez mejores, en nuestro caso a estrategias más rentables, más estables o, en general, mejores en los criterios de rendimiento seleccionados.

 

Ejemplo de código de estrategia

A continuación se muestra un ejemplo de pseudocódigo de una estrategia generada por StrategyQuant. Usted puede ver que la estrategia consiste en órdenes de entrada, órdenes de salida y comandos de gestión de comercio - tales como movimientos de trailing stop, etc..
Cada estrategia generada por el programa se puede ver en este pseudocódigo o exportar en forma de MetaTrader Expert Advisor (EA), NinjaTrader NinjaScript C# estrategia o EasyLanguage para Tradestation/Multicharts.

 

====================================================================
== Condiciones de entrada
====================================================================
LongEntryCondition = (Estoc(40, 1, 3)  50)

====================================================================
== Órdenes de entrada
====================================================================
-- Entrada larga
si LongEntryCondition es verdadero {
   si no hay posición abierta entonces Comprar a Ichimoku(6, 18, 38, Kijun-sen) + (0.4 * ATR(86)) Límite;
   La orden Stop/Limit expira después de 34 barras.

   Stop Loss = 190 pips;
   Objetivo de beneficios = (0,74 * ATR(87)) pips;

   // Mover SL a BE (al cierre)
   Mueva el Stop Loss al precio de Entrada cuando esté en beneficio al menos (77 * ATR(12)) pips;

   // Profit trailing (al cierre)
   Profit Trailing por 222 pips;

   // Stop trailing (al cierre)
   Mover Stop a (Close(1) + (0.5) * BBWidthRatio(20, 2.0))) al cierre de la barra;
}

-- Entrada en corto
si ShortEntryCondition es verdadero {
   si no hay posición abierta entonces Vender a Ichimoku(6, 18, 38, Kijun-sen) + (-0.4 * ATR(86)) Límite;
   La orden Stop/Limit expira después de 34 barras.

   Stop Loss = 190 pips;
   Beneficio Objetivo = (0.74 * ATR(87)) pips;
}

====================================================================
== Órdenes de salida
====================================================================
-- Salida larga
si PosiciónMercado es Larga {
   if (Bars Since Entry >= 33) {
      Cerrar posición a mercado;
   }
}

 

Bloques de construcción compatibles

StrategyQuant soporta más de 250 bloques de construcción, incluyendo todos los indicadores técnicos estándar como CCI, RSI, Estocástico, Momentum, etc.

También admite todos los tipos de órdenes estándar: mercado, stop, límite y métodos de salida avanzados como Trailing Stop o Move Stop Loss to Break Even.

Lo mejor del nuevo SQ X es que le permite crear su propio bloque de construcción, o desarrollar su propio indicador que puede utilizarse para ampliar el programa.

Añadiremos continuamente nuevos indicadores técnicos y otras funciones al programa

Si tiene un indicador favorito que le gustaría ver en StrategyQuant, háganoslo saber.

¿Le ha resultado útil este artículo? El artículo era útil El artículo no era útil

Suscríbase a
Notificar a
2 Comentarios
Más antiguo
Más reciente Más votados
Feedbacks de Inline
Ver todos los comentarios
Roberto Romito
Roberto Romito
3. 2. 2019 7:27 pm

Sono entusiasta di tutto ciò!!!Non vedo l'ora di metterci le mani.

_jeronimo_
14. 3. 2023 8:38 pm

Hola

Parece que se ha duplicado en esta página:
"Con todas las combinaciones posibles de reglas y órdenes, StrategyQuant es capaz de generar literalmente billones de posibles estrategias de negociación diferentes".

saludos
JB