Appearance
MT5CTP管理工具
UICTP是基于MT5CTP应用程序开发接口(API)开发的管理工具,本身是客户端的一款交易策略,可加载到任一图表窗口。UICTP提供了账户、CTP持仓、MT5持仓、挂单、报单和成交等信息显示窗口和适配期货交易管理功能的交易面板。
UICTP
UICTP窗口左右结构两个部分,左侧区域为信息显示区,右侧为报、撤单交易操作区,左侧最上面横列功能菜单,左侧下面横列显示信息的页面选择项。在UICTP的空白区域,鼠标右键菜单点击[停驻],UICTP界面可以弹出为浮动的独立窗口。

功能菜单
UICTP菜单栏比较简单,有[开户]、[管理]和[帮助]三项。
[开户]子菜单
- [Simnow账户申请(仿真)]-> 打开Simnow官方网站,进入账户申请页面。
- [关闭MT5CTP工具箱]-> 从图表卸载UICTP策略。UICTP窗口右上角的[x]图标,可实现同样功能。
关于 | Simnow
SimNow是上海期货交易所全资子公司上海期货信息技术有限公司(Shanghai Futures Information Technology Co., Ltd.)专为投资者打造的期货模拟仿真交易平台,为上海期货交易所投资者教育网认证的期货模拟仿真系统。该产品仿真各交易所的交易及结算规则研发,目前已经支持国内各期货交易所的期货业务。 SimNow能帮助投资者学习各家交易所的业务规则,熟悉交易原理,驾驭市场风险,提高交易实战技能,让投资者对投资胸有成竹!
[管理]子菜单
- [同步CTP柜台-资金]-> 查询CTP柜台资金,更新本地账户资金数据。
- [同步CTP柜台-持仓]-> 查询CTP柜台资金,更新本地账户持仓数据。
关于 | 同步CTP柜台
账户的持仓数据、资金数据均为本地根据报单、成交信息自行统计,如果出现与CTP柜台不一致的情况,可使用同步CTP柜台功能,查询CTP的账户资金和持仓数据,更新本地数据记录。
[帮助]子菜单
- [下载和更新]-> 打开MT5CTP网站,进入下载页面。
- [开发手册]-> 打开MT5CTP网站,进入开发手册页面。
页面切换和信息显示
UICTP呈现[账户资金]、[CTP持仓]、[MT5持仓]、[挂单]、[报单]和[成交]信息,分为6个页面分类显示。
账户资金
以表格形式显示账号、经纪公司、昨结算权益、动态权益、含权权益、可用资金、权利金、平仓盈亏、持仓盈亏、手续费、保证金、资金冻结、手续费冻结、入金、出金共15个数据项,每个登录CTP柜台的资金账户显示一条数据。
- 账号:登录CTP柜台的资金账号。
- 经纪公司:资金账户所属期货公司的BrokerID。
- 昨结算权益:期货实行当日无负债结算规则,交易日终结算后的账户权益,当前交易日不变。
- 动态权益:账户资金、期货持仓、盈亏、费用等汇总计算的权益,有期货持仓情况下,按持仓的最新价格动态计算更新。
- 含权权益:账户持有期权合约时,汇总期权动态市值和期货动态权益计算的账户的"实际权益"。含权权益=动态权益+期权市值。
- 可用资金:账户可用的结算保证金。持仓的合约的价格波动会影响可用资金,一般规则是浮动盈利不计入可用资金,但是浮动亏损会计入可用资金。
- 权利金:账户参与期权交易时,计算权利金的支出和收入数据。
- 平仓盈亏:期货平仓的盯市平仓盈亏,昨仓从昨结算价计算平仓盈亏,今仓从开仓价计算平仓盈亏。
- 持仓盈亏:期货持仓的盯市持仓盈亏,昨仓从昨结算价计算持仓盈亏,今仓从开仓价计算持仓盈亏。
- 手续费:成交手续费汇总,中金所股指期货的申报费也计入。
- 保证金:账户持仓的保证金占用,包括期货合约保证金和期权义务方的保证金。
- 资金冻结:包括期货开仓冻结保证金、期权义务方开仓冻结保证金、期权权利方开仓冻结权利金。
- 手续费冻结:期货、期权开平仓冻结的手续费。
- 入金:银期转账从银行账户转入期货资金账户的金额。
- 出金:银期转账从期货资金账户转入银行账户的金额。
关于 | 账户资金
- 合约连续交易时间,MT5CTP根据持仓合约的最新价格本地计算,动态更新资金账户数据,频率为1秒。
- MT5CTP盘中实时支持上期所、能源所和中金所的保证金优惠政策。
- MT5CTP盘中实时实时支持大商所、郑商所和广期所的期货对冲和跨期的保证金优惠。因为没有支持组合(拆分)交易,所以也没有支持更加复杂的组合保证金优惠。可能会导致显示的账户保证金占用与柜台数据不一致,影响关联的可用资金字段不一致,请务必注意。
- 交易时段盘中显示账户资金信息仅供参考,实际账户资金以交易所结算数据为准。
CTP持仓
以表格形式显示持仓索引、账号、经纪公司、合约、日期类型、买/卖、数量、价格、保证金、市场价、盯市盈亏、浮动盈亏,共12个数据项。CTP持仓显示账户的汇总持仓数据,与CTP柜台持仓同步。
- 索引:一条汇总持仓记录的持仓标识。
- 账号:汇总持仓所属的资金账号。
- 经纪公司:汇总持仓所属的期货公司BrokerID。
- 合约:汇总持仓的合约代码。
- 日期类型:汇总持仓的日期类型,分为昨仓和今仓。上期所和能源所的持仓有昨仓和今仓的分别,对应不同的报单指令,其他交易所的持仓统一显示为今仓。
- 买/卖:汇总持仓的方向,buy->买入开仓形成的持仓,sell->卖出开仓形成的持仓。
- 数量:汇总持仓的数量,包含平仓挂单冻结的数量。
- 价格:汇总持仓的均价,昨仓以昨结算价格为基础,今仓以开仓成交价为基础汇总计算。
- 保证金:汇总持仓的保证金占用。
- 市场价:汇总持仓合约的最新价。
- 盯市盈亏:汇总持仓中的昨仓以合约昨结算价计算,今仓以合约成交价计算汇总的盈亏,称为盯市浮动盈亏。
- 浮动盈亏:汇总持仓以合约成交价计算的盈亏,称为逐笔浮动盈亏。
关于 | CTP持仓
- 合约连续交易时间,MT5CTP根据持仓合约的最新价格本地计算,动态更新汇总持仓数据,频率为1秒。
- MT5CTP盘中实时支持上期所、能源所和中金所的保证金优惠政策。
- MT5CTP盘中实时实时支持大商所、郑商所和广期所的期货对冲和跨期的保证金优惠。因为没有支持组合(拆分)交易,所以也没有支持更加复杂的组合保证金优惠。可能会导致显示的汇总持仓保证金占用与柜台数据不一致,请务必注意。
- 交易时段盘中显示汇总持仓信息仅供参考,实际账户持仓数据以交易所结算数据为准。
MT5持仓
以表格形式显示持仓合约、订单号、时间、类型、交易量、价格、止损、止盈、最新价、盈利、Magic、注释、账号、经纪公司,共14个数据项。MT5持仓显示账户的分笔持仓信息,记录CTP持仓(汇总持仓)的形成过程,符合MT5客户端的规则,同时丰富了交易细节信息和管理功能。
- 合约:持仓的合约代码。
- 订单号:持仓的唯一识别号,MT5CTP本地定义,从65536开始递增。
- 时间:持仓的成交日期时间,如果有多笔成交,记录最后一笔成交的成交时间。
- 类型:持仓的方向,buy->买入开仓形成的持仓,sell->卖出开仓形成的持仓。
- 交易量:持仓的数量,包含平仓挂单冻结的数量。
- 价格:持仓的成交价。
- 止损:持仓的止损价,报单时可设定止损价,形成MT5持仓后也可修改止损价。
- 止盈:持仓的止盈价,报单时可设定止盈价,形成MT5持仓后也可修改止盈价。
- 市场价:持仓合约的最新对手价。
- 盈利:持仓以合约成交价计算的盈亏,同CTP汇总持仓的逐笔浮动盈亏。
- Magic:持仓魔幻数,报单时自定义的数值类型标识,成交后MT5CTP保留到持仓信息。
- 注释:持仓注释,报单时自定义的字符串类型标识,成交后MT5CTP保留到持仓信息。
- 账号:持仓所属的资金账号。
- 经纪公司:持仓所属的期货公司BrokerID。
关于 | MT5持仓
- 合约连续交易时间,MT5CTP根据持仓合约的最新价格本地计算盈利,动态更新MT5持仓数据,频率为1秒。与CTP持仓的逐笔浮动盈亏计算采用的价格不同,MT5持仓盈亏使用对手价计算。
- 止损、止盈功能均为本地执行,如果关闭了客户端,止损止盈目标将无法实现,务必注意,这与MT5规则和习惯不一致。止损止盈使用对手价触发,并使用反向涨、跌停板价报单,实际成交价格可能与设置的止损止盈价格不完全一致。
- MT5持仓数据保存在本地的SQLite数据库中,文件目录:\MQL5\Files\mt5ctp\,文件名:资金账户.期货公司代码.db。如果更换交易主机,需要将本地数据记录一并迁移。
- MT5持仓数据在交易服务退出CTP柜台时,自动保存。如果在关闭电脑主机时,客户端和交易服务在运行状态,MT5CTP将被强制关闭,导致MT5持仓数据来不及保存而丢失。务必在关闭电脑主机前先关闭客户端。
- 交易服务启动时,MT5持仓与CTP持仓自动对齐,如果缺少MT5明细持仓,MT5CTP的会补齐MT5持仓,MT5持仓持仓价格,昨仓使用昨结算价,今仓使用成交价。如果MT5持仓记录多于CTP汇总持仓,MT5CTP会删除多余的MT5持仓记录。
- 交易服务工作中,MT5持仓与CTP持仓实时同步,如果使用CTP持仓(汇总持仓)平仓或使用其他的软件平仓,MT5持仓的匹配规则是,先平没有Magic的持仓,然后按时间优先的规则匹配,即先开先平。
挂单
以表格形式显示索引、账号、经纪公司、合约、时间、买/卖、开/平、数量、剩余数量、价格、止损价、止盈价、触发价、触发条件、状态、信息共16个数据项。挂单指交易所或CTP柜台已经接收,但尚未全部成交的报单,包括限价单(报单在交易所的订单薄,等待成交)和条件单(报单在CTP柜台服务器上,等待触发)。挂单可使用撤单指令撤销报单。
- 索引:一条挂单(报单)记录的标识。
- 账号:挂单(报单)所属的资金账号。
- 经纪公司:挂单(报单)所属的期货公司BrokerID。
- 合约:挂单(报单)的合约代码。
- 时间:挂单(报单)信息更新时间。
- 买/卖:挂单(报单)的买卖方向,buy->买入,sell->卖出。
- 开/平:挂单(报单)的开平仓类型。
- 数量:挂单(报单)的数量。
- 剩余数量:挂单(报单)的尚未成交的数量。挂单可修改报单数量,MT5CTP实际执行规则:撤单后重新报单。
- 价格:挂单(报单)的价格。挂单可修改报单价格,MT5CTP实际执行规则:撤单后重新报单。
- 止损价:挂单(报单)中设定的止损价。挂单可修改报单数量,MT5CTP本地记录信息,无需撤单。
- 止盈价:挂单(报单)中设定的止盈价。挂单可修改报单数量,MT5CTP本地记录信息,无需撤单。
- 触发价:条件单的触发价。条件单可修改报单触发价,MT5CTP实际执行规则:撤单后重新报单。
- 触发条件:条件单的触发条件。条件单可修改报单触发条件,MT5CTP实际执行规则:撤单后重新报单。
- 状态:挂单(报单)的实时状态。
- 信息:挂单(报单)的实时状态信息。
报单
以表格形式显示索引、账号、经纪公司、合约、时间、买/卖、开/平、数量、剩余数量、价格、止损价、止盈价、触发价、触发条件、状态、信息、错误信息共17个数据项。报单是所有报单的信息记录,包括挂单和已成交、已撤销等历史报单。字段和意义同挂单信息一致。
关于 | 挂单&报单
- 报单页面仅用于显示历史报单信息而无法操作,挂单是工作中报单,可操作,包括修改和撤单。
- 报单和挂单信息当前交易日有效,之前交易日的报单信息,无数据显示。
- 报单中携带的部分信息,包括止损价、止盈价、订单号、自定义的数值类型标识(魔幻数)、自定义的字符串类型标识(报单注释),报单成交后自动代入MT5持仓信息中。
- 与CTP柜台同步,动态更新报单和挂单的状态。
成交
以表格形式显示索引、账号、经纪公司、合约、时间、买/卖、开/平、数量、价格、手续费、盯市盈亏、逐笔盈亏、盈亏点数、Magic、Comment共15个数据项。显示CTP柜台的逐笔成交信息。
- 索引:一条成交记录的标识。
- 账号:成交所属的资金账号。
- 经纪公司:成交所属的期货公司BrokerID。
- 合约:成交的合约代码。
- 时间:成交时间。
- 买/卖:成交的买卖方向,buy->买入,sell->卖出。
- 开/平:成交的开平仓类型。
- 数量:成交的数量。
- 价格:成交的价格。
- 手续费:成交的手续费。
- 盯市盈亏:成交的盈亏,昨仓以合约昨结算价计算,今仓以成本价计算。
- 逐笔盈亏:成交的盈亏,以合约成本价计算。
- 盈亏点数:指定MT5持仓ticket平仓,计算该持仓平仓的盈亏点数。
- Magic:指定MT5持仓ticket平仓,保留持仓的自定义的数值类型标识。
- Comment:指定MT5持仓ticket平仓,保留持仓的自定义的字符串类型标识。
关于 | 成交
- 成交信息中,手续费、盯市盈亏、逐步盈亏、盈亏点数、Magic和Comment字段值,MT5CTP计算并本地保存在SQLite数据库中,文件目录:\MQL5\Files\mt5ctp\,文件名:资金账户.期货公司代码.db。如果更换交易主机,需要将本地数据记录一并迁移(与[MT5持仓]本地保存规则一致)。
- 交易所的平仓规则是先开先平,盯市盈亏、逐步盈亏等数据是遵循交易所规则计算的平仓盈亏。MT5CTP指定平仓(MT5持仓)的盈亏数据自行汇总计算为盈亏点数,并在成交信息中代入MT5持仓的Magic和Comment信息。
- 交易品种手续费政策有所不同,有的品种平今仓优惠,有的品种平今仓惩罚,优惠和惩罚的执行规则是:手续费计算先平今仓后平昨仓。
- 手续费、盯市盈亏、逐笔盈亏数据由MT5CTP根据成交信息计算,仅供参考,以交易所结算数据为准。
交易操作
MT5CTP将CTP柜台合约映射为客户端的自定义合约,不可使用客户端的报单操作指令。UICTP提供了报单、撤单、改单的交互操作功能,用于账户和持仓的手动管理。交易操作界面与选中的[页面切换和信息显示}联动,四种样式自动切换。

