交易事务. 请求和响应结构、描述和记录
本文探讨了处理交易请求结构,即创建请求、将其发送到服务器之前的初步验证、服务器对交易请求的响应以及交易交易的结构。我们将创建简单方便的函数,将交易订单发送到服务器,并根据所讨论的内容,创建EA来通知交易事务。
种群优化算法:类电磁算法(EM - ElectroMagnetism)
本文讲述在各种优化问题中采用电磁算法(EM - ElectroMagnetism)的原理、方法和可能性。 EM 算法是一种高效的优化工具,能够处理大量数据和多维函数。
理解编程范式(第 1 部分):开发价格行为智能系统的过程化方式
了解编程范式及利用 MQL5 代码的应用。本文探讨了过程化编程的细节,并通过一个实际示例提供了实经验。您将学习如何利用 EMA 指标和烛条价格数据开发价格行为智能系统。额外,本文还介绍了函数化编程范式。
构建K线趋势约束模型(第九部分):多策略智能交易系统(EA)(三)
欢迎来到本趋势系列文章的第三部分!今天,我们将深入探讨如何利用背离(Divergence)策略,在既有的日线趋势中识别最优入场点。同时,我们将引入一种定制化的利润锁定机制——其功能类似于追踪止损(Trailing Stop-Loss),但经过独特的优化升级。此外,我们还将把趋势约束智能交易系统升级为更高级版本,新增一项交易执行条件以完善现有策略框架。随着内容推进,我们将持续探索MQL5在算法开发中的实际应用,为您提供更深入的见解与可落地的技术方案。
DoEasy 函数库中的图形(第九十二部分):标准图形对象记忆类。 对象属性变更历史记录
在本文中,我将创建标准图形对象记忆类,能够在对象修改其属性时保存其过往状态。 反之,这样就能够溯源以前的图形对象状态。
使用MQL5与Python构建自我优化的智能交易系统
在本文中,我们将讨论如何构建能够根据当前市场条件自主选择和更改交易策略的EA。我们将学习马尔可夫链(Markov Chains)以及它们如何帮助我们作为算法交易者。
DoEasy 函数库中的图形(第九十六部分):窗体对象中的图形和鼠标事件的处理
在本文中,我将启动创建处理窗体对象中的鼠标事件的功能,以及向品种对象添加新属性并跟踪。 此外,我将改进品种对象类,因为图表品种现在有新的属性需要考虑和跟踪。
DoEasy. 控件(第 6 部分):面板控件,自动调整容器大小来适应内部内容
在本文中,我将继续研究面板 WinForms 对象,并实现自动调整大小,以便适应位于面板内的 Dock 对象的常规大小。 此外,我将向品种函数库对象添加新属性。
如何使用抛物线转向(Parabolic SAR)指标设置跟踪止损(Trailing Stop)
在创建交易策略时,我们需要测试多种多样的保护性止损。这时,一个随着价格变动而动态调整止损位的想法浮现在我的脑海中。抛物线转向(Parabolic SAR)指标无疑是最佳选择。很难想到有比这更简单且视觉上更清晰的指标了。
DoEasy. 控件(第 15 部分):TabControl WinForms 对象 — 多行选项卡标题、选项卡处理方法
在本文中,我将继续工作于 TabControl WinForm 对象 — 我将创建一个选项卡字段对象类,令选项卡标题排列几行成为可能,并添加处理对象相应选项卡的方法。
MQL5中的结构及其数据打印方法
在本文中,我们将研究MqlDateTime、MqlTick、MqlRates和MqlBookInfo结构,以及从它们打印数据的方法。为了打印结构的所有字段,有一个标准的ArrayPrint()函数,它以方便的表格格式显示数组中包含的数据以及处理结构的类型。
将ML模型与策略测试器集成(结论):实现价格预测的回归模型
本文描述了一个基于决策树的回归模型的实现。该模型应预测金融资产的价格。我们已经准备好了数据,对模型进行了训练和评估,并对其进行了调整和优化。然而,需要注意的是,该模型仅用于研究目的,不应用于实际交易。
DoEasy 函数库中的图形(第九十九部分):依据单个控制点移动扩展图形对象
在前一篇文章中,我实现了依据控件窗体移动扩展图形对象轴点的功能。 现在,我将实现依据单个图形对象控制点(窗体)移动复合图形对象的功能。
人工蜂巢算法(ABHA):理论及方法
在本文中,我们将探讨2009年开发的人工蜂巢算法(ABHA)。该算法旨在解决连续优化问题。我们将研究ABHA如何从蜂群的行为中汲取灵感,其中每只蜜蜂都有独特的角色,帮助它们更有效地寻找资源。
如何不通过翻找历史交易记录直接在图表上查看交易情况
在本文中,我们将创建一个简单的工具,通过按键导航方式方便地直接在图表上查看持仓和交易。这将使交易者能够直观地检查每笔交易,并当场获取有关交易结果的所有信息。
使用 SMA 和 EMA 自动优化止盈和指标参数的示例
本文介绍了一种用于外汇交易的复杂 EA 交易,它能够将机器学习与技术分析相结合。它专注于交易苹果股票,具有自适应优化、风险管理和多策略的特点。回溯测试显示出良好的结果,盈利能力较高,但也有显著的回撤,表明还有进一步改进的潜力。
DoEasy. 控件 (第 5 部分): 基准 WinForms 对象,面板控件,AutoSize 参数
在本文中,我将创建所有函数库 WinForms 对象的基准对象,并开始实现面板 WinForms 对象的 AutoSize 属性 — 自动调整尺寸,从而适应对象内部内容。
种群优化算法:Nelder-Mead(NM),或单纯形搜索方法
本文表述针对 Nelder-Mead 方法进行的彻底探索,解释了如何在每次迭代中修改和重新排列单纯形(函数参数空间),从而达成最优解,并讲述了如何改进该方法。
DoEasy 函数库中的时间序列(第五十六部分):自定义指标对象,从集合中的指标对象获取数据
本文研究在 EA 中创建自定义指标对象。 我们稍微改进一下库类,并添加一些方法,以便从 EA 中的指标对象获取数据。
开发回放系统(第32部分):订单系统(一)
在我们迄今为止开发的所有东西中,正如你可能会注意到并最终同意的那样,这个系统是最复杂的。现在我们需要做一些非常简单的事情:让我们的系统模拟交易服务器的操作。准确实现交易服务器操作方式似乎是一件轻而易举的事情。至少说起来是这样。但我们需要这样做,以便对回放/模拟系统的用户来说,一切都是无缝和透明的。
开发回放系统(第33部分):订单系统(二)
今天,我们将继续开发订单系统。正如您将看到的,我们将大规模重用其他文章中已经展示的内容。尽管如此,你还是会在这篇文章中获得一点奖励。首先,我们将开发一个可以与真实交易服务器一起使用的系统,无论是从模拟账户还是从真实账户。我们将广泛使用MetaTrader 5平台,该平台将从一开始就为我们提供所有必要的支持。
龟壳演化算法(TSEA)
这是一种受乌龟壳演化启发的独特优化算法。TSEA算法模拟了角质化皮肤区域的逐渐形成,这些区域代表了一个问题的最优解。最优解会变得更加“坚硬”,并位于更靠近外层表面的位置,而不太理想的解则保持“较软”的状态,并位于内部。该算法通过根据质量和距离对解进行聚类,从而保留了不太理想的选项,并提供了灵活性和适应性。
逆公允价值缺口(IFVG)交易策略
当价格回到先前确定的公允价值缺口位置,且未表现出预期的支撑或阻力反应,而是无视该缺口时,便出现了逆公允价值缺口(IFVG)。这种“无视”现象可能预示着市场方向的潜在转变,并为反向交易提供优势。在本文中,我将介绍自己开发的量化方法,以及如何将IFVG作为一种策略,应用于MetaTrader 5智能交易系统(EA)中。
在 MQL5 中实现增广迪基–富勒检验
在本文中,我们演示了增广迪基–富勒(Augmented Dickey-Fuller,ADF)检验的实现,并将其应用于使用 Engle-Granger 方法进行协整检验。
DoEasy. 控件 (第 12 部分): 基准列表对象、ListBox 和 ButtonListBox WinForms 对象
在本文中,我将继续创建 WinForms 对象列表的基准对象,以及两个新对象:ListBox 和 ButtonListBox。
MQL5 交易工具包(第 1 部分):开发仓位管理 EX5 库
了解如何创建面向开发人员的工具包,使用 MQL5 管理各种仓位操作。在本文中,我将演示如何创建一个函数库 (ex5),以执行从简单到高级的仓位管理操作,包括自动处理和报告使用 MQL5 处理仓位管理任务时出现的各种错误。
重构经典策略:原油
在本文中,我们重新审视一种经典的原油交易策略,旨在通过利用监督机器学习算法来对其进行优化。我们将构建一个最小二乘模型,该模型基于布伦特原油(Brent)和西德克萨斯中质原油(WTI)之间的价差来预测未来布伦特原油价格。我们的目标是找到一个能够预测布伦特原油未来价格变化的领先指标。
种群优化算法:引力搜索算法(GSA)
GSA 是一种受无生命自然启发的种群优化算法。 万幸在算法中实现了牛顿的万有引力定律,对物理物体相互作用进行建模的高可靠性令我们能够观察到行星系统和星系团的迷人舞蹈。 在本文中,我将研究最有趣和最原始的优化算法之一。 还提供了空间物体运动的模拟器。
DoEasy.服务功能(第 1 部分):价格形态
在本文中,我们将开始开发使用时间序列数据搜索价格形态的方法。一种形态有一组参数,对任何类型的形态都是通用的。所有此类数据都将集中在基础抽象形态的对象类中。在本文中,我们将创建一个抽象形态类和一个 Pin Bar 形态类。
构建自优化型MQL5智能交易系统(EA)(第3部分):动态趋势跟踪与均值回归策略
金融市场通常被静态划分为震荡市或趋势市两种模式。这种简化分类虽便于短期交易决策。然而,却与真实市场行为脱节。在本文中,我们将深入探讨市场如何精准地在这两种模式间切换,并利用这方面的认知提升算法交易策略的可靠性。