tabla de contenidoTabla de contenido

Herramientas - Estrategias

Una estrategia es un pequeño programa creado por el usuario donde define como y cuando invierte. Gracias a ello le va a permitir realizar  estudios de rentabilidad sobre su método de inversión en un periodo de tiempo determinado.

Por ejemplo, se podría crear una estrategia que abriera posiciones a mercado cuando un valor estuviera en inicio de ciclo y otra cuando estuviera en inicio de ciclo y el RSI 40 > 20. Con cada una de las estrategias se podría realizar un  estudio y así poder determinar si es más rentable una estrategia u otra.

Otra de las posiblidades de las estrategias es poder seleccionar automáticamente los valores a invertir en la cartera.

La estrategía nos va a permitir crear código específico en 4 situaciones diferentes:

Tanto para los estudios como para la cartera el funcionamiento es idéntico. Para cada uno de los valores del grupo que tengamos activo se le aplicará la estrategía correspondiente, según si el valor ya está en cartera o no y si en el cálculo se está calculando antes de abrir o cerrar la sesión.

Como puedo deducirse, si el grupo de valores es mayor, el tiempo de cálculo será mayor, por lo tanto es recomendable ejecutar la estrategia desde estudios o cartera con el grupo activo adecuado.

Para acceder a las estrategias vamos al menú Herramientas y seleccionamos la opción Estrategias

Menu Estrategias

tras lo cual nos aparecerá el siguiente formulario:

Estrategias - Pantalla Principal

En el tenemos 3 zonas:

Panel superior, donde tenemos los botones de acción:

Panel izquierdo, donde aparecen todas las estrategias creadas.

Panel derecho donde aparecen todos los detalles de la estrategia seleccionada.

 

Crear una nueva estrategia

Para crear una nueva estrategia hay que pulsar en el botón  tras lo cual, el sistema nos pedirá el nombre de usa nueva estrategia:

Nueva Estategia

 

y tras pulsar el botón Crear, se abrirá la ventana principal de Estrategias con la nueva estrategia creada. A continuación se debe introducir el código deseado. Para ello, en la parte superior tenemos la pestaña Código, que al pulsarla aparecerá un editor para poder introducir el código.

Por otra parte, en la parte derecha se puede apreciar un semáforo llamado Usar en la cartera.

Usar en la cartera

Una vez realizados estudios y encontrado estrategias que obtengan las rentabilidades esperadas, éstas pueden utilizarse para que en el día a día, en la pantalla de cartera, se seleccionen automáticamente los valores que cumplen esa estrategia. En esa selección de estrategias solo aparecen las estrategias que tengan Usar en la cartera en verde ().

Para cambiar el semáforo de un color a otro, solo hay que pulsar encima.

Pero, en la cartera, ¿cómo se seleccionan los valores automáticamente cuando se selecciona una estrategia? Al crear el código de una estrategia veremos que hay un objeto de programación que simula el bróker, el cual permite la simulación de compra de un valor. Cuando se utiliza la estrategia en un estudio, esta compra realizada con el objeto broker permite realizar una simulación de cuando compramos y a que precio,  obteniendo un estudio de rentabilidades simuladas. Esto significa que la instrucción de compra del objeto de programación broker que hemos introducido en el código es una intención de compra de un valor determinado. Entonces, siguiendo esta lógica, cuando se utiliza la estrategia desde la cartera, ésta mostrará los valores que hayan hecho una llamada a la función de compra del objeto de programación broker.

La pestaña Código

Nos muestra el entorno desde el que programaremos la estrategia.

pestaña código

Hay 4 pestañas:

Cada una de las pestañas son independientes y no son obligatorias. Esto significa que no tenemos porque poner código en cada una de las pestañas, sólo en la que nos interese, según el método de inversión que queramos probar.

Para entender que significa programar nuestra estrategia en cada una de las pestañas, tenemos que imaginarnos que somos inversores y como actuamos cuando deseamos invertir.

 

Estrategia A: Nos posicionamos en el mercado y/o cambiamos los stops de los valores en cartera antes de abrir la sesión. El código se introducirá en las pestañas Antes abrir sesión y/o Antes abrir sesión posicionados.

Por ejemplo:  Trabajamos durante el día, por lo que por la noche nos descargamos los datos, buscamos los valores a invertir y una vez seleccionados los valores, entramos a nuestro bróker y ponemos las órdenes de compra para el día siguiente, así como modificamos los stops de los valores que tengamos en cartera.

Estrategia B: Nos posicionamos a mercado y/o cambiamos los stops de los valores en cartera antes de que cierre la sesión.

Por ejemplo: Podemos mirar el mercado a fin de su sesión, por lo que podemos descargar los datos la noche del día anterior o en ese mismo día, buscamos los valores a invertir y una vez seleccionados los valores, entramos a nuestro bróker y ponemos las órdenes de compra cuando esté acabando la sesión. Como no se ha introducido ningún stop, nos podemos evitar el problema de barridos de stop, aunque como inconveniente también tendremos que el valor haya podido subir mucho y se nos haya escapado y para los valores que tengamos en cartera que hayan bajado mucho por debajo del stop estipulado.

Estrategia A + B: Una combinación de ambas estrategias. Por ejemplo entrar en los valores antes de abrir la sesión y poner el stop solo al cierre.

Existen varias estrategías ya creadas de ejemplo. Practique con la combinación de teclas de ayuda a la programación con ellas y observe los diferentes métodos de cada objeto. Verá que programar nuevas estrategias con su ayuda es muy fácil.

 

Ejemplos prácticos de posibles estrategias

 

- Entrar largos en los valores con inicio de ciclo con el stop correspondiente. Para los valores que ya tengamos en cartera, modificar su stop.

Pestaña: Antes abrir sesión
Código:

begin
  if Datos.Diario.Mensaje.Es(tmInicioCiclo) then
    Broker.AbrirPosicionMercado(0, true, Datos.Diario.Stop);
end.

 

Pestaña: Antes abrir sesión posicionados
Código:

begin
    Broker.ModificarStop(Datos.Diario.Stop);
end.

 

 

- Entrar largos en los valores con inicio de ciclo cuando el precio toque el valor indicado en Posicionado con el stop correspondiente. Para los valores que ya tengamos en cartera, modificar su stop

Pestaña: Antes Abrir Sesión
Código:

begin
  if Datos.Diario.Mensaje.Es(tmInicioCiclo) then
    Broker.AbrirPosicionLimitada(0, true, Datos.Diario.Stop, Datos.Diario.Posicionado);
end.


Pestaña: Antes abrir sesión posicionados
Código:

begin
    Broker.ModificarStop(Datos.Diario.Stop);
end.

 


 

- Entrar largos en los valores con inicio de ciclo cuando el precio toque el valor indicado en el mínimo del día anterior con el stop correspondiente. Para los valores que ya tengamos en cartera, modificar su stop al cierre.

Pestaña: Antes Abrir Sesión
Código:


begin
  if Datos.Diario.Mensaje.Es(tmInicioCiclo) then
    Broker.AbrirPosicionLimitada(0,true,Datos.Diario.Stop, Datos.SesionNum(1).Diario.Minimo);
end.

 

Pestaña: Antes cerrar sesión posicionados
Código:

begin
  Broker.ModificarStop(Datos.Diario.Stop);
end.

 

 

- Entrar largos en los valores con inicio de ciclo sin stop. Para los valores que ya tengamos en cartera, modificar su stop.

Pestaña: Antes abrir sesión
Código:

begin
  if Datos.Diario.Mensaje.Es(tmInicioCiclo) then
    Broker.AbrirPosicionMercado(0, true, 0);
end.

 

Pestaña: Antes abrir sesión posicionados
Código:

begin
    Broker.ModificarStop(Datos.Diario.Stop);
end.

 

 

- Entrar largos en los valores con inicio de ciclo y el RSI 140 > 50 con el stop correspondiente. Para los valores que ya tengamos en cartera, modificar su stop.

Se usa una variable para simplicar el código.

Pestaña: Antes Abrir Sesión
Código:

var diario: TDatosSesion;
begin
  diario := Datos.Diario;
  if (diario.Mensaje.Es(tmAdvertencia)) and (diario.RSI140>50)) then
    Broker.AbrirPosicionMercado(0, true, diario.Stop);
end.

 

Pestaña: Antes abrir sesión posicionados
Código:

begin
    Broker.ModificarStop(Datos.Diario.Stop);
end.

 

 

- Entrar largos en los valores en los que aparezca un mensaje de “Inicio de Ciclo” y además el valor esté posicionado en la zona O+ o A+ o en la zona AB+ pero que a su vez la cantidad de Dinero sea superior a la del papel con el stop correspondiente

Se usa una variable para simplicar el código.

Pestaña: Antes Abrir Sesión
Código:

var diario: TDatosSesion;
begin
  diario := Datos.Diario;
  if (diario.Mensaje.Es(tmInicioCiclo)) and
   ((diario.Zona = z0Mas) or (diario.Zona = zAMas) or (diario.Zona = zABMas)) and
   (diario.Dinero > diario.Papel)
   then
    Broker.AbrirPosicionMercado(0, true, diario.Stop);
end.

 

 

 

 

 

 

tabla de contenidoTabla de contenido