文章,程序库评论 - 页 7

新文章 开发回放系统 — 市场模拟(第 18 部分):跳价和更多跳价(II) 已发布: 显然,目前的衡量度与创建 1-分钟柱线的理想时间相距甚远。这是我们要率先解决的一件事。解决同步问题并不困难。也许这看起来很难,但实际上却很简单。在上一篇文章中,我们没有进行所需的调整,因为它的目的是解释如何把图表上创建 1-分钟柱线的跳价数据转移至市场观察窗口。 我对每篇文章的观念是解释和鼓励人们学习和深入探索 MetaTrader 5 平台和 MQL5 语言。这远远超出了在某处分发的代码中能够看到的内容。我真的希望你们每个人都有创造力和动力,去探索以前从未走过的道路,而非总是做同样的事,就好像所有人在
新文章 测试不同的移动平均类型以了解它们的洞察力 已发布: 我们都知道移动平均指标对很多交易者的重要性。还有其他移动平均线类型在交易中也很有用,我们将在本文中确定这些类型,并将它们中的每一种与最流行的简单移动平均线进行简单比较,看看哪一种可以显示出最好的结果。 在本文中,我们探讨了以下移动平均线类型的性能结果: 自适应移动平均(AMA) 双重指数移动平均(DEMA) 三重指数移动平均线(TEMA) 分形自适应移动平均(FrAMA) 我们为每种类型创建了交易系统,并将其结果与最流行的移动平均线类型简单移动平均线进行比较 作者: Mohamed Abdelmaaboud
新文章 简单均值回归交易策略 已发布: 均值回归是一种逆势交易,交易者预估价格将返回到某种形式的均衡点位,通常依据均值或其它向心趋势统计值来衡量。 许多资产类型,甚至汇率,都观测到均值回归;不过,这个过程也许会持续数年,因此对短线投资者并无价值。 均值回归应当展现出一种对称形式,因为一只股票高于或低于其历史平均水平的频率大致相仿。 历史均值回归模型不会收容证券价格的全部实际行为。 例如,也许会出现新信息,永久性影响标的股票的长期估值。 在破产的情况下,它也许会完全停止交易,永远无法恢复到曾经的历史平均水平。
新文章 神经网络变得轻松(第四十八部分):降低 Q-函数高估的方法 已发布: 在上一篇文章中,我们概述了 DDPG 方法,它允许在连续动作空间中训练模型。然而,与其它 Q-学习方法一样,DDPG 容易高估 Q-函数的数值。这个问题往往会造成训练代理者时选择次优策略。在本文中,我们将研究一些克服上述问题的方式。 在利用 DQN 方法及其衍生品训练各种模型时,经常会出现高估 Q-函数值的问题。这是具有离散动作的两种模型在连续动作空间求解的特征。这种现象的原因,以及消除其后果的方法会因人而异。故此,解决这个问题的一套综合方式很重要。2018 年 2 月发表的文章“
新文章 交易事务. 请求和响应结构、描述和记录 已发布: 本文探讨了处理交易请求结构,即创建请求、将其发送到服务器之前的初步验证、服务器对交易请求的响应以及交易交易的结构。我们将创建简单方便的函数,将交易订单发送到服务器,并根据所讨论的内容,创建EA来通知交易事务。 MQL5具有 OrderSend() 函数,用于设置挂单、打开仓位以及修改订单和仓位。该函数的第一个输入参数是 MqlTradeRequest 交易请求的结构。结构的“action”字段指示要执行的操作类型,其余字段将根据“action”域中所选的操作进行填充。因此,我们通过将交易请求所需的参数传递给函数来向服务器发送各种请求。
任意仓位锁仓: 当达到N个点的利润时建立反向仓位 作者: Vladimir Karputov
新文章 MQL5 中的范畴论 (第 12 部分):秩序(Orders) 已发布: 本文是范畴论系列文章之以 MQL5 实现图论的部分,深入研讨秩序(Orders)。我们通过研究两种主要的秩序类型,实测秩序论的概念如何支持幺半群集合,从而为交易决策提供信息。 在本文中,我们将研究范畴论中的 秩序
新文章 您需要了解的有关MQL5程序结构的所有信息 已发布: 使用任何编程语言的任何程序都有特定的结构。在本文中,您将通过了解MQL5程序结构每个部分的编程基础知识来学习MQL5计划结构的重要部分,这些基础知识在创建可在MetaTrader 5中执行的MQL5交易系统或交易工具时非常有用。 在这一部分中,我们将详细了解预处理器作为一个编程概念。预处理器是编译过程中至关重要的一步。它发生在程序的实际编译之前。在预处理步骤中,将执行各种操作,例如包括文件、确定软件属性、定义常量和导入函数。
新文章 MQL5 中的范畴论 (第 11 部分):图论 已发布: 本文是以 MQL5 实现范畴论系列的续篇。于此,我们验证在开发交易系统的平仓策略时,图论如何与幺半群和其它数据结构集成。 不过,在我们深入讨论之前,先谈谈图论和范畴论之间的主要区别可能会有所帮助。乍一看,两者似乎都是关于连接事项的,这可能会引出路人的问题:为什么它们不是一回事?为了回答这个问题,如果我们以烹饪过程为例,每一步都有其步骤和配方;图论专注于给定配方的准备步骤顺序,以及这些步骤( 路径
新文章 开发回放系统 — 市场模拟(第 17 部分):跳价和更多跳价(I) 已发布: 于此,我们将见识到如何实现一些非常有趣的东西,但同时也会因某些可能十分令人困惑的关键点而极其困难。可能发生的最糟糕的事情是,一些自诩专业人士的交易者却对这些概念在资本市场中的重要性一无所知。好吧,尽管我们在这里专注于编程,但理解市场交易中涉及的一些问题,对于我们将要实现的内容至关重要。
新文章 使用格兹尔算法的循环分析 已发布: 在本文中,我们介绍了在Mql5中实现格兹尔算法(Goertzel algorithm)的代码实用程序,并探讨了将该技术用于分析报价的两种方法,以制定可能的策略。 格兹尔算法(Goertzel algorithm)是一种数字信号处理技术,以其在检测特定频率分量方面的效率而闻名。其精度、实时性和计算效率使其适用于金融时间序列分析。在这篇文章中,我们将研究并演示该方法可用于分析主导周期,从而可能以此开发策略。我们将研究MQL5中算法的实现,并提供一个如何使用代码来识别价格报价中的周期的示例。 Goertzel算法的名字来源于Gerald
新文章 MQL5中的结构及其数据打印方法 已发布: 在本文中,我们将研究MqlDateTime、MqlTick、MqlRates和MqlBookInfo结构,以及从它们打印数据的方法。为了打印结构的所有字段,有一个标准的ArrayPrint()函数,它以方便的表格格式显示数组中包含的数据以及处理结构的类型。 MqlParam 和 MqlTradeRequest 结构传输用于创建指标和向服务器发送交易请求的技术信息。我们根据完成的结构中发送数据的要求结果填写结构的要求字段。换句话说,这些结构并不特别需要打印这些结构的字段由程序员填充的数据
新文章 离散哈特莱变换 已发布: 在本文中,我们将探讨频谱分析和信号处理的方法之一——离散哈特莱变换(discrete Hartley transform,DHT)。它可以过滤信号,分析它们的频谱等等。DHT的性能不亚于离散傅立叶变换(discrete Fourier transform,DFT)。然而,与DFT不同的是,DHT只使用实数,这使得它在实践中更方便实现,并且它的应用结果更直观。 1942年, Ralph Hartley 在他的文章“ 应用于传输问题的更对称傅立叶分析 ”中提出了傅立叶变换的模拟。 就像傅立叶变换( FT )一样,哈特莱变换( HT
新文章 MetaTrader 5 中的出价/要价(Bid/Ask)点差分析 已发布: 一款能为您报告经纪商平台出价/要价(Bid/Ask)水平的指标。 现在我们可以利用 MT5 的即时报价数据来分析近期的历史真实平均买卖点差是多少。 您不需要查看当前点差,因为若您同时显示出价和要价指示线时,该值已出示。 查看这些图表,您可以看到该经纪商平台的点差大部分为 5 个点。 如果是这种情况,那么您在交易得开始和结束往返过程中的成本应该是 1 个点。 故此,对于具有 1/1 回报风险比率、10 点止损和 10 点止盈的交易,您的成本应该为 10% 的风险/投注。
新文章 通过应用程序了解MQL5中的函数 已发布: 函数在任何编程语言中都是至关重要的东西,它有助于开发人员应用(DRY)的概念,这意味着不要重复自己,还有许多其他好处。在本文中,您将找到更多关于函数的信息,以及我们如何使用简单的应用程序在MQL5中创建自己的函数,这些应用程序可以在任何系统中使用或调用。您必须在不使事情复杂化的情况下丰富您的交易系统。
新文章 StringFormat(). 回顾和现成的例子 已发布: 本文继续介绍PrintFormat()函数。我们将简要介绍使用StringFormat()格式化字符串及其在程序中的进一步使用。我们还将编写模板,在终端日志中显示交易品种数据。这篇文章对初学者和有经验的开发人员都很有用。 函数的作用是格式化接收到的参数并返回格式化后的字符串。字符串格式设置规则与 PrintFormat() 函数完全相同。在“ 研究PrintFormat()并应用现成的示例
新文章 了解 MQL5 面向对象编程(OOP) 已发布: 作为开发人员,我们需要学习如何在创建和开发软件时,无需重复代码做到可重用、且灵活,尤其是当我们拥有不同行为的不同对象时。这可以利用面向对象的编程技术和原则来顺滑地达到。在本文中,我们将介绍 MQL5 面向对象编程的基础知识,以便了解如何在我们的软件中利用这一关键主题的原则和实践。 封装是能够在一个类中链接函数和数据的方法,类中的数据和函数可以是私密的,只能在类内访问,也可以是公开的,可以从类的外部访问。封装概念有助于隐藏类实现的复杂性,并令开发人员能够完全掌控其数据,有助于跟踪所有其它依赖的数值,且不会发生冲突。
新文章 DoEasy. 控件 (第 32 部分): 水平滚动条,鼠标轮滚动 已发布: 在本文中,我们将完成水平滚动条对象功能的开发。我们还将令移动滚动条滑块和旋转鼠标滚轮来滚动容器的内容成为可能,以及考虑到 MQL5 中的新订单执行策略,和新的运行时错误代码,在函数库里相应添加。 为了执行测试, 我将使用来自上一篇文章中的 EA ,且不做任何修改。我们编译它,并在图表运行它,“自动调整容器大小以便适应其内容”标志设置为“否”: 我们检查一下所创建水平滚动条功能所有组件的操作: 一切都按计划工作。 作者: Artyom Trishkin
新文章 研究PrintFormat()并应用现成的示例 已发布: 这篇文章对初学者和有经验的开发人员都很有用。我们将研究PrintFormat()函数,分析字符串格式的示例,并编写用于在终端日志中显示各种信息的模板。 在日志或监视器屏幕上显示数值是一种简单而熟悉的操作,除非您需要显示比“你好,世界”更复杂的内容。但是,当您需要对不经常需要的值或属性进行格式化输出时,迟早会出现这种情况。当然,您可以查看MQL5的帮助。 但有时你想要一个现成的资料集合,用于显示MetaTrader 5终端提供的各种信息。在本文中,我们将尝试理解调用 PrintFormat
新文章 神经网络变得轻松(第四十七部分):连续动作空间 已发布: 在本文中,我们扩展了代理者的任务范围。训练过程将包括一些资金和风险管理等方面,这是任何交易策略不可或缺的部分。 在上一篇文章中,我们训练的代理者只是为了判定交易方向。代理者的动作范围仅限于 4 个选项: 买入, 卖出, 持有/等待, 所有持仓平仓。 于此,我们没看到资本和风险管理功能。我们在所有交易操作中采用了最小手数。这足以评估训练方式,但构建交易策略尚嫌不足。一个可盈利交易策略再简单也必须有一个资金管理算法。 此外,为了创建一个稳定的交易策略,我们需要管理风险。我们的设计中也缺少这个模块。EA
新文章 重新审视一种旧时的趋势交易策略:两个随机振荡指标,一个移动平均指标和斐波那契线 已发布: 旧时的交易策略本文介绍了一种纯技术型的趋势跟踪策略。该策略纯粹是技术性的,使用一些技术指标和工具来传递信号和目标。该策略的组成部分如下:一个周期数为14的随机振荡指标,一个周期数为5的随机振荡指标,一个周期数为200的移动平均指标,一个斐波那契投影工具(用于设定目标)。 该策略的交易规则如下:
VTS_Float_Pivot_Smoothed: 使用 Float_Pivot_Smoothed 通道的趋势指标 VTS。 作者: Nikolay Kositsin
新文章 使用MQL5轻松创建图形面板 已发布: 在这篇文章中,我们将为任何需要创建交易中最有价值和最有用的工具之一的人提供一个简单易行的指南,即简化和轻松执行交易任务的图形面板,这有助于节省时间,并在不受任何干扰的情况下更多地关注您的交易过程本身。 编译代码并执行后,我们可以发现面板显示如下:
新文章 在 MQL4 和 MQL5 框架下开发 OpenAI 的 ChatGPT 功能 已发布: 在本文中,我们将尝鲜来自 OpenAI 的 ChatGPT,从而了解它在降低开发智能系统、指标、和脚本的时间和劳动强度方面的能力。我将引导您快速通览这项技术,并尝试向您展示如何正确地使用它在 MQL4 和 MQL5 中进行编程。 我认为,当人们学习这种技术时,他们所有人开始大致分为三个子组: “现在我们将制作一个超级算法” 这是那些对人工智能持谨慎态度,并质疑其实用性的人 机器不可能比人类更好。这一切都只是一种炒作 我很久以前就开始掌握这项技术,且在一开始我属于第三类人。在与这个 AI
新文章 在莫斯科交易所(MOEX)里使用限价订单进行自动网格交易 已发布: 本文研究针对 MetaTrader 5 平台开发 MQL5 智能交易系统(EA),旨在能在 MOEX 上操作。 该 EA 采用网格策略,面向 MetaTrader 5 终端,并在 MOEX 上进行交易。 EA 包括了依据止损和止盈平仓,以及在某些市场条件下取消挂单。 如果止损和止盈的数值不为零,则除了激活买入和卖出限价订单值外,它们的价位也将显示在交易终端中: 图例 4.2. 在 VTBR-6.22 上使用网格 EA,止损和止盈值均非零 结果就是,我们拥有一个限价订单网格,当最低和最高价格范围内全部激活后,重新设置。
新文章 MQL5中的ALGLIB数值分析库 已发布: 本文简要介绍了ALGLIB 3.19数值分析库、它的应用以及可以提高金融数据分析效率的新算法。 为什么在处理金融数据时选择ALGLIB? 以下是库的主要优点: 可移植性:ALGLIB使用各种编译器在各种平台上轻松编译,使不同背景的开发人员都可以访问它。 易用性:支持多种编程语言,因此您可以选择最熟悉的语言,而无需学习新的语法。 开源:ALGLIB是开源的,可以在GPL2+协议下使用。这使得科学研究和商业项目都可以使用它。 商业用户支持:商业用户可以购买许可证,在使用ALGLIB时为他们提供法律保护。
一款 EA, 基于 "Puria 方法" 外汇交易策略: 一款 EA, 基于 "Puria 方法" 外汇交易策略。 作者: Andrew Kornishkin
新文章 Heiken-Ashi指标与移动平均指标组合能够提供好的信号吗? 已发布: 策略的组合可能会提供更好的机会,我们可以把指标和形态一起使用,或者更进一步,多个指标和形态一起,这样我们可以获得额外的确认因子。移动平均帮我们确认和驾驭趋势,它们是最为人所知的技术指标,这是因为它们的简单性和为分析增加价值的良好记录。 与任何适当的研究方法一样,目的是测试该策略,并能够亲眼看看它是否值得作为我们现有交易框架的附加组件。 第一步是创建交易规则,这个系统什么时候买入,什么时候做空?换句话说,告诉系统当前市场将上涨或下跌的信号是什么时候发出的? 我们可以选择的交易条件有: 每当Heikin-Ashi
对账户资金的实时记录并显示K线图: 在做EA账户风控时,有时候需要知道账户各个时间段的资金数据,本EA可以基于每个净值变动来记录,并画出图表K线或保存至Excel。 作者: Wujun Chen
比如把1.12345678四舍五入成1.12,小数点后面指定两位数