A trading robot performance can be tested in the Strategy Tester before your decision to run it on a real account. Startegy Tester is a powerful tool that allows you to test the efficiency of your trading application and select the best parameters for it.
You have just registered and most likely you have questions such as, "How do I insert a picture to my a message?" "How do I format my MQL5 source code?" "Where are my personal messages kept?" You may have many other questions. In this article, we have prepared some hands-on tips that will help you get accustomed in MQL5.community and take full advantage of its available features.
检测到的错误 或完全停止在市场上发布任何进一步的产品。所有被删除的产品的买家仍然可以在可用的激活数量内下载并安装到他们的MetaTrader平台上。
从市场展示中删除的产品不会影响买方使用付费和租赁产品的能力 - 所有买方仍然可以在可用的激活数量内将被删除的产品下载并安装到他们的MetaTrader平台上。由于工作程序和与产品卖方的互动,行政部门可以在不通知买方的情况下从市场展示区删除任何产品,时间不限。
政府可以从市场展示中删除一个产品,以进行额外的检查,或在卖方没有回应政府的要求的情况下。被删除的产品的所有买家仍然可以在可用的激活数量内下载并安装到他们的MetaTrader平台上。
============
以管理员身份运行Metatrader - 问题
产品。
如果您正常启动MT4(不以管理员身份运行),您将无法附加您之前以管理员权限购买的指标/专家顾问/脚本,即使是同一台电脑,同一台MT4,在导航器中显示在市场下。
另外,如果您的市场项目在一个MT4装置上激活,而在另一个MT4终端上没有激活(比如您有两个经纪商),这可能是一个以管理员身份启动,而不是另一个,您需要再次激活。
当然,反过来也会发生这种情况。购买了正常权限的项目,不能在管理员模式下运行。管理员模式购买的产品不能在正常模式下运行。
因此,当以 "以管理员身份运行 "启动您的MT4时要非常小心。不要购买任何物品,除非你一直并将一直在同一台电脑上以管理员权限运行任何终端.exe。
点子走了,哈。
关于交易、自动交易系统和测试交易策略的论坛
如何开始使用Metatrader 5
Sergey Golubev, 2019.10.10 10:48
我刚刚发现关于如何解决这个问题。
请到Metatrader的日志中查看建议。

而我用这个链接安装了最新的IE浏览器:
https://www.microsoft.com/en-us/download/internet-explorer-11-for-windows-7-details.aspx
,我得到了市场标签 -
----------------
所以,如果你在Metatrader的最新版本中没有看到市场选项卡(或者如果你在这个市场选项卡上出现错误)--安装(或重新安装)Internet Explorer到最新版本(例如11版本)。
关于交易、自动交易系统和测试交易策略的论坛
产品激活崩溃
Rashid Umarov, 2021.06.03 09:42
在Windows操作系统中,不同的授权方式提供不同的系统配置。
1.由一个普通用户进行授权
2.由管理员授权
3.通过远程访问授权(即使选择了上述两个账户之一)。
因此,这些情况中的每一种都需要单独的产品激活,即使Windows版本没有改变,也没有进行硬件更新。检查你的登录方式。
Metatrader 5今天更新了新版本。
关于交易、自动交易系统和测试交易策略的论坛
如何开始使用Metatrader 5
Sergey Golubev, 2016.11.30 21:14
推送通知。阅读这个小线程 的解释。
关于交易、自动交易系统和测试交易策略的论坛
新MetaTrader 5平台Build 1640:创建和测试自定义符号
MetaQuotes软件公司。, 2017.07.19 18:15
新MetaTrader 5平台Build 1640:创建和测试自定义符号
MetaTrader 5平台更新将于2017年7月21日发布。该更新将有以下变化。
- 终端。现在可以在终端创建自定义金融工具。使用新的选项,你可以创建任何符号,配置其设置,将你的价格数据导入到符号中并查看其图表。
自定义符号的名称必须与经纪商提供的符号名称不一致。如果您连接到服务器,其中存在相同名称的符号,自定义符号将被删除。
这里也有导入和导出参数的命令。你可以轻松地在你的终端之间分享自定义符号或转移符号。设置被导出为JSON文本文件。

- Separator - 文本文件中的元素分隔符。
- Skip columns and rows - 在导入时要跳过的列(从左到右)和行(从上到下)的数量。
- Shift - 以小时为单位的时间转移。该选项在导入保存在不同时区的数据时使用。
- 只使用选定的--只导入在行视图区域突出显示的行。你可以在按住Ctrl或Shift的同时用鼠标突出显示行。
2016.06.27 00:01:00 1.10024 1.10136 1.10024 1.10070 18 54000000 44
你可以为你的自定义符号使用任何现有工具的数据。导出数据(该选项是在以前的平台版本中添加的),如有必要,可对其进行修改,然后将数据导入。
在MetaTrader 5中,价格历史是以一分钟条形图的形式存储的。所有其他时间段都是基于这些条形图创建的。你也可以导入更高的时间段的数据,但在这种情况下,较低时间段的图表会有空隙。例如,如果你导入一小时的数据,每小时将在M1图表上显示一个条形。
自定义符号的价格数据被保存在一个单独的自定义目录中(不在交易服务器数据的目录中):
C:\Users\[windows account]\AppData\Roaming\MetaQuotes\Terminal\[instance id]\bases\Custom
- 首先,搜索AUDUSD.custom(用于计算保证金)和USDCAD.custom(用于计算交易利润)的符号。
- 如果这些符号中的任何一个不存在,则搜索对应于必要货币对名称的第一个符号(分别为AUDUSD和USDCAD)。例如,AUDUSD.b和NZDUSD.b符号已经被找到。这意味着他们的汇率将被用于计算保证金和利润。
- 检查是否存在对应于GBPCHF(英镑对瑞士法郎)的交易符号。
- 如果不存在这样的符号,则搜索与GBPCHF名称相对应的第一个交易符号,例如GBPCHF.b或GBPCHF.def。
- 终端。增加了按成交量过滤时间和销售的功能。
- 终端。增加了一个将市场深度绑定到活动图表的选项。每次您切换到一个金融工具的图表,同一工具将在市场深度窗口中自动启用。因此,你不需要为每个新符号打开市场深度窗口。

- 终端。在最小化和最大化终端窗口后,固定刷新工具条。
- 终端。如果交易和仓单重叠,固定生成仓单交易历史。
- MQL5。增加了一个在价格历史上分析MQL5程序的选项。此选项允许检查程序的性能,而不需要等待新的刻度线。

- MQL5。增加了对联合 的支持。联合是一种特殊的数据类型,由共享同一内存区域的几个变量组成。因此,联合提供了以两种(或更多)不同的方式解释同一比特序列的能力。联盟声明以 "union "关键字开始。
- MQL5。为结构和类的对象增加了自动生成隐式复制运算符。现在,编译器自动创建复制运算符,这允许为对象编写简单的条目,如b=a:
- 如果一个成员是一个对象,这个对象的相应的复制操作被调用。
- 如果一个成员是一个对象的数组,在为每个元素调用相应的复制操作之前,使用ArrayResize将接收数组增加或减少到所需的大小。
- 如果一个成员是一个简单类型的数组,则使用ArrayCopy函数进行复制。
- 如果一个成员是一个对象的指针,则复制该指针而不是它所指向的对象。
- MQL5。当使用Copy*函数 从专家顾问系统访问价格历史时,优化了内存使用。在处理大量数据时,内存消耗将成倍减少。
- MQL5。现在,TimeToStruct 函数返回一个布尔值,允许检查日期时间到MqlDateTime 的转换是否成功。
- MQL5:增加了禁止使用FileWriteStruct 和FileReadStruct 函数来处理含有字符串、动态数组、对象和指针的结构。
- MQL5。增加了以下响应代码:
- TRADE_RETCODE_REJECT_CANCEL - 激活挂单的请求被拒绝,订单被取消
- TRADE_RETCODE_LONG_ONLY - 请求被拒绝,因为该符号的规则是 "只允许多头 "
- TRADE_RETCODE_SHORT_ONLY - 该请求被拒绝,因为 "只允许空头 "的规则被设置为符号
- TRADE_RETCODE_CLOSE_ONLY - 请求被拒绝,因为符号
- MQL5。增加了带有SYMBOL_ORDER_MODE 参数的SymbolInfoInteger 函数的新返回值。SYMBOL_ORDER_CLOSEBY - 平仓操作的权限,即通过一个相反的开仓头寸来平仓。
- MQL5:SYMBOL_CUSTOM布尔属性已被添加到ENUM_SYMBOL_INFO_INTEGER枚举中。该属性允许找出符号是否是自定义的。使用SymbolInfoInteger 函数来获取该属性。
- MQL5。现在可以获得创建订单、交易或头寸的原因。
- 增加了新的位置属性POSITION_REASON;可以使用PositionGetInteger 获得。
- 新的交易属性DEAL_REASON 已经被添加;它可以通过HistoryDealGetInteger 获得。
- 增加了新的订单属性ORDER_REASON;它可以通过OrderGetInteger 和HistoryOrderGetInteger 获得。
enum_position_reason enum_deal_reason(交易原因)。 enum_order_reason 原因描述 位置_原因_客户 交易原因客户 订单原因_client 该操作是由于激活了从桌面终端发出的订单而执行的。 position_reason_mobile 交易_移动 手机订单 该操作是由于激活了一个来自移动应用程序的订单而执行的。 position_reason_web 交易_网络 网络订单 该操作是由于激活了一个来自网络平台的订单而执行的。 专家职位_原因_专家 交易专家 订单_专家 该操作被执行,因为激活了从MQL5程序(即专家顾问或脚本)下的订单。 - DEAL_REASON_SL 订单_理由_SL 该操作被执行,是止损激活的结果。 - DEAL_REASON_TP 订单_原因_TP 该操作是由于激活了止盈而执行的。 - DEAL_REASON_SO 订单_原因_SO 该操作是由于止损事件而执行的。 deal_reason_rollover - 该交易是由于翻转而执行的
- deal_reason_vmargin - 该交易是在收取变动保证金后执行的。 - deal_reason_split - 该交易是在股票或其他资产分割(降价)后执行的,该股票或其他资产在分割公告期间有一个未结头寸。
- MQL5:优化了同步和访问tick历史。
- MQL5:修正了在CopyTicksRange 函数中返回ticks到统计数组。在早期版本中,在这种情况下,总是返回0点。
- MQL5。在模糊逻辑库 中进行了各种修复。
- 信号。修正了在没有交易账户连接时从网站上打开信号的问题。
- 测试器。优化并加速了对订单和交易历史的工作。在处理大量数据(数以万计的历史条目)时,操作速度将成倍提高。
- 测试员。修正了测试报告中持仓时间的计算。
- MetaEditor。修正了在调试器中显示静态类成员数组内容的问题。
- MetaEditor。在调试的程序中增加了一个断点列表。该列表可以通过调试标签的上下文菜单打开:
- 更新了文档。
该更新将通过LiveUpdate系统提供。创建自定义符号
使用 "市场观察 "窗口的上下文菜单打开符号管理窗口,点击 "创建自定义符号":

