读取设置为图表的指标缓冲区 - 页 10

 
[Удален]:

服务台为MT5给出了一个解决方案

对于MT4来说,这个问题是开放的。

这里看起来是以某种方式完成的(链接已删除,不是广告,只是想知道它是如何完成的,你可以搜索MT2Binary_Auto.ex4 MT2Trading_Auto.ex4)。它读取图表上所有指标 的数字、箭头类型的缓冲区(这不是一个问题)。然后,它在这些缓冲区的值上发出信号,其设置不是默认的!谁知道他们是如何得到MT4中缓冲区的数值的?我认为 没有使用任何dlls。

 

为了了解哪些指标在图表上,你可以使用模板,在kodobase的fxsaver有一个例子。据我所知,目前仍不可能通过iCustom运行一个有大量参数的指标。

 

是的,通过模板,你可以了解图表上有哪些指标,它们的缓冲区、参数及其数值是什么。但如何获得缓冲区的值?根据参数的数量,通过案例调用iCustom

Sofiia Butenko:

在kodobase有一个关于fxsaver的例子。

MT4的例子?我找不到它, 能给我一个链接吗?

 
Ivan Titov:

是的,通过模板,你可以了解图表上有哪些指标,它们的缓冲区、参数及其数值是什么。但如何获得缓冲区的值?根据参数的多少,通过案例调用iCustom

MT4的例子?我找不到它, 能给我一个链接吗?

我在我的绰号中写错了,但你是知道的。以下是我心目中的专家顾问的例子

为了用不同的参数调用iCustom,你需要规定所有的变体(可能有大约60个不同类型的设置),但它们太多,不现实。也许,为一个指标注册5-10个参数的变体是可能的,但这并不是一个普遍的解决方案。

或者你可以生成一个可以作为垫片指标的代码。但没有dll也不能安装(把它移到所需的文件夹中,编译它)。

谢谢你对EA的说明,有趣的信息。

Expert
Expert
  • www.mql5.com
Все остальные файлы на данной странице описания библиотеки являются ее примерами/сценариями применения и не нужны для работы самой библиотеки. Возможности Примеры К описанию прикреплены примеры/сценарии ее использования. ExpertsRemove.mq5 ExpertsReopen.mq5 ChartsClose.mq5 ExpertLoader_Example.mq5 ExpertsChange_Example.mq5 Это самые...
 
Sofiia Butenko:

为了用不同的参数调用iCustom,有必要或规定所有的变体(可能有大约60个设置本身和不同的类型),而且有很多,这是不现实的。

是的,我已经做了这样一个金字塔玛雅。我可以传递所有的字符串参数--它能理解。考虑到我不能在冬天向服务台要雪,更不用说MT4的ChartIndicatorGet 和CopyBuffer了,所以没花那么长时间。

虽然你的参数不会超过60,但我很同情。

 
Ivan Titov:

参数可以是所有的字符串--它能理解。

但不太正确--在每次调用字符串参数时,指标都被初始化,这与调用相应类型的指标不同。

下面是不同参数下的指标值的比较。在指标本身中,有一个初始化和删除的警报。

int OnInit(){
   
   for(int i=0;i<3 ;i++){
      double b0 =  iCustom(_Symbol, PERIOD_CURRENT, "_test_HMA",  15 , 3 , 0 ,  2.1,  "11", 0, i);  
      double b1 =  iCustom(_Symbol, PERIOD_CURRENT, "_test_HMA", "15","3","0", "2.1", "22", 0, i);  
      Alert(i+" --> "+DoubleToString(b0,_Digits)+" - "+DoubleToString(b1,_Digits));}
      
  return(INIT_FAILED);}

它的工作原理是这样的


 
Sofiia Butenko:

但不完全正确--每次使用字符串参数的调用都会初始化指标,与使用相应类型的调用不同。

我不知道,谢谢你,你挖得很深)。好吧,只要价值是正确的,而且客户不抱怨速度 - 我不会建立金字塔。