如何开始学习MQL5 - 页 6

 

以经济方式计算指标的原则

在人类的实践活动的一个或多个领域中保存资源的想法或许是人类发展与进步的过程中最重要和最紧迫的主题。在这一点上,用 MQL5 语言编程也不例外。当然,如果任务的范围仅仅局限于可视化交易,则编程的很多缺陷仍然能够处于未被发现的状况。

但是与自动交易有关的所有一切,开始都需要以最大的经济性编写代码,否则交易机器人的测试和优化过程可能延长到几乎不可能等待它们完成的时间。在此类情形中创建某些有价值的东西的想法似乎很不现实。

因此,在着手实施交易策略之前,最好更好地熟悉对 EA 交易程序的优化和测试时间有影响的编程细节。因为大部分的 EA 交易程序在它们的代码中包含对用户指标的调用,因此我认为我们应该从它们开始。

一般而言,在构建指标时并没有很多要必须记住的相关要点,因此按顺序简单地回顾一下它们是最符合逻辑的。

 

价格直方图(市场概况)及其在 MQL5 中的实施

很久以前,我在浏览杂志订阅信息时在一份俄国杂志 "Valutny Spekulant"(现名 "Active Trader") 上读过一篇文章“市场概况和理解市场语言”(2002 年 10 月刊)。原文出处如下:"New Thinking in Technical Analysis:Trading Models from the Masters"


“市场概况”由真正才华横溢的思想家 Peter Steidlmayer 所提出。他发现了市场(交易量)的本质表达,并以一种易懂的方式(钟形曲线)加以组织,从而使市场参与者能够获得市场产生的客观信息。 Steidlmayer 建议使用有关“水平”和“垂直”市场动态信息的替代表示法,从而给出一套完全不同的模型。他认为存在市场深层次的摆动或称之为平衡和失衡周期的基本模式。

市场概况衡量市场的水平动态和垂直动态。我们称其为贯穿“平衡”和“失衡”。这一关系是市场的基本组织原则。交易者的整体交易风格可能会根据市场处于平衡/失衡周期的具体阶段而有所改变。市场概况可决定市场从平衡向失衡转变的时间以及转变的程度。

市场概况的两大基本理念如下所述:

  1. 市场是一场竞拍,它沿供求大致平衡的价格范围的方向移动。
  2. 市场有两个阶段:水平活动阶段和垂直活动阶段。市场在供求不等或失衡时垂直移动,在供求均势或平衡时水平移动。
New Thinking in Technical Analysis: Trading Models from the Masters
New Thinking in Technical Analysis: Trading Models from the Masters
  • 评论: 10
  • 38.83 USD
  • www.amazon.com
Sometimes even the most thorough homework on fundamentals fails to pinpoint the best time to buy a stock or take profits. Technical analysis helps market players predict the price behavior of a stock, commodity, or any financial instrument, giving clues about the course a trade may take in the coming weeks and months. When market timing is of...
 

如何交换数据:10 分钟为 MQL5 创建 DLL


事实上,很少有开发人员确切知道如何编写简单的 DLL 库,他们也不清楚绑定不同系统的特性。

通过多个示例,我将展示在 10 分钟内创建简单 DLL 的整个过程,并讨论我们绑定实施的一些技术细节。我们将使用 Visual Studio 2005/2008;其 Express 版本可免费从 Microsoft 的网站上下载。

 

用 MQL5 绘制指标的喷发




毫无疑问,许多交易人员和交易策略的开发人员会对下面这些问题感兴趣:

 

使用 WCF 服务将报价从 MetaTrader 5 导出至 .NET 应用程序的方法

使用 MetaTrader 4 中 DDE 服务的编程人员也许听说过第五版不再支持该服务。目前尚无标准的解决方案用于导出报价。作为此问题的一种解决方案,MQL5 开发人员建议使用您自己的 dll 进行实施。因此,如果我们不得不编写实施程序,我们不妨巧妙一点!




为什么选择 .NET?

对 有着长期 .NET 编程经验的笔者而言,使用该平台实施报价的导出无疑更合理、有趣和容易。遗憾的是,第五版中没有对 .NET 提供任何 MQL5 原生支持。我相信开发人员这样做有其自身的考虑。因此,我们将使用 win32 dll 作为支持 .NET 的包装程序。

为什么选择 WCF?

我 之所以选择 Windows Communication Foundation (WCF) 技术是出于以下几点考虑:一方面,它易于扩展和适应,另一方面,我想在繁重的工作下对其进行检测。此外,根据 Microsoft 的说法,WCF 相比 .NET Remoting 在性能上略胜一筹。

 

指标间的数据交换:易如反掌!



我们之所以欣赏初学者,是因为他们固执地不愿意使用搜索,而诸如“常见问题解答”、“初学者指南”或“妇孺皆知的问题解答”的话题随处可见。他们真正的任务是提出问题,比如“如何...”、“有没有可能...”,但他们常常获得“没门”、“不可能”等诸如此类的答案。

恒古流传的警句“永不说不”一直激励着科学家、工程师和程序员思考和推陈出新。

 

用 MQL5 连接 EA 交易程序和 ICQ



ICQ 是一项文本信息即时交换中央服务,具有离线模式,采用 OSCAR 协议。对于交易者而言,ICQ 能够担当一个及时显示信息及控制面板的终端。本文将介绍一个例子,说明如何在一个 EA 交易程序内实施一个具有最少功能集的 ICQ 客户端。

IcqMod 项目的草稿包含一个开源代码,是本文的使用和处理基础。在 DLL 模块 icq_mql5.dll 中实施了与 ICQ 服务器的交换协议。它以 C++ 编写,并且仅使用 Windows 库 winsock2。本文附带了编译后的模块和针对 Visual Studio 2005 的源代码。

辨别此客户端的功能和实施限制:

  • 同时工作的客户端的最大数量在理论上是没有限制的。
  • 传入消息的最大字符数 - 150 个字符。不支持更长消息的接收。
  • Unicode 支持。
  • 仅支持直接连接。不支持通过代理服务器 (HTTP / SOCK4 / SOCK5) 进行的连接。
  • 不处理离线消息。
 

MQL5:在 MetaTrader 5 中分析和处理商品期货交易委员会 (CFTC) 报告




作为交易人员的工具之一的由 MetaQuotes Software Corp. 开发的 MetaTrader 5 交易终端,包含支持面向对象编程的 MQL5 编程语言。一方面,MQL5 和前一版本的 MQL4 并不兼容;另一方面,它具有全功能 面向对象语言的大量新的可能性。因此,那些已经驾驭 MQL4 的交易人员,不得不学习这一(事实上的)新的语言,而他们正是本文的目标读者。

在本文中,我将给出下述问题的解决方案:有必要开发交易人员工具,以获得和分析商品期货交易委员会 (CFTC) 报告的不同数据。本主题已在 Meta COT 项目 - MetaTrader 4 CFTC 报告分析的新视野一文中进行讨论,因此我假设读者已熟知基本概念,而我们将讨论在文章中未涉及的详细信息。

理念如下:开发可从委员会提供的文件获取数据而无需中间处理和转换的单一指标。此外,该指标可用于不同目的:作为指标绘制数据;作为其他指标的数据源、在脚本中用于自动分析、在开发交易策略时用于“EA 交易”。

Meta COT Project - New Horizons for CFTC Report Analysis in MetaTrader 4 - MQL4 Articles
  • www.mql5.com
Meta COT Project - New Horizons for CFTC Report Analysis in MetaTrader 4 - MQL4 Articles: features of automated forex trading and strategy tester
原因: