![软件开发和 MQL5 中的设计范式(第 4 部分):行为范式 2](https://c.mql5.com/2/63/midjourney_image_13876_57_514_5_600x314.jpg)
软件开发和 MQL5 中的设计范式(第 4 部分):行为范式 2
在本文中,我们将终结有关设计范式主题的系列文章,我们提到有三种类型的设计范式:创建型、结构型、和行为型。我们将终结行为类型的其余范式,其可以帮助设置对象之间的交互方法,令我们的代码更整洁。
![软件开发和 MQL5 中的设计范式(第 3 部分):行为范式 1](https://c.mql5.com/2/61/Design_Patterns_wPart_3z_Behavioral_Patterns_1_600x314.jpg)
软件开发和 MQL5 中的设计范式(第 3 部分):行为范式 1
来自设计范式文献的一篇新文章,我们将看到类型其一,即行为范式,从而理解我们如何有效地在所创建对象之间构建通信方法。通过完成这些行为范式,我们就能够理解创建和构建可重用、可扩展、经过测试的软件。
![软件开发和 MQL5 中的设计模式(第 2 部分):结构模式](https://c.mql5.com/2/60/Design_Patterns_zPart_2v_Structural_Patterns_600x314.jpg)
软件开发和 MQL5 中的设计模式(第 2 部分):结构模式
在了解了设计模式适用于 MQL5 和其他编程语言,并且对于开发人员开发可扩展、可靠的应用程序有多么重要之后,我们将在本文中继续介绍设计模式。我们将学习另一种类型的设计模式,即结构模式,了解如何利用我们所拥有的类组成更大的结构来设计系统。
![如何利用 MQL5 创建简单的多币种智能交易系统(第 5 部分):凯尔特纳(Keltner)通道上的布林带 — 指标信号](https://c.mql5.com/2/61/rj-article-images_600x314.jpg)
如何利用 MQL5 创建简单的多币种智能交易系统(第 5 部分):凯尔特纳(Keltner)通道上的布林带 — 指标信号
本文中的多币种 EA 是一款智能交易系统或交易机器人,可以仅从一个品种图表中交易(开单、平单和管理订单,例如:尾随止损和止盈)多个品种(对)。在本文中,我们将用到来自两个指标的信号,在本例中为凯尔特纳(Keltner)通道上的布林带®。
![如何利用 MQL5 创建简单的多币种智能交易系统(第 4 部分):三角移动平均线 — 指标信号](https://c.mql5.com/2/60/rj-article-images_600x314.jpg)
如何利用 MQL5 创建简单的多币种智能交易系统(第 4 部分):三角移动平均线 — 指标信号
本文中的多币种 EA 是智能交易系统或交易机器人,能从一个品种的图表里交易(开单、平单、及管理订单,例如:尾随止损和止盈)多个品种(货币对)。这次我们只会用到 1 个指标,即多时间帧或单一时间帧中的三角移动平均线。
![如何利用 MQL5 创建简单的多币种智能交易系统(第 3 部分):添加交易品种、前缀和/或后缀、以及交易时段](https://c.mql5.com/2/60/Parabolic_SAR_MTF_600x314.jpg)
如何利用 MQL5 创建简单的多币种智能交易系统(第 3 部分):添加交易品种、前缀和/或后缀、以及交易时段
若干交易员同事发送电子邮件或评论了如何基于经纪商提供的名称里带有前缀和/或后缀的品种使用此多币种 EA,以及如何在该多币种 EA 上实现交易时区或交易时段。
![开发回放系统 — 市场模拟(第 28 部分):智能交易系统项目 — C_Mouse 类 (II)](https://c.mql5.com/2/58/Replay-p28_II_600x314.jpg)
开发回放系统 — 市场模拟(第 28 部分):智能交易系统项目 — C_Mouse 类 (II)
当人们开始创建第一个拥有计算能力的系统时,一切都需要工程师的参与,他们必须非常熟知该项目。我们谈论的是计算机技术的曙光,那个时代甚至没有用于编程的终端。随着它的发展,越来越多的人对能够创造一些东西感兴趣,涌现出新的思路和编程方式,取代了旧式风格的改变连接器位置。这就是第一个终端出现的时刻。
![将您自己的LLM集成到EA中(第2部分):环境部署示例](https://c.mql5.com/2/59/Example_of_Environment_Deployment_600x314.jpg)
将您自己的LLM集成到EA中(第2部分):环境部署示例
随着人工智能的快速发展,语言模型(LLMs)是人工智能的重要组成部分,因此我们应该思考如何将强大的语言模型集成到我们的算法交易中。对大多数人来说,很难根据他们的需求对这些强大的模型进行微调,在本地部署,然后将其应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
![开发回放系统 — 市场模拟(第 27 部分):智能交易系统项目 — C_Mouse 类](https://c.mql5.com/2/58/Projeto_Expert_AdvisorcClasse_C_Mous_600x314.jpg)
开发回放系统 — 市场模拟(第 27 部分):智能交易系统项目 — C_Mouse 类
在本文中,我们将实现 C_Mouse 类。它提供了最高级别的编程能力。不过,说到高级或低级编程语言,并不是在代码中包含污言秽语或行话。它有其它含义。当我们谈论高级或低级编程时,我们意指对于其他程序员来说理解代码是多么容易或困难。
![开发回放系统(第31部分):EA交易项目——C_Mouse类(五)](https://c.mql5.com/2/59/sistema_de_Replay_up_600x314.jpg)
开发回放系统(第31部分):EA交易项目——C_Mouse类(五)
我们需要一个计时器,它可以显示距离回放/模拟运行结束还有多少时间。乍一看,这可能是一个简单快捷的解决方案。许多人只是尝试适应并使用交易服务器使用的相同系统。但有一件事是很多人在考虑这个解决方案时没有考虑的:对于回放,甚至更多的是模拟,时钟的工作方式不同。所有这些都使创建这样一个系统变得复杂。
![开发回放系统 — 市场模拟(第 25 部分):为下一步做准备](https://c.mql5.com/2/58/replay-p25_600x314.jpg)
开发回放系统 — 市场模拟(第 25 部分):为下一步做准备
在本文中,我们将会完结开发回放和模拟系统的第一阶段。尊敬的读者,有了这样的成就,我确认该系统已经达到了高级水平,为引入新功能铺平了道路。目标是进一步丰富该系统,将其转变为研究和开发市场分析的强力工具。
![开发回放系统 — 市场模拟(第 24 部分):外汇(V)](https://c.mql5.com/2/57/replay_p24_600x314.jpg)
开发回放系统 — 市场模拟(第 24 部分):外汇(V)
今天,我们将去除阻止基于最后成交价进行模拟的限制,并将专门针对这类模拟引入一个新的切入点。整个操作机制将基于外汇市场的原则。该过程的主要区别在于出价(Bid)和最后成交价(Last)模拟的分离。不过,重点要注意,用于随机化时间,并将其调整为与 C_Replay 类兼容的方法在两类模拟中保持雷同。这很好,因为一种模式的变化会导致另一种模式的自动改进,尤其遇到处理跳价之间的时间。
![开发回放系统 — 市场模拟(第 23 部分):外汇(IV)](https://c.mql5.com/2/57/replay_p23_600x314.jpg)
开发回放系统 — 市场模拟(第 23 部分):外汇(IV)
现在,创建发生在我们将跳价转换为柱线的同一点。以这种方式,如果在转换过程中出现问题,我们就能立即注意到错误。这是因为在快进期间,在图表上放置 1-分钟柱线的代码,也同样在正常表现期间用于定位系统放置柱线。换言之,负责此任务的代码不会在其它任何地方重复。如此这般,我们获得的系统就能更好的维护和改进。
![利用 MQL5 的交互式 GUI 改进您的交易图表(第 III 部分):简易可移动交易 GUI](https://c.mql5.com/2/57/movable_gui_003_600x314.jpg)
利用 MQL5 的交互式 GUI 改进您的交易图表(第 III 部分):简易可移动交易 GUI
加入我们的《利用 MQL5 的交互式 GUI 改进您的交易图表》系列的第 III 部分,我们将探索将交互式 GUI 集成到 MQL5 中的可移动交易仪表板之中。本文建立在第 I 部分和第 II 部分的基础上,指导读者将静态交易仪表板转换为动态、可移动的。
![时间序列挖掘的数据标签(第4部分):使用标签数据的可解释性分解](https://c.mql5.com/2/61/Data_label_for_time_series_mining_zPart_4oInterpretability_Decomposition_Using_Label_Data_600x314.jpg)
时间序列挖掘的数据标签(第4部分):使用标签数据的可解释性分解
本系列文章介绍了几种时间序列标记方法,这些方法可以创建符合大多数人工智能模型的数据,而根据需要进行有针对性的数据标记可以使训练后的人工智能模型更符合预期设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
![开发回放系统 — 市场模拟(第 22 部分):外汇(III)](https://c.mql5.com/2/57/replay_p22_600x314.jpg)
开发回放系统 — 市场模拟(第 22 部分):外汇(III)
虽然这是关于这个主题的第三篇文章,但我必须为那些还不了解股票市场和外汇市场之间区别的人解释一下:最大的区别在于,在外汇中没有、或者更确切地说,我们得不到交易过程中有关一些实际发生关键处的信息。
![了解如何在MQL5中处理日期和时间](https://c.mql5.com/2/59/date_and_time_in_MQL5_up_600x314.jpg)
了解如何在MQL5中处理日期和时间
这是一篇关于一个新的重要话题的新文章,这个话题是关于日期和时间的。作为交易工具的交易员或程序员,了解如何很好、有效地处理日期和时间这两个方面至关重要。因此,我将分享一些重要信息,关于我们如何处理日期和时间,以便顺利、简单地创建有效的交易工具。
![将您自己的LLM集成到EA中(第1部分):硬件和环境部署](https://c.mql5.com/2/59/Hardware_and_Environment_Deployment_up_600x314.jpg)
将您自己的LLM集成到EA中(第1部分):硬件和环境部署
随着人工智能的快速发展,大型语言模型(LLM)成为人工智能的重要组成部分,因此我们应该思考如何将强大的语言模型集成到我们的算法交易中。对大多数人来说,很难根据他们的需求对这些强大的模型进行微调,在本地部署,然后将其应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
![开发回放系统 — 市场模拟(第 21 部分):外汇(II)](https://c.mql5.com/2/57/replay_p21_600x314.jpg)
开发回放系统 — 市场模拟(第 21 部分):外汇(II)
我们将继续构建一个在外汇市场工作的系统。为了解决这个问题,我们必须在加载以前的柱线之前首先声明加载跳价。这解决了问题,但同时迫使用户遵循配置文件中的某些结构,就个人而言,这对我来说没有多大意义。原因是,通过设计一个负责分析和执行配置文件中内容的程序,我们可以允许用户按任何顺序声明他需要的元素。
![暴力方式搜素形态(第 V 部分):全新视角](https://c.mql5.com/2/57/The_Bruteforce_Approach_Part_5_600x314.jpg)
暴力方式搜素形态(第 V 部分):全新视角
在这篇文章中,我将展示一种完全不同的方式进行算法交易,我经历了很长一段时间后才最终遇到它。当然,这一切所作所为全靠我的暴力程序,其经历了许多更改,令其能够并发解决若干问题。尽管如此,这篇文章明面上仍然比较笼统和尽可能简单,这就是为什么它也适合那些对暴力一无所知的人。
![开发回放系统 — 市场模拟(第 20 部分):外汇(I)](https://c.mql5.com/2/56/replay_p20_600x314.jpg)
开发回放系统 — 市场模拟(第 20 部分):外汇(I)
本文的最初目标不是涵盖外汇交易的所有可能性,而更是出于适配系统,如此您就至少可以执行一次市场回放。我们把模拟留待其它时刻。不过,如果我们没有跳价而仅有柱线的话,稍加努力,我们就可以模拟外汇市场中可能发生的交易。直到我们研究如何适配模拟器之前,情况一直如此。不经修改就尝试在系统内处理外汇数据会导致一系列错误。
![开发回放系统 — 市场模拟(第 19 部分):必要的调整](https://c.mql5.com/2/56/replay_p19_600x314.jpg)
开发回放系统 — 市场模拟(第 19 部分):必要的调整
在此,我们要做好准备,如此当我们需要往代码里添加新函数时,就能顺滑轻松地发生。当前代码还不能涵盖或处理那些显著推进过程所必需的事情。我们需要将所有东西都结构化,以便能够以最小的工作量实现某些事情。如果我们正确地做好所有事情,我们就能得到一个真正通用的系统,可以轻松地适应任何需要处理的状况。
![模式搜索的暴力方法(第六部分):循环优化](https://c.mql5.com/2/57/bruteforce_approach_cyclic_optimization_600x314.jpg)
模式搜索的暴力方法(第六部分):循环优化
在这篇文章中,我将展示改进的第一部分,这些改进不仅使我能够使MetaTrader 4和5交易的整个自动化链闭环,而且还可以做一些更有趣的事情。从现在起,这个解决方案使我能够完全自动化创建EA和优化,并最大限度地降低寻找有效交易配置的劳动力成本。
![了解使用MQL5下单](https://c.mql5.com/2/58/Understanding-order-placement_600x314.jpg)
了解使用MQL5下单
在创建任何交易系统时,我们都需要有效地处理一项任务。这项任务是下单,或者让创建的交易系统自动处理订单,因为它在任何交易系统中都至关重要。因此,您将在本文中找到您需要了解的关于这项任务的大多数主题,以有效地创建您的交易系统。
![软件开发和 MQL5 中的设计范式(第一部分):创建范式](https://c.mql5.com/2/60/Creational_Patterns__2_600x314.jpg)
软件开发和 MQL5 中的设计范式(第一部分):创建范式
有一些方法可以用来解决许多重复性的问题。一旦明白如何运用这些方法,就可助您有效地创建软件,并贯彻 DRY(不要重复自己)的概念。在这种境况下,设计范式的主题就非常好用,因为它们为恰当描述过,且重复的问题提供了解决方案。
![您需要了解的有关MQL5程序结构的所有信息](https://c.mql5.com/2/57/about_mql5_program_structure_600x314.jpg)
您需要了解的有关MQL5程序结构的所有信息
使用任何编程语言的任何程序都有特定的结构。在本文中,您将通过了解MQL5程序结构每个部分的编程基础知识来学习MQL5计划结构的重要部分,这些基础知识在创建可在MetaTrader 5中执行的MQL5交易系统或交易工具时非常有用。
![离散哈特莱变换](https://c.mql5.com/2/57/discrete_hartley_transform_600x314.jpg)
离散哈特莱变换
在本文中,我们将探讨频谱分析和信号处理的方法之一——离散哈特莱变换(discrete Hartley transform,DHT)。它可以过滤信号,分析它们的频谱等等。DHT的性能不亚于离散傅立叶变换(discrete Fourier transform,DFT)。然而,与DFT不同的是,DHT只使用实数,这使得它在实践中更方便实现,并且它的应用结果更直观。
![通过应用程序了解MQL5中的函数](https://c.mql5.com/2/56/understanding-functions_600x314.jpg)
通过应用程序了解MQL5中的函数
函数在任何编程语言中都是至关重要的东西,它有助于开发人员应用(DRY)的概念,这意味着不要重复自己,还有许多其他好处。在本文中,您将找到更多关于函数的信息,以及我们如何使用简单的应用程序在MQL5中创建自己的函数,这些应用程序可以在任何系统中使用或调用。您必须在不使事情复杂化的情况下丰富您的交易系统。
![了解 MQL5 面向对象编程(OOP)](https://c.mql5.com/2/56/object-oriented-programming_600x314__1.jpg)
了解 MQL5 面向对象编程(OOP)
作为开发人员,我们需要学习如何在创建和开发软件时,无需重复代码做到可重用、且灵活,尤其是当我们拥有不同行为的不同对象时。这可以利用面向对象的编程技术和原则来顺滑地达到。在本文中,我们将介绍 MQL5 面向对象编程的基础知识,以便了解如何在我们的软件中利用这一关键主题的原则和实践。
![使用MQL5轻松创建图形面板](https://c.mql5.com/2/56/creating_graphical_panels_600x314.jpg)
使用MQL5轻松创建图形面板
在这篇文章中,我们将为任何需要创建交易中最有价值和最有用的工具之一的人提供一个简单易行的指南,即简化和轻松执行交易任务的图形面板,这有助于节省时间,并在不受任何干扰的情况下更多地关注您的交易过程本身。
![在 MQL4 和 MQL5 框架下开发 OpenAI 的 ChatGPT 功能](https://c.mql5.com/2/55/mql5-openai_600x314.jpg)
在 MQL4 和 MQL5 框架下开发 OpenAI 的 ChatGPT 功能
在本文中,我们将尝鲜来自 OpenAI 的 ChatGPT,从而了解它在降低开发智能系统、指标、和脚本的时间和劳动强度方面的能力。我将引导您快速通览这项技术,并尝试向您展示如何正确地使用它在 MQL4 和 MQL5 中进行编程。
![如何在 MQL5.com 上造就成功的信号提供者](https://c.mql5.com/2/55/How_to_Become_a_Successful_Signal_Provider-copy_600x314.jpg)
如何在 MQL5.com 上造就成功的信号提供者
在本文中我的主要目标是为您提供一个简单而精准的步骤说明,助您变身 MQL5.com 上的顶级信号提供者。 借鉴我的知识和经验,我将讲解如何造就一名成功的信号提供者,包括如何寻找、测试、和优化一个优秀的策略。 此外,我将提供有关发布信号、撰写令人信服的推介、以及有效推广和管理信号的提示。
![开发回放系统 — 市场模拟(第 16 部分):新的类系统](https://c.mql5.com/2/55/replay-p16_600x314.jpg)
开发回放系统 — 市场模拟(第 16 部分):新的类系统
我们需要更好地组织我们的工作。 代码正在快速增长,如果现在不做,那么以后就变得更不可能了。 我们分而治之。 MQL5 支持类,可协助实现此任务,但为此,我们需要对类有一定的了解。 大概最让初学者困惑的是继承。 在本文中,我们将看到如何以实用和简单的方式来运用这些机制。
![开发回放系统 — 市场模拟(第 15 部分):模拟器的诞生(V)- 随机游走](https://c.mql5.com/2/55/Desenvolvendo_um_sistema_de_Replay_Parte_15_600x314.jpg)
开发回放系统 — 市场模拟(第 15 部分):模拟器的诞生(V)- 随机游走
在本文中,我们将完成自有系统模拟器的开发。 于此的主要目标是就上一篇文章中讨论的算法进项配置。 该算法旨在创建随机游走走势。 因此,为了明白今天的讲义,有必要了解以前文章的内容。 如果您尚未跟踪模拟器的开发,我建议您从头开始阅读本系列文章。 否则,您也许对此处将要讲解的内容不明所以。