如何开始学习MQL5 - 页 24

Sergey Golubev
版主
116966
Sergey Golubev  

论坛

GitHub现已支持MQL5和MQL4语言

MetaQuotes Software Corp., 2016.11.15 08:45

此外,在TIOBE语言人气指数排名中:http://www.tiobe.com/tiobe-index/,MQL4(当然也包括MQL5,因为这两种语言被索引作者视为一种MQL4语言)的排名已经上升到41位。



Sergey Golubev
版主
116966
Sergey Golubev  

论坛

在MetaTrader 5通过Skrill付款

MetaQuotes Software Corp., 2016.11.16 09:25

MetaTrader 5平台现已支持只需指定电邮地址就可完成超过40种货币在线转账的Skrill支付系统。

Skrill已经成为此热门交易平台的第八种支付方式。MetaTrader 5还支持Visa,万事达卡和银联卡,以及MQL5.community,PayPal,WebMoney,Neteller和ePayments系统。

支付交易者服务快速便捷 - MetaTrader 5支持最流行的付款方式

MetaTrader 5平台提供广泛的付款方式选项,有助于通过您喜爱的支付方式从市场购买自动交易或支付虚拟主机和信号订阅。所有金融操作都从平台直接执行。若要使用Skrill支付意向服务,请从付款选项列表选择该支付系统。下一步,输入您的电邮地址,确定您的密码并确认转账:

在MetaTrader 5通过Skrill付款

支付交易者服务快速便捷 - MetaTrader 5支持最流行的付款方式!

下载MetaTrader 5 >>


Sergey Golubev
版主
116966
Sergey Golubev  

论坛

MetaTrader 5客户端变更列表

MetaQuotes Software Corp., 2016.11.16 16:20

新版MetaTrader 5 Build 1485:附加测试模式和标准程序库的图形

MetaTrader 5平台更新将于2016年11月18日,星期五,进行发布。它将包括以下变化:

  1. 程序端:更改了程序端和MetaEditor日志中的条目顺序。更新之前,首先突出最新的日志条目。现在,日志会最先显示之前的条目。更传统的逆向排列顺序使得阅读日志更加轻松。




    此外,现在使用日志快捷菜单还可以隐藏'时间'和'源'所在列。

  2. 程序端:在锁仓模式,平仓的单号现在会显示在交易历史记录的订单和交易。这可以更轻松的查找相关的打开和关闭操作。




  3. 程序端:修正相同工具下导致从现有持仓到新持仓复制SL/TP的错误。当在锁仓模式使用一键交易功能(例如,从图表或从市场报价窗口)时可能发生该错误。
  4. 程序端:修正超高清屏幕(4K)下箭头对象的显示。
  5. MQL5:添加新的打印简单类型和结构到数组日志的ArrayPrint功能。
    void  ArrayPrint(
       const void&   array[],             // 输出数组
       uint          digits=_Digits,      // 小数位数
       const string  separator=NULL,      // 结构字段值之间的分隔符
       ulong         start=0,             // 最先显示元素的指数
       ulong         count=WHOLE_ARRAY,   // 显示的元素数
       ulong         flags=ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_LIMIT|ARRAYPRINT_ALIGN    
       );
    
    ArrayPrint无法打印全部结构数组字段到日志 – 跳过对象的数组字段和指针字段。如果您想打印全部结构字段,您应该使用所需格式批量打印的定制功能。
    //--- 显示最近的10个柱形图值
       MqlRates rates[];
       if(CopyRates(_Symbol,_Period,1,10,rates))
         {
          ArrayPrint(rates);
          Print("Проверка\n[time]\t[open]\t[high]\t[low]\t[close]\t[tick_volume]\t[spread]\t[real_volume]");
          for(int i=0;i<10;i++)
            {
             PrintFormat("[%d]\t%s\t%G\t%G\t%G\t%G\t%G\t%G\t%I64d\t",i,
             TimeToString(rates[i].time,TIME_DATE|TIME_MINUTES|TIME_SECONDS),
             rates[i].open,rates[i].high,rates[i].low,rates[i].close,
             rates[i].tick_volume,rates[i].spread,rates[i].real_volume);
            }
         }
       else
          PrintFormat("CopyRates failed, error code=%d",GetLastError());
    //--- 日志示例
    /*
                        [time]  [open]  [high]   [low] [close] [tick_volume] [spread] [real_volume]
       [0] 2016.11.09 04:00:00 1.11242 1.12314 1.11187 1.12295         18110       10   17300175000
       [1] 2016.11.09 05:00:00 1.12296 1.12825 1.11930 1.12747         17829        9   15632176000
       [2] 2016.11.09 06:00:00 1.12747 1.12991 1.12586 1.12744         13458       10    9593492000
       [3] 2016.11.09 07:00:00 1.12743 1.12763 1.11988 1.12194         15362        9   12352245000
       [4] 2016.11.09 08:00:00 1.12194 1.12262 1.11058 1.11172         16833        9   12961333000
       [5] 2016.11.09 09:00:00 1.11173 1.11348 1.10803 1.11052         15933        8   10720384000
       [6] 2016.11.09 10:00:00 1.11052 1.11065 1.10289 1.10528         11888        9    8084811000
       [7] 2016.11.09 11:00:00 1.10512 1.11041 1.10472 1.10915          7284       10    5087113000
       [8] 2016.11.09 12:00:00 1.10915 1.11079 1.10892 1.10904          8710        9    6769629000
       [9] 2016.11.09 13:00:00 1.10904 1.10913 1.10223 1.10263          8956        7    7192138000
       Check
       [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
       [0] 2016.11.09 04:00:00 1.11242 1.12314 1.11187 1.12295 18110 10 17300175000 
       [1] 2016.11.09 05:00:00 1.12296 1.12825 1.1193 1.12747 17829 9 15632176000 
       [2] 2016.11.09 06:00:00 1.12747 1.12991 1.12586 1.12744 13458 10 9593492000 
       [3] 2016.11.09 07:00:00 1.12743 1.12763 1.11988 1.12194 15362 9 12352245000 
       [4] 2016.11.09 08:00:00 1.12194 1.12262 1.11058 1.11172 16833 9 12961333000 
       [5] 2016.11.09 09:00:00 1.11173 1.11348 1.10803 1.11052 15933 8 10720384000 
       [6] 2016.11.09 10:00:00 1.11052 1.11065 1.10289 1.10528 11888 9 8084811000 
       [7] 2016.11.09 11:00:00 1.10512 1.11041 1.10472 1.10915 7284 10 5087113000 
       [8] 2016.11.09 12:00:00 1.10915 1.11079 1.10892 1.10904 8710 9 6769629000 
       [9] 2016.11.09 13:00:00 1.10904 1.10913 1.10223 1.10263 8956 7 7192138000 
    */
    

  6. MQL5:修正添加字符串类型S1=S2+S1的错误
  7. MQL5:更改ArrayResize函数的行为。如果 -1作为reserve_size参数传递,如果函数没有增加数组大小,函数仅释放未使用(保留)的内存。 以reserve_size=-1设置新数组大小为0相当于ArrayFree调用。新行为可以优化MQL5程序的内存使用率。
    void OnStart()
      {
       int arr[];
    //--- 最初使用的内存数量 
       Print("Array size:",ArraySize(arr)," Memory used:",MQLInfoInteger(MQL_MEMORY_USED)," MB");
    //--- 用于数组大小1的内存数量,保留
       ArrayResize(arr,1,1024*1024);
       Print("Array size:",ArraySize(arr)," Memory used:",MQLInfoInteger(MQL_MEMORY_USED)," MB");
    //--- 增加数组以后,使用的内存数量因保留而无法更改
       ArrayResize(arr,1024*512,1024*1024);
       Print("Array size:",ArraySize(arr)," Memory used:",MQLInfoInteger(MQL_MEMORY_USED)," MB");
    //--- 减少数组以后,内存大小也不会改变
       ArrayResize(arr,1);
       Print("Array size:",ArraySize(arr)," Memory used:",MQLInfoInteger(MQL_MEMORY_USED)," MB");
    //--- 移除储备内存后将释放未使用的内存
       ArrayResize(arr,1,-1);
       Print("Array size:",ArraySize(arr)," Memory used:",MQLInfoInteger(MQL_MEMORY_USED)," MB");
      }
    

  8. MQL5:图表绘制函数已经添加到标准程序库。若要使用新功能,请将 MQL5\Include\Graphics\Graphic.mqh 加入到您的项目。

    基于三个数据系列使用GraphPlot绘制图表:
    #include <Graphics/Graphic.mqh>
    
    double Func1(double x) { return MathPow(x,2); }
    double Func2(double x) { return MathPow(x,3); }
    double Func3(double x) { return MathPow(x,4); }
    
    void OnStart()
      {
       GraphPlot(Func1,Func2,Func3,-2,2,0.05,CURVE_LINES);
      }
    
    
    结果:


    基于数据数组使用GraphPlot绘制图表:
    #include <Math/Stat/Binomial.mqh>
    #include <Graphics/Graphic.mqh>
    
    void OnStart(void)
      {
       double    vars[101];
       double    results[101];
       const int N=2000;
    //---  
       MathSequence(0,N,20,vars);
       MathProbabilityDensityBinomial(vars,N,M_PI/10,true,results);
       ArrayPrint(results,4);
       GraphPlot(results);
    //---
      }
    
    结果:



  9. MQL5:更新标准程序库中处理数学统计的函数。我们已经彻底检查了MQL5版和源R语言所有函数的质量和准确性。若要控制准确度和性能速度,单元测试可以沿着静态库进行分布。它们可以在\MQL5\Scripts\UnitTests\Stat目录取得。

    • TestStat.mq5 — 是测试计算结果的主要测试脚本
    • TestPrecision.mq5 — 计算精度的测试
    • TestBenchmark.mq5 — 测试包括计算测量性能

  10. Tester:该更新强调了测试期间配置执行延迟的高级设置。现在您可以在多种交易条件下测试您的EA交易,包括无延迟的理想情况和任何自定义设置的延迟。



    在早期版本只提供随机延迟模式

  11. Tester:修正在'基于高开低收的M1'模式生成柱形图的报价量。
  12. Tester:修正锁仓模式交易时订单和持仓建立时间说明提高到毫秒。
  13. Tester:修正'真实报价'模式下多货币或多时间周期模式期间可能出现的'旧报价'错误。
  14. Tester:改进从位于磁盘的数据库阅读请求报价时的CopyTicks性能速度。
  15. MetaEditor:导航条和工具箱中的文件快捷菜单现在突出了处理源代码版本库MQL5存储的命令。




  16. MetaEditor:修正处理存储中超过1024文件时可能偶尔破坏本地MQL5存储库完整性的错误。
  17. MetaEditor:修正MQL5存储文件树的显示。
  18. MetaEditor:修正批量文本替换的显示。
  19. 更新文档。

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