可以配置大量的符号参数。参数的完整列表及其描述可在文件 中找到。你可以通过复制任何类似工具的参数并加以修改,快速配置你的自定义符号。在 "复制自 "栏中选择一个现有的符号。管理自定义符号
所有符号都显示在一个单独的自定义组中。如果你需要修改或删除一个符号,请使用列表的上下文菜单:
导入价格历史
您可以从任何文本文件以及MetaTrader历史文件HST和HCC中导入价格数据到您的自定义符号。选择一个符号并进入 "Bars "标签。

在导入对话框中,指定文件的路径并设置所需参数:一个包含1分钟条形图的文件应具有以下格式。日期 时间 开盘价 最高价 最低价 收盘价 涨跌幅。例如;
2016.06.27 00:02:00 1.10070 1.10165 1.10070 1.10165 32 55575000 46
2016.06.27 00:03:00 1.10166 1.10166 1.10136 1.10163 13 13000000 46
2016.06.27 00:04:00 1.10163 1.10204 1.10155 1.10160 23 51000000 41
使用自定义符号
使用自定义符号类似于使用经纪人提供的工具。自定义符号显示在市场观察窗口中;你可以打开这些符号的图表,并在上面应用指标和分析对象。自定义符号不能被交易。
在自定义符号上测试策略
自定义符号可用于在策略测试器 中测试交易机器人和指标。这样就可以对策略进行优化,即使是经纪人目前无法提供的金融符号。你只需要正确导入历史记录并配置自定义符号属性。

在计算保证金和利润时,策略测试器会自动使用可用的交叉汇率。假设我们创建了AUDCAD.自定义符号,用外汇 类型的保证金计算,而我们的账户货币是美元。在这种情况下,测试器根据外汇符号名称,按以下顺序搜索必要的符号:其他类型的保证金计算工具(差价合约、期货和 证券交易所)需要一个货币对来将工具货币转换成存款货币。假设我们创建了一个自定义符号,利润和保证金货币以英镑表示,而存款货币为瑞士法郎。在这种情况下,测试符号的搜索是按以下顺序进行的:
当使用自定义工具测试应用程序时,确保交易账户有所有必要的货币对。否则,测试期间的财务结果和保证金要求的计算将无法实现。
更多的可能性将在未来的平台版本中 出现
自定义符号的开发还没有完成,更多的功能将在平台的下一个版本中加入。你将能够直接从专家顾问系统导入历史记录到自定义符号,以及实时广播此类符号的数据(添加报价)。
交易量小于指定值的交易可以从时间和销售表中隐藏。如果应用这个过滤器,只有大宗交易会出现在时间和销售窗口。
双击时间和销售窗口的第一行,指定最小交易量(手),然后点击市场深度的任何其他区域。交易将被过滤,当前的过滤值将出现在交易量栏的标题下。

