如何开始学习MQL5 - 页 25

 

论坛

(挖财团)告诉你MT4和MT5有什么区别

dan zhao, 2017.01.13 04:44

1. MT5不是MT4的升级版,各是各,连他们官方都说不是升级版.
2. 最大的区别是MT5不能做对冲(不能多空同时持有),MT4则可以对冲
3. 在MT5上交易,同一个品种同方向只会有一个单,即使你开多个单,都会被合并成一个单;而MT4上每个单都是独立的
4 其他区别,MT4的编程语言类似于C,而MT5则是C++.
建议去官方下载MT5,用模拟账户做模拟交易就明白了.

 


 

构建新兴的社交技术, 第一部分: 发布您的 METATRADER 5 信号


本文旨在说明,通过一个实际的例子,您如何将 MetaTrader 5 终端与外部 Web 服务通信。我们发布的交易信号是由一款 EA生成 

 

构建新兴的社交技术, 第二部分: 编制 MQL5 的 REST 客户端


在本文的 之前部分, 我们提出了一种所谓的社交决策支持系统的体系结构。一方面,该系统包括一个 MetaTrader 5 客户端,用来发送 EA 的自动决策至服务器端。在通信的另一端,有一个建立在瘦 PHP 框架的 Twitter(推特)应用程序,用于接收交易信号,并将它们存储到一个 MySQL 数据库,最后发布至有关人士。该 SDSS 的主要目的是记录可由人工执行的自动交易信号,并由人工做出相应的决策。这是可能的,因为自动交易信号可以通过这种方式展示给大量的专业观众。

在此第二部分我们打算采用 MQL5 编程语言开发 SDSS 的客户端。我们也会讨论一些替代方法,辨别它们的优点以及缺点。最后, 我们将把拼图的所有碎片集合到一起, 并完成塑造 PHP REST API 用于接收来自 EA 的交易信号。要做到这一点,我们必须研究某些涉及客户端编程的方面。

 

论坛

新版MetaTrader 5 Android build 1506:交易筛选和排序

MetaQuotes Software Corp., 2017.01.20 10:02

最新版的MetaTrader 5 Android build 已在Google Play提供下载。更新您的应用程序,体验全新功能:

  • 交易和历史标签现在提供排序的功能,可以帮助您按照交易品种(金融工具),订单和持仓/平仓时间对全部交易进行排序。除了排序功能以外,历史标签还可以根据不同的交易品种筛选交易。

  • 同时优化了多窗口模式下的图表工作。经过改进的菜单不但可以打开新窗口,删除旧窗口,还可以将其重新排列并选择想要的布局(垂直布局,水平布局或拼图布局)。

New MetaTrader 5 Android build 1506

马上下载最佳多元化金融平台,访问数百家交易商和服务器吧。由于MetaTrader 5平台得到大众的广泛欢迎,为其交易者提供更新版平台的公司数每周也在不断上涨。 您想加速这一进程吗?请让您的交易商联系我们吧!


 

评估信号的最简单方式: 交易活动, 回撤/负载, 和 MFE/MAE 分布图表


订阅者经常通过分析信号在提供者账户里的总增长来搜索适当的信号, 这不是个坏主意。然而, 分析特定交易策略的潜在风险也很重要。在本文中, 我们将展示一种基于其绩效值来评估交易信号的简单有效方法:

 

论坛

BCS Forex、 InstaForex、 LiteForex 和一些其它交易商推出了 MetaTrader 5 支持

MetaQuotes Software Corp., 2017.02.02 08:15

交易商对 MetaTrader 5 的迁移正在进行中,一些著名的市场参与者,包括 BCS Forex、 InstaForex 和 LiteForex, 最近已经宣布推出了支持对冲的多资产平台。另外,Binary Limited、 Benchmark Finance、 MIB700 和其它一些交易上也从2017年开始向他们的交易者提供这个平台。

"我们很高兴参与这全球趋势并且成为第一个支持带有对冲选项的 MetaTrader 5的俄罗斯交易商!" — BCS Forex 的总裁 Kirill Ageev 这样说道,"我们公司提供超过420种可交易资产,并且努力提供专门的高科技解决方案,最大限度地优化交易。MetaTrader 5 是一个标志性平台,就普遍性而言在交易者中没有任何真正能够替代它的。该产品正在积极改进,鼓励交易者不断提高其交易策略和应用新的交易工具。最近,我们已经发布了更新的客户个人区域,在DIRECT.MT5和NDD.MT5账户中提供了对冲(锁仓)选项,这使交易者可以在相同的交易品种中建立反向的仓位。交易者可以在他们的个人区域中只要一次点击就能在模式之间切换,难怪我们的客户积极切换到MetaTrader 5。对冲选项的推出扫除了他们使用第五代平台的最后障碍"。

The migration of brokers to MetaTrader 5 is underway

"LiteForex 是最先向它的客户提供净仓位账户系统 MetaTrader 5交易平台的", — LiteForex 的 CEO Aleksandr Mestovsky 这样提到,"对冲系统使得 MetaTrader 5 在交易者中更加流行,通过一个平台交易外汇品种和股票资产的功能,强大的多任务策略测试器,开发者中流行的MQL5语言语法 - 所有这些功能都推动着业界参与者的范围边界。我们相信 MetaTrader 5 代表着在线交易的未来"。

"旨在为客户提供极具竞争力的交易解决方案和经纪服务, 我们 BenchMark Finance 为引进这种高科技产品感到自豪, 它完全符合交易者的需求", — BenchMark Finance的业务发展经理,在向新平台的迁移中加上了这样的注解,"MetaTrader 5 的对冲功能使得它的用户能够探索双向交易策略的好处,以及在动态市场条件下更灵活"。

"我们很高兴宣布 Binary.com 已经采用了 MetaTrader 5 的对冲账户系统, 因为它扩大了我们客户的交易功能", — Binary.com 的 CEO, Jean Yves Sireau 指出,"它使每个交易品种可以有多个仓位,这是外汇交易者非常受欢迎的功能,同时提供下一代的MetaTrader平台的所有优点。我们在MetaTrader 5平台的交易者现在可以利用更广泛的交易策略,对市场的正面和负面消息做出反应"。


 

论坛

新版MetaTrader 5 build 1525:以持仓形式展示交易历史并改进测试器

MetaQuotes Software Corp., 2017.01.27 19:00

新版MetaTrader 5 build 1525:以持仓形式展示交易历史并改进测试器

MetaTrader 5平台更新将于2017年1月27日,星期五,进行发布。新版将有以下功能更改:

  1. 程序端:现在可以按照持仓的形式展示交易历史。程序端收集持仓相关交易的数据(开仓,额外交易量,部分和全部平仓),然后将数据组合为一个包含以下细节的记录:

    • 分别由第一笔和最后一笔交易决定的开仓和平仓的时间
    • 持仓交易量。如果部分平仓,该记录会包含平仓交易量和源交易量
    • 加权平均持仓价及其平仓价
    • 持仓相关交易的总财务结果




    有关锁仓账户,其新的历史记录显示形式类似于MetaTrader 4中使用的账户历史形式。




  2. 程序端:添加允许在交易品种图表显示交易的新命令。

    • 如果您需要显示选定持仓/交易品种的交易,请点击"添加 [交易品种名称] 交易"。相应的交易将会显示在选定交易品种当前全部打开的图表上。如果该交易品种没有打开的图表,那么将会打开一个新图表。
    • 点击"添加全部交易",显示来自账户历史的全部交易品种的交易。相关交易品种的交易将被添加到全部打开的图表。




  3. 程序端:添加在合约规范中交易品种的国际名称显示,以及在交易品种管理对话框搜索国际名称。




  4. 程序端:添加设置程序端窗口分辨率的命令。该功能非常有助于制作视频。菜单提供了不同视频服务所使用的最流行的分辨率选项,例如YouTube



  5. 程序端:图表模板和概况已从[Terminal Data Folder\Profiles]迁移到[Terminal Data Folder\MQL5\Profiles]。现在您可以轻松添加模板到MQL5 存储并通过任何一台PC机进行访问。
  6. MQL5:添加支持资源变量。使用这种变量可以显著推进一些程序的开发。例如,您可以在独立的CL文件中编写一个OpenCL程序的代码,然后将其作为字符串加入到您的MQL5程序资源。更新之前,这种代码需要描述为一个大型字符串变量。

    资源变量声明
    #resource path_to_resource_file as type_of_resource_variable name_of_resource_variable

    特性
    • 基于BOM(标题)自动确定字符串文件的编码。如果BOM不存在,那么编码将由文件内容定义。支持ANSI,UTF-8 和 UTF-16。全部字符串都转换为Unicode。
    • 这种资源的数据只能通过变量来处理。不可使用"::<resource name>"自动解决。
    • 特殊的位图资源变量类型表明资源为图像的编译器。在这种情况下,资源变量为单位类型。
    • 当使用24位图像时,阿尔法通道组件对全部图像像素设置为255。
    • 当使用没有阿尔法通道的32位图像时,阿尔法通道组件对全部图像像素也设置为255。
    • 当加载包含阿尔法通道的32位图像时,不以任何方式处理像素。
    • 位图类型数组资源变量可能有两种维度。在这种情况下,数组大小定义为[image_height ][ image_width ]。
    • 如果指定了一维数组,元素数量等同于image_height*image_width。
    • 如果资源文件大小不是数组元素大小的乘积,将会剪切剩余数据。例如,如果文件大小为14个字节,对于整型数组,元素数量将等于3而其他两个字节(14 - sizeof(int)*3)将会舍弃。

    使用示例
    #resource "data.bin" as int ExtData[]             // 声明包含data.bin文件数据的数值数组
    #resource "data.bin" as MqlRates ExtData[]        // 声明包括data.bin文件数据的简单结构数组

    #resource "data.txt" as string ExtCode            // 声明包含data.txt文件数据的字符串
    #resource "data.txt" as string ExtCode[]          // 声明包含data.txt文件数据的字符串

    #resource "image.bmp" as bitmap ExtBitmap[]       // 声明包含BMP文件位图文件的一维数组,数组大小 = width * height
    #resource "image.bmp" as bitmap ExtBitmap2[][]    // 声明包含BMP文件位图文件的二维数组,数组大小[height][width]

  7. MQL5:新属性CHART_SHOW可以禁用图表显示。函数ChartGetIntegerChartSetInteger 用于获得和设置属性。

    false的情况下,禁止绘制任何价格图表属性,消除图表边界全部缩进,包括时间价格比,快速导航条,日历活动标签,交易标签,指标和工具提示条,指标子窗口,交易量直方图等。

    禁止使用图形资源为创建自定义程序界面绘制完美解决方案。

    无论CHART_SHOW属性值是多少都可随时绘制图形对象

  8. MQL5:新CHART_KEYBOARD_CONTROL属性可以通过键盘("Home","End","PageUp","+","-","Up arrow"等)启用/禁用图表控制。设置CHART_KEYBOARD_CONTROL为false在保留接收OnChartEvent()事件按键的完整能力时禁止图表滚动和缩放。

    函数ChartGetIntegerChartSetInteger允许获得和设置属性。

  9. MQL5:添加使用OpenCL的新函数。

    处理内存的新属性
    通过CLGetInfoIntegrer可以获得4个新属性:
    • CL_DEVICE_MAX_WORK_GROUP_SIZE — 可用于OpenCL设备的本地工作组总数。
    • CL_KERNEL_WORK_GROUP_SIZE — 可用于OpenCL程序的本地工作组总数。
    • CL_KERNEL_LOCAL_MEM_SIZE — OpenCL程序使用的,用于解决一组中全部平行任务的本地内存字节大小。使用CL_DEVICE_LOCAL_MEM_SIZE 接收可用最大值。
    • CL_KERNEL_PRIVATE_MEM_SIZE — OpenCL程序内核中,每个任务可用的最低私有内存大小(以字节为单位)。

    bool CLExecutionStatus(int kernel)
    返回OpenCL程序执行状态。OpenCL程序内核处理作为参数传递。

    bool CLSetKernelArgMemLocal(int kernel_handle,int arg_index,ulong local_mem_size)
    设置本地缓冲作为内核函数参数。OpenCL程序内核处理,OpenCL函数参数数量和缓冲大小都作为参数传递。

  10. 添加TranslateKey函数,通过考虑当前输入语言和控制键状态的虚拟键代码返回Unicode字符。 该函数使用 ToUnicodeEx,将用户按键转换为Unicode字符。
    void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam)
      {
       if(id==CHARTEVENT_KEYDOWN)
         {
          short sym=TranslateKey((int)lparam);
          //--- 如果输入字符成功转换为Unicode
          if(sym>0)
             Print(sym,"'",ShortToString(sym),"'");
          else
             Print("Error in TranslateKey for key=",lparam);
         }
      }


  11. MQL5:添加TRADE_RETCODE_LIMIT_POSITIONS新资源代码。同时显示在账户上的持仓数可以通过服务器设置进行限制。到达限制后,若再尝试下单,服务器会返回TRADE_RETCODE_LIMIT_POSITIONS错误。限制的操作根据持仓账户类型而有所不同:

    • 单边账户类型 — 考虑持仓数量。到达限制后,平台会禁止生成可能增加持仓数量的新订单。实际上,平台仅允许为已有持仓的交易品种下单。不会考虑当前挂单,因为挂单的执行可能会改变当前持仓但不会增加持仓数量。
    • 锁仓账户类型 — 会同时考虑挂单和持仓,因为激活挂单也会导致生成新的持仓。到达限制时,平台禁止生成持仓的新市价单和挂单。

  12. MQL5:修正可能偶尔引起报价历史跳价的错误。
  13. MQL5:修正间接的模板打字错误。
  14. MQL5:更新数学统计函数的程序库。
  15. 市场:修正下载模拟版时打开产品页面。
  16. Tester:完成优化后,结果会按照"结果"列自动排序。
  17. Tester:优化结果标签的快捷菜单中的新命令"切换到优化结果"可以在优化完成时自动打开结果。
  18. Tester:开始单次测试后,策略测试现在仍停留在优化模式。在早期版本中,如果从优化结果标签启动一次测试,策略测试会切换到单次测试模式。优化模式需要在设置中启用以便执行进一步优化。
  19. Tester:除了traditional .set文件以外,现在输入参数的设置可以保存为本地策略测试设置,以便于从快捷菜单访问。




  20. Tester:添加蒙古语,匈牙利语,罗马尼亚语和乌尔都语的UI翻译。
  21. MetaEditor:添加在调试窗口更改已读表达式顺序的功能。可以使用鼠标拖拽表达式到所需位置。




  22. MetaEditor:修正确定源文件编码。
  23. MetaEditor:修正在UTF-8编码中搜索文件。
  24. MetaEditor:修正如果文本包含标签,通过鼠标选择文本。
  25. MetaEditor:添加匈牙利语和罗马尼亚语的UI翻译。
  26. 更新文档。

更新内容将通过LiveUpdate系统提供。

原因: