Skip to content

MT5CTP管理工具

UICTP是基于MT5CTP应用程序开发接口(API)开发的管理工具,本身是客户端的一款交易策略,可加载到任一图表窗口。UICTP提供了账户、CTP持仓、MT5持仓、挂单、报单和成交等信息显示窗口和适配期货交易管理功能的交易面板。

UICTP

UICTP窗口左右结构两个部分,左侧区域为信息显示区,右侧为报、撤单交易操作区,左侧最上面横列功能菜单,左侧下面横列显示信息的页面选择项。在UICTP的空白区域,鼠标右键菜单点击[停驻],UICTP界面可以弹出为浮动的独立窗口。

ui

功能菜单

UICTP菜单栏比较简单,有[开户]、[管理]和[帮助]三项。

[开户]子菜单

  1. [Simnow账户申请(仿真)]-> 打开Simnow官方网站,进入账户申请页面。
  2. [关闭MT5CTP工具箱]-> 从图表卸载UICTP策略。UICTP窗口右上角的[x]图标,可实现同样功能。

关于 | Simnow

SimNow是上海期货交易所全资子公司上海期货信息技术有限公司(Shanghai Futures Information Technology Co., Ltd.)专为投资者打造的期货模拟仿真交易平台,为上海期货交易所投资者教育网认证的期货模拟仿真系统。该产品仿真各交易所的交易及结算规则研发,目前已经支持国内各期货交易所的期货业务。 SimNow能帮助投资者学习各家交易所的业务规则,熟悉交易原理,驾驭市场风险,提高交易实战技能,让投资者对投资胸有成竹!

[管理]子菜单

  1. [同步CTP柜台-资金]-> 查询CTP柜台资金,更新本地账户资金数据。
  2. [同步CTP柜台-持仓]-> 查询CTP柜台资金,更新本地账户持仓数据。

关于 | 同步CTP柜台

账户的持仓数据、资金数据均为本地根据报单、成交信息自行统计,如果出现与CTP柜台不一致的情况,可使用同步CTP柜台功能,查询CTP的账户资金和持仓数据,更新本地数据记录。

[帮助]子菜单

  1. [下载和更新]-> 打开MT5CTP网站,进入下载页面。
  2. [开发手册]-> 打开MT5CTP网站,进入开发手册页面。

页面切换和信息显示

UICTP呈现[账户资金]、[CTP持仓]、[MT5持仓]、[挂单]、[报单]和[成交]信息,分为6个页面分类显示。

账户资金

以表格形式显示账号、经纪公司、昨结算权益、动态权益、含权权益、可用资金、权利金、平仓盈亏、持仓盈亏、手续费、保证金、资金冻结、手续费冻结、入金、出金共15个数据项,每个登录CTP柜台的资金账户显示一条数据。

  1. 账号:登录CTP柜台的资金账号。
  2. 经纪公司:资金账户所属期货公司的BrokerID。
  3. 昨结算权益:期货实行当日无负债结算规则,交易日终结算后的账户权益,当前交易日不变。
  4. 动态权益:账户资金、期货持仓、盈亏、费用等汇总计算的权益,有期货持仓情况下,按持仓的最新价格动态计算更新。
  5. 含权权益:账户持有期权合约时,汇总期权动态市值和期货动态权益计算的账户的"实际权益"。含权权益=动态权益+期权市值。
  6. 可用资金:账户可用的结算保证金。持仓的合约的价格波动会影响可用资金,一般规则是浮动盈利不计入可用资金,但是浮动亏损会计入可用资金。
  7. 权利金:账户参与期权交易时,计算权利金的支出和收入数据。
  8. 平仓盈亏:期货平仓的盯市平仓盈亏,昨仓从昨结算价计算平仓盈亏,今仓从开仓价计算平仓盈亏。
  9. 持仓盈亏:期货持仓的盯市持仓盈亏,昨仓从昨结算价计算持仓盈亏,今仓从开仓价计算持仓盈亏。
  10. 手续费:成交手续费汇总,中金所股指期货的申报费也计入。
  11. 保证金:账户持仓的保证金占用,包括期货合约保证金和期权义务方的保证金。
  12. 资金冻结:包括期货开仓冻结保证金、期权义务方开仓冻结保证金、期权权利方开仓冻结权利金。
  13. 手续费冻结:期货、期权开平仓冻结的手续费。
  14. 入金:银期转账从银行账户转入期货资金账户的金额。
  15. 出金:银期转账从期货资金账户转入银行账户的金额。

关于 | 账户资金

  1. 合约连续交易时间,MT5CTP根据持仓合约的最新价格本地计算,动态更新资金账户数据,频率为1秒。
  2. MT5CTP盘中实时支持上期所、能源所和中金所的保证金优惠政策。
  3. MT5CTP盘中实时实时支持大商所、郑商所和广期所的期货对冲和跨期的保证金优惠。因为没有支持组合(拆分)交易,所以也没有支持更加复杂的组合保证金优惠。可能会导致显示的账户保证金占用与柜台数据不一致,影响关联的可用资金字段不一致,请务必注意。
  4. 交易时段盘中显示账户资金信息仅供参考,实际账户资金以交易所结算数据为准。

CTP持仓

以表格形式显示持仓索引、账号、经纪公司、合约、日期类型、买/卖、数量、价格、保证金、市场价、盯市盈亏、浮动盈亏,共12个数据项。CTP持仓显示账户的汇总持仓数据,与CTP柜台持仓同步。

  1. 索引:一条汇总持仓记录的持仓标识。
  2. 账号:汇总持仓所属的资金账号。
  3. 经纪公司:汇总持仓所属的期货公司BrokerID。
  4. 合约:汇总持仓的合约代码。
  5. 日期类型:汇总持仓的日期类型,分为昨仓和今仓。上期所和能源所的持仓有昨仓和今仓的分别,对应不同的报单指令,其他交易所的持仓统一显示为今仓。
  6. 买/卖:汇总持仓的方向,buy->买入开仓形成的持仓,sell->卖出开仓形成的持仓。
  7. 数量:汇总持仓的数量,包含平仓挂单冻结的数量。
  8. 价格:汇总持仓的均价,昨仓以昨结算价格为基础,今仓以开仓成交价为基础汇总计算。
  9. 保证金:汇总持仓的保证金占用。
  10. 市场价:汇总持仓合约的最新价。
  11. 盯市盈亏:汇总持仓中的昨仓以合约昨结算价计算,今仓以合约成交价计算汇总的盈亏,称为盯市浮动盈亏。
  12. 浮动盈亏:汇总持仓以合约成交价计算的盈亏,称为逐笔浮动盈亏。

关于 | CTP持仓

  1. 合约连续交易时间,MT5CTP根据持仓合约的最新价格本地计算,动态更新汇总持仓数据,频率为1秒。
  2. MT5CTP盘中实时支持上期所、能源所和中金所的保证金优惠政策。
  3. MT5CTP盘中实时实时支持大商所、郑商所和广期所的期货对冲和跨期的保证金优惠。因为没有支持组合(拆分)交易,所以也没有支持更加复杂的组合保证金优惠。可能会导致显示的汇总持仓保证金占用与柜台数据不一致,请务必注意。
  4. 交易时段盘中显示汇总持仓信息仅供参考,实际账户持仓数据以交易所结算数据为准。

MT5持仓

以表格形式显示持仓合约、订单号、时间、类型、交易量、价格、止损、止盈、最新价、盈利、Magic、注释、账号、经纪公司,共14个数据项。MT5持仓显示账户的分笔持仓信息,记录CTP持仓(汇总持仓)的形成过程,符合MT5客户端的规则,同时丰富了交易细节信息和管理功能。

  1. 合约:持仓的合约代码。
  2. 订单号:持仓的唯一识别号,MT5CTP本地定义,从65536开始递增。
  3. 时间:持仓的成交日期时间,如果有多笔成交,记录最后一笔成交的成交时间。
  4. 类型:持仓的方向,buy->买入开仓形成的持仓,sell->卖出开仓形成的持仓。
  5. 交易量:持仓的数量,包含平仓挂单冻结的数量。
  6. 价格:持仓的成交价。
  7. 止损:持仓的止损价,报单时可设定止损价,形成MT5持仓后也可修改止损价。
  8. 止盈:持仓的止盈价,报单时可设定止盈价,形成MT5持仓后也可修改止盈价。
  9. 市场价:持仓合约的最新对手价。
  10. 盈利:持仓以合约成交价计算的盈亏,同CTP汇总持仓的逐笔浮动盈亏。
  11. Magic:持仓魔幻数,报单时自定义的数值类型标识,成交后MT5CTP保留到持仓信息。
  12. 注释:持仓注释,报单时自定义的字符串类型标识,成交后MT5CTP保留到持仓信息。
  13. 账号:持仓所属的资金账号。
  14. 经纪公司:持仓所属的期货公司BrokerID。

关于 | MT5持仓

  1. 合约连续交易时间,MT5CTP根据持仓合约的最新价格本地计算盈利,动态更新MT5持仓数据,频率为1秒。与CTP持仓的逐笔浮动盈亏计算采用的价格不同,MT5持仓盈亏使用对手价计算。
  2. 止损、止盈功能均为本地执行,如果关闭了客户端,止损止盈目标将无法实现,务必注意,这与MT5规则和习惯不一致。止损止盈使用对手价触发,并使用反向涨、跌停板价报单,实际成交价格可能与设置的止损止盈价格不完全一致。
  3. MT5持仓数据保存在本地的SQLite数据库中,文件目录:\MQL5\Files\mt5ctp\,文件名:资金账户.期货公司代码.db。如果更换交易主机,需要将本地数据记录一并迁移。
  4. MT5持仓数据在交易服务退出CTP柜台时,自动保存。如果在关闭电脑主机时,客户端和交易服务在运行状态,MT5CTP将被强制关闭,导致MT5持仓数据来不及保存而丢失。务必在关闭电脑主机前先关闭客户端。
  5. 交易服务启动时,MT5持仓与CTP持仓自动对齐,如果缺少MT5明细持仓,MT5CTP的会补齐MT5持仓,MT5持仓持仓价格,昨仓使用昨结算价,今仓使用成交价。如果MT5持仓记录多于CTP汇总持仓,MT5CTP会删除多余的MT5持仓记录。
  6. 交易服务工作中,MT5持仓与CTP持仓实时同步,如果使用CTP持仓(汇总持仓)平仓或使用其他的软件平仓,MT5持仓的匹配规则是,先平没有Magic的持仓,然后按时间优先的规则匹配,即先开先平。

挂单

以表格形式显示索引、账号、经纪公司、合约、时间、买/卖、开/平、数量、剩余数量、价格、止损价、止盈价、触发价、触发条件、状态、信息共16个数据项。挂单指交易所或CTP柜台已经接收,但尚未全部成交的报单,包括限价单(报单在交易所的订单薄,等待成交)和条件单(报单在CTP柜台服务器上,等待触发)。挂单可使用撤单指令撤销报单。

  1. 索引:一条挂单(报单)记录的标识。
  2. 账号:挂单(报单)所属的资金账号。
  3. 经纪公司:挂单(报单)所属的期货公司BrokerID。
  4. 合约:挂单(报单)的合约代码。
  5. 时间:挂单(报单)信息更新时间。
  6. 买/卖:挂单(报单)的买卖方向,buy->买入,sell->卖出。
  7. 开/平:挂单(报单)的开平仓类型。
  8. 数量:挂单(报单)的数量。
  9. 剩余数量:挂单(报单)的尚未成交的数量。挂单可修改报单数量,MT5CTP实际执行规则:撤单后重新报单。
  10. 价格:挂单(报单)的价格。挂单可修改报单价格,MT5CTP实际执行规则:撤单后重新报单。
  11. 止损价:挂单(报单)中设定的止损价。挂单可修改报单数量,MT5CTP本地记录信息,无需撤单。
  12. 止盈价:挂单(报单)中设定的止盈价。挂单可修改报单数量,MT5CTP本地记录信息,无需撤单。
  13. 触发价:条件单的触发价。条件单可修改报单触发价,MT5CTP实际执行规则:撤单后重新报单。
  14. 触发条件:条件单的触发条件。条件单可修改报单触发条件,MT5CTP实际执行规则:撤单后重新报单。
  15. 状态:挂单(报单)的实时状态。
  16. 信息:挂单(报单)的实时状态信息。

报单

以表格形式显示索引、账号、经纪公司、合约、时间、买/卖、开/平、数量、剩余数量、价格、止损价、止盈价、触发价、触发条件、状态、信息、错误信息共17个数据项。报单是所有报单的信息记录,包括挂单和已成交、已撤销等历史报单。字段和意义同挂单信息一致。

关于 | 挂单&报单

  1. 报单页面仅用于显示历史报单信息而无法操作,挂单是工作中报单,可操作,包括修改和撤单。
  2. 报单和挂单信息当前交易日有效,之前交易日的报单信息,无数据显示。
  3. 报单中携带的部分信息,包括止损价、止盈价、订单号、自定义的数值类型标识(魔幻数)、自定义的字符串类型标识(报单注释),报单成交后自动代入MT5持仓信息中。
  4. 与CTP柜台同步,动态更新报单和挂单的状态。

成交

以表格形式显示索引、账号、经纪公司、合约、时间、买/卖、开/平、数量、价格、手续费、盯市盈亏、逐笔盈亏、盈亏点数、Magic、Comment共15个数据项。显示CTP柜台的逐笔成交信息。

  1. 索引:一条成交记录的标识。
  2. 账号:成交所属的资金账号。
  3. 经纪公司:成交所属的期货公司BrokerID。
  4. 合约:成交的合约代码。
  5. 时间:成交时间。
  6. 买/卖:成交的买卖方向,buy->买入,sell->卖出。
  7. 开/平:成交的开平仓类型。
  8. 数量:成交的数量。
  9. 价格:成交的价格。
  10. 手续费:成交的手续费。
  11. 盯市盈亏:成交的盈亏,昨仓以合约昨结算价计算,今仓以成本价计算。
  12. 逐笔盈亏:成交的盈亏,以合约成本价计算。
  13. 盈亏点数:指定MT5持仓ticket平仓,计算该持仓平仓的盈亏点数。
  14. Magic:指定MT5持仓ticket平仓,保留持仓的自定义的数值类型标识。
  15. Comment:指定MT5持仓ticket平仓,保留持仓的自定义的字符串类型标识。

关于 | 成交

  1. 成交信息中,手续费、盯市盈亏、逐步盈亏、盈亏点数、Magic和Comment字段值,MT5CTP计算并本地保存在SQLite数据库中,文件目录:\MQL5\Files\mt5ctp\,文件名:资金账户.期货公司代码.db。如果更换交易主机,需要将本地数据记录一并迁移(与[MT5持仓]本地保存规则一致)。
  2. 交易所的平仓规则是先开先平,盯市盈亏、逐步盈亏等数据是遵循交易所规则计算的平仓盈亏。MT5CTP指定平仓(MT5持仓)的盈亏数据自行汇总计算为盈亏点数,并在成交信息中代入MT5持仓的Magic和Comment信息。
  3. 交易品种手续费政策有所不同,有的品种平今仓优惠,有的品种平今仓惩罚,优惠和惩罚的执行规则是:手续费计算先平今仓后平昨仓。
  4. 手续费、盯市盈亏、逐笔盈亏数据由MT5CTP根据成交信息计算,仅供参考,以交易所结算数据为准。

交易操作

MT5CTP将CTP柜台合约映射为客户端的自定义合约,不可使用客户端的报单操作指令。UICTP提供了报单、撤单、改单的交互操作功能,用于账户和持仓的手动管理。交易操作界面与选中的[页面切换和信息显示}联动,四种样式自动切换。

order1

基础

order2

联动[CTP持仓]

order3

联动[MT5持仓]

order4

联动[挂单]

交易操作部分分为上、中、下三个区,上面是报单信息输入区,中间是报单操作区,下面是快捷操作区。快捷操作区联动[CTP持仓]、[MT5持仓]和[挂单],提供不同的快捷操作功能。

