错误、漏洞、问题 - 页 454

 
Interesting:
在我看来,你必须对数组的 每个元素 进行单独翻译。

我希望得到一些帮助,而不是咆哮。让我澄清一下,我试图用CP_UTF16的CharArrayToString进行翻译,但似乎不支持。也许我需要另一个代码页?

向开发者提问--帮助中写到,那些不在标准常量中的页面可以手动添加。是否都支持?

 
TheXpert:

我希望得到一些帮助,而不是咆哮。让我搞清楚,我试图使用 CP_UTF16的CharArrayToString,但我感觉它不被支持。也许我需要另一个代码页?

向开发者提问 -- 在帮助中写道,那些不在标准常量中的页面,可以手动添加。是否都支持?

我误解了这个问题。如果我对CP_UTF16的文件理解正确,你需要指定所需的数字代码(具体是哪一个还有待观察)。

好吧,这可能是一个针对开发者的问题。

 
除了这个问题--https://www.mql5.com/ru/forum/1111/page455#comment_80246--我仍然希望得到答案,我将具体说明情况。我有一个多货币指标,我正在MetaQuotes和Alpari上测试它。我把它用于Alpari,但在MetaQuotes,它经常为不同的符号返回BarsCalculated,特别是错误的4806或只是0条计数。请指出我在哪里可以读到更多关于4806的原因可能是什么以及如何解决这些问题。我正在使用元引号代码进行数据同步--来自https://www.mql5.com/ru/docs/series/timeseries_access 页面的CheckLoadHistory函数。BarsCalculated的错误发生在这个函数归零之后(也就是说,计算的数据似乎应该已经到位了)。它到底能不能被信任,还是需要其他东西?为了安全起见,我想澄清一下,该指标使用标准条进行计算,通过调用BarsCalculated检查它们的准备情况。
 
marketeer:
除了这个问题--https://www.mql5.com/ru/forum/1111/page455#comment_80246--我仍然希望得到答案,我将具体说明情况。我有一个多货币指标,我正在MetaQuotes和Alpari上测试它。我把它用于Alpari,但在MetaQuotes,它经常为不同的符号返回BarsCalculated,特别是错误的4806或只是0条计数。请指出我在哪里可以读到更多关于4806可能的原因以及如何修复的信息。我正在使用元引号代码进行数据同步--来自https://www.mql5.com/ru/docs/series/timeseries_access 页面的CheckLoadHistory函数。BarsCalculated的错误发生在这个函数归零之后(也就是说,计算的数据似乎应该已经到位了)。它到底能不能被信任,还是需要其他东西?为了安全起见,我想澄清一下,该指标使用标准掩码进行计算,通过调用BarsCalculated检查它们的准备情况。

如果响应不是来自BarsCalculated,那么数据会在几分之一秒的间隔后被同步。在同步化的时候被抓,BarsCalculate=0。
 
Swan:
如果刷新不是来自Sami,那么数据会在很短的时间内同步。陷入同步,BarsCalculate=0。

谢谢你的信息,尽管我可以对 "他们 "说,我对这种行为不是很满意--它给软件的功能带来了很大的不确定性。例如,一个多小时前我已经挂上了一个指标,其中我表示了几个新的股票--在市场审查中它们是--如果参考上述功能应该启动下载和计数,那么一切应该早就完成了,但它没有。至少应该在系统日志中看到终端关于上传和其他 "地下 "行动的每一个喷嚏,否则就不清楚它为什么 "关闭"--"专家 "中的最后一条有4806的错误,但在系统中--说终端不同步了。考虑到周末没有蜱虫,我已经改变了几次设置,但仍然没有数据。

例如,我采取了RTS-9.11,但上面提到的MetaQuotes的刷新功能经常返回Load failed

 
另一个问题。在第四章中,你可以写多维数组 func(int array[][])作为函数参数。在第五个中,编译器产生了一个无效的索引值错误--它要求指定尺寸。我写了func(int &array[][3]) - 没有错误,但这不是一个解决方案。那么如何编写函数呢?根据定义,它们的意义在于分配一个适用于不同数据、不同数组的抽象代码片段。
 
