//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//--- Template file as a binary arrayunsignedchar my_template[]=
{
0xFF,0xFE,0x3C, ... ,0x00// The data array in this example is shortened
};
//--- Saving and applying the templateif(FileSave("my_template.tpl",my_template))
{
Print("Custom template saved in \\MQL5\\Files");
if(ChartApplyTemplate(0,"\\Files\\my_template.tpl"))
Print("Custom template applied to the current chart");
elsePrint("Failed to apply custom template");
}
elsePrint("Failed to save custom template");
}
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//--- Template file as a binary arrayunsignedchar my_template[]=
{
0xFF,0xFE,0x3C, ... ,0x00// The data array in this example is shortened
};
//--- Saving and applying the templateif(FileSave("my_template.tpl",my_template))
{
Print("Custom template saved in \\MQL5\\Files");
if(ChartApplyTemplate(0,"\\Files\\my_template.tpl"))
Print("Custom template applied to the current chart");
elsePrint("Failed to apply custom template");
}
elsePrint("Failed to save custom template");
}
我是新人,你能帮助我吗?
我是新手,你能帮助我吗?
有一个针对新手的帖子(关于 "我从哪里开始")-
关于交易、自动交易系统和测试交易策略的论坛
如何开始使用Metatrader 5
Sergey Golubev, 2017.10.03 06:39
============
1.用户备忘录
关于交易、自动交易系统和测试交易策略的论坛
如何开始使用Metatrader 5
Sergey Golubev, 2016.12.30 17:26
只是提醒一下如何在帖子中插入代码(对于新用户/新手)--阅读这里,并阅读整篇文章。MQL5.community - 用户备忘录2.如何在论坛/mql5门户上进行搜索
关于交易、自动交易系统和测试交易策略的论坛
我从哪里开始?
Sergey Golubev, 2017.07.25 15:47
如何搜索。
如何在论坛上进行搜索
https://www.mql5.com/en/forum/193510
3.总结
3.1.如何开始使用MT5,摘要!(包括之前的主题:如何开始使用MetaTrader和外汇,开始)
MetaTrader 4 帮助 - 客户终端 - 用户指南
MetaTrader 5 帮助 - 交易平台 - 用户手册
3.2.所有(还没有)关于策略测试器、优化和云的 内容
3.3.ASCTREND系统总结(包括2个好的EA)。
3.4.脑力交易系统操作方法
3.5.价格通道抛物线系统(包括2个版本的EA)
3.6.市场状况评估(创建了2个EA)
3.7.一目了然
3.8.金融和交易视频 - 目录
3.9.所有关于日历标签和宏观经济事件 的内容
3.10. 关于MQL5向导的所有信息:无需编程即可创建机器人
============
4.第一篇关键文章:
MetaTrader 5 - 超越你的想象!
============
5.第二篇关键文章:
使用MetaTrader 5和MQL5的无限机会
============
6.如何在MT5中添加经纪人。
6.1.MetaTrader 5的帮助 -开设账户
6.2.MetaTrader 5 Android操作系统的帮助 -开立模拟账户
6.3. MetaTrader 5 iPhone/iPad帮助 -连接账户和开设模拟账户
============
7.信号
============
8.市场
============
9.MT4/MT5的MQL5 VPS
9.1.如何订阅VPShttps://www.mql5.com/en/forum/187872#comment_4851530
9.2.您可以将您的VPS订阅从一个账户转移到另一个账户
https://www.mql5.com/en/forum/172120#comment_4166892
9.3.MQL5 VPS描述
https://www.mql5.com/en/forum/172553#comment_4185979
9.4.监控VPS
https://www.mql5.com/en/forum/188920#comment_4800677
9.5.同步 -
https://www.mql5.com/en/forum/211508
============
10.经纪人
10.1.通过经纪人的名字查找服务器:
https://www.mql5.com/en/forum/9950/page88#comment_3981953
https://www.mql5.com/en/forum/214820
10.2.对初学者的帮助
https://www.mql5.com/en/forum/214904
10.3.美国经纪商
https://www.mql5.com/en/forum/12423/page500#comment_4736742
============
11.促销:
https://www.mql5.com/en/forum/9950/page88#comment_3982032
https://www.mql5.com/en/forum/9950/page88#comment_3982030
https://www.mql5.com/en/forum/9950/page88#comment_3982036
============
12.自由职业者,反编译,规则,反编译代码的例子:
https://www.mql5.com/en/forum/203200
============
13.论坛的一般规则和最佳做法
13.1. 讨论的主题
13.2.论坛规则
============
14.关于线程的线程:论坛上到处都在发生什么
如果你在寻找新的和现代的东西(而且是免费的),这是一个好线程。
============
15.MT5,mql5,mql5.com的改进建议线程
============
16.如何订阅主题或邀请一个人进入主题--线程
============
MetaEditor(与Metatrader一起更新)升级了很多。
非常多!
更多的代码保护,项目,以及更多更多。
你可以尝试自己去找,或者等待将在本周内发布的版本。
仅供参考。
这是非常有趣的更新,特别是对MetaEditor来说,所以似乎我需要了解一下 -
------------------
关于交易、自动交易系统和测试交易策略的论坛
MetaTrader 5平台测试版Build 1700。MetaEditor和合成金融工具中的项目
MetaQuotes软件公司。, 2017.12.05 14:33
MetaTrader 5平台测试版Build 1700。MetaEditor中的项目和合成金融工具
更新后的MetaTrader 5平台的测试版将于2017年12月6日发布。我们将更新我们的公共MetaQuotes-Demo服务器,位于access.metatrader5.com:443。我们邀请所有交易者加入测试,以评估更新的平台功能,并帮助开发人员修复错误。
要将MetaTrader 5平台更新到build 1700,请连接到access.metatrader5.com服务器:443。
新MetaTrader 5平台的最终构建将在公开测试后发布。
对旧版本的桌面和移动终端的支持将在新平台版本发布后结束。
MQL5存储操作协议的变化
为了支持新的共享项目,我们已经更新了与MQL5存储的操作协议。因此,在平台更新后,您需要对存储的所有数据进行结账。在更新期间,存储在MQL5存储的数据不会丢失或受到影响。
在将平台更新到新版本之前,我们建议您执行提交操作,将所有本地更改发送到MQL5存储。
该更新将具有以下变化。
现在,MQ5的主程序文件并不作为项目出现。项目是一个单独的 "MQPROJ "文件,它存储了程序设置、编译参数和所有使用的文件的信息。主要的项目设置可以从一个单独的对话框中访问,所以现在不需要在源代码中通过#property指定它们。
在导航器中提供了一个单独的标签,以方便项目的工作。所有的文件,如include、resource、header和其他文件都在这个标签上被安排成不同的类别。所有文件都会自动添加到项目导航器中。例如,如果你包括一个新的MQH文件,它将自动出现在导航器的 "依赖 "部分。
对新项目的支持也已在更新的MQL5存储在线库中实现。这是一个方便的选择,可以通过与MQL5.社区的其他成员合作开发大型项目。
为团体项目提供了新的共享项目部分。在此部分创建的项目会立即被发送到存储区:您可以授予其他用户权限,并立即开始协作。
当你在共享项目中编译一个项目时,一个可执行的EX5文件会自动复制到本地的Experts、Indicators或Scripts目录中,具体取决于程序类型。你可以轻松地在图表上启动程序,而不必手动复制文件。MQL5存储操作中的新内容
为了实现对新的共享项目的支持,我们已经修改了MQL5存储的操作协议。因此,在平台更新后,您需要对存储的所有数据进行结账。在更新期间,存储在MQL5存储的数据将不会丢失或受到影响。
新项目。创建和操作细节的例子
在MetaEditor中增加了一个新的项目实体。一个项目是一个mqproj文件,它存储了通用的程序属性和所有使用的文件的信息。现在,可以通过一个单独的MetaEditor对话框方便地管理程序属性,而不是手动修改源代码中的属性(使用#属性指令)。
如果你有可用的代码,你可以通过使用 "从源代码新建项目 "命令轻松测试新项目。
在选定文件所在的目录中,将创建一个具有相同名称和mqproj扩展名的新项目文件。源代码中通过#property指定的主要程序属性将被自动添加到项目中,包括名称、版权、版本、开发者网站的链接和程序描述。
项目属性中加入了两个新的选项,用于编译MQL5程序。为了处理项目,在导航器窗口中使用单独的项目标签。在一个项目中使用的所有文件都以一种方便的形式显示在这个标签上。当一个项目从源文件生成时,所有使用的包含文件(在主MQ5文件和它的包含文件中使用#include目录指定)会自动添加到依赖关系部分。
当一个新的包含文件被添加到源代码中,它也会出现在项目导航器中。使用的头文件被添加到头文件部分;图像、声音和项目中作为资源使用的其他MQL5程序被添加到资源部分。带有源代码的MQ5文件会显示在Source部分。在 "设置和文件 "部分,您可以添加其他文件,如用于测试和图表模板的设置文件。
使用上下文菜单命令将现有文件添加到项目中或从项目中删除文件。删除文件时要小心,因为你可以从项目中删除一个文件(删除绑定)或从硬盘中完全删除它。
![](https://c.mql5.com/3/163/fig4.png)
创建一个新的项目就像创建一个正常的MQL5程序一样简单。点击 "新项目",选择新程序的类型,在MQL5向导中指定属性(如名称、事件处理程序等)。要获得一个可执行的EX5文件,你可以打开项目并按F7(编译命令)或打开程序的主MQ5文件并编译它。
在MQL5存储中共享项目。操作细节
共享项目是从一个单独的共享项目部分进行管理的。如果您还没有连接存储,从所需文件夹的上下文菜单中执行 "激活MQL5存储 "命令。MetaEditor将检查您的存储是否包含任何已保存的数据,以及是否有任何共享项目可供您使用。所有可用的数据将被从存储中检索出来,并上传到您的电脑上(结账操作)。可用的小组项目出现在共享项目部分。要检索这些项目,请在上下文菜单中执行 "从存储器中签出"。
要创建一个新的小组项目,选择共享项目文件夹并点击 "新项目"。
![](https://c.mql5.com/3/163/fig5.png)
然后完成标准的MQL5步骤:设置所需程序的类型、名称和属性。对于小组项目,你应该使用清晰易懂的名称,这样其他参与者可以很容易地找到它们。项目名称中只能使用不带空格的拉丁字母。创建的对象会立即添加到MQL5存储器中。项目中使用的标准库 文件不会被添加到存储器中,你可以手动添加它们。
要允许其他参与者使用该项目,请打开其属性。在这里,您可以通过指定他们的MQL5.community登录,将权限授予选定的用户,以及为小组工作设置通用参数。
![](https://c.mql5.com/3/163/fig6.png)
当你编译一个小组项目时,可执行的EX5文件会自动复制到本地的Experts、Indicators或Scripts目录,具体取决于程序类型。它允许你立即在终端运行程序,而不必手动复制到适当的目录中。它是如何工作的
注意:USDEUR和USDGBP货币对被用于源美元指数公式中。由于平台上只有反向货币对,所以在合成符号公式中使用了负数,并且使用了Ask而不是Bid。
该平台将根据您的经纪人提供的其他六个符号的报价,实时计算新工具的价格。价格变化将在市场观察窗口和图表上显示出来。
![](https://c.mql5.com/3/163/fig7.png)
创建一个新的自定义符号,打开其规格并输入公式。
![](https://c.mql5.com/3/163/fig8.png)
为方便起见,公式编辑器在你输入符号和函数的名称时,会显示一个可能的选项列表。当合成工具被添加到市场观察中时,就开始计算该工具的点数和一分钟条数。同时,合成价格计算所需的所有符号会自动添加到市场观察中。关于计算开始的条目将被添加到平台日志中。合成符号USDX:处理开始。
报价的实时计算
每隔100毫秒(即每秒10次)就会检查用于计算的符号的价格。如果其中至少有一个发生了变化,就会计算合成符号的价格,并生成一个新的tick。计算是在三个线程中并行进行的,分别是买入价、卖出价和最后价格。例如,如果计算公式是EURUSD*GBPUSD,合成符号的价格将被计算如下。
变化的可用性是针对每个价格单独检查的。例如,如果只有源工具的买入价发生了变化,那么将只计算合成工具的适当价格。
创建分钟条的历史
除了实时收集ticks外,该平台还创建了合成工具的分钟历史。它使交易者能够查看与正常图表相似的合成符号图表,以及使用对象和指标进行技术分析。
当交易者将合成工具添加到市场观察中时,平台会检查其计算的分钟历史是否存在。如果不存在,将创建过去60天的历史,其中包括约50,000条。如果在平台设置中的 "图表中的最大条数 "参数中指定了一个较低的值,则将适用适当的限制。
如果在此期间的一些条形图已经被创建,平台将额外生成新的条形图。如果用户试图在图表上查看一个较早的时间段(通过向后滚动或从MQL5程序访问它),则会创建一个更深的历史。
合成工具的一分钟条形图的历史是根据其公式中使用的工具的一分钟条形图(不是点)计算的。例如,为了计算一个合成符号的1分钟条形的开盘价,平台使用其公式中使用的符号的开盘价。最高价、最低价和收盘价的计算方法类似。
如果任何一个工具没有所需的条形图,平台将使用前一个条形图的收盘价。例如,使用三个工具。欧元兑美元、美元兑日元和英镑兑美元。如果在计算对应于12:00的条形图时,所需的USDJPY条形图不可用,将使用以下价格进行计算。
如果公式中使用的所有工具都没有分钟条,那么合成工具的相应分钟条将不会被计算。
绘制新的分钟条
所有合成工具的新条形图(当前和后续条形图)都是根据生成的ticks创建的。用于建立条形图的价格取决于规范中的图表模式参数的值。
符号公式中可以使用哪些操作
由经纪人提供的价格数据和现有符号的一些属性可用于计算合成价格。指定以下内容。
注意算术操作的计算优先级。
你可以在公式中使用常数。
您也可以在公式中使用MQL5支持的所有数学函数,除了MathSrand、MathRand和MathIsValidNuber:所有函数只使用短名称,如fabs()、acos()、asin()等等。
CustomTicksAdd功能允许提供报价,就像这些报价是从经纪人的服务器上收到的一样。数据被发送到市场观察窗口,而不是直接写入tick数据库。然后,终端从Market Watch中保存ticks到数据库中。如果在一次调用中传递了大量的数据,为了节省资源,函数行为会发生变化。如果传输的点数超过256,数据会被分成两部分。一个较大的部分直接记录到tick数据库中(类似于CustomTicksReplace)。第二部分由最后128个刻度线组成,被发送到市场观察,终端从那里将刻度线保存到数据库中。
现在,这种类型的保护对所有平台用户都可用。为了保护您的文件,在MetaEditor中执行以下命令。工具-MQL5云保护器。MQL5云保护器与市场中使用的机制的唯一区别是,文件没有链接到用户的计算机。通过MQL5云保护器保护的文件可以在任何计算机上运行,类似于普通的EX5文件。
如果符号图是用买入价构建的(根据规格设置),则显示该符号的买入高价和买入低价。如果符号图是用最后价格构建的,则显示该符号的最后高价和最后低价。
如果市场观察包含至少一个符号,其图表是根据最后价格绘制的,那么除了最高价/最低价之外,最后一栏也自动启用。
![](https://c.mql5.com/3/163/fig12.png)
为方便起见,修改后的条目突出显示如下。要保存这些修改,请点击窗口底部的 "应用修改"。
该函数接受相同类型和相同维度的动态数组。对于多维数组,除了第一个维度外,所有维度中的元素数量都应该匹配。
![](https://c.mql5.com/3/163/fig14.png)
同样的菜单允许以二进制或文本阵列的形式添加到程序代码文件中。其中,你可以将图表模板与专家顾问或指标一起传输:将模板作为数组插入程序代码中,然后使用FileSave功能将其保存到磁盘。此后,可以使用ChartApplyTemplate功能将模板直接应用到所需的图表中。该更新将通过LiveUpdate系统提供。
关于交易、自动交易系统和测试交易策略的论坛
MetaTrader 5平台测试版Build 1700。MetaEditor和合成金融工具的项目
Sergey Golubev, 2017.12.07 08:47
今天发表了非常有趣的文章--
----------------
如何通过MetaTrader 5在外部加密货币交易所进行交易
不久前,MQL5语言开发人员已经推出了更新的功能,其特点是能够开发自定义符号和图表。广大的交易员社区还没有时间欣赏这一创新的力量,但即使是一个简单和不显眼的头脑风暴,也显示出自定义符号中隐藏的巨大潜力。与其他MQL工具一起,它们允许你实现许多最大胆和有趣的想法。
从现在开始,MetaTrader 5不仅仅是一个与一个DC互动的终端。相反,它是一个自给自足的分析平台,能够通过API连接到各种交易所,以及可视化价格变动和交易流。一组小的新功能将终端变成了一个开放的系统,而不是一个包含有限数量交易工具的工具箱。在我看来,自定义工具也可以成为强大的分析能力。
让我们以加密货币这一热门话题为例,说明新的语言功能。我相信,这将进一步加强社区对自定义符号的兴趣。
谁可能从这篇文章中受益。
关于交易、自动交易系统和测试交易策略的论坛
新MetaTrader 5 Build 1730:MetaEditor和合成金融工具中的项目
MetaQuotes软件公司。, 2017.12.20 13:49
新MetaTrader 5 Build 1730:MetaEditor中的项目和合成金融工具
MetaTrader 5平台的更新将于2017年12月21日发布。
对旧版本的桌面和移动终端的支持将在新平台版本发布后结束。
MQL5存储操作协议的变化
为了支持新的共享项目,我们已经更新了与MQL5存储的操作协议。因此,在平台更新后,您需要对存储的所有数据进行结账。在更新期间,存储在MQL5存储的数据不会丢失或受到影响。
在将平台更新到新版本之前,我们建议您执行提交操作,将所有本地更改发送到MQL5存储。
此次更新将有以下变化。
现在MetaEditor中可以使用全功能的项目。程序开发过程变得更加方便。
现在,MQ5的主程序文件并不作为项目出现。项目是一个单独的 "MQPROJ "文件,它存储了程序设置、编译参数和所有使用的文件的信息。主项目设置可以从一个单独的对话框中访问,所以现在不需要在源代码中通过#property指定它们。
在导航器中提供了一个单独的标签,以方便项目中的工作。所有的文件,如include、resource、header和其他文件都在这个标签上被安排成不同的类别。所有的文件都会自动添加到项目导航器中。例如,如果你包括一个新的MQH文件,它将自动出现在导航器的 "依赖 "部分。
对新项目的支持也已在更新的MQL5存储在线库中实现。现在,通过与MQL5.社区的其他成员合作开发大型项目已经变得更加方便。
为小组项目提供了新的共享项目部分。在该部分创建的项目会立即被发送到存储空间:你可以授予其他用户权限,并立即开始协作。
当你在共享项目中编译一个项目时,一个可执行的EX5文件会自动复制到本地的Experts、Indicators或Scripts目录中,具体取决于程序类型。你可以轻松地在图表上启动程序,而不需要手动复制文件。
MQL5存储操作中的新内容
为了实现对新的共享项目的支持,我们已经修改了与MQL5存储的操作协议。因此,您需要在平台更新后对存储的所有数据进行结帐。在更新期间,存储在MQL5存储的数据不会丢失或受到影响。
现在,'从存储区结帐'命令不可用。相反,'激活MQL5存储'和'从存储更新'命令被用来接收数据。
新项目。创建和操作细节的例子
在MetaEditor中增加了一个新的项目实体。一个项目是一个mqproj文件,它存储了共同的程序属性和所有使用的文件的信息。现在,可以通过一个单独的MetaEditor对话框方便地管理程序属性,而不是手动修改源代码中的属性(使用#属性指令)。
如果你有可用的代码,你可以通过使用 "从源代码新建项目 "命令轻松地测试新项目。
在选定文件所在的目录中,将创建一个具有相同名称和mqproj扩展名的新项目文件。在源代码中通过#property指定的主要程序属性将被自动添加到项目中,包括名称、版权、版本、开发者网站的链接和程序描述。
项目属性中增加了两个新的选项,用于编译MQL5程序。
为了处理项目,在导航器窗口中使用单独的项目标签。一个项目中使用的所有文件都以一种方便的形式显示在这个标签上。当一个项目从源文件生成时,所有使用的包含文件(在主MQ5文件和它的包含文件中使用#include目录指定)会自动添加到依赖关系部分。
当一个新的包含文件被添加到源代码中,它也会出现在项目导航器中。使用的头文件被添加到头文件部分;图像、声音和项目中作为资源使用的其他MQL5程序被添加到资源部分。带有源代码的MQ5文件会显示在Source部分。在 "设置和文件 "部分,您可以添加其他文件,如用于测试和图表模板的设置文件。
使用上下文菜单命令将现有文件添加到项目中或从项目中删除文件。删除文件时要小心,因为你可以从项目中删除一个文件(删除绑定)或从硬盘中完全删除它。
创建一个新的项目就像创建一个正常的MQL5程序一样简单。点击 "新项目",选择新程序的类型,在MQL5向导中指定属性(如名称、事件处理程序等)。
要获得一个可执行的EX5文件,你可以打开项目并按F7(编译命令)或打开程序的主MQ5文件并编译它。
在MQL5存储中共享项目。操作细节
共享项目是从一个单独的共享项目部分进行管理的。如果您还没有连接存储,从所需文件夹的上下文菜单中执行 "激活MQL5存储 "命令。MetaEditor将检查您的存储是否包含任何已保存的数据,以及是否有任何共享项目可供您使用。所有可用的数据将被从存储中检索出来,并上传到您的电脑上(结账操作)。可用的小组项目出现在共享项目部分。要检索这些项目,请在上下文菜单中执行 "从存储器中签出"。
要创建一个新的组项目,选择共享项目文件夹并点击 "新项目"。
然后完成标准的MQL5步骤:设置所需程序的类型、名称和属性。对于小组项目,你应该使用清晰易懂的名称,这样其他参与者可以很容易地找到它们。项目名称中只能使用不带空格的拉丁字母和数字。
创建的对象会立即被添加到MQL5存储器中。项目中使用的标准库 文件不会被添加到存储中,你可以手动添加它们。
要允许其他参与者使用该项目,请打开其属性。从这里,您可以通过指定他们的MQL5.community登录,将权限授予选定的用户,以及为小组工作设置通用参数。
当你编译一个组项目时,可执行的EX5文件会根据程序类型自动复制到本地的Experts、Indicators或Scripts目录中。它允许你立即在终端中运行程序,而不必手动复制到适当的目录中。
MQL5存储中的公共项目。参与开发
如上所述,MQL5存储中的每个小组项目都有宣传设置:该项目可以是私人的,也可以对其他用户开放。现在,所有您可以自由加入的项目都显示在单独的 "公共项目 "标签中。
每个人都可以找到一个令人兴奋的项目,并参与其发展。只需点击 "加入",就可以从存储器中接收项目。
![](https://c.mql5.com/3/165/terminal_1_7__1.png)
每个加入的用户都得到只读的权利。联系项目作者,以便能够提交你的修改。要知道他或她的登录名,通过上下文菜单打开项目属性。终端。现在,交易平台允许创建合成金融工具,即基于一个或多个现有工具的符号。用户应设置计算报价的公式,之后平台将实时生成合成工具的刻度,并将创建其分钟历史。
它是如何工作的
例如,你可以创建一个显示美元指数(USDX) 的工具。它使用下面的公式。
注意:美元EUR和USDGBP对在源美元指数公式中使用。由于平台中只有反向货币对,所以在合成符号公式中使用了一个负的功率和Ask而不是Bid。
该平台将根据您的经纪人提供的其他六个符号的报价,实时计算新工具的价格。价格变化将在市场观察窗口和图表上显示出来。
![](https://c.mql5.com/3/165/terminal_2_1__1.png)
创建一个新的自定义符号,打开它的规范并输入公式。
![](https://c.mql5.com/3/165/terminal_2_2__1.png)
为方便起见,公式编辑器在你输入符号和函数的名称时,会显示一个可能的选项列表。当合成工具被添加到市场观察中时,就开始计算该工具的点和一分钟条。同时,合成价格计算所需的所有符号会自动添加到市场观察中。关于计算开始的条目将被添加到平台日志中。合成符号USDX:处理开始。
报价的实时计算
每100毫秒(即每秒10次)就会检查计算中使用的符号的价格。如果其中至少有一个发生了变化,就会计算合成符号的价格,并生成一个新的tick。计算是在三个线程中并行进行的,分别是买入价、卖出价和最后价格。例如,如果计算公式为EURUSD*GBPUSD,合成符号的价格将被计算如下。
变化的可用性是针对每个价格单独检查的。例如,如果只有源工具的买入价发生了变化,那么将只计算合成工具的适当价格。
创建分钟条的历史
除了实时收集ticks外,该平台还创建了合成工具的分钟历史。它使交易者能够查看与正常图表相似的合成符号图表,以及使用对象和指标进行技术分析。
当交易者将合成工具添加到市场观察中时,平台会检查其计算的分钟历史是否存在。如果不存在,将创建过去60天的历史,其中包括约50,000条。如果在平台设置中的 "图表中的最大条数 "参数中指定了一个较低的值,则将适用适当的限制。
如果在此期间的一些条形图已经被创建,平台将额外生成新的条形图。如果用户试图在图表上查看一个较早的时间段(通过向后滚动或从MQL5程序访问它),则会创建一个更深的历史。
合成工具的一分钟条形图的历史是根据其公式中使用的工具的一分钟条形图(不是点)计算的。例如,为了计算一个合成符号的1分钟条形的开盘价,平台使用其公式中使用的符号的开盘价。最高价、最低价和收盘价的计算方法类似。
如果任何一个工具没有所需的条形图,平台将使用前一个条形图的收盘价。例如,使用三个工具。欧元兑美元、美元兑日元和英镑兑美元。如果在计算对应于12:00的条形图时,所需的USDJPY条形图不可用,将使用以下价格进行计算。
如果公式中使用的所有工具都没有分钟条,那么合成工具的相应分钟条将不会被计算。
绘制新的分钟条
所有合成工具的新条形图(当前和后续条形图)都是根据生成的ticks创建的。用于建立条形图的价格取决于规范中的图表模式参数的值。
符号公式中可以使用哪些操作
由经纪人提供的价格数据和现有符号的一些属性可用于计算合成价格。指定以下内容。
注意算术操作的计算优先级。
你可以在公式中使用常数。
您还可以在公式中使用MQL5中支持的所有数学函数,除了MathSrand、MathRand和MathIsValidNumber。所有的函数都只使用简短的名称,如fabs()、acos()、asin()等。
CustomTicksAdd功能允许提供报价,就像这些报价是从经纪人的服务器上收到的一样。数据被发送到市场观察窗口,而不是直接写入tick数据库。然后,终端从Market Watch中保存ticks到数据库中。如果在一次调用中传递了大量的数据,为了节省资源,函数行为会发生变化。如果传输的点数超过256,数据会被分成两部分。一个较大的部分直接记录到tick数据库中(类似于CustomTicksReplace)。第二部分由最后128个刻度线组成,被发送到市场观察,终端从那里将刻度线保存到数据库中。
现在,这种类型的保护对所有平台用户都可用。为了保护您的文件,在MetaEditor中执行以下命令。工具-MQL5云保护器。MQL5云保护器与市场中使用的机制的唯一区别是,文件没有链接到用户的计算机。通过MQL5云保护器保护的文件可以在任何计算机上运行,类似于普通的EX5文件。
如果符号图是用买入价构建的(根据规格设置),则显示该符号的买入高价和买入低价。如果符号图是用最后价格构建的,则显示该符号的最后高价和最后低价。
如果市场观察包含至少一个符号,其图表是根据最后价格绘制的,那么除了最高价/最低价之外,最后一栏也自动启用。
![](https://c.mql5.com/3/165/terminal_6__1.png)
为方便起见,修改后的条目突出显示如下。要保存这些修改,请点击窗口底部的 "应用修改"。
交易者可以直接从桌面终端向经纪商发送请求,开立真实账户。用户需要填写一个简单的请求表,并提供联系信息。之后就会为交易者创建一个特殊的初步账户。然后,经纪商与交易商联系,正式确定关系,并从初步账户转为真实账户。
MQL5:在标准库中增加了通用数据集合。它们包含了用于定义基于模板 的集合的类和接口。新的强类型集合提供了更大的应用开发便利和高数据处理性能。
该库被放置到终端工作目录的Include\Generic文件夹中。
该函数接受相同类型和相同维度的动态数组。对于多维数组,除了第一个维度外,所有维度中的元素数量都应该匹配。
终端不计算这个值。它是每分钟从操作系统请求一次。它不是一个特定终端和交易服务器之间连接质量的指示,因为这个百分比是针对整个网络活动计算的,包括系统和后台活动。
TERMINAL_RETRANSMISSION属性被添加到ENUM_TERMINAL_INFO_DOUBLE枚举中,TerminalInfoDouble 函数被用来获取它。
![](https://c.mql5.com/3/165/terminal_30__1.png)
同样的菜单允许以二进制或文本阵列的形式添加到程序代码文件中。其中,你可以将图表模板与专家顾问或指标一起传输:将模板作为数组插入程序代码中,然后使用FileSave功能将其保存到磁盘。此后,可以使用ChartApplyTemplate功能将模板直接应用到所需的图表中。该更新将通过实时更新系统提供。
苳迮迡迮訄邽邽, 苳迮迡迮訄邽邽, 苳迮迡迮訄邽邽, 苳迮迡迮訄邽邽, 苳迮迡迮訄邽邽, 苳迮迡迮訄邽邽, 苳迮迡迮訄邽邽, 苳迮迡迮訄邽邽, 苳迮迡迮訄邽邽, 苳迮迡迮訄邽邽.
关于 "中国 "的问题
Renat Fatkhullin, 2017.12.28 16:51
我完全忘记了--我们将在1月份发布新的通信系统,用于通信。
这是Telegram的类似物,包括频道和小组(公共和私人)。
它将有可能启动主题组,包括付费组。
例如,通过订阅分发理论内容。 非常强调终端的数据交换。这将使图表、档案、设置、程序等的交换更快、更方便。
关于MT5,它现在很强大,很有前途。我打算明年迁移到MT5,我想问一下关于 "合成公式和自定义符号 "的问题,假设我的经纪人不提供我选择创建的自定义符号,我可以在这些符号上开立交易并赚取利润/损失,它是否会被添加/扣除到我的余额中?
为MetaTrader 5创建一个自定义新闻源
MetaTrader 5有许多交易者需要的有用功能,无论他们的交易风格如何,包括可能访问实时新闻源。它为交易者提供了宝贵的背景,可能对市场产生一些影响。唯一的限制是所提供的新闻的范围。我相信,交易者可以从访问更灵活的新闻源中受益,不仅能够选择新闻的种类,而且能够选择其来源。