文章 "轻松快捷开发 MetaTrader 程序的函数库(第 三十四部分):延后交易请求 - 在特定条件下删除和修改订单与持仓" - 页 2 123 新评论 Mohammad Bazrkar 2020.08.21 19:00 #11 Artyom Trishkin: 是的,他们会的。因为存储账户数据的方法已经改变。这一点作为警告写在文章末尾: ----- 供您参考: ,因为我们改变了账户对象的结构(改变了存储账户字符串属性的 uchar 数组的大小,并增加了一个整数属性),所有以前保存的账户对象文件将不再能正确加载。如果它们在 \Files\DoEasy\Accounts\ 目录下的终端公共文件夹中,那么在启动本测试顾问之前必须全部删除 - 当从一个账户切换到另一个账户时,它们将以新的对象结构大小重新创建。 ----- 我删除了常用文件夹中的所有账户 BIN 文件,以确保完全加载您的代码。加载后,"CAccount::Load "没有出错(但主要问题是忽略了错误的事件,现在仍然存在)。 然后我手动打开了一些交易,并用脚本尽可能快地关闭了它们。我又遇到了这个错误: CEventsCollection::CreateNewEvent, Line 768:该事件已在列表中 我们知道这些事件来自 MT4 中的不同平仓,但 "引擎 "代码无法理解。引擎是否能在短时间内理解多个交易平仓/事件? 以下是所有日志信息: 2020.08.21 21:23:50.604 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓 2020.08.21 21:23:50.600 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.21 19:51:47.000 - 澳元兑美元平仓 在价格 0.94405 时买入 #573142748,获利 -0.22 美元 2020.08.21 21:23:50.368 脚本 CloseTradesFast4Test AUDCAD,H1:已删除 2020.08.21 21:23:50.364 CloseTradesFast4Test AUDCAD,H1: 取消原因 0 2020.08.21 21:23:50.364 CloseTradesFast4Test AUDCAD,H1: close #573142747 buy 0.01 AUDCAD at 0.94404 at price 0.94375 2020.08.21 21:23:50.148 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓 2020.08.21 21:23:50.146 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.21 19:51:47.000 - 澳元兑美元平仓 在价格 0.94405 时买入 #573142748,获利 -0.22 美元 2020.08.21 21:23:49.942 CloseTradesFast4Test AUDCAD,H1: close #573142748 buy 0.01 AUDCAD at 0.94405 at price 0.94376 2020.08.21 21:23:49.725 mhdbzr-34 AUDCAD,H1: CEventsCollection::CreateNewEvent, 768行:此事件已在列表中 2020.08.21 21:23:49.520 CloseTradesFast4Test AUDCAD,H1: close #573142752 buy 0.01 AUDCAD at 0.94406 at price 0.94376 2020.08.21 21:23:49.257 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓 2020.08.21 21:23:49.255 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.21 19:51:52.000 - - AUDCAD Closed Sell. 澳元兑美元平仓 在价格 0.94366 时卖出 #573142755,获利 -0.37 美元 2020.08.21 21:23:49.086 CloseTradesFast4Test AUDCAD,H1: close #573142755 sell 0.01 AUDCAD at 0.94366 at price 0.94414 2020.08.21 21:23:48.815 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓 2020.08.21 21:23:48.812 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.21 19:51:53.000 - 澳元兑美元平仓 在价格 0.94366 时卖出 #573142757,获利 -0.37 美元 2020.08.21 21:23:48.661 CloseTradesFast4Test AUDCAD,H1: close #573142756 sell 0.01 AUDCAD at 0.94366 at price 0.94415 2020.08.21 21:23:48.352 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓 2020.08.21 21:23:48.350 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.21 19:51:53.000 - 澳元兑美元平仓 在价格 0.94366 时卖出 #573142757,获利 -0.37 美元 2020.08.21 21:23:48.237 CloseTradesFast4Test AUDCAD,H1: close #573142757 sell 0.01 AUDCAD at 0.94366 at price 0.94415 2020.08.21 21:23:47.537 CloseTradesFast4Test AUDCAD,H1: 初始化 2020.08.21 21:23:47.520 脚本 CloseTradesFast4Test AUDCAD,H1: 载入成功 2020.08.21 21:23:31.762 启用自动交易 Discussion of article "Library Why my stop loss EA: DD Report EA Artyom Trishkin 2020.08.21 20:33 #12 Mohammad Bazrkar :我删除了常用文件夹中的所有账户 BIN 文件,以确保完全加载您的代码。加载后,"CAccount::Load "没有出错(但主要问题是忽略了错误的事件,现在仍然存在)。然后我手动打开了一些交易,并用脚本尽可能快地关闭了它们。我又遇到了这个错误: CEventsCollection::CreateNewEvent, Line 768:该事件已在列表中 我们知道这些事件来自 MT4 中的不同平仓,但 "引擎 "代码无法理解。引擎是否能在短时间内理解多个交易平仓/事件? 请逐步描述您是如何处理此错误的。 Mohammad Bazrkar 2020.08.22 14:50 #13 Artyom Trishkin:请逐步描述您是如何操作才会出现此错误的。 我修改了您的 EA 代码,使其只获取事件。(我在之前的信息中附上了修改后的版本,它被命名为 `mhdbzr-34`) 运行 EA 开始观察。 在模拟账户 中以相同手数快速打开一些买入/卖出交易(快速点击图表上的一键买入/卖出按钮) 运行脚本,尽快关闭这些交易。(我的脚本名称是`CloseTradesFast4Test`)。 查看日志信息,你会发现引擎错过了一些平仓,可能是我在这里写的红色错误信息。 Artyom Trishkin 2020.08.22 21:12 #14 Mohammad Bazrkar :我修改了您的 EA 代码,只获取事件。(我在之前的信息中附上了修改后的版本,它被命名为`mhdbzr-34`)。 运行 EA 开始观察。 在模拟账户 中快速打开一些相同手数的买入/卖出交易(快速点击图表上的一键买入/卖出按钮) 运行脚本,以尽可能快的速度关闭这些交易。(我的脚本名为 "CloseTradesFast4Test")。 查看日志信息,你会发现引擎错过了一些平仓,可能是我在这里写的红色错误信息。 给你的脚本平仓。 Mohammad Bazrkar 2020.08.22 23:45 #15 Artyom Trishkin:把脚本交给平仓。 以下是代码: void OnStart() { for(int i=OrdersTotal()-1; i>-1; i--) { if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){ continue; } if(OrderSymbol()!= _Symbol){ continue;} //-- RefreshRates(); int res = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 100); } } Mohammad Bazrkar 2020.08.27 18:09 #16 这里是另一个测试;这次它没有识别平仓头寸,在两种情况 下,它与之前的头寸错过了。 2020.08.27 20:30:18.880 Expert mhdbzr-34 AUDCAD,H1: 已移除 2020.08.27 20:30:18.869 mhdbzr-34 AUDCAD,H1: uninit reason 1 2020.08.27 20:28:35.617 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:仓位关闭 2020.08.27 20:28:35.617 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓 2020.08.27 20:28:35.617 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.27 18:58:03.000 - AUDCAD Closed Buy#573721560 at price 0.95218, Profit -2.29 USD 2020.08.27 20:28:35.614 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.27 18:58:04.000 - AUDCAD Closed Buy#573721562 at price 0.95218, Profit -2.29 USD 2020.08.27 20:28:35.582 脚本 CloseTradesFast4Test AUDCAD,H1: 已删除 2020.08.27 20:28:35.577 脚本 CloseTradesFast4Test AUDCAD,H1: 取消原因 0 2020.08.27 20:28:35.577 CloseTradesFast4Test AUDCAD,H1: close#573721560 buy 0.10 AUDCAD at 0.95218 at price 0.95188 2020.08.27 20:28:35.177 CloseTradesFast4Test AUDCAD,H1: close#573721562 buy 0.10 AUDCAD at 0.95218 at price 0.95188 2020.08.27 20:28:35.161 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓 2020.08.27 20:28:35.158 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.27 18:58:06.000 - AUDCAD Closed Sell#573721573 at price 0.95190, Profit -2.06 USD 2020.08.27 20:28:34.739 CloseTradesFast4Test AUDCAD,H1: close#573721571 buy 0.10 AUDCAD at 0.95224 at price 0.95191 2020.08.27 20:28:34.695 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓 2020.08.27 20:28:34.691 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.27 18:58:06.000 - AUDCAD Closed Sell#573721573 at price 0.95190, Profit -2.06 USD 2020.08.27 20:28:34.306 CloseTradesFast4Test AUDCAD,H1: close#573721573 sell 0.10 AUDCAD at 0.95190 at price 0.95217 2020.08.27 20:28:34.180 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓 2020.08.27 20:28:34.177 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.27 18:58:09.000 - AUDCAD Closed Sell#573721582 at price 0.95190, Profit -2.14 USD 2020.08.27 20:28:33.883 CloseTradesFast4Test AUDCAD,H1: close#573721577 sell 0.10 AUDCAD at 0.95190 at price 0.95217 2020.08.27 20:28:33.664 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓 2020.08.27 20:28:33.660 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.27 18:58:09.000 - AUDCAD Closed Sell#573721582 at price 0.95190, Profit -2.14 USD 2020.08.27 20:28:33.440 CloseTradesFast4Test AUDCAD,H1: close#573721582 sell 0.10 AUDCAD at 0.95190 at price 0.95218 2020.08.27 20:28:32.946 CloseTradesFast4Test AUDCAD,H1: 初始化 2020.08.27 20:28:32.928 脚本 CloseTradesFast4Test AUDCAD,H1: 载入成功 2020.08.27 20:28:09.413 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:仓位已打开 2020.08.27 20:28:09.411 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:09.000 - AUDCAD Opened 0.10 Sell #573721582 [0.10 Market-order Sell #573721582] at price 0.95190 2020.08.27 20:28:07.664 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:开仓 2020.08.27 20:28:07.659 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:07.000 - AUDCAD Opened 0.10 Sell #573721577 [0.10 Market-order Sell #573721577] at price 0.95190 2020.08.27 20:28:06.755 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:开仓 2020.08.27 20:28:06.752 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:06.000 - AUDCAD Opened 0.10 Sell #573721573 [0.10 Market-order Sell #573721573] at price 0.95190 2020.08.27 20:28:05.911 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:开仓 2020.08.27 20:28:05.909 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:05.000 - AUDCAD Opened 0.10 Buy #573721571 [0.10 Market-order Buy #573721571] at price 0.95224 2020.08.27 20:28:04.587 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:开仓 2020.08.27 20:28:04.582 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:04.000 - AUDCAD Opened 0.10 Buy #573721562 [0.10 Market-order Buy #573721562] at price 0.95218 2020.08.27 20:28:04.101 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:开仓 2020.08.27 20:28:04.099 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:03.000 - AUDCAD Opened 0.10 Buy #573721560 [0.10 Market-order Buy #573721560] at price 0.95218 2020.08.27 20:27:59.245 mhdbzr-34 AUDCAD,H1: 初始化 2020.08.27 20:27:59.244 mhdbzr-34 AUDCAD,H1: Account 13278180: mhdbzr test (Alpari) 5537.01 USD, 1:100, Hedge,模拟账户 MetaTrader 4 2020.08.27 20:27:49.794 Expert TestDoEasy\Part34\mhdbzr-34 AUDCAD,H1: 载入成功 我在模拟账户 的真实市场上手动开立了这些交易,没有使用测试环境。(然后像之前一样用脚本平仓) (以下是截图,以确定是否发生了这种情况) 附加的文件: DoEasyLibrary-error-in-v34.jpg 400 kb Discussion of article "Library 文章 "轻松快捷开发 MetaTrader 程序的函数库(第十三部分):帐户对象事件" Got the alerts, now Artyom Trishkin 2020.08.27 20:39 #17 Mohammad Bazrkar :这里是另一个测试;这次它没有识别出平仓位置,在两种情况 下,它与之前的平仓位置错过了。我是在模拟账户 的真实市场上手动开仓的,没有使用测试环境。(并像之前一样用脚本平仓)(这里是截图,以确定发生了这种情况) 我正在寻找问题的原因。这不会很快。感谢您的测试。 Mohammad Bazrkar 2020.08.28 20:54 #18 Artyom Trishkin:我正在寻找问题的原因。这不会很快。感谢您的测试。 (以下是我的看法) 这些关闭的仓位在同一秒钟内,其中一个仓位在前一个跳动时间内处理,因此在新的跳动时间内,它有`new_history_orders=1` 但在`list` 中有两个仓位,排序可能错误,因为两个项目在同一秒钟内有相同的关闭时间。 //--- 获取平仓清单(EventsCollection.mqh 第 205-230 行) CArrayObj* list=this.GetListHistoryPositions(list_history); if(list!=NULL) { //--- 按照位置收盘时间对新列表排序 list.Sort(SORT_BY_ORDER_TIME_CLOSE); //--- 在一个循环中,从列表末尾(最后 N 个事件)取出与新平仓数量相等的仓位数 int total=list.Total(), n=new_history_orders; for(int i=total-1; i>WRONG_VALUE && n>0; i--,n--) { //--- 从列表中接收头寸。如果是头寸,则搜索开仓订单数据并设置交易事件 COrder* position=list.At(i); if(position!=NULL && position.Status()==ORDER_STATUS_HISTORY_ORDER) { //--- 如果有一个关闭位置的控制命令 COrderControl* ctrl=this.GetOrderControlByTicket(list_control,position.Ticket()); if(ctrl!=NULL) { //--- 设置 (1) 开仓订单类型和 (2) 仓位 ID,并创建仓位关闭事件 this.m_type_first=(ENUM_ORDER_TYPE)ctrl.TypeOrder(); this.m_position_id=position.Ticket(); this.CreateNewEvent(position,list_history,list_market,list_control); } } } } 如果订单已在列表中,并抛出错误信息,则会删除位置对象,并在此 for 循环中继续计数,但我认为当订单在CreateNewEvent 函数 中被删除时,不应该计数 n,以捕捉下一个有效位置。 此外,我们还需要了解最近处理过的位置,以跳过错误排序的订单,而不是倒数 `n`。 Artyom Trishkin 2020.08.28 23:25 #19 Mohammad Bazrkar :(这是我的观点)这些关闭的位置在同一秒钟内,其中一个在前一个 tick 时间内处理,因此在新的 tick 中,它有 `new_history_orders=1` 但在 `list` 中有两个位置,排序可能是错误的,因为两个项目在第二个秒钟内的关闭时间相同。如果订单已在列表中,并抛出错误信息,则会删除位置对象,并在此 for 循环中继续计数,但我认为当订单已在CreateNewEvent 函数 中删除时,不应该计数 n,以捕捉下一个有效位置。此外,我们还需要了解最近处理过的位置,以跳过错误排序的订单,而不是倒计时 `n`。 谢谢,我会解决的。 Dmitri Diall 2020.09.04 12:23 #20 你好,Artyom, 我记得几周前我第一次读到这些文章时,你就提到了这个未来的图形外壳...您能提供更多关于您的愿景的细节吗? 123 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是的,他们会的。因为存储账户数据的方法已经改变。这一点作为警告写在文章末尾: ----- 供您参考: ,因为我们改变了账户对象的结构(改变了存储账户字符串属性的 uchar 数组的大小,并增加了一个整数属性),所有以前保存的账户对象文件将不再能正确加载。如果它们在 \Files\DoEasy\Accounts\ 目录下的终端公共文件夹中,那么在启动本测试顾问之前必须全部删除 - 当从一个账户切换到另一个账户时,它们将以新的对象结构大小重新创建。 -----
我删除了常用文件夹中的所有账户 BIN 文件,以确保完全加载您的代码。加载后,"CAccount::Load "没有出错(但主要问题是忽略了错误的事件,现在仍然存在)。
然后我手动打开了一些交易,并用脚本尽可能快地关闭了它们。我又遇到了这个错误:
CEventsCollection::CreateNewEvent, Line 768:该事件已在列表中
我们知道这些事件来自 MT4 中的不同平仓,但 "引擎 "代码无法理解。引擎是否能在短时间内理解多个交易平仓/事件?
以下是所有日志信息:
2020.08.21 21:23:50.604 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓
2020.08.21 21:23:50.600 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.21 19:51:47.000 -
澳元兑美元平仓 在价格 0.94405 时买入 #573142748,获利 -0.22 美元
2020.08.21 21:23:50.368 脚本 CloseTradesFast4Test AUDCAD,H1:已删除
2020.08.21 21:23:50.364 CloseTradesFast4Test AUDCAD,H1: 取消原因 0
2020.08.21 21:23:50.364 CloseTradesFast4Test AUDCAD,H1: close #573142747 buy 0.01 AUDCAD at 0.94404 at price 0.94375
2020.08.21 21:23:50.148 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓
2020.08.21 21:23:50.146 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.21 19:51:47.000 -
澳元兑美元平仓 在价格 0.94405 时买入 #573142748,获利 -0.22 美元
2020.08.21 21:23:49.942 CloseTradesFast4Test AUDCAD,H1: close #573142748 buy 0.01 AUDCAD at 0.94405 at price 0.94376
2020.08.21 21:23:49.725 mhdbzr-34 AUDCAD,H1: CEventsCollection::CreateNewEvent, 768行:此事件已在列表中
2020.08.21 21:23:49.520 CloseTradesFast4Test AUDCAD,H1: close #573142752 buy 0.01 AUDCAD at 0.94406 at price 0.94376
2020.08.21 21:23:49.257 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓
2020.08.21 21:23:49.255 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.21 19:51:52.000 - - AUDCAD Closed Sell.
澳元兑美元平仓 在价格 0.94366 时卖出 #573142755,获利 -0.37 美元
2020.08.21 21:23:49.086 CloseTradesFast4Test AUDCAD,H1: close #573142755 sell 0.01 AUDCAD at 0.94366 at price 0.94414
2020.08.21 21:23:48.815 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓
2020.08.21 21:23:48.812 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.21 19:51:53.000 -
澳元兑美元平仓 在价格 0.94366 时卖出 #573142757,获利 -0.37 美元
2020.08.21 21:23:48.661 CloseTradesFast4Test AUDCAD,H1: close #573142756 sell 0.01 AUDCAD at 0.94366 at price 0.94415
2020.08.21 21:23:48.352 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓
2020.08.21 21:23:48.350 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.21 19:51:53.000 -
澳元兑美元平仓 在价格 0.94366 时卖出 #573142757,获利 -0.37 美元
2020.08.21 21:23:48.237 CloseTradesFast4Test AUDCAD,H1: close #573142757 sell 0.01 AUDCAD at 0.94366 at price 0.94415
2020.08.21 21:23:47.537 CloseTradesFast4Test AUDCAD,H1: 初始化
2020.08.21 21:23:47.520 脚本 CloseTradesFast4Test AUDCAD,H1: 载入成功
2020.08.21 21:23:31.762 启用自动交易
我删除了常用文件夹中的所有账户 BIN 文件,以确保完全加载您的代码。加载后,"CAccount::Load "没有出错(但主要问题是忽略了错误的事件,现在仍然存在)。
然后我手动打开了一些交易,并用脚本尽可能快地关闭了它们。我又遇到了这个错误:
CEventsCollection::CreateNewEvent, Line 768:该事件已在列表中
我们知道这些事件来自 MT4 中的不同平仓,但 "引擎 "代码无法理解。引擎是否能在短时间内理解多个交易平仓/事件?
请逐步描述您是如何处理此错误的。
请逐步描述您是如何操作才会出现此错误的。
我修改了您的 EA 代码,使其只获取事件。(我在之前的信息中附上了修改后的版本,它被命名为 `mhdbzr-34`)
我修改了您的 EA 代码,只获取事件。(我在之前的信息中附上了修改后的版本,它被命名为`mhdbzr-34`)。
给你的脚本平仓。
把脚本交给平仓。
以下是代码:
这里是另一个测试;这次它没有识别平仓头寸,在两种情况 下,它与之前的头寸错过了。
2020.08.27 20:30:18.880 Expert mhdbzr-34 AUDCAD,H1: 已移除
2020.08.27 20:30:18.869 mhdbzr-34 AUDCAD,H1: uninit reason 1
2020.08.27 20:28:35.617 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:仓位关闭
2020.08.27 20:28:35.617 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓
2020.08.27 20:28:35.617 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.27 18:58:03.000 - AUDCAD Closed Buy#573721560 at price 0.95218, Profit -2.29 USD
2020.08.27 20:28:35.614 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.27 18:58:04.000 - AUDCAD Closed Buy#573721562 at price 0.95218, Profit -2.29 USD
2020.08.27 20:28:35.582 脚本 CloseTradesFast4Test AUDCAD,H1: 已删除
2020.08.27 20:28:35.577 脚本 CloseTradesFast4Test AUDCAD,H1: 取消原因 0
2020.08.27 20:28:35.577 CloseTradesFast4Test AUDCAD,H1: close#573721560 buy 0.10 AUDCAD at 0.95218 at price 0.95188
2020.08.27 20:28:35.177 CloseTradesFast4Test AUDCAD,H1: close#573721562 buy 0.10 AUDCAD at 0.95218 at price 0.95188
2020.08.27 20:28:35.161 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓
2020.08.27 20:28:35.158 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.27 18:58:06.000 - AUDCAD Closed Sell#573721573 at price 0.95190, Profit -2.06 USD
2020.08.27 20:28:34.739 CloseTradesFast4Test AUDCAD,H1: close#573721571 buy 0.10 AUDCAD at 0.95224 at price 0.95191
2020.08.27 20:28:34.695 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓
2020.08.27 20:28:34.691 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.27 18:58:06.000 - AUDCAD Closed Sell#573721573 at price 0.95190, Profit -2.06 USD
2020.08.27 20:28:34.306 CloseTradesFast4Test AUDCAD,H1: close#573721573 sell 0.10 AUDCAD at 0.95190 at price 0.95217
2020.08.27 20:28:34.180 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓
2020.08.27 20:28:34.177 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.27 18:58:09.000 - AUDCAD Closed Sell#573721582 at price 0.95190, Profit -2.14 USD
2020.08.27 20:28:33.883 CloseTradesFast4Test AUDCAD,H1: close#573721577 sell 0.10 AUDCAD at 0.95190 at price 0.95217
2020.08.27 20:28:33.664 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:平仓
2020.08.27 20:28:33.660 mhdbzr-34 AUDCAD,H1: - Position closed: 2020.08.27 18:58:09.000 - AUDCAD Closed Sell#573721582 at price 0.95190, Profit -2.14 USD
2020.08.27 20:28:33.440 CloseTradesFast4Test AUDCAD,H1: close#573721582 sell 0.10 AUDCAD at 0.95190 at price 0.95218
2020.08.27 20:28:32.946 CloseTradesFast4Test AUDCAD,H1: 初始化
2020.08.27 20:28:32.928 脚本 CloseTradesFast4Test AUDCAD,H1: 载入成功
2020.08.27 20:28:09.413 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:仓位已打开
2020.08.27 20:28:09.411 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:09.000 - AUDCAD Opened 0.10 Sell #573721582 [0.10 Market-order Sell #573721582] at price 0.95190
2020.08.27 20:28:07.664 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:开仓
2020.08.27 20:28:07.659 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:07.000 - AUDCAD Opened 0.10 Sell #573721577 [0.10 Market-order Sell #573721577] at price 0.95190
2020.08.27 20:28:06.755 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:开仓
2020.08.27 20:28:06.752 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:06.000 - AUDCAD Opened 0.10 Sell #573721573 [0.10 Market-order Sell #573721573] at price 0.95190
2020.08.27 20:28:05.911 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:开仓
2020.08.27 20:28:05.909 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:05.000 - AUDCAD Opened 0.10 Buy #573721571 [0.10 Market-order Buy #573721571] at price 0.95224
2020.08.27 20:28:04.587 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:开仓
2020.08.27 20:28:04.582 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:04.000 - AUDCAD Opened 0.10 Buy #573721562 [0.10 Market-order Buy #573721562] at price 0.95218
2020.08.27 20:28:04.101 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:开仓
2020.08.27 20:28:04.099 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:03.000 - AUDCAD Opened 0.10 Buy #573721560 [0.10 Market-order Buy #573721560] at price 0.95218
2020.08.27 20:27:59.245 mhdbzr-34 AUDCAD,H1: 初始化
2020.08.27 20:27:59.244 mhdbzr-34 AUDCAD,H1: Account 13278180: mhdbzr test (Alpari) 5537.01 USD, 1:100, Hedge,模拟账户 MetaTrader 4
2020.08.27 20:27:49.794 Expert TestDoEasy\Part34\mhdbzr-34 AUDCAD,H1: 载入成功
我在模拟账户 的真实市场上手动开立了这些交易,没有使用测试环境。(然后像之前一样用脚本平仓)
(以下是截图,以确定是否发生了这种情况)
这里是另一个测试;这次它没有识别出平仓位置,在两种情况 下,它与之前的平仓位置错过了。
我是在模拟账户 的真实市场上手动开仓的,没有使用测试环境。(并像之前一样用脚本平仓)
(这里是截图,以确定发生了这种情况)
我正在寻找问题的原因。这不会很快。感谢您的测试。
我正在寻找问题的原因。这不会很快。感谢您的测试。
(以下是我的看法)
这些关闭的仓位在同一秒钟内,其中一个仓位在前一个跳动时间内处理,因此在新的跳动时间内,它有`new_history_orders=1` 但在`list` 中有两个仓位,排序可能错误,因为两个项目在同一秒钟内有相同的关闭时间。
如果订单已在列表中,并抛出错误信息,则会删除位置对象,并在此 for 循环中继续计数,但我认为当订单在CreateNewEvent 函数 中被删除时,不应该计数 n,以捕捉下一个有效位置。
此外,我们还需要了解最近处理过的位置,以跳过错误排序的订单,而不是倒数 `n`。
(这是我的观点)
这些关闭的位置在同一秒钟内,其中一个在前一个 tick 时间内处理,因此在新的 tick 中,它有 `new_history_orders=1` 但在 `list` 中有两个位置,排序可能是错误的,因为两个项目在第二个秒钟内的关闭时间相同。
如果订单已在列表中,并抛出错误信息,则会删除位置对象,并在此 for 循环中继续计数,但我认为当订单已在CreateNewEvent 函数 中删除时,不应该计数 n,以捕捉下一个有效位置。
此外,我们还需要了解最近处理过的位置,以跳过错误排序的订单,而不是倒计时 `n`。
谢谢,我会解决的。
你好,Artyom, 我记得几周前我第一次读到这些文章时,你就提到了这个未来的图形外壳...您能提供更多关于您的愿景的细节吗?