文章 "自己动手开发多线程异步 MQL5 WebRequest" - 页 2 1234567 新评论 Maxim Kuznetsov 2018.11.09 23:21 #11 我仔细看了一下代码。 目前看来是个安全漏洞,不过很酷,值得尊敬。 fxsaber 2018.11.09 23:27 #12 订阅信号。 进行自己的交易。对图表进行任何操作。终端关闭。无法启动智能交易系统/指标。无法卸载运行的指标。隐形模式。...这些是 WebRequest 上的项目。市场 "也可以列出同样的清单。我不认为它们是漏洞。 Maxim Kuznetsov 2018.11.09 23:40 #13 fxsaber: 这些是 WebRequest 上的项目。Marketplace 也可以列出同样的清单。我不认为它们是漏洞。 const long Res = ObjectCreate(0, __FILE__, OBJ_CHART, 0, 0, 0) && _GlobalVariableSet("ORDERSEND", Order) && _GlobalVariableSet("Symbol", Symb) && _GlobalVariableSet("Comment", comment) && EXPERT::Run(ObjectGetInteger(0, __FILE__, OBJPROP_CHART_ID), Params) && ObjectDelete(0, __FILE__) ? _GlobalVariableGet2<long>(__FUNCTION__) : -1; 我用眼角的余光发现这里调用了一个脚本。从指标来看。随着权限的增加。唯一有点混乱的是 EXPERT::Run。 这里。 https://www.mql5.com/ru/forum/288985#comment_9291731 Обсуждение статьи "Многопоточный асинхронный WebRequest на MQL5 своими руками" 2018.11.08www.mql5.com Опубликована статья Многопоточный асинхронный WebRequest на MQL5 своими руками: Автор: Stanislav Korotky... fxsaber 2018.11.10 00:34 #14 Maxim Kuznetsov:我眼角的余光发现这是一个脚本呼叫。来自指示器。权威性增强唯一有点混乱的是 EXPERT::Run。 这里。 https://www.mql5.com/ru/forum/288985#comment_9291731没听懂。 Stanislav Korotky 2018.11.10 22:35 #15 对于所提出的方法来说,还有一个主要问题--图表对象(以及嵌套在图表对象中的内容)是在哪个线程中执行的? fxsaber 2018.11.10 23:03 #16 Stanislav Korotky: 对于所提出的方法,还有一个主要问题--图表对象(以及嵌套在图表对象中的内容)在哪个线程中执行?在自己的线程中。它们是图表,但以对象的形式存在。 Stanislav Korotky 2018.11.10 23:25 #17 fxsaber:在其流动过程中。这些都是图表,但都是对象。那么还有一个问题:是否可以创建大小为 0x0 或 1x1 的图表对象? 一般来说,我的理解是这样的--在没有管理器和池的情况下,我们只需根据需要创建一个图表对象,在其中运行 Worker 脚本,发送网络请求并获取结果(我们仍然会为各处的数据传输创建资源),最后删除该对象。 fxsaber 2018.11.10 23:43 #18 Stanislav Korotky:那么还有一个问题:是否可以制作大小为 0x0 或 1x1 的图表对象? 为了使其不可见,可以将其移动到负坐标。下面是一个例子 交易、自动交易系统和交易策略测试论坛 mql5 语言的特点、微妙之处和交易技巧 fxsaber, 2017.10.31 08:11 // 在 bmp/gif/png 文件中保存位图对象(不考虑透明度问题) bool BitmapObjectToFile( const long chartID, const string ObjName, const string FileName, const bool FullImage = false ) { const ENUM_OBJECT Type = (ENUM_OBJECT)ObjectGetInteger(chartID, ObjName, OBJPROP_TYPE); bool Res = (Type == OBJ_BITMAP_LABEL) || (Type == OBJ_BITMAP); if (Res) { const string Name = __FUNCTION__ + (string)MathRand(); ObjectCreate(chartID, Name, OBJ_CHART, 0, 0, 0); ObjectSetInteger(chartID, Name, OBJPROP_XDISTANCE, -1 e3); const long chart = ObjectGetInteger(chartID, Name, OBJPROP_CHART_ID); Res = ChartSetInteger(chart, CHART_SHOW, false) && ObjectCreate(chart, Name, OBJ_BITMAP_LABEL, 0, 0, 0) && ObjectSetString(chart, Name, OBJPROP_BMPFILE, ObjectGetString(chartID, ObjName, OBJPROP_BMPFILE)) && (FullImage || (ObjectSetInteger(chart, Name, OBJPROP_XSIZE, ObjectGetInteger(chartID, ObjName, OBJPROP_XSIZE)) && ObjectSetInteger(chart, Name, OBJPROP_YSIZE, ObjectGetInteger(chartID, ObjName, OBJPROP_YSIZE)) && ObjectSetInteger(chart, Name, OBJPROP_XOFFSET, ObjectGetInteger(chartID, ObjName, OBJPROP_XOFFSET)) && ObjectSetInteger(chart, Name, OBJPROP_YOFFSET, ObjectGetInteger(chartID, ObjName, OBJPROP_YOFFSET)))) && ChartScreenShot(chart, FileName, (int)ObjectGetInteger(chart, Name, OBJPROP_XSIZE), (int)ObjectGetInteger(chart, Name, OBJPROP_YSIZE)); ObjectDelete(chartID, Name); } return(Res); }应用程序// 将当前图表的所有位图对象保存为 png 文件 void OnStart() { for (int i = ObjectsTotal(0) - 1; i >= 0; i--) { const string Name = ObjectName(0, i); BitmapObjectToFile(0, Name, (string)ChartID() + "\\" + Name + ".png"); } }ZY 还实现了 BMP->GIF/PNG 文件的转换器。 总的来说,我理解的想法是这样的--在没有管理器和池的情况下,我们只需根据需要创建一个图表对象,在其中运行 Worker 脚本,发送网络请求并获取结果(我们仍在各处生成资源用于数据传输),最后删除对象。是的,这就是我们的想法。但它只能在 MT5 中运行。 Реter Konow 2018.11.12 08:46 #19 这篇文章很有意思,但从一开始就有一个问题:如果我们可以将WebRequest() 函数 放在一个并行指标中,并通过 EventChartCustom() 与 EA 通信,为什么还需要几个带有 EA 和管理器的图表呢? 专家顾问将向指标发送命令,指标将执行 WebRequest() 并将结果返回给专家顾问。所有操作都是异步的。 Stanislav Korotky 2018.11.12 11:55 #20 Реter Konow:这篇文章很有意思,但从一开始就有一个问题:如果可以将 WebRequest() 函数放入一个并行指标,并通过 EventChartCustom() 与专家进行通信,为什么还需要多个带有专家和管理器的图表?专家顾问将向指标发送命令,指标将执行 WebRequest() 并将结果返回给专家顾问。一切都是异步的。WebRequest 在指标中不起作用(该库允许您绕过这一限制)。MT 中的一个独立线程只分配给智能交易系统和脚本,但脚本不与事件一起工作。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我仔细看了一下代码。
目前看来是个安全漏洞,不过很酷,值得尊敬。
订阅信号。
这些是 WebRequest 上的项目。市场 "也可以列出同样的清单。我不认为它们是漏洞。
这些是 WebRequest 上的项目。Marketplace 也可以列出同样的清单。我不认为它们是漏洞。
我用眼角的余光发现这里调用了一个脚本。从指标来看。随着权限的增加。
唯一有点混乱的是 EXPERT::Run。
这里。https://www.mql5.com/ru/forum/288985#comment_9291731
我眼角的余光发现这是一个脚本呼叫。来自指示器。权威性增强
唯一有点混乱的是 EXPERT::Run。
这里。https://www.mql5.com/ru/forum/288985#comment_9291731
没听懂。
对于所提出的方法,还有一个主要问题--图表对象(以及嵌套在图表对象中的内容)在哪个线程中执行?
在自己的线程中。它们是图表,但以对象的形式存在。
在其流动过程中。这些都是图表,但都是对象。
那么还有一个问题:是否可以创建大小为 0x0 或 1x1 的图表对象?
一般来说,我的理解是这样的--在没有管理器和池的情况下,我们只需根据需要创建一个图表对象,在其中运行 Worker 脚本,发送网络请求并获取结果(我们仍然会为各处的数据传输创建资源),最后删除该对象。
那么还有一个问题:是否可以制作大小为 0x0 或 1x1 的图表对象?
为了使其不可见,可以将其移动到负坐标。下面是一个例子
交易、自动交易系统和交易策略测试论坛
mql5 语言的特点、微妙之处和交易技巧
fxsaber, 2017.10.31 08:11
应用程序
ZY 还实现了 BMP->GIF/PNG 文件的转换器。
总的来说,我理解的想法是这样的--在没有管理器和池的情况下,我们只需根据需要创建一个图表对象,在其中运行 Worker 脚本,发送网络请求并获取结果(我们仍在各处生成资源用于数据传输),最后删除对象。
是的,这就是我们的想法。但它只能在 MT5 中运行。
这篇文章很有意思,但从一开始就有一个问题:如果我们可以将WebRequest() 函数 放在一个并行指标中,并通过 EventChartCustom() 与 EA 通信,为什么还需要几个带有 EA 和管理器的图表呢?
专家顾问将向指标发送命令,指标将执行 WebRequest() 并将结果返回给专家顾问。所有操作都是异步的。
这篇文章很有意思,但从一开始就有一个问题:如果可以将 WebRequest() 函数放入一个并行指标,并通过 EventChartCustom() 与专家进行通信,为什么还需要多个带有专家和管理器的图表?
专家顾问将向指标发送命令,指标将执行 WebRequest() 并将结果返回给专家顾问。一切都是异步的。
WebRequest 在指标中不起作用(该库允许您绕过这一限制)。MT 中的一个独立线程只分配给智能交易系统和脚本,但脚本不与事件一起工作。