报单信息输入

  1. 资金账户:登录CTP柜台的期货公司资金账号标识。标识(real_ticket)编码规则:LonginIndex.UserID.BrokerID。如果仅有一个交易服务,信息自动填充。如果有多个交易服务,需要选择操作的资金账户。
  2. 合约代码:支持大小写自适应,报单合约有效,合约会自动加载到[市场观察栏]。
  3. 报单价格:与右侧选择框为一组,如果选择框不为空,自动填充合约的最新价。取消所有选择,可手动输入价格。输入的报单价格会按合约最小变动价位自动校正。
  4. 数量:与右侧的选择框为一组。输入的数量大于合约最大报单量限制会自动校正为最大报单量。
  5. 止损价&止盈价:报单时自定义的止损止盈。[MT5持仓]关联页面的止损止盈设置有效,非[MT5持仓]关联页面,不支持止损止盈设置。

报单操作

[MT5持仓]关联页面

  1. 买入:点击按[报单信息]买入开仓
  2. 卖出:点击按[报单信息]卖出开仓
  3. 删除MT5明细持仓记录(不是平仓):如果MT5持仓与CTP持仓不一致,可删除选中信息显示区的一条MT5持仓记录。特别注释:不是平仓,仅仅是删除本地的MT5持仓记录。

非[MT5持仓]关联页面

  1. 买卖方向:买入,卖出
  2. 开平类型:开仓、平仓、平今仓、自动开平

两个开平方向与四种开平类型组合,可有8中操作:买入开仓、卖出开仓、买入平仓、卖出平仓、买入平今仓、卖出平今仓、买入自动开平仓、卖出自动开平仓。

关于 | 报单操作

  1. 平今仓指令仅上期所和能源所支持。
  2. 指令内置报单信息检查,包括账户登录状态、合约交易状态、报单价格、报单数量等,报单信息未通过检查,MT5CTP拒绝报单到CTP柜台。
  3. 自动开平仓会检查报单信息和合约的反向持仓数量,如果报单量小于持仓量,则会执行平仓;如果报单量大于持仓量,则先平现有持仓,剩余部分开仓。
  4. 报单没有检查账户可用资金,如果资金不足,CTP会拒绝报单并返回可用资金不足的错误信息。
  5. 非[MT5持仓]页面,平仓时没有检查可用持仓,如果持仓可用数量小于报单平仓数量,CTP会拒绝报单并返回可平仓数量不足的错误信息。
  6. 报单信息区报单价格随最新价联动,但是报单时会按照价格选择使用最新价、对手价或者停板价。

快捷操作

快捷操作仅在[CTP持仓]关联页面、[MT5持仓]关联页面和[挂单]关联页面有效。有选择区和操作区两部分。

[CTP持仓]关联页面

  1. 选择区:同账户、同交易所、同品种、同合约、同方向。“同”是与左侧[页面切换和信息显示]区中选中CTP持仓信息比较,可对CTP持仓批量处理。
  2. 操作区:加倍、减半、平仓、锁仓、反手、止损止盈(已失效)。

如果没有使用选择区,仅对选中的一条CTP持仓进行快捷操作。

[MT5持仓]关联页面

  1. 选择区:同Magic、同交易所、同品种、同合约、同方向。“同”是与左侧[页面切换和信息显示]区中选中MT5持仓信息比较,可对MT5持仓批量处理。
  2. 操作区:加倍、减半、平仓、锁仓、同步(功能未开放)、止损止盈(组合选择无效)。
  3. 止损止盈指修改MT5持仓的止损止盈价格,[报单信息输入]信息区选择止损价或止盈价,并填写止损止盈价格信息后,点击止损止盈操作可修改持仓的止损止盈价格。止损止盈操作组合选择批量操作无效,仅对选中持仓有效。

如果没有使用选择区,仅对选中的一条MT5持仓进行快捷操作。

[挂单]关联页面

  1. 选择区:同账户、同交易所、同品种、同合约、同方向。“同”是与左侧[页面切换和信息显示]区中选中挂单信息比较,可对挂单批量处理。
  2. 操作区:改价(组合选择无效)、改量(组合选择无效)、撤单、镜像(功能未开放)、全撤、止损止盈(已失效)。

如果没有使用选择区,仅对选中的一条CTP挂单进行快捷操作。

关于 | 快捷操作

MTCTP提供的快捷操作,大多是组合操作,功能影响范围比较大,务必在仿真系统中反复测试,确保充分了解使用规则、组合影响范围和实际执行效果。