文章,程序库评论 - 页 165

Disaster: 来自2007年自动交易锦标赛的EA交易。当价格穿过周期数为590的移动平均线时进行买入/卖出。 作者: Maxym Kondratiuk
ATRStops_v1[1].1: ATRStops_v1[1].1 指标。 Author: John Smith
新文章 跨平台智能交易程序: 订单已发布: MetaTrader 4 和 MetaTrader 5 在处理交易请求时使用不同的约定。本文讨论使用类对象来表达由服务器处理的交易的可能性, 目的是让跨平台智能交易程序可以无视交易平台版本和使用模式均可工作。 以下显示平台上执行的 EA 屏幕截图。注意, 由于 EA 调用 ExpertRemove 函数, 它会在执行其代码之后立即从图表上移除 (仅执行一次 OnTick 处理器)。 作者:Enrico Lambino
新文章 Erik Nayman 的绳索指标已发布: 本文揭示 Erik L. Nayman 如何基于 "交易员小百科" 来创建 "绳索" 指标。此指标通过计算覆盖指定周期时间的牛熊数值来显示趋势方向。本文还包含指标创建和计算的原理以及例程代码。其它涉及的主题包括建立基于指标的智能交易程序, 和外部参数的优化。 在本章里, 我们将会着眼于创建基于 "绳索" 指标 (指标的源代码名称 — RopebyEricNaiman) 的智能交易程序 EARopebyEricNaiman。基于 EARopebyEricNaiman 智能交易程序例程的指标可作为单独的策略,...
新文章 图形界面 VIII: 日历控件 (第一章)已发布: 在 MetaTrader 中创建图形界面的系列文章的第八部分中,我们将探讨复杂的组合控件,例如日历(calendar),树形视图(tree view),以及文件浏览器(file navigator)。因为有大量的信息,对每个主题都有独立的文章,此部分的第一章描述了日历控件以及它的扩展版本 - 下拉日历。 让我们列出日历的所有组件: 区域用于切换前面和后面月份的按钮用于列出月份的组合框控件用于输入年份的栏位星期几简称的文字标签数组分隔线包含日期的二维文字标签数组用于快速跳到下一个日期的按钮  图 1....
新文章 如何在 MetaTrader 5 里快速开发并调试交易策略已发布: 自动剥头皮系统理所当然地被认为是算法交易的巅峰, 但同时它们的代码也最难编写。在本文中, 我们将介绍如何使用内置调试工具并基于接收的瞬时报价分析来构建策略, 以及可视测试。开发入场和离场规则, 往往需要经历多年的手工交易。但借助 MetaTrader 5, 您可以在真实历史数据的基础上快速测试任何策略。 执行速度对于实时运行的程序是至关重要的。MetaEditor 的开发框架可以轻松、快速地评估每一部分代码消耗的时间。为此, 就必须运行代码分析器, 让程序工作一段时间。对于剖析这个指标,...
新文章MQL5 酷宝书 - 移动通道交易信号已发布: 本文描述的过程, 是开发和实现基于移动通道发送信号的类。每个信号版本均随带交易策略和测试结果。标准库的类用于创建派生类。 所以, 让我们从简单的事情开始, 并在 OOP 的帮助下修改和改进。我们有一些基本的策略。 策略将会考虑相当简单的交易规则。入场将在通道的边界进行。当价格触及下边界将开多头仓位, 当它接触到上边界 - 空头仓位。图例. 1 显示价格触及下边界, 所以机器人买入一定交易量。交易价位 (止损和止盈) 会按照固定大小自动放置。如果此处有开仓, 重复的入场信号将被忽略。 图例...
新文章 跨平台智能交易程序: 重用来自 MQL5 标准库的控件已发布: 在 MQL5 标准库里存在的一些控件被证明在 MQL4 版本的跨平台智能交易程序里十分有用。本文涉及令某些 MQL5 标准库的控件与 MQL4 编译器兼容的方法。 处理此问题的一种方法是使用交易管理器。与早前介绍的品种管理器类似, 此对象扩展了 CArrayObj, 并且几乎与 CSymbolManager 有相同的方法集。我们应该有一个基本的头文件, 依赖所使用的编译器引用正确的子代来编译文件。并且就像品种管理器, 交易管理器处理数据存储及恢复。因此, 大部分代码都可以在基本头文件中找到。文件结构如下图所示。...
新文章 跨平台智能交易程序: 概论已发布: 本文详细介绍了一种可以更快捷开发跨平台 EA 的方法。其所倡导的方法是将两个版本共享的功能整合到一个单独的类, 并将不兼容的功能分割到派生类。 请注意, 前面显示的两个源文件是相同的。它不可能有单一源文件可以跨平台兼容。这在于源文件是如何被编译的: 编译一个 MQ4 源文件的结果将生成一个 EX4 文件编译一个 MQ5 源文件的结果将生成一个 EX5 文件。 不太可能有单一源文件可以在两个平台上工作。不过, 两个源文件引用单一的头文件是有可能的, 如下图描绘的那样: 作者:Enrico Lambino
新文章 图形界面 VII: 页面控件 (第二章)已发布: 第七部分的第一章介绍了用于创建三种表格控件的类: 文字标签型表格(CLabelsTable), 编辑框型表格(CTable) 以及绘制型表格(CCanvasTable)。在本文中(第二章)我们将讨论页面(Tabs)控件。 让我们列举出这个控件的所有组件。 容纳一组控件的背景或者区域页面  图 1. 页面控件的组件。 作者:Anatoli Kazharski
DailyFX CSV MQL4 基本面交易者: 本EA交易根据 www.dailyfx.com/calendar 上发布的当前每周新闻事件进行交易. EA交易等待下一个新闻事件的发布, 比较发布的经济数据, 再决定交易哪个货币 作者: c0d3
新文章 如何使用 EA 遵照您的规则拷贝信号?已发布: 当您订阅了一个信号, 也许会发生这样的情形: 您的交易账户杠杆为 1:100, 而提供者的杠杆为 1:500, 且使用最小手数, 而您的账户余额大约相等 — 但拷贝比率只有 10% 到 15%。本文介绍在这种情况下如何增加拷贝比率。 这是 BUY 0.01 EURUSD 的备注, 成交拷贝自 "Test3443431" 信号。在 "工具箱" 窗口里的 "历史" 栏中, 将鼠标悬浮在拷贝的成交上即可查看它:   图例. 4. 拷贝成交的备注 ("历史" 栏) 此处: "#69801797" —...
新文章 研究 CCanvas 类。抗锯齿和阴影已发布: CCanvas 类的抗锯齿算法是所有使用抗锯齿构造的基础。本文包括其算法的操作内容, 并提供相应的直观示例。它也涵盖了绘制图形对象造型, 以及在画布上绘制造型的算法详情。数值分析库 ALGLIB 用于计算。 下图展示了一个虚拟像素及其覆盖的物理像素之间的连接: 图例. 3. 物理像素的覆盖面 这意味着一个 虚拟像素 (计算出的坐标) 经常含有分数坐标, 且能够同时覆盖 四个物理像素。在这种情况下, 抗锯齿算法需要执行它的主要职责 — 用一个虚拟像素的颜色为四个物理像素着色, 但使用不同的迭代。如此, 它将会蒙骗我们的视觉 —...
新文章 图形界面 VII: 表格控件 (第一章)已发布: MetaTrader 图形界面系列的第七部分处理的是三种表格类型:文本标签型,编辑框型,以及绘制型。另一种重要并且常用的控件是页面,它使您可以显示/隐藏成组的其他控件并且在您的MQL应用程序中开发有效利用空间的界面。 文本标签型表格包含以下的组件: 背景.文本标签.垂直滚动条.水平滚动条.   图 1. 文本标签型表格控件的组成部分 作者:Anatoli Kazharski
  专家: RSI_Test  (3)
RSI_Test: 以指标 RSI为基础。 Author: Maksim Zerkalov
新文章 交易机器人的虚假触发保护已发布: 交易系统的盈利能力不仅由逻辑和金融工具的动态分析精度, 而且还要由逻辑算法的性能品质来定义。虚假触发就是交易机器人主要逻辑品质低的典型。在本文里研究这个特别问题的解决方式。 在本文中, 我不会涉及金融工具 (技术和基本面特征) 分析的话题, 这能够影响智能交易程序操作的稳定性, 并有助于避免散射 (这是一个单独的话题 — 我是脉冲均衡理论及其应用系统的作者)。在此, 我们重点关注那些软件手段, 而非直接依赖金融市场分析的方法。 所以, 让我们来着手解决问题。作为一个示例, 我将使用来自 МetaТrader 4 客户端标准集里提供的 "MACD...
新文章 使用文本文件保存智能交易程序, 指标和脚本的输入参数已发布: 本文描述应用文本文件保存动态对象, 数组和其它作为智能交易程序, 指标和脚本属性的变量。这些文件为 MQL 语言的标准工具提供了便利的附加功能。 让我们来审查取自完整操作指标的代码片段。该指标需要若干货币对的数据以便进行正确地操作。所以, 它定期请求数据并按照其逻辑处理它 (指标逻辑在此对于我们不重要)。请记住, 券商有时候在品名上添加不同的后缀和前缀 (例如, EURUSD 也许转换为 #.EURUSD.ch)。这个应予考虑, 以便 EA 能够正确参照其它品名。我们的行动的顺序如下。 1....
新文章 以横盘和趋势行情为例强化策略测试器的指标优化已发布: 检测行情是否处于横盘对于许多策略来说是至关必要的。我们使用高知名度的 ADX 来展示如何利用策略测试器, 不但可以根据我们的特殊目的来优化指标, 而且我们也能判断指标是否符合我们的需要, 得到横盘和趋势行情的均值, 这对于判断行情的止损和目标是十分重要的。 我们需要均衡我们的三个准则!对于所有这些, 我们使用相同的所需功能: 反正切 - 或 mq4 里的 - atan(..)!除了诸如 sqrt() 或 log(), 我们使用 0 或负值没有任何问题。atan() 根本不会超出极限, 例如 RangesRaw, atan(100...
新文章 交易者的 LifeHack: 四次回测比一次好已发布: 在第一次测试之前,每个交易者都会面临同样的问题 — "四种模式中使用哪一种呢?" 每种提供的模式都有其优点和特点,所以我们会用简单的方法 - 使用一个按钮一起运行全部四种模式!本文展示了如何使用 Win API 和一点魔术来同时看到全部四个测试图表。 特别指出,调用了以下的 Windows API 函数: CopyFileW — 把文件复制到 "沙盒(sandbox)" 以及复制来自MQL5 "沙盒"中的文件。FindClose — 关闭搜索句柄。FindFirstFileW —...
新文章 交易者的 LifeHack: 测试中的余额,回撤,负载和订单指标已发布: 如何使测试过程有更好的可视化呢?答案很简单:您需要在策略测试器中使用一个或者多个指标,包含一个订单指标,一个余额和净值指标,一个回撤和存款负载指标。这种方案将有助您可视化地跟踪订单的实况,余额和净值的改变,以及回撤和存款负载。 在MetaTrader 5策略测试器中同时运行LifeHack 回撤负载和 LifeHack 余额净值指标: 图 9. LifeHack 回撤负载指标 作者:Karputov Vladimir
新文章 图形界面 II: 分隔线和上下文菜单元件 (第二章)已发布: 在本文中, 我们将会创建分隔线元件. 它可以用作独立的界面元件, 也可以作为许多其他元件的一部分. 之后, 我们就拥有了开发上下文菜单的全部所需, 在本文中会加以详细介绍. 另外, 我们还会对类作必要的扩充, 即用于保存应用程序中图形界面所有元件的指针库. 作者:Anatoli Kazharski
新文章 外部指标的提醒和注释。 通过外部扫描进行多货币分析已发布: 外部指标的多货币和多时间范围分析的提醒。 本文讨论了一种获得外部指标事件信息的方法,而不必将指标添加到图表或自己打开图表。 我们将其称为外部扫描。 在之前的文章中,我们看到了如何从使用图表中显示的 Wingdings 符号作为信息源的指标获得信息(“外部指标的提醒和注释”)以及如何对使用指标缓冲区储存信息的指标创建基于指标的提醒(“外部指标的提醒和注释...
新文章 EA交易的自我优化: 进化与遗传算法已发布: 本文涵盖的内容是提出了进化算法主要原则,以及它们的特点和多样性。我们将使用一个简单的EA交易作为实例来做实验,来展示如何通过优化使我们的交易系统获益,我们将探讨在软件程序中实现遗传、进化以及其它类型的优化,并且在优化交易系统的预测器集合与参数时提供示例程序。 使用初始(通常是默认)参数定义质量分数 > K <- fitnes(par, test = TRUE)> K[1] 0> plot(bal, t="l") 图1 默认参数的余额  作者:Vladimir Perervenko
StochR% Super Position Indicator: 超级仓位数组的又一个指标: StochR% Super Position Author: Sergey Kazachenko
Divergence Trader: Divergence Trader Expert Advisor. Author: Collector
Natuseko Protrader 4H 策略: 交易品种: 各种 时间帧: H4 使用的指标: EMA, SMA, MACD, RSI, 布林带, 抛物线 SARS 作者: Юрий
新文章 交易员的正则表达式已发布: 正则表达式 (regular expression) 是通过应用特定的规则来处理文本的一种特殊语言, 也简称为 regex 或 regexp。在本文中, 我们将要展示如何利用 RegularExpressions 库的 MQL5 版本来处理交易报告, 以及使用它处理之后的优化结果。 LinkedList<T> 是 一个数据结构 包括一定数量的元素。每个元素包括一个信息部分, 和两个指向前一个和随后一个对象的指针。所以, 相邻两个元素互指彼此。列表的节点通过 LinkedListNode<T> 对象实现。在每个节点里都有标准设定, 其中包括数值,...
VininI ConstTickHeikenAshi R: 以 "equitick"柱为基础来自蜡烛柱的指标。 Author: Victor Nikolaev
新文章 在真实分时基础上测试交易策略已发布: 本文所提供的是一个简单策略以三种模式进行测试的结果: "1 分钟 OHLC", "每笔分时" 和使用实际历史数据的 "基于真实分时的每笔分时"。 我们已经开发了一款简单的交易策略, 它基于在最后 RangeLength 范围内的柱线突破其范围。交易规则如下: 在新柱线开盘伊始, 计算最后 N 根柱线的最高价和最低价的范围。附加 EA 的 RangeLength 参数省缺值为 20 根柱线。它代表我们所建立范围的窗口宽度。 在首次向上突破范围 - 或者向下时, 开始统计接收分时的累加...
新文章 通用EA交易:与MetaTrader的标准信号模块集成 (第7部分)已发布: 这部分文章描述了使用CStrategy引擎与MetaTrader中标准库的信号模块做集成。本文描述了如何操作信号,以及如何基于它们创建自定义的策略。 以下的图表显示了在策略的自动生成过程中,类的垂直继承一般架构。 图 1. 策略生成器中标准类的继承 作者:Vasiliy Sokolov