Hola,
Hoy voy a explicar como desde Java se puede lanzar una orden de entrada o Entry Order (en inglés), utilizando la API gratuita de FXCM llamada Order2Go.
Nota: Para poder utilizar desde java la API, es necesario tener instalado la plataforma de operaciones y una libreria llamada JACOB que es un puente entre COM y Java, ya que la API que proporcionan gratuitamente es un componente de Microsoft COM.
La librerÃa Jacob (JAVA-COM Bridge) se puede descargar de los siguientes sitios:
http://danadler.com/jacob/
http://sourceforge.net/projects/jacob-project/
La plataforma de operaciones se puede descargar de FXCM al igual que la API Order2Go
http://www.fxcm.com/
http://www.fxcmespanol.com/
La API de FXCM posee un método llamado CreateEntryOrder, que sirve para lanzar una orden de entrada. Esto quiere decir que se puede poner una orden la cual entrará en el mercado cuando cumpla ciertas condiciones, como por ejemplo alcanzar un precio determinado.
Ejemplo de invocación desde JAVA:
Variant entryOrder1 = null;
Variant entryOrder2 = null;
String sAccountName = «xxxxxxxx»; // Numero de cuenta. Se puede obtener desde la plataforma de operaciones.
String sInstrument = «EUR/USD»;
// Calculamos datos para la orden de compra.
boolean bBuy = true;
int iLotsNo = 10000;
double dRate = xxxxxx;
double dStop = xxxxxx;
double dLimit = xxxxxx;
int iTrailMinMove = 0;
Variant OrderNo = new Variant();
Variant DealerInt = new Variant();
System.out.println(«Lanzando orden de compra…»);
entryOrder1 = Dispatch.callN(TradeDeskHelper.tradeDesk, «CreateEntryOrder», new Object[] {
sAccountName,
sInstrument,
new Boolean(bBuy),
new Integer(iLotsNo),
new Double(dRate),
new Double(dStop),
new Double(dLimit),
new Integer(iTrailMinMove),
OrderNo,
DealerInt});
Y aquÃ, la documentación del método CreateEntryOrder es:
TradeDeskAut.CreateEntryOrder
Brief
Create entry order
Declaration
Function CreateEntryOrder |
(sAccountName As String, sInstrument As String, bBuy As Bool, iLotsNo As Integer, dRate As Double, dStop As Double, dLimit As Double, iTrailMinMove As Integer, ByRef OrderID as Variant, ByRef sDealerIntervention as Variant) |
Details
Name |
Description |
sAccountName |
Account name |
sInstrument |
Currency pair |
bBuy |
Is it buy or sell entry order |
iLotsNo |
Number of lots |
dRate |
Order rate |
dStop |
Stop level value (if 0, no stop level) |
dLimit |
Limit level value (if 0, no limit level) |
iTrailMinMove |
Value of trailing move (or 0) |
sOrderID |
[out] ID of created order |
sDealerIntervention |
[out] Dealer intervention flag value.’Y’ if order must be processed manually by dealer, in this case order will be not created automatically, it should be processed by dealer. Trader can accept requoted order using AcceptOrder method. |
Description
Creates entry order. This method can be executed only by trader.