文章 "交易事务. 请求和响应结构、描述和记录" - 页 5 123456789 新评论 MrBrooklin 2023.10.17 22:11 #41 Alexey Viktorov #:沃洛佳,你我已经就这个声音谈了很多。我尽我所能解释了一切,你似乎也都明白了,但我们又来了....。OnTradeTransaction 函数是一个事件处理函数。交易是昨天发生的事件。OnTradeTransaction 函数昨天应该可以工作,但今天不行。今天没有这个交易的事件......今天有,可能以后还会有,但是是不同的事件。 我已经很老了。我已经第七个十年了。 我忘记了很多事情,我从一个案例练习到另一个案例!)) 事实证明,我们今天不需要交易,只需要循环一下: for(int i=0; i<PositionsTotal(); i++) { if(PositionGetTicket(i)) Print(PositionGetInteger(POSITION_IDENTIFIER)); } 然后就可以了!这里有一个未结头寸。是这样吗?)) 弗拉基米尔 MrBrooklin 2023.10.18 04:48 #42 Artyom Trishkin #:数据存储在服务器上。终端在其环境中接收这些数据,然后由 Expert Advisor 使用。 Artem,早上好!今天我起了个大早,看了看终端,发现在新的交易时段开始时,Expert Advisor(智能交易系统)使用我之前在信息 中向您展示的代码,"突然看到 "了前天 开立的头寸,并按照算法正常运行。这简直就是奇迹!我决定在策略测试器中运行前天和昨天的智能 交易系统。在策略测试器中,Expert Advisor 运行得非常完美--它找到了前天开仓的头寸,并在昨天对其进行了操作,就像在备注中写的一样。我想提请您注意这个事实 在策略测试器中 ,头寸是前天打开的,智能交易系统昨天找到了它,并继续....。 在策略测试器中这是一回事,但在实际交易中却截然不同。昨天第一次出现这种情况,Expert Advisor 不想 "看到 "一个突然打开的仓位。 问题 - 怎么会这样? 敬上,弗拉基米尔。 Artyom Trishkin 2023.10.18 04:50 #43 MrBrooklin #:Artem,早上好!今天我起了个大早,看了看终端,发现在新的交易时段开始时,使用我之前在信息 中向您展示的代码的智能交易系统 "突然看到 "了前天 开立的头寸,并按照算法正常运行。这简直就是奇迹!我决定在策略测试器中运行前天和昨天的智能 交易系统。在策略测试器中,Expert Advisor 运行得非常完美--它找到了前天开仓的头寸,并在昨天进行了操作,就像在备注中写的一样。我想提请您注意这个事实 在策略测试器中 ,前天开仓的头寸被智能交易系统找到, 并在昨天 继续....。问题 - 这怎么可能?弗拉基米尔 我不知道。这是你的代码。你写的。它就像写的那样工作。 MrBrooklin 2023.10.18 04:58 #44 Artyom Trishkin #:我不知道。这是你的代码你写的它的写法,它的工作方式。 我了解代码很简单Artem,我稍微修改了一下之前的信息,请看一下。我补充了一些信息。也许会对您的理解有所帮助。 问候您,弗拉基米尔 另外补充一点:在真实账户上交易 8 个月以来,昨天 Expert Advisor 第一次没有 "看到 "未结头寸。这让我大吃一惊。 Valeriy Yastremskiy 2023.10.20 06:24 #45 MrBrooklin #:我了解代码。这是最简单的。Artem,我稍微修改了一下之前的信息,请看一下。我增加了一些信息。也许会对您的理解有所帮助。问候您,弗拉基米尔另外补充一点:在真实账户上交易 8 个月以来,昨天 Expert Advisor 第一次没有 "看到 "未结头寸。这让我大吃一惊。 对这种情况进行压力测试是必要的,在改变交易环境后立即将叉子从电脑上拔出,切断网络或使网络超慢,这样网络不足的情况就无法解决,交易订单实际上就无法发送....。之类的非工作人员的想法。真实的交易环境及其固定性,即使是少量的交易也会带来不可预知的失败)))))。 Artem的文章中首先有关于它,如何记录和如何监控真实)))))。 Saber 有一个更酷的方法,它创建了一个交易环境的虚拟副本,并计算那里的一切))))。 MrBrooklin 2023.10.20 07:21 #46 Valeriy Yastremskiy #: 在这种情况下,有必要进行压力测试,在改变交易环境后立即拔掉计算机的插头,切断网络或使其超慢,这样就无法修复网络不足的问题,交易订单实际上也无法发送....。或者其他什么非标准的想法。 早上好,瓦列里!在您的留言中列出的所有情况,在真实账户的所有八个月交易中都反复发生过,甚至是多次发生。同时,EA 在第二天和后天都看到了头寸。在所有八个月的真实交易中,OnTradeTransaction()函数的代码工作正常。 我无法解释发生了什么,但唯一能想到的是外汇交易商方面的服务器故障。如果你仔细阅读我关于这个主题的所有帖子,你就会看到这样的信息: 关于交易、自动交易系统和测试交易策略的论坛 讨论文章 "Trading Transactions.请求和响应结构、描述和日志输出" MrBrooklin, 2023.10.18 04:48 PM Artem,早上好!今天我起了个大早,看了看终端,发现在新的交易时段开始时,带有我之前在信息 中向您展示的代码的智能交易系统 "突然看到 "了前天 开立的头寸,并按照算法正常运行。这简直就是奇迹!我决定在策略测试器中运行前天和昨天的智能 交易系统。在策略测试器中,Expert Advisor 运行得非常完美--它找到了前天开仓的头寸,并在昨天进行了操作,就像在备注中写的一样。我想请您注意这个事实 在策略测试器中 ,头寸是前天打开的,智能交易系统昨天发现了它,并继续....。 在策略测试器中这是一回事,但在实际交易中却截然不同。昨天第一次出现这种情况,Expert Advisor 不想 "看到 "一个突然打开的仓位。 问题 - 怎么会这样? 敬上,弗拉基米尔。 弗拉基米尔 JRandomTrader 2023.10.20 08:23 #47 由于 TradeTransaction 事件可能会因为某些原因而被错过,也由于有可能出现 "竞赛 "状态(例如,当订单不再活跃但尚未进入历史记录,或者没有活跃订单但尚未开仓),我有一个机器人,在其状态中存储了所有活跃订单及其总仓位(净值)。每次变化和工作结束时,状态都会重置到一个文件中。在启动和运行过程中,会定期检查同步情况,必要时对状态进行同步。 MrBrooklin 2023.10.20 08:29 #48 JRandomTrader #: 我有一个机器人,它将所有有效订单及其总仓位(净值)存储在其状态中。每次变化和工作结束时,状态都会重置到一个文件中。 在启动和运行过程中,会定期检查同步情况,必要时会同步状态。 感谢您分享了这个问题的有趣解决方案。我将尝试在我的 EA 中实现它。 再见,弗拉基米尔。 Valeriy Yastremskiy 2023.10.20 12:27 #49 MrBrooklin #:感谢您分享了解决类似问题的有趣方法。我将尝试在我的 EA 中实现它。再见,弗拉基米尔。 它可能不仅仅是一个失败,什么是失败)))))修复交易环境的状态并不是一件简单的事情。当在一种工具上下单时,人们甚至不认为这是必要的。但从好的方面来说,这是必要的。 测试仪中的理想执行,在现实生活中几乎是理想的,但有时并不理想,甚至不够理想。 因此,在现实生活中,我们需要以某种方式解决问题,让智能交易系统了解订单的情况。如果订单的情况很清楚,那么订单的情况就更复杂了。每隔一格或更短时间检查订单状态,或者查看价格,如果价格突然高于或低于订单价格,则检查订单状态。))) MrBrooklin 2023.10.21 07:48 #50 早上好,Artyom!OnTradeTransaction() 函数的位置是否有本质区别--在OnTick() 函数 之前还是之后?如果有本质区别,原因是什么? 敬上,弗拉基米尔 123456789 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
沃洛佳,你我已经就这个声音谈了很多。我尽我所能解释了一切,你似乎也都明白了,但我们又来了....。
OnTradeTransaction 函数是一个事件处理函数。交易是昨天发生的事件。OnTradeTransaction 函数昨天应该可以工作,但今天不行。今天没有这个交易的事件......今天有,可能以后还会有,但是是不同的事件。
我已经很老了。我已经第七个十年了。 我忘记了很多事情,我从一个案例练习到另一个案例!))
事实证明,我们今天不需要交易,只需要循环一下:
然后就可以了!这里有一个未结头寸。是这样吗?))
弗拉基米尔
数据存储在服务器上。终端在其环境中接收这些数据,然后由 Expert Advisor 使用。
Artem,早上好!今天我起了个大早,看了看终端,发现在新的交易时段开始时,Expert Advisor(智能交易系统)使用我之前在信息 中向您展示的代码,"突然看到 "了前天 开立的头寸,并按照算法正常运行。这简直就是奇迹!我决定在策略测试器中运行前天和昨天的智能 交易系统。在策略测试器中,Expert Advisor 运行得非常完美--它找到了前天开仓的头寸,并在昨天对其进行了操作,就像在备注中写的一样。我想提请您注意这个事实 在策略测试器中 ,头寸是前天打开的,智能交易系统昨天找到了它,并继续....。
在策略测试器中这是一回事,但在实际交易中却截然不同。昨天第一次出现这种情况,Expert Advisor 不想 "看到 "一个突然打开的仓位。
问题 - 怎么会这样?
敬上,弗拉基米尔。
Artem,早上好!今天我起了个大早,看了看终端,发现在新的交易时段开始时,使用我之前在信息 中向您展示的代码的智能交易系统 "突然看到 "了前天 开立的头寸,并按照算法正常运行。这简直就是奇迹!我决定在策略测试器中运行前天和昨天的智能 交易系统。在策略测试器中,Expert Advisor 运行得非常完美--它找到了前天开仓的头寸,并在昨天进行了操作,就像在备注中写的一样。我想提请您注意这个事实 在策略测试器中 ,前天开仓的头寸被智能交易系统找到, 并在昨天 继续....。
问题 - 这怎么可能?
弗拉基米尔
我不知道。这是你的代码。你写的。它就像写的那样工作。
我不知道。这是你的代码你写的它的写法,它的工作方式。
我了解代码很简单Artem,我稍微修改了一下之前的信息,请看一下。我补充了一些信息。也许会对您的理解有所帮助。
问候您,弗拉基米尔
另外补充一点:在真实账户上交易 8 个月以来,昨天 Expert Advisor 第一次没有 "看到 "未结头寸。这让我大吃一惊。
我了解代码。这是最简单的。Artem,我稍微修改了一下之前的信息,请看一下。我增加了一些信息。也许会对您的理解有所帮助。
问候您,弗拉基米尔
另外补充一点:在真实账户上交易 8 个月以来,昨天 Expert Advisor 第一次没有 "看到 "未结头寸。这让我大吃一惊。
对这种情况进行压力测试是必要的,在改变交易环境后立即将叉子从电脑上拔出,切断网络或使网络超慢,这样网络不足的情况就无法解决,交易订单实际上就无法发送....。之类的非工作人员的想法。真实的交易环境及其固定性,即使是少量的交易也会带来不可预知的失败)))))。
Artem的文章中首先有关于它,如何记录和如何监控真实)))))。
Saber 有一个更酷的方法,它创建了一个交易环境的虚拟副本,并计算那里的一切))))。
在这种情况下,有必要进行压力测试,在改变交易环境后立即拔掉计算机的插头,切断网络或使其超慢,这样就无法修复网络不足的问题,交易订单实际上也无法发送....。或者其他什么非标准的想法。
早上好,瓦列里!在您的留言中列出的所有情况,在真实账户的所有八个月交易中都反复发生过,甚至是多次发生。同时,EA 在第二天和后天都看到了头寸。在所有八个月的真实交易中,OnTradeTransaction()函数的代码工作正常。
我无法解释发生了什么,但唯一能想到的是外汇交易商方面的服务器故障。如果你仔细阅读我关于这个主题的所有帖子,你就会看到这样的信息:
关于交易、自动交易系统和测试交易策略的论坛
讨论文章 "Trading Transactions.请求和响应结构、描述和日志输出"
MrBrooklin, 2023.10.18 04:48 PM
Artem,早上好!今天我起了个大早,看了看终端,发现在新的交易时段开始时,带有我之前在信息 中向您展示的代码的智能交易系统 "突然看到 "了前天 开立的头寸,并按照算法正常运行。这简直就是奇迹!我决定在策略测试器中运行前天和昨天的智能 交易系统。在策略测试器中,Expert Advisor 运行得非常完美--它找到了前天开仓的头寸,并在昨天进行了操作,就像在备注中写的一样。我想请您注意这个事实 在策略测试器中 ,头寸是前天打开的,智能交易系统昨天发现了它,并继续....。
在策略测试器中这是一回事,但在实际交易中却截然不同。昨天第一次出现这种情况,Expert Advisor 不想 "看到 "一个突然打开的仓位。
问题 - 怎么会这样?
敬上,弗拉基米尔。
我有一个机器人,它将所有有效订单及其总仓位(净值)存储在其状态中。每次变化和工作结束时,状态都会重置到一个文件中。 在启动和运行过程中,会定期检查同步情况,必要时会同步状态。
感谢您分享了这个问题的有趣解决方案。我将尝试在我的 EA 中实现它。
再见,弗拉基米尔。
感谢您分享了解决类似问题的有趣方法。我将尝试在我的 EA 中实现它。
再见,弗拉基米尔。
它可能不仅仅是一个失败,什么是失败)))))修复交易环境的状态并不是一件简单的事情。当在一种工具上下单时,人们甚至不认为这是必要的。但从好的方面来说,这是必要的。
测试仪中的理想执行,在现实生活中几乎是理想的,但有时并不理想,甚至不够理想。
因此,在现实生活中,我们需要以某种方式解决问题,让智能交易系统了解订单的情况。如果订单的情况很清楚,那么订单的情况就更复杂了。每隔一格或更短时间检查订单状态,或者查看价格,如果价格突然高于或低于订单价格,则检查订单状态。)))
早上好,Artyom!OnTradeTransaction() 函数的位置是否有本质区别--在OnTick() 函数 之前还是之后?如果有本质区别,原因是什么?
敬上,弗拉基米尔