Arquitectura de jForexTemplate

jForexTemplate se puede descargar de este mismo sitio web (desde el menu de la columna derecha), y es una aplicación de ejemplo básica que permite interconectarse con la API de FXCM para operar una cuenta de forma programática.

La arquitectura esta formada por varias cosas para poder acceder desde JAVA.

1) Plaforma de operaciones de FXCM.
2) La API de FXCM que es un componente COM.

3) Librería JACOB que es un puente desde la tecnología JAVA a COM

4) Nuestro código JAVA de jForexTemplate

La clase principal de jForexTemplate se llama Forex.java y es el punto de entrada de ejecución puesto que posee el método public static void main(String[] args)

Esta clase contiene el flujo principal de nuestro programa.
Aquí esta el código :

public class Forex {public static void main(String[] args) {
new Forex().launch();
}

public void launch() {
/* Realiza el Login con el proveedor FXCM para la cuenta demo */
TradeDeskHelper tradeDeskHelper = new TradeDeskHelper();
TradeLogin(tradeDeskHelper,
TradeDeskHelper.FXCM_LOGIN,
TradeDeskHelper.FXCM_PASS,
TradeDeskHelper.FXCM_SERVER,
TradeDeskHelper.FXCM_USER_TYPE);

try {
// Se queda esperando a cuando se presiona una tecla sale de la aplicacion.
System.in.read();
} catch (Exception e) {
}

/* Realiza el Logout con el proveedor FXCM */
TradeLogout(tradeDeskHelper);
// Sale de la aplicacion.
System.exit(-1);
}

public void TradeLogin(TradeDeskHelper tradeDeskHelper, String usuario,
String password, String url, String accountType) {
tradeDeskHelper.login(usuario, password, url, accountType);
}

public void TradeLogout(TradeDeskHelper tradeDeskHelperBuy) {
tradeDeskHelperBuy.logout();
}

}

El método launch() es el método inicial el cual invoca el proceso de login contra la API de FXCM y luego se queda esperando a que presionemos una tecla para salir y terminar.

El método es el método inicial el cual invoca el proceso de login contra la API de FXCM y luego se queda esperando a que presionemos una tecla para salir y terminar.Los datos de login son definidos en constantes en la clase TradeDeskHelper, pero tranquilamente se podría mejorar e incorporar un fichero .properties para configurar estos datos y que no se metan directamente en una clase.

En el próximo artículo pondré un resumen sobre las otras clases involucradas que son muy simples y son las que realizan las operaciones y donde deberíais programar vuestros sistemas de trading.
Un saludo

Publicidad