文章 "SQLite: MQL5 原生 SQL 数据库操纵" - 页 5

 
Alexey Viktorov:

没错。Artem,你已经用 MQL 实现了这一点,但我们的主题是 SQLite。如果使用 SQLite 数据库,您的程序库甚至会更简单、更 "高速"。我说的不是没有或不可能做到。我说的是解决方案的简单性。

比我所做的要简单得多--只需在您的程序中申请必要的数据,并同时适用于两个平台。但我们的主题其实不是这个。所以,我们还是不要再讨论这个问题了。

 
Alexey Viktorov:

从文章中,尽管困难重重,我还是理解了这个例子

该查询从数据库中选择数值大于 15000 的记录。另一个例子是选择总和...但比如说,我需要从数据库中选择最小/最大值。或者选择大于/小于零的值之和。我认为有这种可能性,但 MQL5 文档中没有足够的信息。从示例中提取信息对我来说很困难。但如果我没有...如果有必要,我会尝试找出答案。

您需要学习 SQL 查询语言。本文介绍了如何在这些MQL5 函数 的帮助下使用它们,并给出了一些SQL 查询的示例。

没有设定 "提供 SQL 帮助 "的任务。关于这一主题的教程和课程有很多。

 
Rashid Umarov:

您需要学习 SQL 查询语言。本文介绍了如何在这些MQL5 函数 的帮助下使用它们,并给出了一些 SQL 查询的示例。

"制作 SQL 帮助 "并不是一项既定任务。关于这一主题的教程和课程有很多。

是的,拉希德,我已经搜索并找到了可以在俄语中找到的内容。但我同意,如果你提供了使用方法,那么就应该提供说明,而不需要额外搜索。另外,我已经说过,我更能接受 MQL 文档的形式。而我在网络上发现的所有关于 SQLite 的内容在某种程度上都很难理解。但这与我无关。

此外,我还表达了一点自己的看法。

关于交易、自动交易系统和测试交易策略的论坛。

讨论文章 "SQLite:在 MQL5 中使用 SQL 数据库的本地工作"。

Alexey Viktorov, 2020.05.16 10:26 AM

在对 SQLite 的功能进行了更仔细但仍然肤浅的熟悉之后,我得出结论:抱歉,在这种形式下,它只是一个拨浪鼓。

为了利用 SQLite 的无条件优势,至少应该有一个历史数据库。最好是当前仓位和挂单数据库。我希望在 MT 一级创建此类数据库不会花费太多时间。特别是如果现在的表格可以从 SQLite 数据库中生成。这种方法肯定会简化订单和交易历史记录的处理工作。通过一个仓位 ID 或某一时期内的所有交易,可以很容易地获得掉期、佣金和利润的金额。

最近,我在一个主题中看到,历史选择是基于开仓时间的,但正确的选择是基于平仓时间的....。有了 SQLite 数据库,就不会有这样的问题了。你可以根据什么标准来使用和选择它。但很少有程序员会为自己创建这些基础。我认为。

确切地说,很少有程序员会编写数据库填充程序来利用新玩具。Artyom 立即愤愤不平地说:"怎么会没有呢?但在他的库中,一切都是通过 MQL 手段完成的,而 SQLite 仍然是个拨浪鼓。

我想知道,用填充 SQLite 数据库的方式取代现有的填充历史记录、未结头寸和挂单列表的算法,然后将其转换为当前形式有多难。这又会对 MT 的速度产生怎样的影响。

试想一下,按仓位 ID 收集所有订单和交易(无论是未平仓还是已平仓)将会多么容易.....。

 
Alexey Viktorov:

是的,拉希德,我搜索了一下,找到的都是俄文。但我同意,如果您要使用某样东西,就应该提供相关说明,而无需额外搜索。另外,我已经说过,我更能接受 MQL 文档的形式。而我在网络上找到的所有关于 SQLite 的内容都很难理解。但这与我无关。

我们不同意。

广为人知的系统都有很多可用的文档。现实一点。

 
Renat Fatkhullin:

我们不同意。

广为人知的系统都有大量的文档资料。现实一点。

我没有坚持。这只是我主观的、可能是错误的看法。

 
Alexey Viktorov:

实际上,很少有程序员会编写数据库填充程序来利用新玩具。

根据账户历史记录/仪器历史记录创建/更新 数据库表的 脚本几分钟就能写完。

终端很可能将所有内容存储在相同的数据库中,但它们不太可能被直接访问。而且,"开箱即用 "地将其复制到 castum 数据库中也毫无意义。

 
Andrey Khatimlianskii:

在 minutes..... 中编写了一个脚本,用于根据账户历史记录/工具历史记录创建/更新数据库表。

终端很可能在相同的数据库中存储所有这些内容,但他们不太可能直接访问这些 数据库。将其 "开箱即用 "复制到 castum 数据库中毫无意义。

是的,我没有考虑过安全问题。可能是因为没有欺诈的想法:)))))))我同意。我收回我的话。

 
Alexey Viktorov:

@Rashid Umarov 我已经不知道第几次重读这篇文章了,每次都会被一个错别字打动。

请更正并删除这条留言。

更正了两个地方--奇怪的错字。谢谢

 
是否有可能同时访问一个SQLite 数据库 中的不同表?或者至少如何了解数据库目前是否被锁定,程序是否应该等待轮到它?
 

下午好!

运行脚本 DatabaseRead.mq5 时,我根本没有创建数据库文件(company.sqlite)。

它不会产生任何错误。文件是存在的,但我看不到!

您能帮我弄明白吗?