文章 "基于 .Net 框架和 C# 为 EA 交易和指标开发图形界面" - 页 5 123456789101112...15 新评论 AikAcrobatt 2019.02.18 10:13 #41 Igor Makanu:文章中介绍了 MT5 与 "外部世界 "交互的一种完全不同的方式,您需要在 MT5 代码中描述 C++ 函数的签名,并像普通 dll 一样调用它们,这里有一个工作示例,我一个月前测试过。https://www.mql5.com/zh/articles/18你好:tensorflow c# 完全可以在谷歌上搜索到,这里有 C# 的现成解决方案https://nugetmusthaves.com/Tag/tensorflow ;好文章,我会注意的,谢谢! 我已经知道 tensorflow c# 完全可以 google,我只是不想花时间学习 C#,所以我将 tensorflow 与 C++ 整合在一起。 这不是我的问题。 文章中描述的交互方式与通常的交互方式有何不同?文中写道,只要在 .Net 平台上编写 dllka 就足够了。但在该平台上编写不一定要使用 C#。但当我使用C++/CLR 时(Visual Studio 建议 我使用 .Net 类编写应用程序 ),MQL5 仍然要求 像往常一样从生成的 dllka 中声明函数, 而根本看不到类。 Norton Daniel Barth 2019.02.18 12:57 #42 是否可以从Visual Studio 向 MT5 发送字符串?我该如何操作? 感谢您的帮助 Igor Makanu 2019.02.18 13:13 #43 AikAcrobatt:文章中描述的交互方式与通常的交互方式有何不同?文中说,只需在 .Net 平台上编写 dllka 即可。但在这个平台上编写不一定要使用 C#。如果我没记错的话,文章中使用的方法叫做 C# 注入 - 谷歌一下,我在这里帮不上忙,C# 和 MQL5 之间的交互是如何发生的,作为一个选项 "旋转 "示例https://www.mql5.com/ru/forum/303283/page3#comment_10607873。 Обсуждение статьи "Создание графических интерфейсов для экспертов и индикаторов на базе .Net Framework и C#" 2019.02.12www.mql5.com Опубликована статья Создание графических интерфейсов для экспертов и индикаторов на базе .Net Framework и C#: Автор: Vasiliy Sokolov... Vasiliy Sokolov 2019.02.18 13:41 #44 fxsaber:举例说明如何使用这个库,这现实吗?这个库很有趣。我认为将其与引擎集成是非常现实的。 Vasiliy Sokolov 2019.02.18 13:57 #45 AikAcrobatt:您好,这是一篇很好的文章!从上文可以看出一些问题:1) 从文章的文字中我得到的印象是,不仅图形界面,而且几乎所有 "不适合" MQL5 的 API 的实现都可以用同样的方式组织。是的,完全正确。这篇文章本质上描述了一种改进的 MVC设计模式。模式是通用的,并不依赖于语言工具和任务,最主要的是 "模型-表示-控制器 "的概念与任务相匹配。 AikAcrobatt: 我的问题是,是否有可能编写一个 C++ .Net 库(我的理解是使用 C++/CLR),以便在其 .Net 代码中实现 MQL5,就像在您的 GuiController 引擎中一样? 2) 理论上可以。.Net dll 是一个打包的 CIL,像 C#、VB Net、C++ Net 这样的高级语言会被翻译成它。也就是说,无论 net dll 是用什么语言编写的,MQL 都可以读取。但只有在实践中才需要检查,因为开发人员显然是以 C# 为基础的。 AikAcrobatt: 我感兴趣的实际例子是这样的。如今,VS2017 可以集成机器学习的传感器库,例如 TensorFlow 提供了支持 GPU 计算的 C++ API。您的文章提供了将 TensorFloW(或任何其他机器学习库)的 C++ 实现直接集成到 MQL5 的绝佳机会,这对我来说似乎非常方便。问题是,由于某些原因,我甚至无法使用此处指定的方法将试用版 C++ dll 导入 MQL5。 您指的是 Net C++ dll 吗? 如果是,您应该检查看看。很难理解它在现实中是如何工作的。 但总的来说,您说得非常对:与现有代码快速集成肯定是未来的趋势。而且您也没有足够的时间自己编写所有代码。在这里,您可以下载您需要的东西,然后继续前进。 Vasiliy Sokolov 2019.02.18 14:04 #46 AikAcrobatt:...文章中描述的交互方式与通常的交互方式有何不同?文中说,只要有一个在 .Net 平台上编写的 dllka 就足够了。但在该平台上编写不一定要使用 C#。但是,当我使用C++/CLR 时(Visual Studio 建议 我使用 .Net 类创建应用程序 ),MQL5 仍然 像往常一样要求从生成的 dllka 中声明函数, 但它根本看不到类。这非常奇怪,因为 C# 的工作方式完全不同。MQL 完全可以看到 Net 类及其带有签名的方法。甚至在 MetaEditor 中,intellisense 也能正常工作。 不幸的是,我对 C++ 几乎毫无经验。我很乐意帮助您,但恐怕帮不上忙。 Vasiliy Sokolov 2019.02.18 14:06 #47 Norton Daniel Barth:是否可以从 Visual Studio 向 MT5 发送字符串?我该如何操作? 感谢您的帮助当然可以。您可以从方法(第 1 行)中返回字符串。您也可以从引用中返回字符串(第 3 行): string line = SharpClass::GetSting(); string line_l; SharpClass::GetStringByLink(line_l); 其中 SharpClass 是程序集中的静态 C# 类。 AikAcrobatt 2019.02.18 16:09 #48 Vasiliy Sokolov:这非常奇怪,因为 C# 的所有工作方式都截然不同。MQL 可以完美地看到 Net 类及其带有签名的方法。甚至 MetaEditor 中的 intellisense 也能正常工作。不幸的是,我对 C++ 几乎毫无经验。我很乐意帮助你,但恐怕帮不上忙。到目前为止,我有以下几种方法: 使用 .NET 的最简单 C++ dllka: using namespace System; namespace TesterMQL54 { public ref class Class1 { public: static int Func1(int arg) { return (arg - 1); }; }; } 该库与 MQL5 的交互方式与 C# 中的类似库相同(我检查过),也与您文章中描述的库类似。 当我们将程序插入 MQL5 时: #import "TesterMQL5_4.dll" //+------------------------------------------------------------------+ //|| //+------------------------------------------------------------------+ void OnStart() { Print("Beg"); Print(Class1::Func1(7)); Print("End"); }; //+------------------------------------------------------------------+ 编译器会看到类 Class1 和函数 Func1。但与 Sharpe 行为不同的是,终端显示加载 dll 失败:无法加载 'C:\Users\...\MQL5\Libraries\TesterMQL5_4.dll' [0]EX5 加载失败。 Norton Daniel Barth 2019.02.18 16:14 #49 Vasiliy Sokolov :当然可以。可以从方法中返回字符串(字符串 1)。也可以返回字符串引用(第 3 行):其中 SharpClass 是程序集中的一个静态 C # 类。感谢您的帮助,但我还需要学习更多的 C# 知识,我才能真正让这个简单的东西发挥作用或包含代码 再次感谢您的宝贵时间 Artyom Trishkin 2019.02.18 17:37 #50 AikAcrobatt:到目前为止,我有以下收获使用 .NET 的 C++ 编写的简单 dll:...请正确插入代码: 123456789101112...15 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
文章中介绍了 MT5 与 "外部世界 "交互的一种完全不同的方式,您需要在 MT5 代码中描述 C++ 函数的签名,并像普通 dll 一样调用它们,这里有一个工作示例,我一个月前测试过。
https://www.mql5.com/zh/articles/18
你好:tensorflow c# 完全可以在谷歌上搜索到,这里有 C# 的现成解决方案https://nugetmusthaves.com/Tag/tensorflow ;
好文章,我会注意的,谢谢!
我已经知道 tensorflow c# 完全可以 google,我只是不想花时间学习 C#,所以我将 tensorflow 与 C++ 整合在一起。
这不是我的问题。
文章中描述的交互方式与通常的交互方式有何不同?文中写道,只要在 .Net 平台上编写 dllka 就足够了。但在该平台上编写不一定要使用 C#。但当我使用C++/CLR 时(Visual Studio 建议 我使用 .Net 类编写应用程序 ),MQL5 仍然要求 像往常一样从生成的 dllka 中声明函数, 而根本看不到类。
是否可以从Visual Studio 向 MT5 发送字符串?我该如何操作?
感谢您的帮助
文章中描述的交互方式与通常的交互方式有何不同?文中说,只需在 .Net 平台上编写 dllka 即可。但在这个平台上编写不一定要使用 C#。
如果我没记错的话,文章中使用的方法叫做 C# 注入 - 谷歌一下,我在这里帮不上忙,C# 和 MQL5 之间的交互是如何发生的,作为一个选项 "旋转 "示例https://www.mql5.com/ru/forum/303283/page3#comment_10607873。
举例说明如何使用这个库,这现实吗?
这个库很有趣。我认为将其与引擎集成是非常现实的。
您好,这是一篇很好的文章!
从上文可以看出一些问题:
1) 从文章的文字中我得到的印象是,不仅图形界面,而且几乎所有 "不适合" MQL5 的 API 的实现都可以用同样的方式组织。
是的,完全正确。这篇文章本质上描述了一种改进的 MVC设计模式。模式是通用的,并不依赖于语言工具和任务,最主要的是 "模型-表示-控制器 "的概念与任务相匹配。
我的问题是,是否有可能编写一个 C++ .Net 库(我的理解是使用 C++/CLR),以便在其 .Net 代码中实现 MQL5,就像在您的 GuiController 引擎中一样?
2) 理论上可以。.Net dll 是一个打包的 CIL,像 C#、VB Net、C++ Net 这样的高级语言会被翻译成它。也就是说,无论 net dll 是用什么语言编写的,MQL 都可以读取。但只有在实践中才需要检查,因为开发人员显然是以 C# 为基础的。
我感兴趣的实际例子是这样的。如今,VS2017 可以集成机器学习的传感器库,例如 TensorFlow 提供了支持 GPU 计算的 C++ API。您的文章提供了将 TensorFloW(或任何其他机器学习库)的 C++ 实现直接集成到 MQL5 的绝佳机会,这对我来说似乎非常方便。问题是,由于某些原因,我甚至无法使用此处指定的方法将试用版 C++ dll 导入 MQL5。
您指的是 Net C++ dll 吗? 如果是,您应该检查看看。很难理解它在现实中是如何工作的。
但总的来说,您说得非常对:与现有代码快速集成肯定是未来的趋势。而且您也没有足够的时间自己编写所有代码。在这里,您可以下载您需要的东西,然后继续前进。
...
文章中描述的交互方式与通常的交互方式有何不同?文中说,只要有一个在 .Net 平台上编写的 dllka 就足够了。但在该平台上编写不一定要使用 C#。但是,当我使用C++/CLR 时(Visual Studio 建议 我使用 .Net 类创建应用程序 ),MQL5 仍然 像往常一样要求从生成的 dllka 中声明函数, 但它根本看不到类。
这非常奇怪,因为 C# 的工作方式完全不同。MQL 完全可以看到 Net 类及其带有签名的方法。甚至在 MetaEditor 中,intellisense 也能正常工作。
不幸的是,我对 C++ 几乎毫无经验。我很乐意帮助您,但恐怕帮不上忙。
是否可以从 Visual Studio 向 MT5 发送字符串?我该如何操作?
感谢您的帮助
当然可以。您可以从方法(第 1 行)中返回字符串。您也可以从引用中返回字符串(第 3 行):
其中 SharpClass 是程序集中的静态 C# 类。
这非常奇怪,因为 C# 的所有工作方式都截然不同。MQL 可以完美地看到 Net 类及其带有签名的方法。甚至 MetaEditor 中的 intellisense 也能正常工作。
不幸的是,我对 C++ 几乎毫无经验。我很乐意帮助你,但恐怕帮不上忙。
到目前为止,我有以下几种方法:
使用 .NET 的最简单 C++ dllka:
该库与 MQL5 的交互方式与 C# 中的类似库相同(我检查过),也与您文章中描述的库类似。
当我们将程序插入 MQL5 时:
编译器会看到类 Class1 和函数 Func1。但与 Sharpe 行为不同的是,终端显示加载 dll 失败:
无法加载 'C:\Users\...\MQL5\Libraries\TesterMQL5_4.dll' [0]
EX5 加载失败。
当然可以。可以从方法中返回字符串(字符串 1)。也可以返回字符串引用(第 3 行):
其中 SharpClass 是程序集中的一个静态 C # 类。
感谢您的帮助,但我还需要学习更多的 C# 知识,我才能真正让这个简单的东西发挥作用或包含代码
再次感谢您的宝贵时间
到目前为止,我有以下收获
使用 .NET 的 C++ 编写的简单 dll:
...请正确插入代码: