为什么我不能从c++连接mql4中的库?以下是我在C++ Visual Studio 2012中的代码。文件main.以cpp为扩展名(main.csr)。
#define MT4_EXPFUNC __declspec(dllexport) создал макрос чтобы не писать запись __declspec(dllexport)int __stdcall add(int a=0, int b=0)
//__declspec(dllexport)int __stdcall add(int a=0, int b=0)и так пробовал тоже
MT4_EXPFUNC int __cdecl add(int a=0, int b=0)//stdcall данная примитивная функция ничего не делает а просто возвращает значение 18
{return (18);пробовал так return 18;}
//************************************************************************************************/double Envelopes(string symb, ENUM_TIMEFRAMES TF_1, int period, int method, int shift, int price,double Deviation(ENUM_TIMEFRAMES TF_2, int kanal), int buff, int index)
{
double buf[1];
int handle=iEnvelopes(Symbol(), TF_1, period, method, shift, price, Deviation(TF_2, kanal), buff);
if(handle<0)
{
Print("Failed to create handle ATR, Error: ",GetLastError());
return(WRONG_VALUE);
} else
{
if(CopyBuffer(handle,0,index,1,buf)<0)
{
Print("Failed to copy data from the indicator ATR, Error: ",GetLastError());
return(WRONG_VALUE);
}
}
return(buf[0]);
}
//************************************************************************************************/
纠正了...但由于某种原因,还剩下一个。
而且我无法在测试器中重现它。我只是没有把它放在同一个日期。
为什么我不能从c++连接mql4中的库?以下是我在C++ Visual Studio 2012中的代码。文件main.以cpp为扩展名(main.csr)。
然后我创建了一个主扩展名为def的文件(main.def),其中有一个导出的函数 列表,代码看起来像这样。
LIBRARY "dllmt42" EXPORTS add
然后我把它导入编译器
编译后没有问题,但当你把EA留在图表上时,我就感到困惑了
未解决的导入函数调用,在'dllmt42.dll'中找到'_add'。拖动文件时,Total Comander会看到该函数以及编译器本身
谁能提供帮助?
纠正了...但由于某种原因,还剩下一个。
而且我无法在测试器中重现它。我在同一日期没有出现这种错误
这个错误表明,你正试图在你之前进行修改的价格上修改一个头寸/订单...
试图用一个函数在MT5中检索指标数据。
我得到一个错误。
请告知如何纠正MT5的代码
这个错误表明,你试图在已经修改过的价格上修改一个头寸/订单...
不,我已经检查过很多次了,问题出在测试产品时选择MQL的输入参数的随机性上,这些参数并不总是兼容的--我也修正了这一点。但现在我收到了一条信息,说没有未结订单。
虽然我把它们放在相同的货币对和时间框架上
不,我已经检查过很多次了。 问题出在测试产品时选择MQL的输入参数的随机性上,这些参数并不总是兼容的--我也已经修复了。但现在我收到了一条信息,说没有未结订单。
但我把它们放在相同的货币对和时间框架上。
我不知道为什么我的EA不交易了。
找出EA不交易的原因。
如果输入参数是随机选择的,以至于信号根本没有出现,它可能不会交易。但你也不应该限制它
什么叫" 交易冻结距离"?通过以下方式收到的
MQL4
我在修改时又出现了1号错误。在这个EA中,SL或TP水平只在四个区块中被修改
1个街区
2块
3块
4块
我已经检查了很多遍,但我找不到任何错误。
我在修改时又出现了1号错误。在这个EA中,SL或TP水平只在四个区块中被修改
这是不正确的,在其他例子中也是如此
如果你在1.2356处设置了止损,在新的时间点上,你又在1.2356处设置了止损,你会得到错误1