MetaTrader 5客户端升级至868版本:图表上的交易事务和警报的推送通知
- 信号:新增信号源和订阅人账户之间无条件同步持仓的选项。如果启用此选项,在订阅人和信号源状态的初始同步期间,无需额外确认即可执行同步持仓(包括关闭与信号无关的持仓)。
当在VPS(虚拟专用服务器)上使用信号时,此选项是必需的。当使用已选信号时,它也可以用来提高同步的可靠性。
- 程序端:新增通过市场深度下单时自动设置警报的到期时间。
- 程序端:修正显示大点差交易品种时,以扩展模式展示市场深度。
- 程序端:修正Wine(Linux和Mac)中,程序端搜索结果的显示。
- MQL5: 删除图表图形物件中交易品种名称的无条件显示。
- MQL5:修正ConvertTimePriceToXY函数的表现 - 现在,如果无法正确计算则返回ERR_CHART_WRONG_PARAMETER 错误代码。
- MQL5:标准程序库。修正CIndicators::TimeframesFlags 类函数。
- MQL5:标准程序库。控件。现在,下拉列表总是显示在其他控件的顶部。
- MetaTester:修正在OnInit 入口点无限循环使用自定义指标时的测试终止。
- MetaEditor的:修正在文档中大量替换子字符串时引起的内存泄露错误。
- MetaEditor:修正添加OnTradeTransaction入口点的自定义指标生成向导的错误。
- 修正崩溃日志中报告的错误。
- 更新文档。
可通过LiveUpdate系统提供更新。
MetaTrader 5客户端升级至871版本
- MQL5:修正错误,防止测试把自定义指标作为资源EA交易。这个错误还发生在从MQL5市场下载的EA交易。
- MQL5:新增支持#if[n]def, #else和#endif的额外编译。
- MQL5:添加_DEBUG和_RELEASE宏。编译*.mq5时定义__MQL5__宏,而编译*.mq4时定义__ MQL4__宏。
- 市场:优化使用多个客户端副本时的MQL5市场工作。
- MetaTester:修正了测试指标时,显示标签和测试结果。
- MetaTester:修正当在“十字光标”模式下使用光标来衡量视觉测试模式下柱与柱之间距离时的消息提示的显示。
- MetaTester:修正完成测试时的服务器崩溃。
- 修正崩溃日志中报告的错误。
- 更新文档。
可通过LiveUpdate系统提供更新。
MetaTrader 5 客户端build 880:包含毫秒的程序端日志和MQL4BUILD/MQL5BUILD宏
- 程序端:时间在客户端,MetaEditor's和MetaTester's日志中以毫秒显示。
- 程序端:改进了模拟账户打开对话框的扫描和搜索服务器 - 扫描速度得到了提高,更多搜索也已经被添加到无连接的服务器的接入点。
- 程序端:修正和优化了客户端,MetaEditor和MQL5帮助。
- 程序端:origin.txt文件在程序端数据文件夹中自动生成。此文件包含数据文件夹对应的安装目录的路径。
- 程序端:修正了一些对话框,窗口和控件的帮助内容的显示。
- 程序端:修正了长时间连续操作过程中程序端的偶尔冻结(超过2-3天)。
- 程序端:修正了已保存客户帐户列表的偶尔丢失。
- 程序端:修正了日志中导致“包栏错误”消息的错误。
- 程序端:新增MetaTrader 5程序端和MQL5语言的土耳其语帮助。
- 市场:修正和优化了MQL5市场数据存储和更新。
- MQL5:修正了重载函数模板的错误。
- MQL5:新增__ MQL4BUILD__和__ MQL5BUILD__宏 - MQL5编译器版本在MetaTrader 4和MetaTrader 5客户端是分开的。这些宏可以用于显示用来编译客户端EA日志中的EX4 \\ EX5文件的编译器版本的有关信息:
//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- Print(__FILE__," compiled with ",__MQL5BUILD__," build"); //--- return(INIT_SUCCEEDED); }
- 信号:有类似主要部分(EURUSD)的几个交易品种,并且交易禁止任何一个交易品种的情况下,修正了外汇交易品种EURUSD <=> EURUSD.ABC的格式比较。
- 信号:修正了在用户帐户进行结余及信贷业务时的信号复制。执行结余/信贷业务后客户的资金总额已更改。如果事后信号复制的百分比值下降了超过1%(计算复制交易量要考虑用户和提供者结余的比率),该用户的帐户被强制与提供者的账户同步。这样做是根据新复制的百分比值以校正用户的当前持仓。
如果由于结余或信贷业务用户的资金有所增加,就不会强迫执行同步化。
- 信号:修正了全部执行或立即取消(FOK)的市场订单执行模式被禁止的情况下的复制持仓。
- MetaEditor:修正了插入非Unicode文本时的剪贴板工作。
- MetaEditor:修正了拖放移动文件夹时,滚动导航树。
- 修正了崩溃日志中报告的错误。
- 更新的文档。
可通过LiveUpdate系统提供更新。
MetaTrader 5 客户端 build 900
- 市场:在MetaTrader AppStore中增加了新的产品类别 - 杂志。现在,用户不仅可以快速轻松地购买交易应用程序还有交易和金融杂志。
就像MetaTrader 5应用程序一样,杂志也可以在MQL5.community市场以及直接通过MetaTrader 5程序端进行购买。所有的杂志都附有详细的说明和截图集:
最新的杂志期刊始终显示在展示栏,而以前的杂志可在存档选项中找到。
购买一份杂志,您应该有一个MQL5.com账户以及账户中必要的金额。帐户数据应该在程序端设置的社区选项卡中指定:
点击该杂志页面上的购买按钮来购买。出现购买确认对话框:
若要继续,请同意使用市场服务的规则,并输入您的MQL5.community密码。之后,指定的资金金额将从您的帐户扣除,该杂志将被下载。购买按钮,将被新建按钮取代。
杂志文件会下载到My Documents\MQL5 Market\Magazines\[Magazine name]\[Issue name]。下载可以在两种格式下进行:
- MQB - 这种保护的格式用于付费杂志。当购买和下载杂志文件时,它被编码,使得它只能在下载它的PC中打开。生成编码副本调用激活。每本杂志都可以在不同的硬件上至少激活5次。杂志卖家可以自行决定增加激活次数。
- PDF - 此格式用于免费杂志。下载后,这种文件可以在其他设备上移动和查看。
如果单击ОК,该文件相关联并且选择的杂志刊物在MetaViewer立即打开。如果您单击取消,只有杂志刊物被打开。
MetaViewer是一个方便的应用程序,用于浏览MQB和PDF格式的书籍和杂志。键盘箭头是用来翻页的:左右箭头 - 用于逐页的导航,而上下箭头 - 用于滚动。MetaViewer菜单和控制面板还包含额外的命令用于设置日志的查看和导航:
- 文件 - 打开文件和退出程序的命令。
- 查看 - 显示设置:界面语言,页面外观,启用控制面板和状态栏,以及页面旋转。
- 导航 - 导航命令:页面切换,移动最先,最后或选定的页面。
- 缩放 - 页面比例管理命令:放大缩小,调整高度,宽度与实际页面大小。
- 帮助 - 关于程序和有用链接的信息。
- 程序端:添加MQL标签到EX5文件属性。该选项卡包含该程序的图标,以及它的名字和通过适当的#property参数在应用程序源代码中指定的描述。
只有系统中注册MetaViewer以后标签才会出现。如果当前用户具有足够的权限并且用户帐户控制系统被禁止,那么更新后程序端第一次启动过程中MetaViewer会自动注册。否则,第一次尝试打开杂志过程中,用户将会看到一个请求一次性提高MetaViewer权限的对话窗口。
- 程序端:添加MQL5.community快速注册对话框,以防用户没有账户。现在,无需离开程序端即可创建一个MQL5.community帐户。
在注册窗口指定登录名和电子邮件地址。点击注册后,一封MQL5.community帐户激活的电子邮件会发送到指定的地址。
MQL5.community账户允许交易者使用附加的功能强大的服务:
- MetaTrader 5 AppStore - 用户可以购买MetaTrader 5应用程序或直接从程序端免费下载它们。MetaTrader 5 AppStore提供了数百个不同的应用程序并且它们的数量还在不断增加。
- 信号 - 用户可以订阅由专业交易商提供的交易信号并赚取利润。交易操作都是从供应商帐户自动复制到用户账户。该服务还允许销售您自己的交易信号。只需点击几下,交易账户就可以连接到监控系统。
- 工作 - 自由职业者的服务,允许客户能够安全地订购MetaTrader 4和5的应用程序的开发。该订单是由经验丰富的程序员执行。该服务还允许您通过开发客户订购的程序赚取利润。
- 程序端:新增关于各种订单类型的预付款收费标准的信息,以及可能包括交易品种的订单和持仓的点差列表,到交易品种数据对话框。
预付款比例:
每个订单类型会指定计算相对于预付款主要金额的所需预付款的乘数。预付款的主要金额根据指定的计算方法(外汇,差价合约,期货等)来计算。
- 买入持仓率
- 卖出持仓率
- 限价订单费率
- 止损订单费率
- 限价止损订单费率
所需预付款的计算在客户端的用户指南详细描述。
点差:预付款可以在优惠的基础上进行收取以防交易持仓彼此有点差。点差被定义为相关交易品种的方向相反的持仓的存在。降低所需预付款会为交易者们提供更多的交易机会。
点差有两种 - A和B。这两种是方向相反持仓的点差 - 买入或卖出。类型不与某个明确持仓方向(买或卖)连接。重要的是,所有类型交易品种的交易者持仓既是买入也是卖出。。
每一种点差可以设置几个含有自己交易量比率的交易品种。这些比率显示在括号中,例如,LKOH-3.13 (1)。
来看看下面的例子:
- А由分别具有1和2比例的GAZR-9.12和GAZR-3.13交易品种组成;
- В由比率为1的GAZR-6.13交易品种组成。
为了保持点差持仓,交易者应该在一个方向分别持一手和两手的GAZR-9.12和GAZR-3.13以及在另一个方向持一手的GAZR-6.13。
预付款栏显示在该点差下的预付款收取类型:
-
具体数值意味着在指定交易量下为一个点差收取固定预付款。第一个值指定初始预付款的交易量,而第二个指定维持的交易量。
-
最大值 - 为每一种点差计算初始和维持预付款的值。该计算是通过总结所有交易品种的所需预付款来执行的。值较大的所需预付款将用于点差。
-
CME间价差 - 指定预付款率(百分比值):第一个是初始预付款,而第二个是维持预付款。预付款总值将通过求和所有交易品种点差所需预付款和乘以指定比率和总值来定义的。
-
CME内价差 - 指定两个预付款增加值:第一个值是初始预付款,而第二个值是维持预付款。在计算过程中,会计算A交易品种总预付款和B交易品种总预付款之间的差额(使用绝对量的差异,因此,扣除哪一种都无所谓)。根据所计算出的预付款的类型,第一种(初始预付款)或第二种(维持预付款)的值被添加到所获得的差值。
每个单位点差会收取指定的预付款 - 指定的持仓组合。如果任何持仓部分不适合点差,它就会根据交易品种的设置通过额外的预付款来收取。如果客户当前持仓是几倍指定组合适合的交易量,收取的预付款也适当地增加。例如,假设1和2比率的A和B交易品种有价差。如果客户分别持有3和4交易量的这些交易品种,总预付款的大小等于点差设置的双倍值(双息差:1手A和2手B,1手A和2手B)加上单一剩余A交易品种手数的预付款。
点差在客户端的用户指南有详细描述。
- 程序端:修正了根据交易品种执行类型和允许的填充模式为市场交易请求设置填充政策类型。
- 程序端:修正了持仓对话框中的不正确SL和TP值的显示以防SL和TP水平持仓和“按点”设置水平。按点数的不正确的SL和TP水平值已提前插入到这些字段。新版本开始,无论什么水平设置模式,上述情况的值都以价格显示。
- 程序端:修正了当日交易历史记录偶尔的不完整显示。
- 程序端:降低了MQL5代码库和MQL5市场操作的内存消耗。
- 程序端:修正了使用搭载微软Windows 8或更高版本的触摸屏设备时,上下文菜单的工作。
- 市场:新增显示剩余激活次数的产品激活确认对话框。
MetaTrader AppStore购买的每个应用程序都提供额外的保护,因此,它只能在购买时下载的PC机上启动。生成编码副本调用激活。每个产品都可以在不同的硬件上至少激活5次。卖家可以自行决定增加激活次数。
新对话框可以通过通知用户有限数量来防止用户浪费激活数。
- MQL5:修正了通过序列初始化原始类型数组时的崩溃。
- MQL5:修正了使用#ifdef/#else/#endif条件编译宏工作时的错误。
- MQL5:MQL5语言编译器转移到MetaEditor。编译器将提供作为单独.exe文件的下载。
- 信号:新增有关账户订阅的信号信息,到导航窗口:
如果帐户订阅一个信号,它会显示信号名称的相应图标。当将鼠标光标放到名称上,则显示订阅到期日。快捷菜单包含用于查看信号和取消订阅的命令。后者只有当相应交易帐户目前在程序端处于活动状态时才会显示。
订阅图标使信号工作更加方便。
- 信号:新增净值,增长,结余和分布图的说明。此外,显示资金存取的标记也已被添加到净值图。当将鼠标光标移到结余操作三角上时,则显示总操作的工具提示:
- MetaEditor:修正了第一次编译后出现的代码编辑窗口中的损失。
- MetaEditor:修正了如果没有错误时编辑窗口到第一个警告的自动滚动。
- MetaEditor:修正强调源代码中预定义_DEBUG 和_RELEASE宏。
- MetaEditor:修正了如果禁用自动输入行缩进时的片段操作。
- 修正了崩溃日志中的错误报告。
- 已更新文档。
可通过LiveUpdate系统提供更新。
MetaTrader 5平台更新将于本周五2014年3月7日发布。更新包含以下变化:
MetaTrader 5 客户端build 910
- 程序端:修正了在Wine (Linux,Mac)工作时的错误和崩溃。
- 程序端:修正了缩放时江恩网格图解对象中心线的显示。
- MQL5:修正了下载.ex5文件时的偶尔的错误。
- MQL5:修正了StringToCharArray和StringToTime函数的操作。
- 修正了崩溃日志中报告的错误。
- 已更新文档。
MetaTrader 5平台更新Build 930:MetaTrader市场中的书籍
MetaTrader 5平台更新将于2014年4月11日,星期五发布。 它将包括以下更改:
- 市场:另一种新产品类别已被添加到MetaTrader AppStore的下列交易和金融杂志 - 书籍。现在,您可以根据自动交易和指标购买知名交易员和分析师的作品。书籍的范围每天都在增加。
就像MetaTrader 5 应用程序一样,书籍也可以在MQL5.community市场以及通过MetaTrader 5程序端直接购买。所有的书籍都配有说明和截图:
购买之前,您可以下载预览 - 一本书的前几页。可用的页面数由卖方确定。
要购买一本书,您应该有一个MQL5.com账户和必要的资金量。帐户数据应在程序端设置的Community选项卡中指定:
在书籍页面点击购买来购买。会出现购买确认对话框:
要继续,同意使用市场服务规则并输入您的MQL5.community密码。在此之后,指定的资金金额将从您的帐户扣除并且这本书将被下载。购买按钮将被打开按钮所取代。
书籍文件会下载到My Documents\MQL5 Market\Books\。下载可以在两种格式下进行:
- MQB - 这种保护格式用于付费书籍。当购买和下载书籍文件时,会对其编码使得它只能在其下载的PC中打开。生成编码副本被称为激活。每本书籍可以在不同的硬件上至少激活5次。书籍卖方可以自行决定增加激活次数。
- PDF - 此格式用于免费书籍和预览。下载后,这样的文件可以被移动并在其它设备上查看。
称为MetaViewer的特殊组件已被添加到的MetaTrader 5程序端允许用户查看书籍文件。MetaViewer是一个方便的应用程序用于浏览MQB和PDF格式的书籍和杂志。键盘箭头用于翻页:左右箭头 - 为逐页导航,而上下箭头 - 用于滚动浏览。
- 程序端:修正了缩放时斐波纳契扇形图形对象的水平显示。早期版本的版式可以被取代。
- 程序端:修正了在某些情况下阻止图形对象被绘制在图表上的一个错误。
- 程序端:修正了使用Wine(针对Linux和Mac OS)工作时的错误和程序端死机,包括打开用户指南时发生的崩溃。
- 程序端:更新界面的阿拉伯文翻译。
- 市场:修订了MetaTrader AppStore中的产品显示。应用程序,杂志和书籍提供新的设计:
- 市场:修正了来自市场的大文件的恢复下载(主要是杂志和书籍)。
- MQL5:更改的StringSplit函数操作。此前,使用';' 分隔符将";A;"字符串分成NULL和"A"子字符串。现在,它被分成"","A"和""子字符串。
- MQL5:修正了检查和跟踪参数和操作数恒定。
- 信号:复制信号时增加了交易品种允许交易模式的额外检查。如果信号到达一个只允许交易品种平仓的订阅者帐户,这将不再导致信号复制完全终止并强制平掉全部持仓。现在,如果持仓信号到达一个订阅者帐户,该平台会觉察到作为同步订阅者及供应商的账户的命令。对于平仓信号常规处理。
- MetaTester:新增法语,日语和阿拉伯语的界面翻译。更新德语,意大利语,波兰语,葡萄牙语,俄语,西班牙语,土耳其语和中文的翻译。
- MetaEditor:通过象形文字文本修正高亮和导航显示。
- MetaEditor:修正了MQL5应用程序分析过程中选择一个默认的交易品种。默认交易品种在MetaEditor选项的调试选项卡中指定。
- MetaEditor:修正了搜索结果中制表符的显示。此前,忽略制表符并且字符串内容无空格显示。
- 修正了崩溃日志中报告的错误。
- 已更新文档。
更新可以通过LiveUpdate系统得到。
MetaTrader 5 平台更新Build 965:智能搜索,OTP和账户间转账
MetaTrader 5平台更新将于2014年6月27日,星期五 发布。它包括以下变化:
- 程序端:完全修正了内置搜索。新搜索是一个智能强大的系统。搜索结果现在方便地分类排列。
当您输入您的搜索查询时,系统会立即提供可能的选项:
若要搜索曾经的一个查询,将光标放在框上并点击下拉箭头会打开查询历史记录。选择搜索区不再提供在搜索框,因为系统会自动选择最相关的结果,通过类别方便地排列它们:
为了更好的表示,搜索结果现在不仅包括文本,还包括文章,书籍和应用的标识。使用上层面板查看MetaTrader 应用商店产品,代码库,信号 ,MQL5.community论坛和文档的搜索结果。如果某个分类没有结果,会以灰色突出显示。
- 程序端:新增OTP身份验证功能。当使用交易账户时,使用OTP(一次性密码)提供了额外的安全级别。用户需要每次输入一个唯一的一次性密码来连接账户。
一次性密码生成在MetaTrader 5 iPhone移动端。相同的一次性密码生成选项不久也将添加到Android移动端。
如何启用OTP
要开始使用一次性密码,您应该绑定您的交易账户和密码生成器,即MetaTrader 5 移动程序端 iPhone版。使用OTP选项应该在交易服务器启动。转到移动程序端的设置并选择OTP。出于安全考虑,当这部分被第一次打开时,应该设置四位数的密码。每次都必须输入密码来访问密码生成器。
在打开的窗口中,选择“绑定账户”。
下一步,指定交易账户打开的服务器的名称,账户号和主密码。“绑定”应该保持启用。如果指定账户不从生成器绑定并且一次性密码停止使用,那则必须禁用。
您敲下位于窗口上方的“绑定”按钮后,交易将与生成器绑定,并且适当的信息将会出现。
同样,无限数量的账户可以绑定到生成器。
一次性密码显示在OTP部分的顶部。下面,一个蓝条可以看到密码的使用期。密码一旦超期,就不再有效,新密码将会生成。
其他命令:
- 更改密码 - 更改生成器密码。
- 同步时间 - 同步移动设备与涉及服务器的时间。精度要求与这一事实有关系,一次性密码绑定当前时间间隔,并且该时间应该与客户端和服务器端的相同。
在台式机程序端如何使用OTP
绑定交易账户和生成器之后,当从台式机程序端连接一次性密码时,将另外请求它:
- 程序端:在相同交易服务器中新增用于账户间转账的选项。只能从当前连接的账户转移资金。在“导航”窗口选择它并在快捷菜单点击“转移资金”。
在对话框中,选择资金需要转移的目标账户。转账金额在当前账户的入金货币中指定。它不可以超出当前结余和账户当期的可用预付款金额。
要转账,必须为两个账户指定主密码。如果转账的账户使用了OTP验证,那么应该另外指定一次性密码。
转移资金以结余操作的形式提供:当前账户的出金操作和接收账户的入金操作。-
转账选项可以在交易服务器上启用。根据设置,允许转账的账户间会有一些限制。特别是,资金转账可能只允许适用于相同名称和email的账户。
- 资金只能在同一个交易服务器同一类型的账户间进行转账。从一个真实账户,资金只能转到另一个真实账户,从一个模拟账户 - 只能转到模拟账户。
- 转移资金的账户,应该使用相同的入金货币。
-
- 程序端:新增在“导航”窗口更改任何交易账户密码的选项。之前,只可以更改当前连接的账户密码。
现在任何账户可以在“导航”窗口选择并且密码可以通过点击快捷菜单的适当命令来更改:
- 程序端:通过拖拽相关持仓的交易水平来设置图表上的SL和TP水平的可能性(使用拖拽)。将鼠标悬停在图表上的持仓水平上。点击鼠标左键并按住上下拖移水平。
对于买入持仓,向下拖拽允许设置止损,向上 - 获利。而卖出持仓反之亦然。当拖拽水平时,在该水平触动时可能发生的点形式和货币形式的盈利/亏损,会被显示。
- 程序端:更改“窗口”菜单中的命令位置。现在“平铺窗口”选项首先显示,热键Alt + R已经分配给该命令。该命令也已经添加到标准工具栏。
- 程序端:在“导航”中“指标”和“自定义指标”类别合并为一个“指标”类别。
所有自定义指标,示例,和从MetaTrader AppStore购买的指标现在都与内置的技术指标一起显示。内置的四类指标总是首先显示。
- 程序端:修正了“导航”的快捷菜单。
登录已经重命名为“登录到交易账户”。MQL5.community授权不仅可以通过程序端设置还可以通过“账户”部分及其子部分的快捷菜单来获得。
以下更改已经实现在账户的快捷菜单:
- 移动“打开账户”命令到首位。
- 新增“更改密码”功能。
- 新增“注册虚拟服务器”命令。
- 程序端:修正带有位于图表一个底角的定点的标签和位图标签图形对象的显示。
- MQL5:新增 WebRequest() 函数用于HTTP请求工作,允许MQL5程序与不同网站和网站访问进行互动。
新函数允许任何EA与第三方网站交换数据,执行基于最新新闻和经济评论条目的交易,实施分析,生成和发布自动报告,阅读最近报价和做许多其他之前只能通过使用第三方问题可靠性的DLL才能实现的事情。新功能对于交易人绝对安全,因为它们能够管理程序访问的可信网站列表。
WebRequest 函数使用GET和POST请求从网站发送和接收数据。新功能对于交易人绝对安全,因为它们能够管理程序访问的可信网站列表。
出于安全考虑,该选项默认禁用。
- MQL5:新增从MQL5应用访问信号数据库和管理信号订阅。
现在,用户可以接收信号列表,根据用户的标准评估他们,选择最好的一个,并自动从一个MQL5程序订阅它。事实上,这意味着定期查看可用的信号和订阅当时最合适的信号的新类自动交易的出现。
为此新的 信号管理函数 已经添加到MQL5语言:
- SignalBase*() — 访问信号数据库的函数。
- SignalInfo*() — 接收信号设置的函数。
- SignalSubscribe() 和 SignalUnsubscribe() — 订阅管理函数。
因此,用户不仅能复制交易还可以选择复制的信号。这两个过程都是自动的。
默认情况,出于安全考虑,自动交易不允许更改信号设置。要启用该函数,在EA交易设置中勾选“允许信号设置的更改”选项。
- MQL5:新增可通过 TerminalInfo* 函数得到的新的客户端属性:
- TERMINAL_MQID - 该属性表示在程序端设置中指定MetaQuotes ID。
- TERMINAL_COMMUNITY_ACCOUNT - 该属性表示在设置中指定MQL5.community账户。
- TERMINAL_COMMUNITY_ACCOUNT - 该属性表示在设置中指定MQL5.community账户。
- TERMINAL_COMMUNITY_BALANCE - MQL5.community 账户的结余值。
- TERMINAL_NOTIFICATIONS_ENABLED - 表示是否允许通过MetaQuotes ID发送通知。
- TERMINAL_MQID - 该属性表示在程序端设置中指定MetaQuotes ID。
- MQL5:新增使用密码算法的函数:CryptEncode()和CryptDecode()。这些函数使您能够加密和解密数据,例如,通过网络使用WebRequest()函数发送数据时。它们也允许您计算验证码而使数据归档。
函数签名:
int CryptEncode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]); int CryptDecode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]);
一个新枚举ENUM_CRYPT_METHOD 已经添加用于函数工作:
CRYPT_BASE64, // BASE64 encryption (re-encoding) CRYPT_AES128, // AES encryption with 128-bit key CRYPT_AES256, // AES encryption with 256-bit key CRYPT_DES, // DES encryption (key length is 56 bits - 7 bytes) CRYPT_HASH_SHA1, // calculation of HASH SHA1 CRYPT_HASH_SHA256, // calculation of HASH SHA256 CRYPT_HASH_MD5, // calculation of HASH MD5 CRYPT_ARCH_ZIP, // ZIP archive
- MQL5:新增更改MQL5程序属性对话框大小的选项。
- MQL5:新增调试模板功能的能力。
- MQL5:新增执行太慢的自定义指标的定义。如果指标很慢,日志中会出现“指标太慢”的条目。
- MQL5:修正 IsStopped() 函数的返回值。该函数用于决定强制停止自定义指标中的MQL5程序。之前,该函数经常返回FALSE。
- MQL5:修正通过数据类型确认MQL5程序的输入参数。特别是,uchar的参数类型,可以指定比255更大的值。
- MQL5:修正StringConcatenate()函数的一个错误。
- MQL5:修正可用于编写的函数的FileSize()函数。之前,函数返回不考虑最新写作操作的文件大小。
- MQL5:文件操作被修正。现在文件工作越来越快。
- 信号:修正了如果信号源交易品种价格的小数位数与订阅人不同的时候,交易持仓的SL和TP值的复制。
- 信号:修正了交易服务器上交易工具设置不正确的信号供应商的交易持仓复制。
- 信号:修正账户净值跌破信号复制参数指定的值时的关闭交易信号持仓。在某些情况下,平仓可能会导致程序端崩溃。
- MetaEditor:优化大型源文本文件的工作(数十兆)。提高操作速度并减少内存消耗。
- MetaEditor:修正使用 "Ctrl + -" 和 "Ctrl + Shift + -"通过源代码进行导航。
- 修正崩溃日志中报告的错误。
- 已更新文档。
更新将通过LiveUpdate系统提供。
MetaTrader 5 平台更新 Build 975:展示Expert ID
MetaTrader 5 平台更新将于2014年8月1日,星期五发布。它将包含如下变化:
- 程序端:新增展示EA设置的交易ID(幻数)。在持仓和订单列表,以及交易历史中,ID显示为工具提示。
- 程序端:优化使用大量的交易品种(成千上万)。
- 程序端:修正价格图表上的警告显示。警告的价格水平有时显示在指标的子窗口。
- 程序端:更新了中文,土耳其语和日语的界面翻译。
- 程序端:修正了在应用程序主菜单显示图表模板列表。
- 程序端:修正了在市场报价快捷菜单显示交易品种组列表。
- MQL5:修正了使用内置结构时偶尔中断IndicatorParameters 和 MarketBookGet 类函数操作的错误。
- MQL5:修正了从bool到string的类型转换。
- MQL5:修正了虚函数的使用。
- MQL5:修正EX5程序库中FileReadStruct 和 FileWriteStruct 函数的操作错误。
- MQL5:修正了评论中显示关键字时出现的编译器错误。
- Tester:修正了测试时库存费点数的计算。
- Tester:修正传递 #property tester_file定义的文件。如果文件在客户端的普通文件夹会发生错误。
- Tester:通过使用分布式计算的MQL5云网络的tester代理大大提高了最近云服务器的选择性。因此,他们的操作速度也会显著提升。
- MetaEditor:修正了MetaAssist提示列表崩溃时的文本替换。
- 修正了崩溃日志中报告的错误。
- 更新文档。
更新将通过LiveUpdate 系统提供。
MetaTrader 5 平台更新Build 1010:新的信号,市场和期权
MetaTrader 5平台更新版将于2014年10月31日,周五发布。 它将包含如下变化:
MetaTrader 5 客户端 build 1010- 信号:完全重新设计了信号展示。添加了新功能,并改进了信号服务的设计和实用性。
信号列表中的新功能:- 信号列表现在包括类似于MQL5.community 网站上展示的增长图表。图表左下角的绿色图标表明这是基于真实账户的信号。
- 现在可以直接从列表订阅信号。若要订阅信号,请点击价格指示的按钮(或如果是免费信号,点击单词'免费')。这将打开一个订阅确认对话框。
- 现在信号可以添加到收藏夹中。点击信号行后面的星图标。之后,信号就可以很容易地在"收藏夹"标签中找到。
- 快捷菜单已移除。现在若要找到您想订阅的信号,请转到任何信号。前面板显示您订阅的信号和其链接。
信号视图页面已经更新。新的期权允许向收藏夹添加信号。当鼠标指针悬停在"增长"时会显示信号账户的状态。
信号统计扩展:- 订阅人资金总额。
- 交易账户从第一笔交易操作开始的使用期。
- 平均持仓时间。
新选项卡:- 风险 - 关于最佳和最差交易操作和一系列操作的信息,和跌幅的信息。
- 评论 - 信号订阅人评论。
- 新闻 - 通过这个选项卡,信号提供商可以通知订阅人信号的任何变化和发出其他有用的信息。
- 市场:修复MetaTrader AppStore中的产品展示。应用程序,杂志和书籍都得到了新的设计。新期权允许向收藏夹添加产品。在产品查看模式点击星图标。之后,产品就可以很容易地在"收藏夹"标签中找到。
- 程序端:程序端现在具有期权板和波动图的功能。交易期权的实施工具目前正在进行中。期权策略的分析工具将会在下一版本中添加。
期权板
期权板显示一系列“基础”字段选择的基于基础资产截止日期(期权的类)的期权。期权显示以下选项:- Bid CALL - 看涨期权的卖价。
- Ask CALL - 看涨期权的买价。
- Theo CALL - 基于历史数据计算指定的行使价,看涨期权的理论(公平)价格。
- Strike - 期权执行价格。
- Volatility - 隐含的波动率。它被指定为一个百分比,反映市场参与者对期权基础资产价值的预期。
- Theo PUT - 基于历史数据计算指定行使价,看跌期权的理论价格。
- Bid PUT - 看跌期权的卖价。
- Ask PUT - 看跌期权的买价。
波动图
期权行使价沿着图表的水平轴显示,而隐含波动率沿着纵轴显示。 - Bid CALL - 看涨期权的卖价。
- 程序端:在接入点列表中新增ping值的显示。
- 程序端:程序端界面已经适应了高分辨率屏幕 - 全高清和更高。菜单,工具栏,窗口标题和状态栏现在都已足够大,以便在Windows平板电脑的触摸屏上查看和工作。
- 程序端:新增在"查看"菜单和工具栏中管理交易品种的命令。现在访问交易品种的设置是从未有过的轻松:
- MQL5:新增宏参数到字符串的转换和宏参数的连接。下面是个示例,其中宏的连接允许组织自动删除类实例。
//+------------------------------------------------------------------+ //| MacroExample | //| Copyright 2014, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property script_show_inputs input bool InpSecond=true; #define DEFCLASS(class_name) class class_name:public CBase{public:class_name(string name):CBase(name){}}; #define TOSTR(x) #x #define AUTODEL(obj) CAutoDelete auto_##obj(obj) #define NEWOBJ(type,ptr) do { ptr=new type(TOSTR(ptr)); \ Print("Create object '",TOSTR(type)," ",TOSTR(ptr),"' by macro NEWOBJ"); } \ while(0) //+------------------------------------------------------------------+ //| The basic class required for automatic deletion of objects | //+------------------------------------------------------------------+ class CBase { protected: string m_name; public: CBase(string name):m_name(name) { } string Name(void) const{ return(m_name); } }; //+------------------------------------------------------------------+ //| The object auto-delete class makes watching of created | //| objects unnecessary. It deletes them in its destructor | //+------------------------------------------------------------------+ class CAutoDelete { CBase *m_obj; public: CAutoDelete(CBase *obj):m_obj(obj) { } ~CAutoDelete() { if(CheckPointer(m_obj)==POINTER_DYNAMIC) { Print("Delete object '",m_obj.Name(),"' by CAutoDelete class"); delete m_obj; } } }; //+------------------------------------------------------------------+ //| Declaring two new classes CFoo and CBar | //+------------------------------------------------------------------+ DEFCLASS(CFoo); DEFCLASS(CBar); //+------------------------------------------------------------------+ //| The main script function | //+------------------------------------------------------------------+ void OnStart() { CFoo *foo; //--- Creating an object of the CFoo class NEWOBJ(CFoo,foo); //--- Creating an instance of the CFoo foo object auto-deletion class AUTODEL(foo); //--- if(InpSecond) { CBar *bar; //--- NEWOBJ(CBar,bar); AUTODEL(bar); } //--- No need to delete foo, it will be deleted automatically } //+------------------------------------------------------------------+
- MQL5:新增OBJPROP_ANCHOR 属性用于"位图" 和 "位图标签"对象。属性定义图表上的图形对象的定位点:左上角,中间居左,左下角,底部中心等等。
- MQL5:在ChartGetInteger函数新增阅读CHART_BRING_TO_TOP 图表属性(该图表位于所有其他图表之上) 。
- MQL5:修正编译和生成三元运算符"?"。
- MQL5:修正传递类成员的静态数组。
- MQL5:修正应用模板于模板构造函数类成员的初始化列表。
- 信号:信号订阅的限制变得更温和:
如果信号的交易历史包含订阅人程序端不提供的交易品种,则现在允许订阅(在之前的版本是禁止的)。订阅人没有交易品种的持仓行为被忽略。下面的日志会显示在日志栏中:2014.08.26 16:44:29.036 '2620818': 信号 - 交易品种 GBPNZD 无法找到如果订阅人拥有持仓和/或挂单,要求关闭/删除它们的警告对话框就会出现(如从前)。然而,现在,这不是继续处理信号的必要条件。
信号提供者的同步将被执行。不基于订阅信号打开的持仓和订单保持不变。用户可以用它们执行任何操作。
通过签署信号,用户现在可以手动执行交易操作(或使用EA交易)。信号服务将忽略交易者打开的仓位和订单。请记住手动下单会影响交易账户的可用预付款的数额。手动持仓相较于信号提供者的账户会提高账户的总负荷。 - 信号:新增支持浮点复制交易量的百分比。信号复制交易量的最小百分比已经从1%减少到0.001%。
- Tester:修正使用MQL5 云网络工作时,冻结测试代理。
- Tester:修正以点数计算库存费,用于交易持仓的最小交易量。
- MetaEditor:修正"导航向前"和"导航向后"的命令的热键。
- MetaViewer:修正工具栏的页面导航。
- MetaViewer:修正基于当前界面语言的文本搜索。
- 修正崩溃日志中报告的错误。
- 文档已更新。
更新将通过LiveUpdate系统提供。
MetaTrader 5 平台更新 Build 1035:选择策略生成器和访问订单号
MetaTrader 5平台更新将于2014年12月12日,星期五发布。 它将包含如下变化:
- 程序端:实现交易功能的选项目前正在进行中。选项策略生成器已经添加。它帮助用户把不同的选项合并在一个投资组合中,并评估可能性和潜在风险。
该生成器易于使用:交易者在失效日期和相关资产的基础上选择选项,然后从30多个可用策略中选择一个策略。生成器显示了适当的选择组合并计算了评估参数 - 即所谓的 Greeks。利润/亏损图表和基于图表的Greeks将显示在窗口底部。
除了大量的内置策略以外,交易者还可以创建和保存他们自己的策略,供以后使用。
- 程序端:添加显示过去24小时收到的时事通讯的数量。
- 程序端:优化和加速同步交易订单和成交交易的大量历史记录。
- 程序端:修正在一个图表子窗口推出多个自定义指标。
- 程序端:修正重新计算比尔威廉姆斯市场便利指数,用于变化的图表周期。
- 程序端:修正“工具箱窗口”的最小化。
- 程序端:修正生成FTP发布的账户状态报告。
- 程序端:更新用户界面的德语翻译
- 程序端:添加用户界面的希腊语和乌兹别克斯坦语的翻译
- MQL5:用于订单号历史工作的新函数CopyTicks。该函数用于接收当前会话中,程序端累积的订单号数组。深度限制在最近的2000 个订单号。
该新函数扩展了开发scalping自动交易的可能性。OnTick函数并不处理每一个订单号, 它只是通知市场变化的EA交易。它可以有一系列变化:程序端可以同时处理几个订单号,但OnTick将只能调用一次,来通知最新市场状态的EA。 CopyTicks 函数允许您接收和分析所有订单号。
如果指定了'自'的值,或基于使用'计数'的值的数字,那么订单号可以根据日期来请求。如果没有参数被指定,可以收到所有可用的订单号,但是不会超过2000个。也可以基于订单号类型,使用 'flags' 参数来请求订单号。可用的值:
- COPY_TICKS_ALL - 所有订单号。
- COPY_TICKS_INFO - 只有信息订单号 (卖价和买价)。
- COPY_TICKS_TRADE - 只有交易订单号 (收盘价和交易量)。
- COPY_TICKS_ALL - 所有订单号。
- MQL5:添加使用数组参数重载模板函数的选项。
- MQL5:添加根据恒常性重载方法的选项。
- MQL5:新增在图表上点击鼠标右键生成CHARTEVENT_MOUSE_MOVE事件(在OnChartEvent 接入点)。
- MQL5:修正了如果条件含有负值情况下的Switch操作符的函数。
- MQL5:提高ObjectGetValueByTime() 和 ObjectGetTimeByValue()函数的计算精度,用于接收指定对象时间的价格值,反之亦然 - 价格的时间值。
- Tester:在MetaTrader AppStore 购买的MQL5程序现在可以在MQL5 云网络 代理和远程代理上测试和优化。
- Tester:修正计算少于1手持仓的库存费点数。
- Tester:修正在“市场执行”类型持仓交易工具时,止损和获利水平的检查和正常化。
- Tester:修正ObjectGetValueByTime 函数的行为。在某种情况下,tester的函数行为可能不同于其在程序端的行为。
- MetaEditor:修正调试和分析循环程序时的MetaEditor崩溃。
- MetaEditor:添加用户界面的希腊语和乌兹别克斯坦语的翻译
- 修正崩溃日志报告的错误。
- 文档已更新。
此更新将通过LiveUpdate系统提供。
MetaTrader 5客户端升级至858版本:图表上交易事务和警报的推送通知
在下一周,我们将发布MetaTrader 5的更新。发布更新后,我们会发布包含完整变更列表和版本号的额外新闻。计划进行如下变更:
当允许管理图表交易水平时,通过拖拽到新价格线来改变警报价格值。使用图表上相应水平的快捷菜单可以禁用或移除警报。
首先,以下条目是必须的
MetaTrader 4 和 MetaTrader 5上的MQL5
取代MQL4 -> MQL5兼容性的工作,我们已经决定反其道而行之。我们已经转移了最大数量的MQL5语言函数并且最大限度的保留MQL4函数。换句话说,所有功能强大的 MQL5函数,包括OOP和本地代码编译器,在MQL4中都将成为可能。要实现这一点,我们已经开发了统一的编译器,可以自动支持MQL4和MQL5两种 语言。MetaEditor也将成为MetaTrader 4和MetaTrader 5两个平台的统一应用程序。因此,将有可能从任何版本编译MQL4和MQL5。
MQL5存储与MetaTrader 4
开发者管理源代码版本,参与团队操作和同步文件将变得更加轻松。
提高MetaTrader 4中应用程序代码的安全性
新版EX4/EX5文件,较旧版EX4而言,提供了严肃且彻底修正的保护。
MetaTrader 4应用程序市场
过渡到新的编译器,支持适用于每个用户电脑的资源和传统保护,允许用户开发和出售全面应用。无需担心保护通过市场出售的EX4/EX5文件 - 他们不包含字节代码,只包括私钥签署的纯粹的原生代码。该解决方案整理现有程序的多样性并保护卖家。
通过LiveUpdate系统提供更新。