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

 
Vitaly Muzichenko:

谢谢你的关注。

指标的总体视图是这样的,如果没有iEnvelopesOnArrayiBandsOnArray,如何做到这一点绝对不清楚


为什么要在没有他们的情况下进行呢?那么,根据缓冲区的数据,自己进行计算吧。但这时的计算应该与你想放弃的那些重复计算。

 
Artyom Trishkin:

为什么不呢?好吧,根据缓冲区的数据自己计算一下吧。但这时的计算必须与你想舍弃的重复计算。

没有人会拒绝他们,但他们只接受手柄,而不是像mql4中的任意数组

 
Alexey Viktorov:

没有人会拒绝他们,但他们只接受句柄,而不是像mql4中的任意数组

我明白了,我很困惑。我想这是一个关于mql4的问题。
 
Artyom Trishkin:
我明白了,我被搞糊涂了。我以为是四点左右。

这个问题是关于翻译成五级的问题,目标是在四级上获得与现在类似的显示效果。

这里有一个更完整的代码,符号是通过在图表上按下按钮来替代指标的,也就是说,Inite是不够的。

  for(int i=0; i<limit; i++) {
    Last[i] = Symbol1_Vol*Vol1*iClose(Symbol1_Name,0,iBarShift(Symbol1_Name,0,Time[i])) - 
              Symbol2_Vol*Vol2*iClose(Symbol2_Name,0,iBarShift(Symbol2_Name,0,Time[i]));
  }

 for(int i=0; i<limit; i++) {
    if(ButtonSt) { // кнопка выбора, отображать Bands, или Envelopes
     MA[i]=iMAOnArray(Last,0,Env_Period,0,MODE_SMA,i);
     LineUp[i]=iEnvelopesOnArray(Last,0,Env_Period,MODE_SMA,0,Env_Dev,MODE_UPPER,i);
     LineDn[i]=iEnvelopesOnArray(Last,0,Env_Period,MODE_SMA,0,Env_Dev,MODE_LOWER,i);
    } else {
     MA[i]=iMAOnArray(Last,0,BB_Period,0,MODE_SMA,i);
     LineUp[i]=iBandsOnArray(Last,0,BB_Period,BB_Dev,0,MODE_UPPER,i);
     LineDn[i]=iBandsOnArray(Last,0,BB_Period,BB_Dev,0,MODE_LOWER,i);
    }
  }

你如何将其转化为5?还是由于它的功能不足而不可能?

 
Vitaly Muzichenko:

这个问题是关于翻译成五级的问题,目标是在四级上获得与现在类似的显示效果。

这里有一个更完整的代码,符号是通过在图表上按下按钮来替代指标的,也就是说,Inite是不够的

你如何将其转化为5?还是由于它的功能不足而不可能?

因此,没有人可以在内部获得手柄。

 
Alexey Viktorov:

因此,没有人可以在内部获得手柄。

我不介意)

我完全想不出如何替换iEnvelopesOnArrayiBandsOnArray,因为它不在Five中,我也不知道从哪里开始。我需要在MT5中获得一个完全相同的映射

 
Vitaly Muzichenko:

我不介意)

我完全想不出如何替换iEnvelopesOnArrayiBandsOnArray,因为它不在Five中,我也不知道从哪里开始。我需要在MT5中获得一个完全相同的映射

因为这不是你第一次忽视它了。

关于交易、自动交易系统和策略测试的论坛

初学者的常见问题 MQL5 MT5 MetaTrader 5

Alexey Viktorov, 2017.09.21 20:06

在include的根部有MovingAverages.mqh,但我没有找过BB,也许没有。但最好的选择是在iMA函数中把数据源指标柄作为价格。

我有一个只有平滑的iMA的例子

int haMa8, haFastMa, haMa21, haSlowMa;

int OnInit()
 {
   haMa8  = iMA(_Symbol, PERIOD_CURRENT, perFastMa, 0, metodFastMa, priceFastMa);
   haFastMa = iMA(_Symbol, PERIOD_CURRENT, perFastMa, 0, metodFastMa, haMa8);
   
   haMa21 = iMA(_Symbol, PERIOD_CURRENT, perSlowMa, 0, metodSlowMa, priceSlowMa);
   haSlowMa = iMA(_Symbol, PERIOD_CURRENT, perSlowMa, 0, metodSlowMa, haMa21);

//Продолжение догадаешься

对BB来说也是如此。

如果来源是一个自定义指标,那么你必须

  • 单独制作。
  • 创建一个新的指标。
  • 附上第一份作为资源。
  • 并在收到其手柄后将其插入到iMA和其他功能。

真是一团糟...


 
Alexey Viktorov:

因为这不是你第一次无视你所写的东西了

在include的根部有MovingAverages.mqh,但我没有找过BB,也许没有。
有的。\MQL5\Include\Indicators\Trend.mqh
 
Artyom Trishkin:
明白了。\MQL5\Include\Indicators\Trend.mqh

谢谢你,我现在已经找到了。

我不得不将iTEMA应用于自定义指标,但我没有想到去看那里......我按照上面的描述做了,一切工作都没有任何问题。

 

请帮助我编造一个函数。

我有一个当前的TF和一个估计的TF,该函数应该返回两个TF在任何组合中的差异,如果测量是以条为单位的话

计算TF 15 15 15 60 60 60 240 240 240
当前TF 15 5 1 15 5 1 60 15 5
Nbar的差异 1 3 15 4 12 60 4 16 48

如何正确实施?