将 MQL5 与数据处理包集成(第 1 部分):高级数据分析和统计处理
集成实现了无缝的工作流程,来自 MQL5 的原始金融数据可以导入到 Jupyter Lab 等数据处理包中,用于包括统计测试在内的高级分析。
卡尔曼滤波器在外汇均值回归策略中的应用
卡尔曼滤波器是一种递归算法,在算法交易中用于通过滤除价格走势中的噪声来估计金融时间序列的真实状态。它能够根据新的市场数据动态更新预测,这使得它在均值回归等自适应策略中极具价值。本文首先介绍卡尔曼滤波器,涵盖其计算方法和实现方式。接下来,我们以外汇领域一个经典的均值回归策略为例,应用该滤波器。最后,我们通过将卡尔曼滤波器与移动平均线(MA)在外汇不同货币对上进行比较,开展各种统计分析。
开发先进的 ICT 交易系统:在订单块指标中实现信号
在本文中,您将学习如何基于订单簿交易量(市场深度)开发订单块(Order Blocks)指标,并使用缓冲区对其进行优化以提高准确性。这结束了项目的当前阶段,并为下一阶段做准备,下一阶段将包括实施风险管理类和使用指标生成的信号的交易机器人。
群体优化算法:随机扩散搜索(SDS)
本文讨论了基于随机游走原理的随机扩散搜索(Stochastic Diffusion Search,SDS)算法,它是一种非常强大和高效的优化算法。该算法允许在复杂的多维空间中找到最优解,同时具有高收敛速度和避免局部极值的能力。
开发多币种 EA 交易系统(第 16 部分):不同报价历史对测试结果的影响
正在开发中的 EA 预计在与不同经纪商进行交易时都会表现出良好的效果。但目前我们一直使用 MetaQuotes 模拟账户的报价进行测试。让我们看看我们的 EA 是否准备好使用与测试和优化期间使用的报价不同的交易账户。
理解编程范式(第 2 部分):面向对象方式开发价格行为智能系统
学习面向对象的编程范式,及其在 MQL5 代码中的应用。这是第二篇文章,更深入地讲解面向对象编程的规范,并通过一个实际示例提供上手经验。您将学习如何运用 EMA 指标,和烛条价格数据,将我们早期开发的过程化价格行为智能系统转换为面向对象的代码。
开发回放系统(第 40 部分):启动第二阶段(一)
今天我们将讨论回放/模拟器系统的新阶段。在这个阶段,谈话才会变得真正有趣,内容也相当丰富。我强烈建议您仔细阅读本文并使用其中提供的链接。这将帮助您更好地理解内容。
MQL5 简介(第 11 部分):MQL5 中使用内置指标的初学者指南(二)
了解如何使用 RSI、MA 和随机震荡指标等多种指标在 MQL5 中开发 EA 交易来检测隐藏的看涨和看跌背离。学习实施有效的风险管理并通过详细的示例和完整注释的源代码实现交易自动化,以达到教育目的!
群体优化算法:带电系统搜索(CSS)算法
在本文中,我们将探讨另一种受无生命自然启发的优化算法--带电系统搜索(Charged System Search,CSS)算法。本文旨在介绍一种基于物理和力学原理的新的优化算法。
您应当知道的 MQL5 向导技术(第 45 部分):蒙特卡洛强化学习
蒙特卡洛是我们正在研究的第四种不同的强化学习算法,目的是探索它在向导汇编智能交易系统中的实现。尽管它锚定在随机抽样,但它提供了我们可以利用的多种模拟方法。
种群优化算法:微人工免疫系统(Micro-AIS)
本文研究一种基于人体免疫系统原理的优化方法 — 微人工免疫系统(Micro-AIS) - AIS 的修订版。Micro-AIS 使用更简单的免疫系统模型,和更简单的免疫信息处理操作。本文还讨论了 Micro-AIS 与传统 AIS 相比的优缺点。
如何利用 MQL5 创建简单的多币种智能交易系统(第 7 部分):依据动量振荡器指标的之字折线
本文中的多货币智能系统是利用之字折线(ZigZag)指标的自动交易系统,该指标依据动量振荡器过滤、或彼此过滤信号。
使用莱文贝格-马夸尔特(Levenberg-Marquardt,LM)算法训练多层感知器
本文介绍了一种用于训练前馈神经网络的莱文贝格-马夸尔特(Levenberg-Marquardt,LM)算法的实现。与Python的scikit-learn库中的算法进行性能比较分析。初步探讨更简便的学习方法,如梯度下降、带动量的梯度下降和随机梯度下降。
价格行为分析工具包开发(第五部分):波动率导航智能交易系统(Volatility Navigator EA)
判断市场方向或许相对简单,但把握入场时机却颇具挑战。作为“价格行为分析工具包开发”系列文章的一部分,我很高兴再为大家介绍一款能够提供入场点、止盈水平和止损设置位置的工具。为实现这一目标,我们采用了MQL5编程语言。让我们在本文中深入探讨每一步。
DoEasy. 控件 (第 9 部分): 重新编排 WinForms 对象方法、RadioButton 和 Button 控件
在本文中,我将修复 WinForms 对象类方法的名称,并创建 WinForms 的对象 Button 和 RadioButton。
DoEasy. 控件 (第 25 部分): Tooltip WinForms 对象
在本文中,我将开始开发 Tooltip(工具提示)控件,以及函数库的新图形基元。 自然而然地,并非每个元素都有工具提示,但每个图形对象都有设置它的能力。
开发回放系统(第 56 部分):调整模块
虽然模块之间已经可以正常交互,但在回放服务中尝试使用鼠标指标时会出现错误。在进入下一步之前,我们需要解决这个问题。此外,我们还将修复鼠标指标代码中的一个问题。所以这个版本经过适当的打磨,最终会稳定下来。
开发回放系统 — 市场模拟(第 22 部分):外汇(III)
虽然这是关于这个主题的第三篇文章,但我必须为那些还不了解股票市场和外汇市场之间区别的人解释一下:最大的区别在于,在外汇中没有、或者更确切地说,我们得不到交易过程中有关一些实际发生关键处的信息。
神经网络变得轻松(第四十九部分):软性扮演者-评价者
我们继续讨论解决连续动作空间问题的强化学习算法。在本文中,我将讲演软性扮演者-评论者(SAC)算法。SAC 的主要优点是拥有查找最佳策略的能力,不仅令预期回报最大化,而且拥有最大化的动作熵(多样性)。
神经网络变得简单(第 75 部分):提升轨迹预测模型的性能
我们创建的模型变得越来越大,越来越复杂。这不光提高了它们的训练成本,还有操作成本。不过,做出决定所需的时间往往很关键。有关于此,我们来研究在不损失品质的情况下优化模型性能的方法。
开发回放系统 — 市场模拟(第 24 部分):外汇(V)
今天,我们将去除阻止基于最后成交价进行模拟的限制,并将专门针对这类模拟引入一个新的切入点。整个操作机制将基于外汇市场的原则。该过程的主要区别在于出价(Bid)和最后成交价(Last)模拟的分离。不过,重点要注意,用于随机化时间,并将其调整为与 C_Replay 类兼容的方法在两类模拟中保持雷同。这很好,因为一种模式的变化会导致另一种模式的自动改进,尤其遇到处理跳价之间的时间。
DoEasy. 控件(第 二十九 部分):滚动条(ScrollBar)辅助控件
在本文中,我起始开发滚动条(ScrollBar)辅助控制元素,及其衍生对象 — 垂直和水平滚动条。 滚动条用于窗体内容(如果窗体超出容器)的滚动显示。 滚动条通常位于窗体的底部和右侧。 底部的水平滚动条可左右滚动内容,而垂直的则上下滚动内容。
在 MQL5 中构建自优化智能交易系统(第六部分):防止爆仓
在今天的讨论中,我们将一同寻找一种算法程序,以最大限度地减少我们因盈利交易被止损而平仓的总次数。我们面临的问题极具挑战性,社区讨论中给出的大多数解决方案都缺乏既定且固定的规则。我们解决问题的算法方法提高了我们交易的盈利能力,并降低了我们的平均每笔交易亏损。然而,要完全过滤掉所有将被止损的交易,还需要进一步的改进,但我们的解决方案对任何人来说都是一个很好的初步尝试
您应当知道的 MQL5 向导技术(第 09 部分):K-Means 聚类与分形波配对
“K-均值”聚类采用数据点分组的方式,该过程最初侧重于数据集的宏观视图,使用随机生成的聚类质心,然后放大并调整这些质心,从而准确表示数据集。我们将对此进行研究,并开拓一些它的用例。
开发回放系统(第30部分):EA交易项目——C_Mouse类(四)
今天,我们将学习一种技术,它可以在程序员职业生涯的不同阶段对我们有很大帮助。通常,受到限制的不是平台本身,而是谈论限制的人的知识。这篇文章将告诉你,凭借常识和创造力,你可以让 MetaTrader 5 平台变得更加有趣和通用,而无需创建疯狂的程序或类似的东西,并创建简单但安全可靠的代码。我们将利用我们的创造力修改现有代码,而不删除或添加源代码中的任何一行。
在MQL5中创建交易管理员面板(第三部分):扩展内置类以进行主题管理(II)
在本文的讨论中,我们将逐步扩展现有的对话框库,以纳入主题管理逻辑。此外,我们将把主题切换方法整合到管理员面板项目中使用的 CDialog、CEdit 和 CButton 类中。继续阅读,获取更多深入的了解。
改编版 MQL5 网格对冲 EA(第 IV 部分):优化简单网格策略(I)
在第四篇中,我们重新审视了之前开发的“简单对冲”和“简单网格”智能系统(EA)。我们的专注点转移到通过数学分析和暴力方式完善简单网格 EA,旨在优化策略用法。本文深入策略的数学优化,为在以后文章中探索未来基于编码的优化奠定了基础。
将 Discord 与 MetaTrader 5 集成:构建具有实时通知功能的交易机器人
本文将介绍如何将 MetaTrader 5 与 Discord 服务器集成,以便能从任何地方实时接收交易通知。我们将了解如何配置平台和 Discord,以启用向 Discord 发送警报的功能。我们还将讨论在使用 WebRequests 和 webhook 实现此类警报解决方案时可能引发的安全问题。
使用MQL5和Python构建自优化EA(第三部分):破解Boom 1000算法
在本系列文章中,我们探讨了如何构建能够自主适应动态市场条件的EA。今天的文章中,我们将尝试调整一个深度神经网络以适应Deriv的合成市场。
MQL5中的范畴论(第19部分):自然性四边形归纳法
我们继续通过探讨自然性四边形归纳法来研究自然变换。对于使用MQL5向导构建的EA交易来说,对多货币实现的轻微限制意味着我们正在通过脚本展示我们的数据分类能力。所考虑的主要应用是价格变化分类及其预测。
人工电场算法(AEFA)
本文介绍了一种受库仑静电力定律启发的人工电场算法(AEFA)。该算法通过模拟电学现象,利用带电粒子及其相互作用来解决复杂的优化问题。与其他基于自然法则的算法相比,AEFA具有独特性质。