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