Sergey Golubev
版主
116966
Sergey Golubev  

论坛

MetaTrader平台在2016伦敦金融巨头峰会上荣获最佳外汇交易平台奖和最佳多元化资产交易平台奖

MetaQuotes Software Corp., 2016.11.18 20:01

MetaTrader交易平台在2016金融巨头颁奖盛典中分别被授予两个类别的奖项。MetaTrader 5被授予最佳多元化资产交易平台奖,而MetaTrader 4则被评为最佳外汇交易平台。

Finance Magnates Awards 2016

2016年11月15日金融巨头峰会一致赞同此次颁奖盛典的最终决定。该年度盛况汇聚了超过2000名金融业专家和90家与会公司,创造了访客的最高纪录。MetaTrader 4和MetaTrader 5打败竞争者,在独立的投票过程获得了最多的票数。这些奖项由市场的实际参与者选出,他们客观的反映了世界范围内的市场情况。

这并不是我们产品在金融巨头峰会上的第一次成功:去年 MetaTrader平台也荣获了最佳交易平台奖和最佳移动产品奖。 成为金融业主要参与者的最佳选择,我们感到无比自豪。


Sergey Golubev
版主
116966
Sergey Golubev  

论坛

MQL4和MQL5在TIOBE人气语言指数排名41位

MetaQuotes Software Corp., 2016.11.18 22:03

MQL4交易策略编程语言在TIOBE人气语言指数排名中上升了77位。MQL4语言自2014年12月进入TIOBE人气语言排行榜以来,2016年11月已从最初的118位一跃上升至41位。应该注意的是,TIOBE指数作者将MQL4和MQL5都视为一个MQL4语言。

MQL4和MQL5在TIOBE人气语言指数排名41位


TIOBE是最受欢迎的编程语言人气排行榜,除了语言的当前地位,它还显示了语言的排名动态。该指数每月更新,目的就是在于更好的展现哪种语言越来越受欢迎以及哪种语言排名下降。评级计算方式都详细的描述在这里

主要标准就是查询包含该语言名称的搜索引擎结果数量。MQL4/MQL5在Google,Bing,Yahoo,Wikipedia以及YouTube被搜索的越频繁,那么在该排行榜的位置就会越高。2年晋升77位就是一个质的飞跃,这正是MetaTrader平台自动交易开发越来越受到大家欢迎的最佳例证。

我们衷心感谢喜爱算法交易和我们MQL4/MQL5语言的所有用户。


Sergey Golubev
版主
116966
Sergey Golubev  

论坛

MetaTrader 5 iOS build 1425:改进一键交易功能并更新设置设计

MetaQuotes Software Corp., 2016.11.24 12:01

在更新的MetaTrader 5 应用程序中一键交易面板变得更加的便捷。现在该面板还额外提供纵向模式。面板中的交易量可以根据从列表中选择的意向值快速变化。

MetaTrader 5 iOS build 1425

现在,MetaTrader 5应用程序的设置强调了有关当前交易账户的信息。 此外,我们还合理的安排了设置页面的单位布局并更新了其设计。另一个新选项就是可以通过在窗口标题点击交易品种名称直接从图表改变所突出的交易品种。

马上更新您的应用程序 — 最新版的MetaTrader 5 就在App Store


Sergey Golubev
版主
116966
Sergey Golubev  

随机游走和趋势指标


掷硬币游戏很久以来就存在了。让我们来玩这个游戏,不过目的在于测试并理解 FOREX 市场中的技术交易机制。我们并不是第一个将硬币拿在手中的人。那些希望更加详细地学习概率论的人可以参考 William Feller 所写的《An Introduction to Probability Theory and Its Applications》(概率论及其应用)一书。我们的目标是理解交易机制

Sergey Golubev
版主
116966
Sergey Golubev  

论坛

MetaTrader 5网页平台更新:双重认证以及更改密码

MetaQuotes Software Corp., 2016.12.05 12:48

应广大客户需求,我们已经对账户保护做以改进,防止未经授权的访问MetaTrader 5 网页平台。增强的账户保护包括了使用动态口令的双重认证以及更改主密码和只读密码的功能。

若要启用双重认证功能,请启动MetaTrader 5移动应用程序。登录并在设置窗口选择生成OTP选项。生成动态口令(OTP)功能可以绑定您的全部交易账户并为每个账户自动生成一个唯一的六位动态口令。登录网页平台时输入生成的动态口令。恭喜您!交易账户已经得到安全保护。

此外,您还可以在更新的MetaTrader 5网页平台更改主密码和只读密码。 赶快抓住这个机遇,创建一个好记的个人ID吧。

另一个重要的特色创新就是自动生成模拟账户。现在,您可以使用任何浏览器启动MetaTrader 5网页平台,即刻开始外汇、股票、期货或差价合约(CFD)等金融交易品种的交易。启动MetaTrader 5网页平台,体验热门平台网页版的全部新功能吧!

启动MetaTrader 5网页平台>>


Sergey Golubev
版主
116966
Sergey Golubev  

论坛

通过MetaTrader 5实现Claws & Horns俄罗斯股市分析

MetaQuotes Software Corp., 2016.12.13 10:16

集成MetaTrader 5的Claws & Horns新闻源具有日常分析莫斯科交易所俄罗斯股票交易的特性。由于交易者对这种分析功能日益增长的需求,新闻源开发者已经扩展了提供服务的列表。

Russian stock market analysis from Claws & Horns in MetaTrader 5

Claws & Horns主要集中在蓝筹股 — 包含最大且流动性最强的俄罗斯公司,例如俄罗斯联邦储蓄银行 (SBER),俄罗斯石油公司 (ROSN),俄罗斯天然气工业公司(GAZP),卢克石油公司(LKOH),埃罗莎公司(ALRS) 和俄罗斯航空公司(AFTL)。


The Daily Analysis of Russian Shares


除此之外,它还提供了基本期货的常规分析,包括MICEX指数,RTS指数,美元兑卢布,欧元兑卢布以及债券和欧洲债券。每周一共涵盖约有50个交易品种。

如果您的MetaTrader交易商拥有这个新闻源,您就能够访问完整的Claws & Horns分析:经济日历,信号,技术和基本分析以及主要货币组长期预告的每周视频播客。


Sergey Golubev
版主
116966
Sergey Golubev  

论坛

全球共有超过100家主要交易商提供MetaTrader 5

MetaQuotes Software Corp., 2016.12.21 12:10

目前,大多数主要交易商,包括爱汇(ActivTrades),捷世交易(Just2Trade),NAS交易商和哈利法克斯投资服务都已宣布推出支持锁仓的MetaTrader 5。这个趋势也得到其他优秀的市场参与者:GLOBAL FX,全球股票交易商和Forex Limited的支持。这类公司的数量每周都在上涨——全球总共已有超过100家交易商为他们的客户提供金融市场的旗舰级交易平台

"我们NAS交易商公司很高兴能为我们的客户提供MetaTrader 5 — 新一代专业的多元化金融交易平台," NAS交易商高级市场分析师Oleg Sergeev说。"多种激动人心的技术革新可以马上提高专业交易者的交易效率:先进的MQL5编程语言,MQL5云网络,新的时间周期和主要特性——市场深度和新的策略测试。在NAS交易商公司,我们同时支持满足多种交易策略所需的单边账户和锁仓账户"。

全球共有超过100家主要交易商提供MetaTrader 5

"Just2Trade在线平台注重于适合全球所有主要市场的高科技金融解决方案"Just2Trade在线平台运营主管Evgeny Zhilin,在解释公司如何选择平台时评论说。"拥有了MetaTrader 5这种强大的产品,我们将会尽所能的开发其实用性,以便最大限度的使用它。现如今,Just2Trade客户可以从MetaTrader 5平台的一个账户直接访问纽约证券交易所(NYSE),美国纳斯达克(NASDAQ),伦敦证券交易所(LSE),FSE,莫斯科交易所(MOEX),芝加哥商业交易所(CME),纽约商业交易所(NYMEX),洲际交易所(ICE),欧洲期货交易所(EUREX)以及外汇市场的9000多种工具"。

"哈利法克斯投资服务公司,作为持有澳洲和新西兰牌照的做市商,很荣幸能够为客户和全球白标伙伴提供MetaTrader 5", 哈利法克斯销售主管,Jonathan Schneider说。"我们通过MetaTrader 5可以同时提供场内交易和场外交易,这正充分的反映了MetaTrader 5真正的多元化金融平台的本质。MetaTrader 5可以使哈利法克斯公司及其白标伙伴在各个方面都具有竞争优势"。

"添加的锁仓功能满足了许多交易者,包括当前的MetaTrader 5用户以及其他用户的愿望," ActivTrades国际业务经理,Ricardo Evangelista补充道。"我们相信它将会吸引更多的交易者,包括当前使用MetaTrader 4的用户。随着MT5的推出,从早期开始,对锁仓功能的需求就始终存在。MT5正是有兴趣探索平台潜力的交易者们所期待的平台,却又因锁仓功能的限制而不得不推迟。现在这一功能终于得以实现,我们期望看到MetaTrader 5能满足大家更多的需求"。