创建您自己的MetaTrader扩展(dll)。 - 页 7

 

你是说在计算指标的时候?

是的,例如我在dll中写了自己的ATR函数,结果是我的DLL ATR使用wilder的平滑,而MT4只是使用简单的平均数......任何由wilders编写的指标和其他似乎有多个版本的指标也是如此......

我首先要确保你的指标与DLL中的MT4平台给出相同的结果 ...

帕特里克

 

DLLs和指标

谁有在指标中使用dll的任何类型或一般最佳做法(如何获得价格范围到dll,等等)? 我想让dll来计算数值,而不是在MetaTrader中使用函数

谢谢!

 

没有找到网页!

mistigriFX.com再也找不到了。这可能是什么原因?

 

如何使它们发挥作用?

Mistigri:
嗨,蒂姆。

当使用dev-c++时,def文件会自动为你生成,问题是你最终得到的函数名看起来像这样。

EXPORTS

_Z11GetSMAArrayP8RateInfoiiPd@16 @ 1

_Z12GetHighValueP8RateInfoii = _Z12GetHighValueP8RateInfoii@12 @ 2

_Z12GetHighValueP8RateInfoii@12 @ 3

_Z13GetCloseValueP8RateInfoii = _Z13GetCloseValueP8RateInfoii@12 @ 4

_Z13GetCloseValueP8RateInfoii@12 @ 5

_Z11GetSMAArrayP8RateInfoiiPd = _Z11GetSMAArrayP8RateInfoiiPd@16 @ 6[/PHP]

Now you need to make sure you add the following check around your code

[PHP]

#ifdef __cplusplus

extern "C" {

#endif

#ifdef __cplusplus

}

#endif

附上我为VS2008做的样本文件,但这次使用dev-c++ ...

希望这对你有帮助

我们如何测试这些文件?我们应该怎么做?据我所知,Dev C++的主机应用程序只有exe。我们怎样才能使用ex4呢?

 
xarlotie:
我们如何测试这些文件?我们应该怎么做?据我所知,Dev C++的主机应用程序只有exe。我们怎么能使用ex4呢?

哦!真是个愚蠢的问题!对不起,我知道答案了,请忽略这个帖子。

 
codersguru:
任何对创建他/她自己的MetaTrader扩展(dll)感兴趣的人可以去。

创建您自己的MetaTrader扩展(dll) - 第一部分

创建您自己的MetaTrader扩展(dll) - 第二部分

还会有另一部分(或两部分),我正在写这些内容

希望你喜欢它们

谢谢你的

的文章。

 
codersguru:
任何对创建他/她自己的MetaTrader扩展(dll)感兴趣的人可以去。

创建您自己的MetaTrader扩展(dll) - 第一部分

创建您自己的MetaTrader扩展(dll) - 第二部分

还会有另一部分(或两部分),我正在写这些内容

希望你能喜欢它们!

我已经试着按照步骤来做了。

图2 - 新项目对话框

3- 从这个对话框中选择 "MFC AppWizard (dll)",并在 "项目名称 "栏中写上项目名称(图3),然后点击 "确定"。

但是没有 "MFC AppWizard (dll) "这样的选择。

我使用的是MS公司的C++ 2008 express

我做错了什么。

 

你好,没有人帮忙吗?

有谁能为C++2008制作教程吗?

sub00:
我试着按照步骤做了。

图2 - 新项目对话框

3- 从这个对话框中选择 "MFC AppWizard (dll)",并在 "项目名称 "栏中写上项目名称(图3),然后点击 "确定"。

但是没有 "MFC AppWizard (dll) "这样的选择。

我使用的是MS公司的C++ 2008 express

我做错了什么。
 
Mistigri:
刚刚完成了一个关于如何为MT4编写DLL的视频 ...我试图做一个返回数组的例子,因为当我第一次开始研究MetaQuotes提供的样本时,这确实是我认为缺少的东西。

观看视频

如果你只对代码和VS项目感兴趣,可以在这里 下载。

希望你喜欢它

帕特里克

真棒的视频,正是我在寻找的东西

非常尊重。

 

我已经下载并使用VS++2008编译了misigri的项目

前两个函数工作正常,但第二个函数使终端崩溃,就像本文所说的那样。

如何使用崩溃日志来调试你自己的DLLs - MQL4文章

我得到一个C0000005的异常抛出 ...

Exception : C0000005

Address : 77C36FA3

Access Type : read

到目前为止,我还没有找到问题的症结所在。这与OutPut[] 数组传入dll的方式有关。如果有任何意见,我们将不胜感激。