你也可以使用 "时间与销售 "的上下文菜单来指定最小交易量。当基于真实数据进行分析时,程序会在终端的正常图表中启动。许多程序,特别是指标,只在新的tick(OnTick,OnCalculate)到来时进行计算。因此,为了评估性能,你必须实时等待新的tick。如果你使用历史数据测试程序,你可以立即提供所需的负载。剖析是在策略测试器的视觉模式下启动的,你一次会收到大量的新tick事件。
与结构不同,各种联合成员属于同一内存区域。在这个例子中,LongDouble的联合被声明为long和double类型的值共享同一个内存区域。请注意,不可能使联合体同时存储一个长整数值和一个双实数值(不像结构),因为long_value和double_value变量是重叠的(在内存中)。另一方面,MQL5程序能够在任何时候将包含在联合体中的数据作为一个整数(长)或实数(双)值进行处理。因此,联合允许接收两个(或更多)选项来表示同一个数据序列。
在联合声明期间,编译器会自动分配足够的内存区域来存储变量联合中的最大类型(按体积)。访问联盟元素的语法与访问结构的语法相同,即点运算符。
union LongDouble { long long_value; double double_value; }; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- LongDouble lb; //--- get and display the invalid -nan(ind) number lb.double_value=MathArcsin(2.0); printf("1. double=%f integer=%I64X",lb.double_value,lb.long_value); //--- largest normalized value (DBL_MAX) lb.long_value=0x7FEFFFFFFFFFFFFF; printf("2. double=%.16e integer=%I64X",lb.double_value,lb.long_value); //--- smallest positive normalized (DBL_MIN) lb.long_value=0x0010000000000000; printf("3. double=%.16e integer=%.16I64X",lb.double_value,lb.long_value); } /* Execution result 1. double=-nan(ind) integer=FFF8000000000000 2. double=1.7976931348623157e+308 integer=7FEFFFFFFFFFFFFF 3. double=2.2250738585072014e-308 integer=0010000000000000 */对象的成员式复制是在隐式运算符中进行的。
如果有必要,你可以使用重载来 覆盖该行为并创建你自己的选项来代替隐式拷贝操作符。
的规则是 "只允许关闭现有头寸"。
新属性
订单、交易和头寸创建的原因
为获得交易业务创建的原因,增加了三个变量:

