文章 "使用 WCF 服务将报价从 MetaTrader 5 导出至 .NET 应用程序的方法" - 页 2

 
谢谢!对 wcf 和 mql5 的介绍非常有用
 

我在策略测试仪 中也遇到了崩溃。

有人找到解决办法了吗?

 
感谢你们的出色工作!
 

亚历山大,干得漂亮。我以前从未用 C# 编写过代码,我一直在研究如何在不使用 DDE 服务器的情况下让 MT5 报价在 Excel 中流动。

通过调整您的 MT5 32 位代码,我终于成功了。下一步是 x64。

SM

 
最近看到了另一种为 MetaTrader 进行 C# 编程的免费方法
TradePlatform.NET
 
我目前正试图为我的 c#dll 植入我自己的 c++ 封装程序,以实现 mql5 的 互操作。在向我的 c++ 库中添加 c# dll 引用时,我遇到了一个问题。能否请您解释一下下面这句话"......将 CLR 支持、System.dllQExport.dllQexport.Service.dll 添加到构建引用中"。我使用 regasm 工具注册了我的 dll,将其添加到 gac 中,并获得了 .tlb 类型定义文件。我的问题是,在你提供的源代码中找不到任何 #import 或 #include 语句。你的项目似乎以某种神秘的方式引用了你的 dll 库。谁能解释一下在 c++ 库中添加 .NET dll 引用的正确方法?尽管这不是一个纯粹的 mql5 问题,但它与这篇文章直接相关。我研究这个问题已经有一段时间了,但仍然无法理解一个 c++ 库如何能在其 "外部依赖关系 "中包含 .NET dll,而不使用任何 #import 语句。这是我第一次接触 c++,到目前为止还不是很愉快,我甚至想把 .dll 转换为 .lib 并添加一个引用,但在我做任何事情之前,我决定向 COM 专家寻求建议。我运行的是 Windows 8 Ultimate x64,使用 VS2012 Ultimate 编译 c# dll。请帮助我这个新手。
How to Exchange Data: A DLL for MQL5 in 10 Minutes
  • 2010.01.27
  • MetaQuotes Software Corp.
  • www.mql5.com
Now not so many developers remember how to write a simple DLL, and what are special features of different system binding. Using several examples, I will try to show the entire process of the simple DLL's creation in 10 minutes, as well as to discuss some technical details of our binding implementation. I will show the step-by-step process of DLL creation in Visual Studio with examples of exchanging different types of variables (numbers, arrays, strings, etc.). Besides I will explain how to protect your client terminal from crashes in custom DLLs.
 
Burton:

我目前正试图为我的 c#dll 植入我自己的 c++ 封装程序,以实现 mql5 的 互操作。在向我的 c++ 库中添加 c# dll 引用时,我遇到了一个问题。能否请您解释一下下面这句话"......将 CLR 支持、System.dllQExport.dllQexport.Service.dll 添加到构建引用中"。我使用 regasm 工具注册了我的 dll,将其添加到 gac 中,并获得了 .tlb 类型定义文件。我的问题是,在你提供的源代码中找不到任何 #import 或 #include 语句。你的项目似乎以某种神秘的方式引用了你的 dll 库。谁能解释一下在 c++ 库中添加 .NET dll 引用的正确方法?尽管这不是一个纯粹的 mql5 问题,但它与这篇文章直接相关。我研究这个问题已经有一段时间了,但仍然无法理解一个 c++ 库如何能在其 "外部依赖关系 "中包含 .NET dll,而不使用任何 #import 语句。这是我第一次接触 c++,到目前为止还不是很愉快,我甚至想把 .dll 转换为 .lib 并添加一个引用,但在我做任何事情之前,我决定向 COM 专家寻求建议。我运行的是 Windows 8 Ultimate x64,使用 VS2012 Ultimate 编译 c# dll。请帮助我这个新手。
非常愚蠢的是,我发现我可以通过右键单击 c++ 项目并在对话框中选择 "引用... "来引用 c# dlls。网络上的垃圾太多了。
 
这很有趣,谢谢你。 不过,也许今天还有更简单的选择。
 
shelandr1:
非常有趣......谢谢......不过,也许如今有更简单的方法*?

这篇文章很好地向那些不熟悉 WCF 技术的人介绍了 WCF。顺便说一下,我在彼得-敖德萨的距离上通过互联网检查了 WCF 的性能,在 1kB 数据包的情况下,我得到了大约每秒 14000 次双边交易的速度。我个人喜欢这种面向对象的技术,即传输的不是字节流(尽管你可以这么做),而是类的实例,即在接收端不需要解码这个字节流。

关于引用的问题--使用内存映射更容易。我们在.NET 应用程序中使用互斥启动一个单独的任务,MQL4 将数据加载到内存中并重置互斥,然后应用程序读取数据。这样做更简单、更快捷,而且不需要 DLL。只需在 MQL4 中添加系统 DLL,即可支持映射和互斥,最近有一篇文章介绍了这一主题。

 
joeykruger:

我设法让它在 32 位 MT5 上运行,并在为 x64 重新配置后,设法让它在 64 位 MT5 上运行....,但是,当我尝试在策略测试器中运行 EA 时,它们都发生了严重的崩溃。

我想用它将一些价格和指标数据导出到数据库表中,以便用外部软件进行一些分析.....,您知道是什么原因导致了这种崩溃吗? 这是我迄今为止最接近可行的解决方案。



你好,乔、

有什么特殊技巧可以让它在 x64 上运行吗?我刚编译了 x64 版,但启动时 dll 会崩溃并出现奇怪的错误。