marketeer:
另一个问题。在Quaternary中,你可以写一个多维数组 func(int array[][])作为函数参数。在第五个中,编译器产生了一个无效的索引值错误--它要求指定尺寸。我写了func(int &array[][3]) - 没有错误,但这不是一个解决方案。那么如何编写函数呢?它们的意义在于,根据定义,分配一个抽象的代码片段,适用于不同的数据、不同的数组。

这就是我的工作。

class cArray2
  {
   double            _Data[];
   int               _ColumnsCount;
   int               _RowsCount;
   ...
   ...
  }

我把这个类的对象作为参数传递。

换句话说,我把一维数组作为任何维度的数据存储,同时自己把 "多维 "索引重新计算成 "一维 "索引(再重新计算)。

它以相当可接受的速度工作。

你可以理解为元引号。如果你不引入 "只有一维未定义 "的约束,那么你就不能在编译阶段生成高速代码来访问一个数组元素。

 
marketeer:

谢谢你的信息,尽管我可以对 "他们 "说,我对这种行为不是很满意--它给软件的功能带来了很大的不确定性。例如,一个多小时前我已经挂了一个指标,其中我表示了几个新的股票--在市场审查中它们是--如果参考上述功能应该启动下载和计数,那么一切应该早就完成了,但事实并非如此。至少应该在系统日志中看到终端关于上传和其他 "地下 "行动的每一个喷嚏,否则就不清楚它为什么 "关闭"--"专家 "中的最后一条有4806的错误,但在系统中--说终端不同步了。考虑到周末没有蜱虫,我已经改变了几次设置,但仍然没有数据。

例如,我采取了RTS-9.11,但链接中提到的MetaQuotes刷新功能,经常返回Load failed

参考资料。

对指标和时间序列数据的访问,不管所请求的数据是否准备好,都要实施(所谓的异步访问 )。这对自定义指标的计算至关重要,因此在没有所需数据的情况下,像Copy...()这样的函数 会立即返回一个错误

周末没有刻度,指标启动后,返回一个错误...

我认为,只有一个解决方案,即运行额外的专家顾问,加载所要求的历史记录......。

也就是说,如果数据对专家顾问来说是可用的,那么它也会对指标可用。我没有检查过,这个方案看起来是歪的。


我将重复我的问题。

帮助。

Sleep()函数不能从自定义指标 中调用,因为指标是在界面线程中执行的,不能拖累它。

你绝对不能,或者如果你真的想,你可以,但要小心?:)


从指标中访问另一个符号的数据时有一个问题。

如果没有虱子)
也就是说,指标没有办法检索周末的数据,不是它的TF,也不是它的符号......。
 
Swan:
也就是说,指标不可能在周末得到它的数据,不是它的TF,不是它的符号......。
在我看来,这些都是bug。点子就是点子,但没有什么能阻止(终端)在没有点子的情况下加载数据和计算指数。更有趣的是,同样的代码在不同的演示服务器上的工作方式不同。例如,在Alpari上,黄金和白银都被拉升,并重新计算了指数。因此,问题似乎比这更广泛。
 
MetaDriver:

Metacvots是可以理解的。除非施加 "只有一维未定义 "的约束,那么你就不能在编译时生成高速代码来访问一个数组元素

嗯,我不能理解;-)。很久以前,我曾建议,第五版必须与第四版最大限度地兼容(特别是在语法和支持以前的API功能方面)。 当然,可以添加新的功能,如快速生成代码,但这可以针对新的语法结构(限制)进行 - 例如,对于这些参数数组:谁想要优化速度 - 指定尺寸,谁想要快速和轻松地移植旧代码 - 保持原样,如果会更慢,那才是地狱。在速度和便利性之间会有一个妥协,或者你可以把汇编程序作为mql5提供。;-).