程序库: MT4Orders - 页 69 1...626364656667686970717273747576...95 新评论 fxsaber 2021.12.30 16:52 #681 来自自由职业者的部分广告。 Конвертация должна быть выполнена в родном MQL5 без использования сторонних библиотек типа MT4Orders. 开发人员应在工作结束前提供源代码,以便验证转换是如何完成的。 显然,有些地方做得不好。 Vitaly Muzichenko 2022.01.03 18:32 #682 fxsaber #: 文件已损坏。 --- 存档包含最新版本 //01.06.2021 // 修复:与编译器第 2449 版及更高版本的兼容性问题。 // 修复:改进了同步功能。ByPass.mqh 必须是最新版本。 // 添加:OrderLots(true) - 所选仓位的同步大小,考虑到关闭该仓位的所有订单。 fxsaber 2022.01.03 19:10 #683 Vitaly Muzichenko #:文件已损坏 需要下载。 Vitaly Muzichenko 2022.01.03 19:17 #684 fxsaber #:需要下载。没错这是一个奇迹,不同的文件。 谢谢 fxsaber 2022.01.06 03:18 #685 // 更改列表: // 06.01.2022 // 修正:精确定义开仓数据和佣金大小。仅在 ByPass 模式下运行正常。 // 添加:已添加 OrderDealsAmount() - 头寸形成中涉及的 MT5 交易数量。仅在 ByPass 模式下正常工作。 如果您需要处理部分执行和 CloseBy 重叠,我推荐您使用此更新。 fxsaber 2022.01.06 23:20 #686 fxsaber #:如果您需要处理部分执行和 CloseBy 重叠,我推荐您使用此更新。 检查脚本的计算准确性。 #define MT4ORDERS_BYPASS_MAXTIME 1000000 // 采用旁通模式进行精确计算。 #include <MT4Orders.mqh> //https://www.mql5.com/zh/code/16006 // 总结所有货币操作 -MT5 风格。 double GetProfitMT5( void ) { double Res = 0; if (HistorySelect(0, INT_MAX)) for (int i = HistoryDealsTotal() - 1; i >= 0; i--) { const ulong Ticket = HistoryDealGetTicket(i); Res += HistoryDealGetDouble(Ticket, DEAL_PROFIT) + HistoryDealGetDouble(Ticket, DEAL_SWAP) + HistoryDealGetDouble(Ticket, DEAL_COMMISSION); } return(Res); } // 总结所有货币操作 -MT4 风格。 double GetProfitMT4( void ) { double Res = 0; for (int i = OrdersHistoryTotal() - 1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) Res += OrderProfit() + OrderSwap() + OrderCommission(); return(Res); } void OnStart() { if (PositionsTotal()) MessageBox("The script works only if there are no open positions."); // 仅在没有空缺职位时才进行检查。 else { const double ProfitMT5 = GetProfitMT5(); // 总结所有货币操作 -MT5 风格。 const double ProfitMT4 = GetProfitMT4(); // 总结所有货币操作 -MT4 风格。 // 比较不同方法计算的现金交易总额。 Alert("MT5 (" + DoubleToString(ProfitMT5, 8) + ") == MT4 (" + DoubleToString(ProfitMT4, 8) + ") - " + (string)(bool)!NormalizeDouble(ProfitMT4 - ProfitMT5, 8)); Print(__MT4ORDERS__); } } 结果只有一行。 Alert: MT5 (0.00000000) == MT4 (-0.00500000) - false Alert: MT5 (0.00000000) == MT4 (0.00000000) - true false - MT4Orders 某处出错。请检查复杂账户。如果错误 - 请告诉我。 fxsaber 2022.01.07 12:56 #687 fxsaber #:检查脚本计算是否准确。请在复杂账户中进行检查。 检查结果表明,具有非常复杂的交易历史记录的库可以完美运行。可靠性为 100%。 fxsaber 2022.01.08 14:13 #688 关于交易、自动交易系统和测试交易策略的论坛 库:MT4Orders fxsaber, 2022.01.06 03:18 AM // 更改列表: // 06.01.2022 // 修正:精确定义开仓数据和佣金大小。仅在 ByPass 模式下运行正常。 // 添加:已添加 OrderDealsAmount() - 头寸形成中涉及的 MT5 交易数量。仅在 ByPass 模式下正常工作。 以CustomReport 为例,让我向您展示它的外观 从左到右突出显示的地方。 订单交易金额。这些位置由相应的交易数量生成。一般来说,这些头寸不仅可以是 ENTRY_IN 交易,也可以是其他类型的交易。 因此,开仓价格可以是小数点 - 形成头寸的所有交易的成交量加权平均价格。 以点为单位的佣金大小。在一个符号上,它不应该有很大差异(如果成交量很大)。否则就是 MT4Orders 的错误。 截图中的情况非常简单。订单交易金额(OrderDealsAmount)以十为单位的 情况要复杂得多。例如,在 MT5 中,有可能存在同一票据的仓位,但在有效期内并不重叠。MT5-GUI 会显示这是一个仓位,开仓时间是第一个仓位的开仓时间。而 MT4Orders 会显示多个仓位,开仓时间(和价格)和 OrderTicketOpen(开仓交易的票据)各不相同。 总之,一切都非常准确,符合 MT4 的一贯风格。仅在ByPass 模式 下。 fxsaber 2022.01.12 11:42 #689 // 更改列表: // 12.01.2022 // 修复:OrderPrint() 可正确输出罕见 MT5 订单/交易类型的数据。 fxsaber 2022.01.14 02:07 #690 // 更改列表: // 14.01.2022 // 修复:大大加快了 ByPass 模式下的 OrderSelect(index,SELECT_BY_POS,MODE_HISTORY)速度。 1...626364656667686970717273747576...95 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
来自自由职业者的部分广告。
Конвертация должна быть выполнена в родном MQL5 без использования сторонних библиотек типа MT4Orders.
开发人员应在工作结束前提供源代码,以便验证转换是如何完成的。
显然,有些地方做得不好。
文件已损坏。
---
存档包含最新版本
文件已损坏
需要下载。
需要下载。
没错这是一个奇迹,不同的文件。
谢谢如果您需要处理部分执行和 CloseBy 重叠,我推荐您使用此更新。
如果您需要处理部分执行和 CloseBy 重叠,我推荐您使用此更新。
检查脚本的计算准确性。
结果只有一行。
false - MT4Orders 某处出错。请检查复杂账户。如果错误 - 请告诉我。
检查脚本计算是否准确。
请在复杂账户中进行检查。
检查结果表明,具有非常复杂的交易历史记录的库可以完美运行。可靠性为 100%。
关于交易、自动交易系统和测试交易策略的论坛
库:MT4Orders
fxsaber, 2022.01.06 03:18 AM
以CustomReport 为例,让我向您展示它的外观
从左到右突出显示的地方。
截图中的情况非常简单。订单交易金额(OrderDealsAmount)以十为单位的 情况要复杂得多。例如,在 MT5 中,有可能存在同一票据的仓位,但在有效期内并不重叠。MT5-GUI 会显示这是一个仓位,开仓时间是第一个仓位的开仓时间。而 MT4Orders 会显示多个仓位,开仓时间(和价格)和 OrderTicketOpen(开仓交易的票据)各不相同。
总之,一切都非常准确,符合 MT4 的一贯风格。仅在ByPass 模式 下。