当许多智能交易系统在一个符号上运行时,需要创建一个当前和虚拟仓位数据库,以便进行净额结算。
还是在每个 EA 中嵌入代码更好?
阿列克谢,这行不通。毕竟,该服务就像一个脚本,唯一不同的是,它是与终端启动同时启动的....。
启动终端,服务跳出,工作,并进入底层....。
当然,您也可以无限循环运行它,但效果如何,您应该自己决定....。
当许多智能交易系统在一个符号上运行时,需要创建一个当前和虚拟仓位数据库,以便进行净额结算。
还是在每个 EA 中嵌入代码更好?
阿列克谢,感谢您的意见!
问得好。我们需要权衡利弊。一方面,正如我的同事阿列克谢-维克托罗夫(Alexey Viktorov)所指出的那样,执行此类任务的服务应在无限循环中启动。但另一方面,该服务在后台工作,并从数据库本身进行写入/读取。如果要为每个机器人添加使用数据库的功能,就必须明白可能会出现同步冲突。类似互斥器的东西可能会在这方面有所帮助。
当服务无法.... 时,EA 可以即时处理交易事件。
当许多智能交易系统在一个符号上运行时,需要创建一个当前和虚拟仓位数据库,以便进行净额结算。
还是在每个 EA 中嵌入代码更好?
每个机器人都会自行考虑虚拟仓位。原则上,它甚至不知道真实仓位。对 MM 而言,唯一的问题是手数定义,但我通过参数设置了固定手数。除固定手数外,唯一的选择是为每个机器人分配一定比例的存款。
阿列克谢,谢谢你的意见!
这是个好问题。我们需要权衡利弊。一方面,正如我的同事阿列克谢-维克托罗夫(Alexey Viktorov)所指出的那样,这样的任务服务应该在无限循环中启动。但另一方面,该服务在后台工作,并从数据库本身进行写入/读取。如果要为每个机器人添加使用数据库的功能,就必须明白可能会出现同步冲突。在这方面,类似互斥器的东西可能会有所帮助。
当服务无法.... 时,EA 可以即时处理交易事件。
难道 SQLite 不知道如何使用事务队列吗?我没有处理过这个问题,但你写过一篇文章,所以我才问你:)
您可以写入数据库的每个部分(单独的表),甚至每个顾问都可以创建自己的数据库,服务会检查数据库的可用性并将其连接起来工作。
当然,延迟是个问题,但另一方面,它可以通过节省的差价得到补偿。
新文章 MQL5 酷宝书 — 服务已发布:
本文讲述了服务的多功能性 — 不需要绑定图的 MQL5 程序。 我还会重点介绍服务与其它 MQL5 程序的区别,并强调开发人员使用服务的细微差别。 作为示例,为读者提供了各种任务,涵盖了可以作为服务实现的各种功能。
我们想象一下,我们面临着以下任务。 终端应提供当前交易品种的图表,即持仓品种的图表。
打开图表的规则非常简单。 如果某个品种尚有持仓,则打开该品种的图表。 如果没有持仓,则无需图表。 即使某个品种有多笔持仓,也只会打开一个图表。
另外,我们还要添加一些颜色。 如果持仓处于盈利状态,则图表的背景色将为浅蓝色;如果处于亏损,则为浅粉色。 零利润则为薰衣草色。
作者:Denis Kirichenko