开发多币种 EA 交易(第 4 部分):虚拟挂单和保存状态
在开始开发多币种 EA 后,我们已经取得了一些成果,并成功地进行了多次代码改进迭代。但是,我们的 EA 无法处理挂单,也无法在终端重启后恢复运行。让我们添加这些功能。
DoEasy 函数库中的时间序列(第五十八部分):指标缓冲区数据的时间序列
关于操控时间序列的主题总结,诸如组织存储、针对存储在指标缓冲区中的数据进行搜索和分类,如此即可在程序里利用函数库创建指标值,并进一步据其执行分析。 函数库的所有集合类的一般概念,能够轻松地在相应的集合中找到必要的数据。 在今天创建的类中,也可分别完成同样功能。
密码锁算法(CLA)
在本文中,我们将重新考虑密码锁,将它们从安全机制转变为解决复杂优化问题的工具。让我们探索密码锁的世界,不再将其视为简单的安全装置,而是作为优化问题新方法的灵感来源。我们将创建一整群“锁”,其中每把锁都代表问题的一个独特解决方案。然后,我们将开发一种算法来“破解”这些锁,并从机器学习到交易系统开发等多个领域中找到最优解。
理解编程范式(第 2 部分):面向对象方式开发价格行为智能系统
学习面向对象的编程范式,及其在 MQL5 代码中的应用。这是第二篇文章,更深入地讲解面向对象编程的规范,并通过一个实际示例提供上手经验。您将学习如何运用 EMA 指标,和烛条价格数据,将我们早期开发的过程化价格行为智能系统转换为面向对象的代码。
开发多币种 EA 交易(第 6 部分):自动选择实例组
在优化交易策略后,我们会收到一组参数。我们可以使用它们在一个 EA 中创建多个交易策略实例。以前,我们都是手动操作。在此,我们将尝试自动完成这一过程。
MQL5交易策略自动化(第十七部分):借助动态仪表盘精通网格马丁格尔(Grid-Mart)短线交易策略
在本文中,我们将探讨网格马丁格尔(Grid-Mart)短线交易策略,并阐述如何在MQL5中实现该策略的自动化,同时配备一个动态仪表盘以提供实时交易分析。我们将详细介绍该策略基于网格的马丁格尔逻辑以及风险管理功能。此外,我们还将指导如何进行回测和部署,以确保策略的稳健表现。
因果推理中的倾向性评分
本文探讨因果推理中的匹配问题。匹配用于比较数据集中的类似观察结果,这对于正确确定因果关系和消除偏见是必要的。作者解释了这如何有助于构建基于机器学习的交易系统,这些系统在没有经过训练的新数据上变得更加稳定。倾向性评分在因果推理中起着核心作用并被广泛应用。
MQL5 向导技巧须知(第27部分):移动平均线与攻击角度
攻击角度是一个经常被引用的指标,其陡峭程度被认为与当前趋势的强度密切相关。让我们来看一下通常如何使用和理解该指标,并探讨在测量时是否可以做出一些改变,以优化那些将其纳入交易系统的应用效果。
DoEasy 函数库中的图形(第一百部分):改进扩展标准图形对象的处理
在本文中,我将剔除在画布上同时处理扩展(和标准)图形对象和窗体对象方面的明显缺陷,并修复在前一篇文章中执行测试期间检测到的错误。 本文总结了函数库说明的这一部分。
MQL5自动化交易策略(第四部分):构建多层级区域恢复系统
本文将介绍如何在MQL5中开发一个基于相对强弱指数(RSI)生成交易信号的多层级区域恢复(反转)系统(Multi-Level Zone Recovery System)。该系统通过动态数组结构管理多个信号实例,使区域恢复逻辑能够同时处理多重交易信号。通过这种设计,我们展示了如何在保持代码可扩展性和健壮性的前提下,有效应对复杂的交易管理场景。
DoEasy. 控件 (第 3 部分): 创建绑定控件
在本文中,我将创建绑定到基准元素的从属控件。 开发任务将使用基准控件功能执行。 此外,我还会稍微修改一下图形元素阴影对象,因为把它应用于任何有阴影的对象时会遇到一些逻辑错误。
关于因果网络分析(Causality Network Analysis,CNA)和向量自回归(Vector Autoregression,VAR)模型在市场事件预测中的应用实例
本文提供了一个使用因果网络分析(Causality Network Analysis,CNA)和向量自回归(Vector Autoregression,VAR)模型在MQL5中实现复杂交易系统的全面指南。文章涵盖了这些方法的理论背景,详细解释了交易算法中的关键函数,并提供了实现的示例代码。
您应当知道的 MQL5 向导技术(第 42 部分):ADX 振荡器
ADX 是一些交易者用来衡量主流趋势强度的另一个相对热门的技术指标。作为其它两个指标的组合,它体现为振荡器,在本文中我们借助 MQL5 向导汇编、及其支持类,来探索其形态。
您应当知道的 MQL5 向导技术(第 44 部分):平均真实范围(ATR)技术指标
ATR 振荡指标是一款非常流行的指标,权当波动率代表,尤其是在交易量数据稀缺的外汇市场当中。我们以形态为基础来验证这一点,就如我们对先前指标所做那样,并分享策略和测试报告,致谢 MQL5 向导库的类和汇编。
将 MQL5 与数据处理包集成(第 1 部分):高级数据分析和统计处理
集成实现了无缝的工作流程,来自 MQL5 的原始金融数据可以导入到 Jupyter Lab 等数据处理包中,用于包括统计测试在内的高级分析。
在杀毒软件和防火墙下运行的 MetaTrader 4
大多数交易者使用特定的程序保护其电脑。不幸的是,这些程序不仅保护电脑免于入侵、病毒和木马,同时还占用了相当多的资源。首先,这跟网络流量相关。网络流量完全由各种智能杀毒软件和防火墙控制。之所以写这篇文章,是因为交易者抱怨在使用 Outpost 防火墙时 MetaTrader 4 客户端太慢。我们决定使用 Kaspersky Antivirus 6.0 和 Outpost Firewall Pro 4.0 进行自己的研究。
开发多币种 EA 交易系统(第 16 部分):不同报价历史对测试结果的影响
正在开发中的 EA 预计在与不同经纪商进行交易时都会表现出良好的效果。但目前我们一直使用 MetaQuotes 模拟账户的报价进行测试。让我们看看我们的 EA 是否准备好使用与测试和优化期间使用的报价不同的交易账户。
让手动回测变得简单:为MQL5策略测试器构建自定义工具包
在本文中,我们设计了一个自定义的MQL5工具包,用于在策略测试器中轻松进行手动回测。我们将解释其设计与实现方案,重点介绍交互式交易控制功能。然后,我们将展示如何使用它来有效地测试交易策略。
使用莱文贝格-马夸尔特(Levenberg-Marquardt,LM)算法训练多层感知器
本文介绍了一种用于训练前馈神经网络的莱文贝格-马夸尔特(Levenberg-Marquardt,LM)算法的实现。与Python的scikit-learn库中的算法进行性能比较分析。初步探讨更简便的学习方法,如梯度下降、带动量的梯度下降和随机梯度下降。
创建 MQL5-Telegram 集成 EA 交易 (第一部分):从 MQL5 发送消息到 Telegram
在本文中,我们在 MQL5 中创建一个 EA 交易,以使用机器人向 Telegram 发送消息。我们设置必要的参数,包括机器人的 API 令牌和聊天 ID,然后通过执行 HTTP POST 请求来传递消息。之后,我们将处理响应以确保成功传达,并排除故障时出现的任何问题。这确保我们能够通过创建的机器人将消息从 MQL5 发送到 Telegram。
价格行为分析工具包开发(第八部分):指标看板
作为价格行为分析领域最强大的工具之一,指标看板(Metrics Board)旨在通过一键操作简化市场分析流程,实时提供关键市场指标数据。每个功能按钮均对应特定的功能,无论是分析高/低趋势、交易量还是其他关键指标。该工具能在您最需要的时候提供精准、实时的数据。让我们通过本文更深入地了解它的功能。
群体优化算法:随机扩散搜索(SDS)
本文讨论了基于随机游走原理的随机扩散搜索(Stochastic Diffusion Search,SDS)算法,它是一种非常强大和高效的优化算法。该算法允许在复杂的多维空间中找到最优解,同时具有高收敛速度和避免局部极值的能力。
构建和测试 Aroon 交易系统
在本文中,我们将学习在了解了 Aroon 指标(阿隆指标)的基础知识和基于该指标构建交易系统的必要步骤之后,如何构建 Aroon 交易系统。建立这个交易系统后,我们将对其进行测试,看看它是否能盈利,还是需要进一步优化。
MQL5自动化交易策略(第十八部分):基于包络线趋势反弹的剥头皮交易——核心架构与信号生成(1)
本文中,我们将构建包络线趋势反弹剥头皮EA的核心架构。我们初始化包络线等信号生成所需的指标。同时,我们还将搭建回测环境,为下一篇文章中的交易执行环节做好准备。
您应当知道的 MQL5 向导技术(第 45 部分):蒙特卡洛强化学习
蒙特卡洛是我们正在研究的第四种不同的强化学习算法,目的是探索它在向导汇编智能交易系统中的实现。尽管它锚定在随机抽样,但它提供了我们可以利用的多种模拟方法。
DoEasy. 控件 (第 11 部分): WinForms 对象 — 群组,CheckedListBox WinForms 对象
本文将讨论 WinForms 对象群组,及创建 CheckBox 对象列表对象。
在 MQL5 中构建自优化智能交易系统(第六部分):防止爆仓
在今天的讨论中,我们将一同寻找一种算法程序,以最大限度地减少我们因盈利交易被止损而平仓的总次数。我们面临的问题极具挑战性,社区讨论中给出的大多数解决方案都缺乏既定且固定的规则。我们解决问题的算法方法提高了我们交易的盈利能力,并降低了我们的平均每笔交易亏损。然而,要完全过滤掉所有将被止损的交易,还需要进一步的改进,但我们的解决方案对任何人来说都是一个很好的初步尝试
神经网络变得轻松(第四十九部分):软性扮演者-评价者
我们继续讨论解决连续动作空间问题的强化学习算法。在本文中,我将讲演软性扮演者-评论者(SAC)算法。SAC 的主要优点是拥有查找最佳策略的能力,不仅令预期回报最大化,而且拥有最大化的动作熵(多样性)。
种群优化算法:进化策略,(μ,λ)-ES 和 (μ+λ)-ES
本文研究一套称为进化策略(ES)的优化算法。它们是最早使用进化原理来寻找最优解的种群算法之一。我们将针对传统的 ES 变体实现变更,并修改算法的测试函数和测试台方法。
血液遗传优化算法(BIO)
我向大家介绍我的新种群优化算法——血液遗传优化算法(Blood Inheritance Optimization,BIO),该算法的灵感源自人类血型遗传系统。在该算法中,每个解都有其自身的“血型”,这一血型决定了其进化方式。正如自然界中,孩子的血型是依据特定规则遗传而来,在BIO算法中,新解通过一套遗传与变异机制来获取自身特性。