台球优化算法(BOA)
BOA方法灵感源自经典的台球运动,它将寻求最优解的过程模拟为一场游戏:球体致力于落入代表最佳结果的球袋之中。本文将探讨BOA的基本原理、数学模型及其在解决各类优化问题中的效率。
大逃杀优化器(BRO)
本文探讨了大逃杀优化器算法 —— 这是一种元启发式算法,其中各解与其最近邻进行竞争,累积"伤害",当超过阈值时被替换,并周期性地在当前最优解周围缩小搜索空间。文章提供了CAOBRO类的伪代码及MQL5中的实现,包括邻近搜索、向最优解移动以及自适应δ间隔。在Hilly、Forest和Megacity测试函数上的实验结果突出了该方法的优势与局限性。读者可以获得一套开箱即用的基础框架,用于实验和调优关键参数,如种群大小(popSize) 和最大伤害值(maxDamage)。
成功餐饮经营者算法(SRA)
成功餐饮经营者算法(SRA)是一种受餐饮业管理原则启发的创新优化方法。与传统方法不同,SRA不会直接淘汰劣质解,而是通过融合优质解的元素对其进行改进。该算法在优化问题中展现出极具竞争力的表现,并为平衡探索与利用提供了全新视角。
开发多币种 EA 交易(第 22 部分):开始向设置的热插拔过渡
如果要自动进行周期性优化,我们需要考虑自动更新交易账户上已经运行的 EA 设置。这样一来,我们就可以在策略测试器中运行 EA,并在单次运行中更改其设置。
市场模拟(第 13 部分):套接字(七)
当我们在 xlwings 或任何其他允许直接读写 Excel 的软件包中开发某些内容时,我们必须注意,所有程序、函数或过程都是执行之后就完成了其任务。无论我们如何努力改变工作方式,它们都不会一直处于循环之中。
市场模拟(第 15 部分):套接字(九)
在本文中,我们将讨论我们一直试图展示的一个可能解决方案 —— 即如何让 Excel 用户在 MetaTrader 5 中执行操作,而无需发送订单或开仓或平仓。其思路是用户利用 Excel 对特定股票交易品种进行基本面分析。他们只需使用 Excel,就可以指示在 MetaTrader 5 中运行的 EA 交易开仓或平仓。
开发多币种 EA(第 26 部分):交易品种信息工具
在继续开发多币种 EA 之前,让我们尝试使用已开发的库创建一个新项目。这个例子将演示如何最佳地组织源代码存储,以及如何利用 MetaQuotes 的新代码库来帮助我们。
您应该了解的MQL5向导技巧(第七十三部分):使用一目均衡表形态与ADX-Wilder形态
一目均衡表(Ichimoku-Kinko-Hyo)指标与韦尔德平均趋向指数(ADX-Wilder)震荡指标,可在MQL5智能交易系统(EA)中形成互补搭配。一目均衡表本身功能多元,但在本文中,我们主要利用其识别支撑与阻力位的特性。同时,我们也使用ADX来判断趋势强弱。我们依旧通过MQL5向导来构建并测试这一组合的潜在效果。
市场模拟(第 18 部分):SQL 入门(一)
我们使用哪个 SQL 程序并不重要:MySQL、SQL Server、SQLite、OpenSQL 或其他。它们都有一个共同点,那就是都使用 SQL 语言。即使我们不打算使用 Workbench,我们也可以直接在 MetaEditor 中或通过 MQL5 操作数据库,以在 MetaTrader 5 中执行操作,但要做到这一点,你需要了解 SQL。所以在这里,我们至少要学习一些基础知识。
市场模拟(第 17 部分):套接字(十一)
在 MetaTrader 5 中运行的那部分代码的实现没有任何困难。然而,有几点需要考虑。这是必要的,这样你才能让系统正常工作。记住一件重要的事情:不会只有一个程序在运行。事实上,我们必须同时运行三个程序。重要的是,要确保每个部分都能以一种能够相互交流和沟通的方式实施和构建,并且每个部分都能理解其他部分正在尝试或打算做什么。
市场模拟(第 20 部分):SQL 入门(三)
尽管我们可以在包含约 10 条记录的数据库上执行操作,但当我们处理包含超过 15000 条记录的文件时,这样学习效果会更好。也就是说,如果我们试图手动创建这样一个数据库,这项任务将十分艰巨。然而,即便出于教育目的,也很难找到这样一个可供下载的数据库。但实际上,我们无需采取这种手段 — 我们可以用 MetaTrader 5 为自己创建一个数据库。在今天的文章中,我们将探讨如何做到这一点。
市场模拟(第 24 部分):SQL 入门(七)
在上一篇文章中,我们完成了对 SQL 的必要介绍。而且,在我看来,我们已经恰当地阐明了我们想要展示和解释的关于 SQL 的内容。这样做是为了让任何前来查看正在构建的市场回放/模拟系统的人,至少能对那里可能发生的情况有所了解。关键在于,对于那些 SQL 能完美处理的事情,编程是没有意义的。
市场模拟(第 21 部分):SQL 入门(四)
你们中的许多人可能比我更有数据库工作经验,因此可能会有不同的看法。由于有必要解释数据库为何以这样的方式设计,以及SQL为何具有这样的形式 — 尤其是主键和外键为何出现 — 因此有些内容必须保持一定的抽象性。
市场模拟(第 19 部分):SQL 入门(二)
正如我们在第一篇关于 SQL 的文章中所解释的那样,没有必要花费时间编写程序来执行 SQL 中已经内置的功能。然而,如果不了解基础知识,你就无法使用 SQL 或充分利用这个工具所提供的一切功能。因此,在本文中,我们将探讨如何在数据库中执行基本任务。
MQL5 向导技巧(第七十七部分):使用 Gator 振荡器与积累/派发振荡器(AD Oscillator)
Gator 振荡器(Gator Oscillator)由比尔·威廉姆斯(Bill Williams)开发,与累积/派发振荡器(Accumulation/Distribution Oscillator)是另一对可在 MQL5 EA 中协同使用的指标组合。我们使用 Gator 振荡器来确认趋势,同时使用 AD 振荡器通过检查成交量来确认趋势。在探索这种指标组合时,我们一如既往地使用 MQL5 向导来构建和测试它们的潜力。
市场模拟(第 23 部分):SQL 入门(六)
在本文中,我们将探讨如何可视化一个数据库,并借此了解其结构。这是通过分析数据库的内部结构来实现的。虽然乍一看这似乎没有必要,但如果我们真的想成为数据库管理员,那么这样做是完全合理的。毕竟,有些人以维护和设计数据库为生。
市场模拟:MQL5 中的 SQL 入门(四)
许多人往往低估了SQL,甚至根本不使用它,因为他们并不完全了解它的实际工作原理。在针对SQL数据库运行查询时,我们并不总是寻求一个通用的答案;在某些情况下,我们需要一个非常具体且实用的答案。如果数据库的结构和数据模型设计得当,几乎任何类型的信息都可以被整合到其中。