Estrategia en Jforex

Foro dedicado a la plataforma de trading de divisas de Dukascopy en la que la programación de estrategias se realiza mediante Java.
Responder
Yago
Mensajes: 23
Registrado: 04 Dic 2012 01:53

Estrategia en Jforex

Mensaje por Yago » 28 Ago 2013 16:40

Hola a todos. Estoy intentando programar una estrategia en jforex para que me cierre todas las ordenes cuando el beneficio llegue a un porcentaje determinado respecto al margen. Hasta ahora he encontrado unas rutinas para poder cerrar todas las ordenes abiertas , pero me falta por determinar la condicion para ejecutarlas. Si alguien sabe como y donde deberia de introducir la condicion se agradeceria.



Avatar de Usuario
mascara
Mensajes: 335
Registrado: 18 Oct 2007 23:15

Re: Estrategia en Jforex

Mensaje por mascara » 28 Ago 2013 21:20

Hola,

Yo lo haría en el método onBar, comprobando que el periodo que te venga sea de, por ejemplo, un segundo (o la frecuencia con la que quieras comprobar entre los periodos posibles...).
Algo como (va de memoria porque no estoy ahora dentro del editor de jforex...)
IF (period.equals(Period.ONE_SEC)){
...
}

Creo que sería mejor en el onBar que en el onTick porque imagino que no necesitas tanta exactitud como para comprobar en cada tick... pero sería igual hacerlo en uno o en otro, lo que pasa que en el onTick no necesitas poner el filtro del periodo...

Ahora, la condición, necesitarías obtener por un lado el margen y por otro el beneficio de las órdenes abiertas.
Para lo del margen, no sé exactamente ahora a que dato te refieres, pero podrías mirar algunos métodos el objeto IAccount, como getEquity, getBalance, getBaseEquity, getCreditLine, getUseOfLeverage, etc... entre tantos alguno tendrá que valer para sacar directamente lo que quieres o para usarlo y calcular tú el dato que necesitas :)...

Para el beneficio podrías usar un bucle como este:
double pl = 0;
for(IOrder o : engine.getOrders())
pl = pl + o.getProfitLossInAccountCurrency(); //restar o.getCommissions() si quieres tener en cuenta las comisiones

Bueno, no se si te habrá ayudado porque es muy general... :roll:

Saludos,


Imagen

Yago
Mensajes: 23
Registrado: 04 Dic 2012 01:53

Re: Estrategia en Jforex

Mensaje por Yago » 29 Ago 2013 10:55

Gracias de nuevo mascara. Pensaba que era mas directo los calculos. Al final me ha servido mucho tu ayuda. El calculo del margen usado lo hice calculando getEquity-getCreditLine/getleverage, ahora voy a probarlo a ver si funciona.
Gracias.



Avatar de Usuario
ubeconbe
Mensajes: 204
Registrado: 26 Ene 2012 14:53

Re: Estrategia en Jforex

Mensaje por ubeconbe » 29 Ago 2013 16:45

Por cierto tenéis algún link con un tutorial bastante extenso? porque en la web de dukascopy los que hay son muy por encima (almenos los que he visto yo), gracias



Yago
Mensajes: 23
Registrado: 04 Dic 2012 01:53

Re: Estrategia en Jforex

Mensaje por Yago » 29 Ago 2013 18:03

Lo siento pero yo solo conozco lo que viene en dukascopy.



Avatar de Usuario
mascara
Mensajes: 335
Registrado: 18 Oct 2007 23:15

Re: Estrategia en Jforex

Mensaje por mascara » 29 Ago 2013 18:44

Yago escribió:Gracias de nuevo mascara. Pensaba que era mas directo los calculos. Al final me ha servido mucho tu ayuda. El calculo del margen usado lo hice calculando getEquity-getCreditLine/getleverage, ahora voy a probarlo a ver si funciona.
Gracias.
Me alegro, no se si sabes que el objeto IAccount no siempre lleva la información actualizada, se actualiza cada 5 seg. más o menos, por lo que dice la documentación... espero que aún así te funcione como quieres


Imagen

Yago
Mensajes: 23
Registrado: 04 Dic 2012 01:53

Re: Estrategia en Jforex

Mensaje por Yago » 30 Ago 2013 13:30

Supongo que no sera problema excepto cuando haya mucho meneo, probare .
Gracias por la informacion




Responder

Volver a “JForex”