基础

联动[CTP持仓]

联动[MT5持仓]

联动[挂单]
交易操作部分分为上、中、下三个区,上面是报单信息输入区,中间是报单操作区,下面是快捷操作区。快捷操作区联动[CTP持仓]、[MT5持仓]和[挂单],提供不同的快捷操作功能。
报单信息输入
- 资金账户:登录CTP柜台的期货公司资金账号标识。标识(real_ticket)编码规则:LonginIndex.UserID.BrokerID。如果仅有一个交易服务,信息自动填充。如果有多个交易服务,需要选择操作的资金账户。
- 合约代码:支持大小写自适应,报单合约有效,合约会自动加载到[市场观察栏]。
- 报单价格:与右侧选择框为一组,如果选择框不为空,自动填充合约的最新价。取消所有选择,可手动输入价格。输入的报单价格会按合约最小变动价位自动校正。
- 数量:与右侧的选择框为一组。输入的数量大于合约最大报单量限制会自动校正为最大报单量。
- 止损价&止盈价:报单时自定义的止损止盈。[MT5持仓]关联页面的止损止盈设置有效,非[MT5持仓]关联页面,不支持止损止盈设置。
报单操作
[MT5持仓]关联页面
- 买入:点击按[报单信息]买入开仓
- 卖出:点击按[报单信息]卖出开仓
- 删除MT5明细持仓记录(不是平仓):如果MT5持仓与CTP持仓不一致,可删除选中信息显示区的一条MT5持仓记录。特别注释:不是平仓,仅仅是删除本地的MT5持仓记录。
非[MT5持仓]关联页面
- 买卖方向:买入,卖出
- 开平类型:开仓、平仓、平今仓、自动开平
两个开平方向与四种开平类型组合,可有8中操作:买入开仓、卖出开仓、买入平仓、卖出平仓、买入平今仓、卖出平今仓、买入自动开平仓、卖出自动开平仓。
关于 | 报单操作
- 平今仓指令仅上期所和能源所支持。
- 指令内置报单信息检查,包括账户登录状态、合约交易状态、报单价格、报单数量等,报单信息未通过检查,MT5CTP拒绝报单到CTP柜台。
- 自动开平仓会检查报单信息和合约的反向持仓数量,如果报单量小于持仓量,则会执行平仓;如果报单量大于持仓量,则先平现有持仓,剩余部分开仓。
- 报单没有检查账户可用资金,如果资金不足,CTP会拒绝报单并返回可用资金不足的错误信息。
- 非[MT5持仓]页面,平仓时没有检查可用持仓,如果持仓可用数量小于报单平仓数量,CTP会拒绝报单并返回可平仓数量不足的错误信息。
- 报单信息区报单价格随最新价联动,但是报单时会按照价格选择使用最新价、对手价或者停板价。
快捷操作
快捷操作仅在[CTP持仓]关联页面、[MT5持仓]关联页面和[挂单]关联页面有效。有选择区和操作区两部分。
[CTP持仓]关联页面
- 选择区:同账户、同交易所、同品种、同合约、同方向。“同”是与左侧[页面切换和信息显示]区中选中CTP持仓信息比较,可对CTP持仓批量处理。
- 操作区:加倍、减半、平仓、锁仓、反手、止损止盈(已失效)。
如果没有使用选择区,仅对选中的一条CTP持仓进行快捷操作。
[MT5持仓]关联页面
- 选择区:同Magic、同交易所、同品种、同合约、同方向。“同”是与左侧[页面切换和信息显示]区中选中MT5持仓信息比较,可对MT5持仓批量处理。
- 操作区:加倍、减半、平仓、锁仓、同步(功能未开放)、止损止盈(组合选择无效)。
- 止损止盈指修改MT5持仓的止损止盈价格,[报单信息输入]信息区选择止损价或止盈价,并填写止损止盈价格信息后,点击止损止盈操作可修改持仓的止损止盈价格。止损止盈操作组合选择批量操作无效,仅对选中持仓有效。
如果没有使用选择区,仅对选中的一条MT5持仓进行快捷操作。
[挂单]关联页面
- 选择区:同账户、同交易所、同品种、同合约、同方向。“同”是与左侧[页面切换和信息显示]区中选中挂单信息比较,可对挂单批量处理。
- 操作区:改价(组合选择无效)、改量(组合选择无效)、撤单、镜像(功能未开放)、全撤、止损止盈(已失效)。
如果没有使用选择区,仅对选中的一条CTP挂单进行快捷操作。
关于 | 快捷操作
MTCTP提供的快捷操作,大多是组合操作,功能影响范围比较大,务必在仿真系统中反复测试,确保充分了解使用规则、组合影响范围和实际执行效果。