在使用API的时候,请记得:
免责声明:有限支持
我们默认API的用户有基本的编程知识,并且了解如何把URL的Call命令和其他工具整合。因此,我们仅仅提供有限的API支持服务。基本上仅限于本文档的内容。
用户可以自行选择如何使用API接口,用户可以用URL的Call命令,利用任何一种编程语言来处理CSV格式的数据。
PPro8 API是一个网页服务,当启动后,将允许用户利用URL格式发送命令.
<RequestType>? <parameter=value & parameter=value & parameter=value ... >
开启使用应用程序接口,前往Metro: General Processes: Trader Management: Trading Parameters: API Access。 更多信息, 参见 交易员使用的交易账号管理流程手册
注意:当UDP在运行时,发出的命令不会在XML或log文件中收到回应。API服务器直接在HTTP标题栏收到回应。如果命令运行失败,服务器会收到400错误请求的回应。不运行UDP,且使用正常URL时,正常的回应为200正确请求。
要启动PProAPI,用户需要利用这个命令启动PPro8的客户端:
PPro8.exe -pproapi_port=8080
注意:您可以用任何端口,8080只是举一个例子。如果您选择其他的端口,我们建议用 1000 - 65535 端口,因为低于 1000 的端口很可能被操作系统已经预先定义了。
登录到PPro8以后,用户可以通过这个链接连接到API的主页:http://localhost:8080。这个端口将显示当前支持的命令的基本信息。
注意:本文档中,以下的URL链接都忽略 http://localhost:8080,因此,请记住下面的命令前面要加http://localhost:8080/。
要确保UDP的正常运行,请在编写您的程序的时候,确保它积极地收听端口。
如果您只是想测试UDP的功能,我们建议您使用NetCat,以及附的 常见命令页 。
要使用NetCat,用下面的命令行启动它,举例:
-ul -p4135
…其中:
…连起来,这个命令就是 “UDP的4135端口正在积极收听”
然后您可以用这个命令来注册并且发送数据到您指定的端口,例如:
注册代码ATML.NQ的Level1数据,发送数据到UDP的4135端口
http://localhost:8080/SetOutput?symbol=ATML.NQ®ion=1&feedtype=L1&output=4135&status=on
回应样本:
LocalTime=08:53:20.845,Message=L1,MarketTime=08:53:20.551,Symbol=ATML.NQ,BidPrice=8.05000,BidSize=4700,AskPrice=8.07000,AskSize=2500,Tick=D
注意:
使用Register命令注册每个可用的数据类型。
句法:
Register?symbol=<symbol.extension> & region=[1|2|3|4] & feedtype=[L1|TOS|L2|IMBALANCE|OSTAT|ORDEREVENT|PAPIORDER|NEWS]
返回:
<RegistryQueueSize PProApi="<size>" NCSA="<size>" EMEA="<size>" APAC="<size>" />
举例:
Register?symbol=ZVZZT.NQ&feedtype=TOS
新特点: 这个Register指令现在也支持经理账号, 但只适用于 OSTAT 和 ORDEREVENT 的数据类型。 对于OSTAT / ORDEREVENT, 信息传递区域参数。
注册命令Register一分为三:GetSnapshot获取截图, Register注册, 和SetOutput发送输出。
利用这些命令,您可以设置输出,并且通过状态on还是off来启动或者关闭,或者选择写入仅仅截图,仅仅实时数据,或者两个都写入。
用这个命令获取代码当前的数据 (过去的100个记录,但不包含更新的数据)。
注意: 对于Level 1(L1)类型,这个指令只会返回两个记录。
句法:
GetSnapshot?symbol=<symbol.extension> & region=[1|2|3|4] & feedtype=[L1|TOS|L2]
举例:
GetSnapshot?symbol=ZVZZT.NQ&feedtype=TOS
注意
用这个命令注册实时数据,并获取代码最新信息。
句法:
Register?symbol=<symbol.extension> & region=[1|2|3|4] & feedtype=[OSTAT|ORDEREVENT|NEWS]
举例:
http://localhost:8080/Register?region=1&feedtype=OSTAT
返回:
<RegistryQueueSize PProApi="<size>" NCSA="<size>" EMEA="<size>" APAC="<size>" />
对于 OSTAT / ORDEREVENT 信息, 返回区域参数 region parameter。
使用该命令注册 API,以接收所有新闻入口:
举例:
Register?feedtype=NEWS
使用该命令来发送连续性新闻摘要到一个名为NEWSTEXTUPDATEANALYTICS_1.log的文件,该文件会被保存到PPro8 launch 目录里:
举例:
SetOutput?feedtype=NEWS&output=bykey&status=on
此命令注册 API 以注册脚本。这需要您设置输出,设置后将创建一个文件,所有脚本都将写入该文件。
示例:
Register?feedtype=SCRIPTS
Example:
http://localhost:8080/Register?region=1&feedtype=OSTAT
Return:
<RegistryQueueSize PProApi="<size>" NCSA="<size>" EMEA="<size>" APAC="<size>" />
用这个命令设置代码输出的信息,定义数据写到哪里,可以是bykey 或者 bytype。
请注意,这些数据将被写入一个日志文件,而该文件将在PPro8文件夹中生成。
新特点: SetOutput 指令现在支持经理账号,不过仅适用于OSTAT和ORDEREVENT 数据类型。对于 OSTAT / ORDEREVENT, 信息传递区域参数。
句法:
SetOutput?symbol=<symbol.extension> & region=[1|2|3|4] & feedtype=[L1|TOS|L2|IMBALANCE|OSTAT|ORDEREVENT|PAPIORDER|NEWS|SCRIPTS] & output=[bykey|bytype|<port>] & status=[on|off]
举例:
SetOutput?symbol=ZVZZT.NQ&feedtype=NEWS&output=4134&status=on
句法:
SetOutput?region=1&feedtype=OSTAT&output=bytype&status=on
UDP注册句法:
<SetOutput?region=1&feedtype=OSTAT&output=4321&status=on
举例:
Register?symbol=ZVZZT.NQ&feedtype=L1
API将注册来接受代码ZVZZT.NQ所有的Level 1的价格/订单大小的更新。这些更新将被写入PPro8的运行目录,文件名的格式为:L1_1_ZVZZT.NQ.log,中间的数字代表市场所在的区域。每个数字代表的区域如下:
注意:请确保您为相关的命令注册正确的市场代码。
L1的消息必须包含代码这个参数。
每一次的L1更新,就是一行逗号隔开的数据行,包含了下面的栏目:
举例:
Register?symbol=ZVZZT.NQ&feedtype=TOS
API将接受代码ZVZZT.NQ所有的成交记录的数据。
TOS的消息必须包含代码这个参数。
TOS的数据,每个代码单独写入一个文档。
每个TOS的更新,是一个按逗号分隔的数据行,栏目包括:
Type的数字各代表:
当使用者注册了数据供应,实时数据便开始启动。
注意: 截图数据并不只是重复的数据。它更显示了用户注册数据之前的过去100个TOS打印数据。如果使用者想直接从TOS注册了解股票的成交情况,他可以处理截图数据。截图数据用来统计TOS窗口数据当代码注册之后,由于API和软件使用了同等功能,TOS也包含在此。
举例:
LocalTime=21:32:59.193,MarketTime=00:00:00.000,Symbol=WBC.AX,Type=1,Price=0,Size=0,Source=0
LocalTime=21:34:52.322,MarketTime=11:33:15.929,Symbol=WBC.AX,Type=2,Price=34.445,Size=59,Source=0,Condition=?,Tick=?,Mmid=C,SubMarketId=
LocalTime=21:32:59.209,MarketTime=00:00:00.000,Symbol=WBC.AX,Type=3,Price=0,Size=0,Source=0
LocalTime=21:34:42.916,MarketTime=11:34:41.913,Symbol=WBC.AX,Type=0,Price=34.44,Size=64,Source=42,Condition=?,Tick=?,Mmid=A,SubMarketId=
完整的PPro8 Market Center市场中心缩写、Sub Market ID子版块缩写和Sales Conditions成交条件缩写,可以在TOS的缩写表找到和 PPro8买方/卖方代码。
举例:
Register?symbol=ZVZZT.NQ&feedtype=L2
API将接收代码ZVZZT.NQ的Level 2的所有报价更新。
L2的数据必须包含代码这个参数。
L2的数据,每个代码分别写入一个文档。
每个Level 2的更新,是一个按逗号分隔的数据行,栏目包括:
每一次的更新,要么 (a) 创建一个新的价位,要么 (b) 对指定的市场参与者代码MMID, 方向Side和价格Price组合作出更新。
举例:如果您当前有一个在ANON市场参与者代码中的400股,定价在每股8.6美元的买单,上面的例子将把ANON的8.6价位的买单股数调整到100股。
如果您想获得一个市场深度截图,您可以使用GetSnapshot命令。 举例:
GetSnapshot?symbol=ZVZZT.NQ&feedtype=L2
截图的数据从Side=s开始。举例:
LocalTime=08:37:31.908,MarketTime=00:00:00.000,Mmid=,Side=s,Price=0,Volume=0,Depth=0,SequenceNumber=0
所有截图的数据都显示SequenceNumber=0.
截图的数据以Side=e结束,举例:
LocalTime=08:37:31.908,MarketTime=00:00:00.000,Mmid=,Side=e,Price=0,Volume=0,Depth=0,SequenceNumber=0
举例:
Register?symbol=*.NQ,*.E1,*.TO&feedtype=IMBALANCE
此命令注册 API 以接收所有 Imbalance 数据。
IMBALANCE 消息必须通过市场参数。
每次 IMBALANCE 更新都是以逗号分隔的一行数据,包含以下字段:
每一个Imbalance的更新代表当前的代码上的尾额大小,原先的Imbalance数据可以忽略。
举例:
Register?region=1&feedtype=OSTAT
API将注册接收Region1(NCSA区域)、Region2(欧洲区域)或Region3(亚洲区域)市场的订单状态Order Status (OSTAT)消息。
OSTAT的数据必须包含Region这个参数。
每个Region创建一个文档。为了查看所有的订单状态更新 - 包括内部拒绝的订单,用户需要监控OSTAT和ORDEREVENT日志。
注意:对于期货合约,API指令发送的是该价位下合约的大小,而不是合约的价格。使用 GetLv1获取Level 1数据来获得tick size和tick value,计算公式为:Contract Price = (Contract Size * Tick Size) / Tick Value
每个OSTAT更新是由逗号分隔的数据行,栏目包括:
订单标志是以下数字的总和:
SentViaScriptSrv = 256 命令会被发送当一个订单触发了取消反向或取消较不积极的逻辑。
用户可以用OSTAT log文件,加上ORDEREVENT log文件,来监控订单的状态,追踪订单成交和相关的费用。这个消息同时也被客户端用来更新Summary和HistoryLog窗口。
举例:
Register?region=1&feedtype=ORDEREVENT
API将注册接收Region 1(NCSA区域)市场的订单的事件消息。
ORDEREVENT订单事件的消息必须包括Region这个参数。
每个区域都有单独的文件。这个日志文件可以和OSTAT log文件一块,用来监控订单状态更新。
ORDEREVENT log文件的主要作用是在一个订单没有在OSTAT记录中出现的时候,确认这个订单是内部拒绝的。
每个ORDEREVENT 更新是由逗号分隔的数据行,栏目包括:
订单事件(ORDEREVENT)的性质解释如下:
注意: 当价格和订单股数在OPC服务器检查的时候,将显示一个无效的数值。我们预计将在下一个OSM订单状态管理服务器推出时解决这个问题。如果您认为这可能影响您的交易,用户可以很容易地筛选出这些数值,因为它的值是 “-1”。说明中也会注明:'New order, OPC Pending'新订单,OPC等待。
举例:
Register?region=1&feedtype=PAPIORDER
API将注册接收每次订单申请相关的订单号码的信息。
PAPIORDER的消息必须包含Region这个参数。
这个Log文件的用途是让用户可以限制'GetOrderNumber'的申请命令的发送次数,而通过程序监控Log文件中的这个信息。
每个PAPIORDER更新是由逗号隔开的数据行,栏目包括:
这个命令用来取消注册某些数据类型。其停止了写入记录文件或L1数据。
句法:
Deregister?symbol=symbol.extension & region=[1|2|3|4] & feedtype=[L1|TOS|L2|IMBALANCE|NEWS]
举例:
Deregister?symbol=ZVZZT.NQ&feedtype=NEWS
Deregister?symbol=\*.NQ,\*.E1,\*.TO&feedtype=IMBALANCE
这些功能关闭了,但是仍然提供,利用TOS和L1命令。
这个指令可以从Summary的不同层级获取信息。现在能为所有图层得到与GUI相同的总列数的返回命令。
新: 通配符(*)现已在这个命令中被允许,这跟进选择的键位不同意味着所有代码 或者 所有交易员 。
句法:
Get?type=tool & tool=[Summary_n] & key=<regionAsset>[^<layerKey>]
举例:
Get?type=tool&tool=Summary_2&key=NCSA Equity^GODOT^F.NY
使用这个指令退还记事簿信息到一个用户ID。
句法:
GetBlotter?user=<userId>
例子:
http://localhost:8080/GetBlotter?user=GODOT
返还:
<Trader name="GODOT"> <Region id="1" name="NCSA"> <Transaction Message="OrderStatus" MarketDateTime="20141121-09:25:10.252" Currency="USD" Symbol="BRK/A.NY" Gateway="1" Side="B" OrderNumber="GODOT___00000001M172461100000" Price="0.01" Shares="1" Position="2" OrderState="Partially Filled" MarketID="18" CurrencyChargeGway="USD" ChargeGway="0.004" CurrencyChargeAct="UNK" ChargeAct="0" CurrencyChargeSec="UNK" ChargeSec="0" CurrencyChargeExec="UNK" ChargeExec="0" CurrencyChargeClr="UNK" ChargeClr="0" OrderFlags="8" CurrencyCharge="0" Account="1ORBX00001OR1GODOT___USD1" InfoCode="0" InfoText="Great stock. Great Price"/> </Region> </Trader>
使用这个指令来请求一个概览窗口的刷新。
句法:
GetBlotterSnapshot?trader=[USERID] & region=[1|2|3|4] & assetid=<assetId>
举例:
GetBlotterSnapshot?trader=DV113X91®ion=1&assetid=1
使用这个指令能获取一个代码的托架标识符来发送一个此代码的托架订单。
句法:
GetBracketId?symbol=<symbol.extension>
举例:
GetBracketId?symbol=FB.NQ
要发送一个托架订单,请使用两个成交订单的指令。例如:
ExecuteOrder?symbol=FB.NQ&limitprice=10.10&ordername=&shares=100&bracketid=FB.NQ_1518813150_API
ExecuteOrder?symbol=FB.NQ&limitprice=20.10&ordername=&shares=100&bracketid=1518813150_API
执行这两个指令将发送一个包含两个手动订单作为限制的托架脚本。止损和追踪止损订单也可以使用。
这个指令招回起用户的使用环境(TMS或Live),以及用户ID和PPro8的安装路径。
句法:
GetEnvironment?
这会提出以下响应:
<code><Environment=“Live” User=“ABE001” DataDir=“C:\Program Files\Ralota\Inka”/></code>
这个指令返回某个区域注册所有代码的L1。
句法:
GetL1Registrations?
举例
http://localhost:8080/GetL1Registrations?
这将带来当前注册的L1。
用GetLv1命令获取Level 1数据的截图。在使用之前需要先注册L1数据。
句法:
GetLv1?symbol=<symbol.extension>
举例:
GetLv1?symbol=TD.TO
将收到如下回应:
<Level1Data Message="L1DB" MarketTime="15:22:47.100" Symbol="TD.TO" BidPrice="55.4600" AskPrice="55.4700" BidSize="11000" AskSize="700" Volume="798304" MinPrice="55.1100" MaxPrice="55.5000" LowPrice="55.1100" HighPrice="55.5000" FirstPrice="55.4000" OpenPrice="55.4000" ClosePrice="55.3400" MaxPermittedPrice="0" MinPermittedPrice="0" LotSize="100" LastPrice="55.4600" InstrumentState="Open" AssetClass="Equity" TickValue="0" TickSize="0.00500000" Currency="CAD" Tick="D"/>
GetLv1命令的回应是由逗号隔开的数据行,栏目包括:
此指令将根据某个特定的新闻ID来检索详细的信息。
句法:
GetNewsDetails?alertid=<alertId>
举例:
GetNewsDetails?alertid=201908026270
这个指令将返回给定脚本ID的状态 (Flatte脚本除外,这个不适用)。
注意:GetOrderNumber 指令也可用于检索脚本ID, 因为通过API发送的任何脚本也会返回一个请求ID, 就像 ExecuteOrder 指令一样。
句法:
GetScriptState?scriptid=<scriptId>
回应:
script state
举例:
http://localhost:8080/GetScriptState?scriptid=DV113X9100000004S1761A4100000
可能的脚本状态如下:
这个指令返回至关于交易员的信息,其中包括算法,LFT数额,以及NL数额等等。购买力信息已包括在GetTraderInfo的响应中。
句法:
GetTraderInfo?trader=<trader> & region=<region> & assetid=<assetId>
举例:
GetTraderInfo?trader=DV113X91®ion=1&assetid=1
响应:
traderId="DV113X91" regionId="1" assetclassId="1" traderState="1" algorithm="0" lftAmount="2000" netLossAmount="1500" timerIsActive="N" currentTimeRemaining="0"
响应包含了以下项:
用GetTransactions命令获取某个交易员ID的所有订单/执行记录。
句法:
GetTransactions?user=<userId>
举例:
GetTransactions?user=GODOT
回应:
<Trader name="GODOT"> <Region id="1" name="NCSA"> <Transaction Message="OrderStatus" MarketDateTime="20141121-09:25:10.252" Currency="USD" Symbol="BRK/A.NY" Gateway="1" Side="B" %%OrderNumber="GODOT___00000001M172461100000" Price="0.01" Shares="1" Position="2" OrderState="Partially Filled" MarketID="18" CurrencyChargeGway="USD" ChargeGway="0.004" CurrencyChargeAct="UNK" ChargeAct="0" CurrencyChargeSec="UNK" ChargeSec="0" CurrencyChargeExec="UNK" ChargeExec="0" CurrencyChargeClr="UNK" ChargeClr="0" OrderFlags="8" CurrencyCharge="0" Account="1ORBX00001OR1GODOT___USD1"%% InfoCode="0" InfoText="Great stock. Great Price"/> </Region> </Trader>
注意:对于期货代码,这个指令现在返回到显示价格而不是合同大小。
使用这个命令来检查代码在Ppro8中是否可用,时间参数只是说明了客户端在失败之前等待服务器响应的时间。
Syntax:
ValidateSymbol?symbol=<symbol.extension> & time=<milliseconds>
Return : <validation status>
举例:
API为用户提供几个和订单互动的方法。要了解更多的信息,请访问API的主页 (http://localhost:8080)
ExecuteOrder命令有一系列的参数,根据要发送的订单类型不同您需要提供这些参数的值:
句法:
ExecuteOrder?symbol=<symbol.ext>&limitprice=<float>&ordername=<exact order name>&shares=<int>&priceadjust=<float>&stopprice=<float>&pegdifference=<float>&displaysize=<int>&displayrange=<int>&minexecsize=<int>
返回:
requestId
举例:
ExecuteOrder?symbol=BB.TO&limitprice=6.90&ordername=TSX Buy SweepSOR Limit ANON DAY Reserve&shares=1000&displaysize=100
这个例子将发送一个Reserve(部分隐藏)订单到TSX通道,订价为限价每股6.90加元,买入1000股(显示100股)。
用这个命令发送根据名字设置的一篮子订单。
句法:
ExecuteBasketOrder?basketname=<basketName>
举例:
ExecuteBasketOrder?basketname=basket1
用这个命令发送订单列表(根据在PPro8客户端设置好的订单列表)。
句法:
ExecuteListOrder?symbol=<symbol.ext>&orderlistname=<orderListName>&shares=<int>
举例:
ExecuteListOrder?symbol=ZVZZT.NQ&orderlistname=myList&shares=100
这个命令撤销所有某地区/资产类别所有活跃的/正在运行的脚本。
句法:
CancelAllScripts?user=<userId> & region=<regionId> & assetid=<assetId>
举例:
http://localhost:8080/CancelAllScripts?user=DV113X91®ion=1&assetid=1
这个命令让用户可以完成原先可以通过报价窗口按键完成的撤单功能。可以使用这个指令撤销多个订单。
新增:经理账号现在可以使用这个指令。
句法:
CancelOrder?type=ordernumber|all|oldest|newest|closest|furthest&ordernumber=<orderNumber>&symbol=<symbol.ext>|<*.*>|<*.ext>&side=order|bid|offer|sell|shortsell
举例:
CancelOrder?type=all&symbol=ZVZZT.NQ&side=bid
这个命令将撤销所有ZVZZT.NQ已经被接受的订单。
撤销订单指令选项:
这个命令可以撤销某个特定的脚本。
句法:
CancelScript?scriptid=<scriptId>
举例:
http://localhost:8080/CancelScript?scriptid=DV113X9101000001S1772C7100000
这个命令修改指定的订单的股数。这个命令只能用来降低订单的股数。
句法:
OrderCancelReplace?ordernumber=<orderNumber> & shares=desired reduced number of shares
举例:
OrderCancelReplace?ordernumber=GODOT___03000008M1711F7000000&shares=1000
这个命令将让用户可以获取通过ExecuteOrder命令发送的请求中相关的订单号码。
注意: 新推出PAPIORDER数据源类型后,用户也可以仅仅通过那个命令获得各个Region区域的文档来获得这个实时的信息,而不需要不停地从网路服务器读取。
句法:
GetOrderNumber?requestid=<requestID>
返回:
orderNumber
举例:
GetOrderNumber?requestid=3
这个命令将返回申请号码3对应的订单号码。
这个命令将让用户可以获取订单当前的状态。
注意: 随着OSTAT 和 ORDEREVENT 数据源类型的推出,用户也可以通过观察这两个命令产生的文档来获取实时的数据,而不需要不断地从网络服务器获取数据。
句法:
GetOrderState?ordernumber=<orderNumber>
返回:
<OrderState>
举例:
GetOrderState?ordernumber=GODOT03000008M1711F7000000
这个命令将获得订单GODOT03000008M1711F7000000当前的状态
以下数字代表的订单状态将返还。数字代表的状态分别为:
句法:
GetOpenOrders?user=<userID>
返回:
<Orders><Order id= state= /><Order id= state= />(....)</Orders>
举例:
GetOpenOrders?user=GODOT
这个命令取出用户名订单状态的信息。状态包含了以下信息:
此命令也返回以下参数:
注意:对于期货代码,这个指令现在返回至显示价格而不是合同大小
这个命令会根据您设置的参数发送一个跟踪止损订单
句法:
SendTrailingStop?symbol=<symbol.ext> & limitprice=<float> & ordername=<copied from KeyboardSetup> & shares=<int> & referenceprice=<bid|ask|lastPrice|midPoint> & offsettype=<numeric|percentage|tickSize> & trailoffset=<number> & incrementtype=<none|numeric|percentage|tickSize> & trailincrement=<number> & priceadjust=<float> & stopprice=<float> & pegdifference=<float> & displaysize=<int> & displayrange=<int> & minexecsize=<int>
举例:
SendTrailingStop?symbol=_STW60.E1&limitprice=10.10&ordername=AUTE Buy AUTE Limit ANON DAY&shares=100&referenceprice=bid&offsettype=percentage&trailoffset=0.8&incrementtype=numeric&trailincrement=1
这个指令根据已设置的参数发送一个止损的条件订单。
语句:
<code>SendSwiftStop?symbol=<symbol.ext> & limitprice=<float> & ordername=<copied from KeyboardSetup> & shares=<int> & swiftstopprice=<float></code>
举例:
<code>SendSwiftStop?symbol=_STW60.E1&limitprice=10.10&ordername=AUTE Buy AUTE Limit ANON DAY&shares=100&swiftstopprice=10.08</code>
这个指令取出交易员当前的公开仓位,包括平均价格。
句法:
GetOpenPositions?user=<userID>
返回:
<Positions> <Symbol <data> />(....)</Positions>
句法:
GetOpenPositions?user=GODOT
这个指令将对某一代码,取消其所有的在通道中未成交的订单。前提是,交易员有此代码的一个仓位或一个未成交的订单,同时,该代码的所有条件订单也将被取消。
句法:
Flatten?symbol=<symbol.extension>
举例:
Flatten?symbol=ZVZZT.NQ
这个指令也可以用于多只股票:
举例:
Flatten?symbol=ZVZZT.NQ,ZWZZT.NQ,ZXZZT.NQ
这个指令也可以用于单个或者多个市场:
http://localhost:8080/Flatten?symbol=*.NQ
http://localhost:8080/Flatten?symbol=*.NQ,*.E1,*.TO
这个指令经理们也可以用于单个或者多个交易员:
Flatten?symbol=<symbol.ext> & trader=<trader>
举例:
http://localhost:8080/Flatten?symbol=ZVZZT.NQ&trader=DV101
http://localhost:8080/Flatten?symbol=ZVZZT.NQ,ZWZZT.NQ,ZXZZT.NQ&trader=DV101,DV102
http://localhost:8080/Flatten?symbol=*.NQ&trader=DV101
http://localhost:8080/Flatten?symbol=*.NQ,*.E1,*.TO&trader=DV101,DV102
注意:
该命令按照不同类别进行,例如按照交易员ID获取概览。
句法:
Get?type=tool&tool=<summary instance>&key=<layer & row combination>
举例:
Get?type=tool&tool=Summary_1&key=NCSA Equity^GODOT^F.NY
这个命令将输出一个CSV文档,文件名为 <用户名>_<工具名>.log。本例中将把交易员GODOT的Summary_1工具中,按Trader:Symbol层设置显示的在F.NY上的仓位输出。