初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1343

 

添加到代码中,不打印第二份和后续的指标副本

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
  OnInit();
   for(int i = prev_calculated == 0 ? 0 : prev_calculated - 1; i < rates_total; i++)
   {
      Label1Buffer[i] = close[i];
   }
   return(rates_total);
}

---

所做的一切。

安装了3份指标,编译了文件,从第一份中得到了打印结果

2021.09.12 18:30:40.975 Create_button (BTCUSD,M30)      INIT SUCCEEDED: 1
 
Vitaly Muzichenko #:

但是,如果你改变输入参数--那么它就能工作。

在论坛上看到过这样的信息,据我所知,终端不会在同一个图表上运行两份参数相同的指标。

 
Igor Makanu #:

我在论坛上看到过这样的信息,据我所知,终端不会在同一个图表上运行两个参数相同的指标副本。

我怎样才能在不改变输入参数的情况下使其运行?

你需要安装几个副本,这是个任务,不幸的是

 
Vitaly Muzichenko #:

我怎样才能在不改变输入参数的情况下使其运行,也许可以从定义中添加一些东西?

需要设置多个副本,这是一个这样的任务,很遗憾。

输入一个假的参数。并将其分配为1、2、3 ...

 
Vitaly Muzichenko #:

我怎样才能在不改变输入参数的情况下使其运行,也许可以从定义中添加一些东西?

需要设置多个副本,这就是这样一个挑战,不幸的是

已经看到并测试了如何通过编辑模板制作两个子窗口--一个子窗口在图表的顶部,第二个在地下室。

试着用你的指标保存一个模板,如果它对模板也有这种作用--在模板的文本中添加一个指标的副本。

 
Igor Makanu #:

已经看到并测试了如何使用模板编辑制作两个子窗口--一个子窗口在图表的顶部,第二个在地下室

试着用你的指标保存一个模板,如果它对模板也起作用,就用这一招--在模板的文本中添加一个指标的副本。

问题是,它们需要随机地以不同的数量抛出,所以不会以固定的方式工作。

 
Igor Makanu #:

已经看到并测试了如何使用模板编辑制作两个子窗口--一个子窗口在图表的顶部,第二个在地下室

试着用你的指标保存一个模板,如果它的工作原理与模板相同--在模板的文本中添加一个指标的副本。

我已经下载了3份,OnInit工作了一次。

改变了输入值--第二个指标触发了

我在第三张中改变了颜色--它也起作用了


但我如何将其自动化呢?

 

那么我不知道,我只看到@Vladimir Karputov的 解决方案是可以接受的。

做一个长的输入参数并随机调用,并随机生成一个大的,即长的

 
Igor Makanu #:

那么我不知道,我只看到@Vladimir Karputov的 解决方案是可以接受的

做一个长的输入参数并随机调用,并随机生成一个大的,即长的

我想象中是这样的,但如何实施呢?

请给我看看代码!

 
Vitaly Muzichenko #:

这大致是我所想象的,但如何实现它呢?

请给我看看代码!

没办法

如果你以编程方式调用它,你可以随机生成一个参数

而你需要手动运行它,你仍然需要改变输入参数。


试着看看预定义的宏替换中的内容,以前有__COUNT___,现在有随机的东西,我没有检查过__COUNT___ 是如何工作的--它变成了静态的,没有什么效果,也许你可以用随机来完成你的任务