这个示例展示了如何创建FIX Flyer™连接,处理发送FIX消息的事件数据,以及如何使用FIX消息提交各种订单。
FIX是一种金融行业协议,可促进低延迟交易。关于FIX协议的详细信息请参见解决交易社区.
要访问示例代码,输入编辑FixFlyerExample.m
在命令行。
导入FIX Flyer Java®库。
进口flyer.apps。*;进口flyer.apps.FlyerApplicationManagerFactory。*;进口flyer.core.session。*;
创建FIX Flyer Engine连接c
使用这些参数:
用户名用户名
密码密码
IP地址ipaddress
端口号港口
订单信息端口号orderport
用户名=“客人”;密码=“客人”;ipaddress =“example.fixcomputeserver.com”;端口= 12001;orderport = 13001;c = fixflyer(用户名、密码、ipaddress、港口、orderport);
将FIX Flyer事件监听器添加到FIX Flyer Engine连接。通过使用示例事件处理监听器,在工作区浏览器中监听并显示FIX Flyer Engine事件数据fixExampleListener
.
要访问侦听器的代码,输入编辑fixExampleListener.m
.或者,要以另一种方式处理事件数据,可以编写自定义事件处理侦听器函数。有关详细信息,请参见在文件中创建函数(MATLAB)。
处理FIX Flyer Engine事件e
使用示例事件处理侦听器fixExampleListener
.指定e
任何的信。fixExampleListener
返回监听器句柄韩
.
lh = addListener (c, @ (~, e) fixExampleListener (e、c));
订阅FIX会话并设置FIX传单应用程序管理器。在FIX Flyer会话中注册。将FIX Flyer Application Manager连接到FIX Flyer Engine并启动内部接收线程。
c.SessionID = flyer.core.session.SessionID (“α”,...“β”,“FIX.4.4”);c.FlyerApplicationManager.setLoadDefaultDataDictionary(假);c.FlyerApplicationManager.registerFIXSession (...flyer.apps.FixSessionSubscription (...c.SessionID,真的,0));c.FlyerApplicationManager.connect;c.FlyerApplicationManager.start;
使用结构数组创建两个FIX消息订单
.数组中的每个结构表示一个FIX消息。这两个消息都表示1000 IBM的卖方事务®股票。订单类型是先前引用的订单。订单处理指令是一个私有的自动执行。订单事务时间是当前时刻。FIX协议版本为4.4。
设置MsgType
来' D '
表示新秩序。
秩序。BeginString {1} =“FIX.4.4”;秩序。CLOrdId {1} =“338”;秩序。{1, 1} =' 2 ';秩序。TransactTime {1} = datestr(现在);秩序。OrdType {1} =' D ';秩序。符号{1}=“IBM”;秩序。HandlInst {1} =' 1 ';秩序。MsgType {1} =' D ';秩序。OrderQty {1} =“1000”;秩序。HeaderFields {1} = {“OnBehalfOfCompID”,“交易员”};秩序。BodyFields {1} = {“NoPartyIDs”,“3”;...“PartyID”,' 1 ';...“PartyRole”,西班牙对外银行的;...“PartyID”,' 1 ';...“PartyRole”,“CVGX”;...“PartyID”,' 1 ';...“PartyRole”,“GSAM”};秩序。BeginString {2,} =“FIX.4.4”;秩序。CLOrdId {2,} =“339”;秩序。{2, 1} =' 2 ';秩序。TransactTime {2, 1} = datestr(现在);秩序。OrdType {2,} =' D ';秩序。{2, 1} =象征“IBM”;秩序。HandlInst {2,} =' 1 ';秩序。MsgType {2,} =' D ';秩序。OrderQty {2,} =“1000”;秩序。HeaderFields {2,} = {“OnBehalfOfCompID”,“交易员”};秩序。BodyFields {2,} = {“NoPartyIDs”,“3”;...“PartyID”,' 1 ';...“PartyRole”,西班牙对外银行的;...“PartyID”,' 1 ';...“PartyRole”,“CVGX”;...“PartyID”,' 1 ';...“PartyRole”,“GSAM”};
使用FIX Flyer Engine连接发送FIX消息。状态
包含用于成功传递消息的逻辑零。
状态= sendMessage (c,顺序);
返回并显示订单信息o
所有的订单。变量编辑器显示的内容o
.
o = orderInfo (c);openvar (“o”)
替换一个订单。创建FIX消息取代
更新数量为3378股。设置字段MsgType
来‘G’
指定替换顺序。
替换。BeginString {1} =“FIX.4.4”;替换。CLOrdId {1} =338 _replace;替换。origClOrdId{1,1} =“338”;替换。符号{1}=“IBM”;替换。OnBehalfOfCompID {1} =“交易员”;替换。OrdType {1} =' D ';替换。OrderQty {1} =“3378”;替换。MsgType{1,1} =‘G’;替换。文本{1}=REST API取代的;
发送FIX消息。要查看替换的订单,请检索并显示订单信息。变量编辑器显示的内容o
.
状态= sendMessage (c,取代);o = orderInfo (c);openvar (“o”)
现在,取消订单。创建FIX消息取消
和订单号338
.设置字段MsgType
来“F”
指定取消订单。
取消。BeginString {1} =“FIX.4.4”;取消。CLOrdId {1} =338 _cancel;取消。origClOrdId{1,1} =338 _replace;取消。符号{1}=“IBM”;取消。OnBehalfOfCompID {1} =“交易员”;取消。OrdType {1} =' D ';取消。MsgType{1,1} =“F”;取消。文本{1}=REST API取消的;
发送FIX消息。然后检索并显示取消的订单信息。变量编辑器显示的内容o
.
状态= sendMessage (c、取消);o = orderInfo (c);openvar (“o”)
使用示例事件处理侦听器fixExampleListener
侦听来自FIX Flyer Engine的FIX消息。侦听器fixExampleListener
返回表中的原始FIX消息fixResponse
.显示表的前三列。的列名fixResponse
包含返回的原始FIX消息中的FIX标记名称。列中的数据包含返回的原始FIX消息的值。
fixResponse (: 1:3)
ans = BeginString BodyLength MsgType ___________ __________ _______ ' FIX.4.4 ' ' 219 ' ' 8 '
关闭(c)
addListener
|关闭
|fixflyer
|orderInfo
|sendMessage