开发人员!你甚至会测试你所创造的东西吗? - 页 11 1...45678910111213141516171819 新评论 Mikhail Filimonov 2013.12.14 17:08 #101 纸杯,C-4通过OnTradeTransaction的现有服务器响应模式它适合我,而且在我的EA中起作用,但是我的第一条信息是,没有从服务器返回任何信息(根本没有)。交易已经完成(订单由1人完成),第二个错误是第二个错误是,没有回复说订单已经下达,而是回复说订单被部分执行(重复)。问题不是出在处理程序上(我对它没有异议),而是出在服务器的响应上(一个响应根本就没有,另一个则是错误的)。在我的EA中,处理服务器响应的模式不是基于服务器响应的顺序,但响应必须是正确的。以下是发生的情况(图片来自第一篇帖子)。专家顾问下了一个成交量为3的订单。该订单是由一个人执行的--服务器的反应是正确的。然后专家顾问修改了订单--服务器的响应是ORDER_STATE_PARTIAL,而响应应该是ORDER_STATE_PLACED。然后,该订单又被执行了1次,没有从服务器收到任何信息。几天后(如下图),我重复了这个序列--结果发生了变化(可能是开发人员纠正了什么)。我得到了一条交易发生的信息(秒21:15:02.232),但关于修改的信息仍然不正确。同样令人震惊的是,来自服务器的三个回复同时出现(21:14:53.049)!很明显,一切都在同一个线程中运作,信息堆积如山,但仍....。我正在阻止EA的运行。来接收信息。 Mikhail Filimonov 2013.12.15 04:36 #102 papaklass!重点是,*.ex5程序在单线程中运行,如果会有很多处理者,情况会更糟糕。 Vladimir Suschenko 2013.12.16 13:36 #103 papaklass:现在我特别检查了OnTrade和OnTradeTransaction操作。三个OnTrade处理程序或四个OnTradeTransaction处理程序在一个交易订单上触发,以建立一个市场头寸(市场订单)。我只需要一个处理程序OnPositionOpened来触发。 对于通过止损/止盈平仓,有3个OnTrade处理程序或3个OnTradeTransaction处理程序被触发,而不是一个OnPositionClosed。 冗余是显而易见的。现有的事件处理程序(OnTrade/OnTradeTransaction)的这些多重响应并没有对以下问题给出明确的答案:"发生了什么交易事件,交易操作的结果 是什么?这就提出了一个问题。"为什么这么麻烦?"有了这种交易事件的冗余处理,不同类型的碰撞很容易发生,这将导致错误,特别是在客户大量发送交易订单时。因此,在你的情况下或在komposter(超时)的情况下发生的事情对我个人来说并不令人惊讶。 OnTrade和OnTradeTransaction事件的实现方式让我想起了20年前的一个插曲......我记得读过对Spectrum新游戏的评论,特别是令人难忘的一篇,其中写道:"......游戏中的声音很好,因为你可以把它关掉......"。 我对OnTrade和OnTradeTransaction事件的态度几乎相同,它们很好,只是因为你不能使用它们。 Mikhail Filimonov 2013.12.16 15:15 #104 SWA: OnTrade和OnTradeTransaction事件的实现方式让我想起了20年前的一个情节......我记得我读过关于Spectrum新游戏的评论,尤其令人难忘的是对一个游戏的评论,其中这样写道:"......游戏中的声音很好,因为你可以把它关掉......"。我对OnTrade和OnTradeTransaction事件的态度大致相同,它们只有在不使用它们的情况下才有意义。而我,则(成功地)使用了这两个处理程序!如果由于某种原因,OnTradeTransaction 不工作,我就检查在OnTrade中 - 非常方便,因为OnTradeTransaction。然后是OnTrade。 Vladimir Suschenko 2013.12.16 16:55 #105 Mikalas:而我,则(成功地)使用了这两个处理程序!如果由于某种原因,OnTradeTransaction不工作,我就检查在OnTrade中 - 非常方便,因为OnTradeTransaction。然后是OnTrade。 我个人认为这种便利性值得商榷:损失了时间,并使客户-服务器通道因要求获得关于服务器上发生的确切信息而超载。这可能是一种情况,当你得到服务器上来之不易的信息时,已经不再是最新的和可靠的了。 如果专家顾问以交易算法 所需的频率向服务器生成一个请求,那么使用这些事件将非常方便(至少对我来说是这样)。bool TradeTransaction(TIME_REQUEST); bool Trade(TIME_REQUEST); // где временная метка может принимать значение к примеру TIME_REQUEST=TimeTradeServer или TIME_REQUEST=TimeGMT而服务器会立即回复这样的请求,提供全面的信息......然而,假设有 "不可逾越的客观原因 "使其无法实现这样的便利,那么我就用我所拥有的来做:) Mikhail Filimonov 2013.12.16 17:33 #106 谁能做到...:)顺便说一下,从交易所服务器下载Plaza II API,你就会明白 "腿是怎么长出来的"。 Andrey Khatimlianskii 2013.12.22 22:05 #107 Mikalas:请不要无理取闹!顺便说一下,现在已经是10点了!而且你有权利完全不看这里写的东西!那么这个主题是什么呢?只是为了喊话?如果你认为有错误,用日志和代码来确认(没有人会破译你的图片)。 如果你想找到一个可靠的解决方案,就听听他们怎么说(放弃事件模型,分析当前状态)。我只 使用OnTradeTransaction 或OnTrade来对交易情况的变化作出即时反应。但整个处理过程将被放在一个处理程序中,正如Vasiliy所建议的(OnRefresh())。好运! Mikhail Filimonov 2013.12.23 08:11 #108 komposter:那么这个主题是什么呢?只是为了喊话?如果你认为有错误,用日志和代码来确认(没有人会对你的图片进行解码)。 如果你想要一个可靠的解决方案,那就听听他们怎么说(放弃事件驱动模式,分析当前状态)。我只 使用OnTradeTransaction或OnTrade来对交易情况的变化作出即时反应。但所有的处理都将放在一个处理程序中,正如Vasiliy建议的 那样(OnRefresh())。好运!康帕斯特!要么阅读你所写的一切,要么...2.无论我在这些网页上写什么,都是我作为论坛参与者的权利。和粗鲁的任何东西都是远远不够的!。3.无论你在哪里处理错误,如果服务器的响应不是它应该有的--结果将是一样的--错误!4.你可能不是在交易自己。 Aleksey 2013.12.23 08:32 #109 Mikalas: BURNING REMOTE是对明目张胆的攻击的回答!。不管是什么问题,这就是答案。你本来可以成为一个英雄...)) Mikhail Filimonov 2013.12.23 09:04 #110 pronych和....1.>> LUCKY REMOTE是对公然攻击的回答!不管是什么问题,这就是答案。>>本来可以成为一个英雄...)) 你可能对你周围的世界有着恰如其分的认知......2.你们是程序员还是 "写手"?3.谁来回答一个简单的问题:服务器应该对 "修改订单 "命令做出什么反应?4.那为什么要用文件呢?文章?闭上眼睛,想吐什么就吐什么吧!客户还是要付钱的(他也是要被榨干的人)。bool CheckMoney() { return(ВАСЯ_ПУПКИН); } 1...45678910111213141516171819 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
纸杯,C-4
通过OnTradeTransaction的现有服务器响应模式
它适合我,而且在我的EA中起作用,但是
我的第一条信息是,没有从服务器返回任何信息(根本没有)。
交易已经完成(订单由1人完成),第二个错误是
第二个错误是,没有回复说订单已经下达,而是回复说订单被部分执行(重复)。
问题不是出在处理程序上(我对它没有异议),而是出在服务器的响应上(一个响应根本就没有,另一个则是错误的)。
在我的EA中,处理服务器响应的模式不是基于服务器响应的顺序,但响应必须是正确的。
以下是发生的情况(图片来自第一篇帖子)。
专家顾问下了一个成交量为3的订单。
该订单是由一个人执行的--服务器的反应是正确的。
然后专家顾问修改了订单--服务器的响应是ORDER_STATE_PARTIAL,而响应应该是ORDER_STATE_PLACED。
然后,该订单又被执行了1次,没有从服务器收到任何信息。
几天后(如下图),我重复了这个序列--结果发生了变化(可能是开发人员纠正了什么)。
我得到了一条交易发生的信息(秒21:15:02.232),但关于修改的信息仍然不正确。
同样令人震惊的是,来自服务器的三个回复同时出现(21:14:53.049)!
很明显,一切都在同一个线程中运作,信息堆积如山,但仍....。我正在阻止EA的运行。
来接收信息。
papaklass!
重点是,*.ex5程序在单线程中运行,如果
会有很多处理者,情况会更糟糕。
现在我特别检查了OnTrade和OnTradeTransaction操作。
三个OnTrade处理程序或四个OnTradeTransaction处理程序在一个交易订单上触发,以建立一个市场头寸(市场订单)。我只需要一个处理程序OnPositionOpened来触发。
对于通过止损/止盈平仓,有3个OnTrade处理程序或3个OnTradeTransaction处理程序被触发,而不是一个OnPositionClosed。 冗余是显而易见的。
现有的事件处理程序(OnTrade/OnTradeTransaction)的这些多重响应并没有对以下问题给出明确的答案:"发生了什么交易事件,交易操作的结果 是什么?这就提出了一个问题。"为什么这么麻烦?"
有了这种交易事件的冗余处理,不同类型的碰撞很容易发生,这将导致错误,特别是在客户大量发送交易订单时。
因此,在你的情况下或在komposter(超时)的情况下发生的事情对我个人来说并不令人惊讶。
OnTrade和OnTradeTransaction事件的实现方式让我想起了20年前的一个情节......我记得我读过关于Spectrum新游戏的评论,尤其令人难忘的是对一个游戏的评论,其中这样写道:"......游戏中的声音很好,因为你可以把它关掉......"。我对OnTrade和OnTradeTransaction事件的态度大致相同,它们只有在不使用它们的情况下才有意义。
而我,则(成功地)使用了这两个处理程序!
如果由于某种原因,OnTradeTransaction 不工作,我就检查
在OnTrade中 - 非常方便,因为OnTradeTransaction。
然后是OnTrade。
而我,则(成功地)使用了这两个处理程序!
如果由于某种原因,OnTradeTransaction不工作,我就检查
在OnTrade中 - 非常方便,因为OnTradeTransaction。
然后是OnTrade。
如果专家顾问以交易算法 所需的频率向服务器生成一个请求,那么使用这些事件将非常方便(至少对我来说是这样)。
而服务器会立即回复这样的请求,提供全面的信息......
然而,假设有 "不可逾越的客观原因 "使其无法实现这样的便利,那么我就用我所拥有的来做:)
谁能做到...:)
顺便说一下,从交易所服务器下载Plaza II API,你就会明白 "腿是怎么长出来的"。
请不要无理取闹!顺便说一下,现在已经是10点了!
而且你有权利完全不看这里写的东西!
那么这个主题是什么呢?只是为了喊话?
如果你认为有错误,用日志和代码来确认(没有人会破译你的图片)。
如果你想找到一个可靠的解决方案,就听听他们怎么说(放弃事件模型,分析当前状态)。
我只 使用OnTradeTransaction 或OnTrade来对交易情况的变化作出即时反应。但整个处理过程将被放在一个处理程序中,正如Vasiliy所建议的(OnRefresh())。
好运!
那么这个主题是什么呢?只是为了喊话?
如果你认为有错误,用日志和代码来确认(没有人会对你的图片进行解码)。
如果你想要一个可靠的解决方案,那就听听他们怎么说(放弃事件驱动模式,分析当前状态)。
我只 使用OnTradeTransaction或OnTrade来对交易情况的变化作出即时反应。但所有的处理都将放在一个处理程序中,正如Vasiliy建议的 那样(OnRefresh())。
好运!
康帕斯特!
要么阅读你所写的一切,要么...
2.无论我在这些网页上写什么,都是我作为论坛参与者的权利。
和粗鲁的任何东西都是远远不够的!。
3.无论你在哪里处理错误,如果服务器的响应不是它应该有的--结果将是一样的--错误!
4.你可能不是在交易自己。
pronych和....
1.>> LUCKY REMOTE是对公然攻击的回答!不管是什么问题,这就是答案。>>本来可以成为一个英雄...))
你可能对你周围的世界有着恰如其分的认知......
2.你们是程序员还是 "写手"?
3.谁来回答一个简单的问题:服务器应该对 "修改订单 "命令做出什么反应?
4.那为什么要用文件呢?文章?闭上眼睛,想吐什么就吐什么吧!客户还是要付钱的(他也是要被榨干的人)。