要跳到一个断点,请双击它。关于交易、自动交易系统和测试交易策略的论坛
如何开始使用Metatrader 5
Sergey Golubev, 2017.02.12 06:36
MetaTrader 5 - 比你想象的更多!MetaTrader 5 的开发开始于2007年。MetaTrader 5被设想为一个革命性的、多市场的平台,可以在外汇以及任何其他金融市场上运行。从那时起已经做了很多工作,这些工作的结果是为交易者提供无限的机会的平台。在这篇文章中,我们将谈论MetaTrader 5的所有关键功能,并与该交易平台的前一版本进行比较分析。
------------------------
而这是MT5的用户手册。
MetaTrader 5帮助 - 交易平台 -用户手册
使用MetaTrader 5和MQL5的无限机会
简介
1.交易系统条件
2.外部参数
3.参数优化
3.1.第一个设置变量
3.1.1.一般参数和规则
3.1.2.测试仪设置
3.1.3.所得结果的分析
3.1.4.BOOK REPORT应用于优化和测试结果的分析
3.1.5.资金管理系统
3.2.第二个设置变量
3.3.可能的设置变体
4.在可视化模式下的测试
5.界面和控制
6.信息面板:交易信息和 资金管理
7.图表左侧的交易信息面板
7.1.参数系统
7.2.交易时段的时钟
7.3.手动交易
7.3.1.买入/卖出/反转部分
7.3.2.关闭头寸部分
7.3.3.设置待执行的订单
7.3.4.修改订单/职位部分
7.3.5.删除待处理的订单。
7.4.交易业绩
7.5.帐户/符号信息
8.EA使用的其他指标
结语
关于交易、自动交易系统和测试交易策略的论坛
重绘文章
Sergey Golubev, 2013.07.09 12:26
我没有找到关于重绘和不重绘的教育交易文章。我认为--你应该看看论坛的帖子。
例如--有以下分类的指标。
- 非重绘。大部分的指标都在这个类别里面(大部分的指标都是非重绘的)。这意味着:如果你看到了信号,那么就等着有信号的柱子被关闭,新的柱子被打开。交易者使用非重绘指标在收盘时进行交易(对大多数交易者来说是经典的交易方式)。有些人将 "非重绘 "与 "持续绘 "混淆了。例如,开盘条与任何指标的值一起,本身就是继续画的。收盘条不与非重绘指标一起按价值重绘。
- 重绘指标。有许多指标是专门为某些不同的情况创建的。例如 "之 "字形。其中一些指标被用来作为过滤器,从其他指标中过滤错误的 "非重绘信号"。
- 重新计算指标。这些指标的值在n个条形图中被重新计算。指标可用于过滤器或技术分析(不用于直接交易)。
- 因编码员的错误而重新绘制。有许多例子表明,编码员以错误的方式对指标进行重新编码(如超级信号等)。
===========
有时,人们把重新绘制和继续绘制混为一谈,把开盘交易和收盘交易混为一谈。我们有很多关于编程的线程/文章,但只有很少的线程是关于如何在CodeBase中使用大量的指标进行实际交易的:)
关于交易、自动交易系统和测试交易策略的论坛
重绘文章
Sergey Golubev, 2013.07.09 12:29
只是用PriceChannel抛物线系统 举个例子(指标、模板和howto instal和howto trade - 在这个帖子 的链接上)。
因此,这是经典的交易方式--在收盘栏上交易。
关于交易、自动交易系统和测试交易策略的论坛
我怎样才能在mql5中使用多个账户和不同的经纪商?
Sergey Golubev, 2017.07.26 08:10
MetaTrader 5帮助 -开设账户
MetaTrader 5 Android OS帮助--开设模拟账户
MetaTrader 5 iPhone/iPad帮助 -连接账户和开设模拟账户
----------------
第一步选择一个交易服务器,将在该服务器上开立账户。服务器列表中包含服务器名称、公司名称和ping时间。较小的ping时间提供了平台和服务器之间较小的网络延迟。连接速度可以通过点击 "扫描 "按钮来测量。选择服务器并点击下一步。
如果你在列表中找不到所需的服务器,点击"
添加新的经纪人 "或按 "插入"。接下来,以下列方式之一指定服务器的细节,然后按 "Enter"。
要删除一个服务器,选择它并按 "删除"。
----------------
如何在帖子中插入视频:https://www.mql5.com/en/articles/24#insert-video
您是否进行自动交易?
================
如果MT5的EA在您的MT5中不工作,那么您可以检查以下内容:EA的自动交易,在EA属性的普通标签中。
允许自动交易- 该选项允许或禁止使用专家顾问 和脚本 进行交易。如果它被禁用,脚本和专家顾问可以工作,但不能进行交易。这个限制对于在实时模式下测试专家顾问的分析能力非常有用(不要与历史数据的测试相混淆)。
该选项启用/禁用整个平台的自动交易。如果你禁用它,将不允许任何专家顾问进行交易,即使你在专家顾问设置 中单独启用自动交易。如果您启用它,专家顾问将被允许进行交易,除非在专家顾问参数中单独禁用自动交易。
如果设置和EA一切正常,但EA却不工作(任何EA--你试过多少个?),那么请问你的经纪人(可能是经纪人的限制)。
关于交易、自动交易系统和测试交易策略的论坛
修改后的Metatrader
Sergey Golubev, 2016.08.03 09:38
哪里可以检查自动交易。
和
如果你把EA连接到图表上,并且看到 "笑脸",那么它的自动交易就很好(在大多数情况下)。
如果EA的脸不笑了,不高兴了,那么你可以再次检查一切。
这是MT4的情况,但MT5也有这种情况。
只是关于自由职业者的新栏目。
关于交易、自动交易系统和测试交易策略的论坛
请求和想法(仅限MQL5!)。
Vladimir Karputov, 2017.07.28 18:10
在 "自由职业者 "服务中,出现了一个新的部分。"咨询 "
你是否需要建议、教育、解释,"教我如何......"?
因此,这个新部分是为你准备的。
论坛上有很多非常有经验的交易员和编码员,他们在编码和交易方面有很多不同的方面,所以任何人都可以请求他们的帮助,例如。