WebtraderFeed v1.1.0

WebtraderFeed v1.1.0
Conectare

Conectarea se face pe socket TCP pe portul 9191. Se accepta doar conexiuni de pe 127.0.0.1
Comunicare

Se face folosind standardul ReadUTF/WriteUTF (2 octeti care reprezinta lungimea a mesajului urmati de mesaj).

Aplicatia va avea o singura conexiune activa. In momentul realizarii unei noi conexiuni, orice conexiune anterior realizata va fi inchisa

Dupa realizarea conexiunii pe socket WebtraderFeed-ul va urma pasii:

1. Transmite stringul “Connected ”
2. Transmite stringul “User:”
3. Asteapta userul de conectare la BMFMS
4. Transmite stringul “Password:”
5. Asteapta parola de conectare la BMFMS
6. Transmite mesaj in format XML cu date primite de la BMFMS
7. Se intoarce la pasul 6

Autentificare

Consta in transmiterea in format UTF a numelui de utilizator si a parolei pentru conectarea la serverele BMFMS.

Dupa realizarea conexiunii la WebtraderFeed si transmiterea utilizatorului si parolei, se va realiza conexiunea catre serverele BMFMS.
Format mesaje XML


value

Unde type e tipul de mesaj (descris in tabela 1), isr informatia este grupata in nodurile info. Valoarea informatiei se afla un nodul value iar tipul acestei valori este determinat de valoarea campului label (descris in tabela 2).

Tag
Value
311
DeleteFuturesOrder
212
UpdateFutureSummary
112
AddFutureSummary
111
AddFuturesOrder
211
UpdateFuturesOrder
114
AddFuturesSellOrder
115
AddFuturesBuyOrder
113
AddFuturesDeal
321
DeleteOptionsOrder
222
UpdateOptionsSummary
121
AddOptionsOr
der
221
UpdateOptionsOrder
123
AddOptionsDeal
122
AddOptionsSummary
126
AddOptionsCompactSummary
400
OrderInfo
401
Futures OrderSerial Link
410
DealInfo
402
Options OrderSerial Link
010
FuturesInfo
030
ChatInfo

Tabela 1

Tag
Value
601
FuturesOrderSerial
602
OptionsOrderSerial
503
ContractType
504
SettleDate
510
BestBid
511
BestAsk
520
Open
505
SettlePrice
530
High
531
Low
525
change
540
Trades
542
contractsVolume
550
OpenInt
500
Status
420
AgencyCode
421
ClientCode
410
Price
415
Validity
417
BuySell
412
OrderType
411
ActivationPrice
430
BuyAgencyCode
431
BuyClientCode
432
BuyComision
435
SellAgencyCode
436
SellClientCode
437
SellComision
440
DealType
442
DealTime
445
DealSerial
620
CallPut
630
Strike
635
SettlePrice
637
Premium
636
LastSettle
480
StrikeStart
481
StrikeStop
482
StrikeStep
610
LocalSerial
620
Comment
611
MarketSerial
580
Sell agressor/initiator (1=agressor, 0=initiator)
581
Buy agressor/initiator (1=agressor, 0=initiator)
612
Sell serial (market serial if initiator, localserial if agressor)
614
Buy serial (market serial if initiator, localserial if agressor)
031
ChatInfo
011
FuturesInfo

Tabela 2

Exemplu conectare

In directorul extra al arhivei zip exista si un exemplu de client ce se conecteaza la WebtraderFeed.

import java.io.*;
import java.net.*;

public class SibexAPIClient {

private static Socket s;
private static DataOutputStream dos;
private static DataInputStream dis;
private static BufferedReader kin;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
kin = new BufferedReader(new InputStreamReader(System.in));
s = new Socket(“127.0.0.1″,9191);
dos = new DataOutputStream(s.getOutputStream());
dis = new DataInputStream(s.getInputStream());
System.out.print(dis.readUTF());//Connected

System.out.print(dis.readUTF());//User:
dos.writeUTF(kin.readLine());dos.flush();
System.out.print(dis.readUTF());//Password:
dos.writeUTF(kin.readLine());dos.flush();
String z=”";
while (true){
System.out.print(dis.readUTF());//xml msg
}
}catch(Exception e){
e.printStackTrace();
}
}
}

Tansmitere Ordine Futures****

WebtraderFeed poate transmite ordine futures spre BMFM. Pentru aceasta accepta ca si input mesaje in format xml cu datele ordinului in formatul de mai jos(campurile sunt descrise in tabela 3).

Tag
Value
ls
LocalSerial
ct
ContractType
sd
SettleDate
ac
AgencyCode
cc
ClientCode
vo
Volume
pr
Price
vl
Validity*
bs
Side**
ot
OrderType***
ap
ActPrice

Tabela 3

* Valori posibile: Day, GTK sau format hh-mm (hh numar de ore intre 00 si 23 si mm numar de minute intre 00 si 59)
** Valori posibile: Buy sau Sell
*** Valori posibile: Limit, Package, StopLoss, TakeProfit sau TrailingStop
**** daca optiunea este activa
Actualizare Ordine Futures****

WebtraderFeed poate actualiza ordine futures BMFM. Pentru aceasta accepta ca si input mesaje in format xml cu datele ordinului in formatul de mai jos(campurile sunt descrise in tabela 4).

Tag
Value
ms
MarketSerial
ct
ContractType
sd
SettleDate
ac
AgencyCode
cc
ClientCode
vo
Volume
pr
Price
vl
Validity*
bs
Side**
ot
OrderType***
ap
ActPrice
ov
OldVolume

Tabela 4

* Valori posibile: Day, GTK sau format hh-mm (hh numar de ore intre 00 si 23 si mm numar de minute intre 00 si 59)
** Valori posibile: Buy sau Sell
*** Valori posibile: Limit, Package, StopLoss, TakeProfit sau TrailingStop
**** daca optiunea este activa
Stergere Ordine Futures*

WebtraderFeed poate transmite comanda de stergere de ordine futures spre BMFM. Pentru aceasta accepta ca si input mesaje in format xml cu datele ordinului in formatul de mai jos(campurile sunt descrise in tabela 5).

Tag
Value
ms
MarketSerial

Tabela 5

* daca optiunea este activa
Cerere Deal-uri Futures*

WebtraderFeed poate transmite comanda de cerere de deal-uri futures spre BMFM incepand de la un anumit numar serial. Pentru aceasta accepta ca si input mesaje in format xml cu date in formatul de mai jos(campurile sunt descrise in tabela 6).

Tag
Value
sn
Deal serial number

Tabela 6

* daca optiunea este activa
Raspuns WebtraderFeed pentru mesaje receptionate de la client

WebtraderFeed verifica sintaxa mesajului primit de la client. Daca mesajul este validat clientul va primi inapoi mesajul:

OK

altfel mesajul:

KO

Pentru a putea fi analizat, mesajul trebuie sa fie in format corect xml. In caz contrar se genereaza exceptie fatala care va duce la distrugerea conexiunii.
Conectarea WebtraderFeed la serverele BMFM

In momentul in care WebtraderFeed reuseste sa se conecteze la serverele BMFM clientul va primi urmatorul mesaj:

conected

La o eventuala deconectare de la serverele BMFM clientul va primi urmatorul mesaj:

disconected

Leave a Reply

You must be logged in to post a comment.