错误、漏洞、问题 - 页 2574

 
Aleksei Beliakov:
如果你在ontick中打印这些函数的结果,那么它的时间是1970.01.01,价格是0。
它曾经是酒吧时间或价格时间。
所以现在是这样的。

也许你的电脑里有一个错误?我在Build 1220中得到了这个代码。

 Print("iHigh ", iHigh(NULL, PERIOD_W1, 0));
 Print("iTime ", iTime(NULL, PERIOD_W1, 0));

版画

2019.09.23 09:41:27.560 00 EURUSD,M5: iTime 2019.09.22 00:00:00
2019.09.23 09:41:27.560 00 EURUSD,M5: iHigh 1.10245
 
Aleksei Beliakov:
如果你在ontick中打印这些函数的结果,它是针对时间1970.01.01的价格0。
它曾经是酒吧时间或价格时间。
所以现在是这样的

错误代码 是什么?

测试参数是什么?

是否加载了几周和几个月的数据?一共有多少个?

 
Slava:

错误代码 是什么?

测试参数是什么?

是否按周和月上传数据?一共有多少个?

我重新检查了一下,现在一切正常了。

我下载了这个故事。

谢谢你。

 
我相信这个话题已经被提出来了:应该可以在一个桌面上共存两个不同版本的MT5(禁用自动更新和回滚)。或者至少是测试版和发布版。或者说它是可能的(没有虚拟化)。
 

记忆观察。

在我的代码中,CopyRates被执行了大约一千次。

然后,报价数组以某种方式被处理,在这一过程的最后,我调用。

ArrayRemove(ArrayQuotes,0,ArraySize)。

ArrayFree(ArrayQuotes)。

ArrayResize(ArrayQuotes,0)。

ArrayFree(ArrayQuotes)。

ZeroMemory(ArrayQuotes)。

(只是实验的方式不同)

结果--内存仍然以几何级数增长并被堵塞,同时处理器的负载也在增加--i7处理器在所有逻辑核心上总共被堵塞了80%,内存超过了Giga。

到目前为止,我已经设法用一个第三方程序来限制资源消耗--CPU不超过15%,内存不超过Giga。

问题是--这是一个错误还是平台的一个特点?

 
是否可以硬性选择源编码?我知道,当字符只有ascii时,它是单字节的,否则就是utf-16。可以utf-8吗?
 

顺便说一下,奇怪的元编辑行为,应该得到纠正。

fn_call();/////////////////////

双击斜线可以突出显示与前一个字符的斜线(如果那里不是数字/字母)。

为什么不方便?在代码中做了一个临时编辑,这样突出了空间,然后需要快速突出和删除单斜线。

 

还是回到从dll传递字符串的问题, wchar_t*作为一个指针。
Renat关于在dll中处理字符串的文章 中可以看出,mql类型的字符串 需要一个指向外部dll的字符串wchar_t*的指针。
换句话说,我们向dll发送wchar_t*,并在mql中作为字符串& 接收。
但C函数

wcscpy_s(wchar_t *dest, rsize_t  dest_size, const wchar_t *src);

不能正常工作,即在mql中接收到一个指向字符串wchar_t* dest的指针,但失败了,进退两难。
有时终端崩溃,程序被终止。

随着功能

wcscpy(wchar_t *dest,  const wchar_t *src);

终端没有崩溃,但字符串也断断续续地到达。
请在下一个版本中更正。

ZS.我忘了说,wchar_t* 指针是从另一个线程传过来的。
也就是说,wcscpy_s或wcscpy函数是在一个单独的线程中调用。

 
Roman:

还是要回到从dll中传递字符串的问题, wichar_t*作为一个指针。
Renat关于在dll中处理字符串的文章 中可以看出,mql类型的字符串 需要一个指向外部dll的字符串wichar_t*的指针。
换句话说,我们向dll发送wichar_t*,并在mql中作为字符串& 接收。
但由于某些原因,C函数

不能正常工作,即在mql中接收到一个指向字符串wichar_t* dest的指针,但却失败了,进来又出去。
有时终端崩溃,程序被终止。

随着功能

终端没有崩溃,但字符串也断断续续地到达。
请在下一个版本中更正。

ZS.我忘了说,wichar_t* 指针是从另一个线程传递过来的。
也就是说,wcscpy_s或wcscpy函数是在一个单独的线程中调用。

那么谁来为字符串dest分配内存呢?
 
Vladimir Simakov:
那么谁来为字符串dest分配内存呢?

内存在mql代码中被分配为

#import "Dll.dll"
   void Func(string task, string & out);
#import 

string оut;
StringInit(out, 165, 32);

出,并作为分配的内存 指针传递,因为mql中的字符串在dll中是wchar_t*。

Func("Task", out);
原因: