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

 
LookingFor:

同事,MathSum函数,描述在这里

https://www.mql5.com/ru/docs/standardlibrary/mathematics/stat/mathsubfunctions/statmathsum

在Build 1643中不被认可。我必须把所有东西都拆掉,然后进行更新吗?

#include <Math\Stat\Math.mqh>
 

请帮助解决这个问题。

脚本中的每个循环迭代都需要在选定的延迟下执行,这一点如何实现?

 
Aleksey Vyazmikin:

请帮助解决这个问题。

脚本中的每个循环迭代都需要在选定的延迟下执行,这一点如何实现?

for(...)
  {
   ...
   Sleep();
  }
 
Alexey Kozitsyn:

谢谢你!我已经完全忘记了这种可能性!

 
我想问如何在MT5测试器中启用追踪止损,它打开了,但没有追踪,我不明白是经纪人还是新终端,我不明白
 
Viktor Pavlov:
我想问如何在MT5测试器中启用追踪止损,它打开了,但没有追踪止损,我不明白是经纪人的问题还是新终端的问题,我不明白

拖曳式止损

 

帮我翻译一下,我试图自己找,但没有成功--我找不到任何类似的东西

 for(int i=0; i<limit; i++) {
    if(ButtonSt) {
     MA[i]=iMAOnArray(Last,0,Env_Period,0,MODE_SMA,i);
     EnvUp[i]=iEnvelopesOnArray(Last,0,Env_Period,MODE_SMA,0,Env_Dev,MODE_UPPER,i);
     EnvDn[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);
     EnvUp[i]=iBandsOnArray(Last,0,BB_Period,BB_Dev,0,MODE_UPPER,i);
     EnvDn[i]=iBandsOnArray(Last,0,BB_Period,BB_Dev,0,MODE_LOWER,i);
    }
  }
 
Vitaly Muzichenko:

请告诉我如何翻译,我试图自己找到它,但没有成功--我找不到任何类似的东西

有一个缓冲区Last[]。它已经在第一个循环中被填充。然后,根据按钮的状态(可能,因为变量被称为ButtonSt),在Last[]缓冲区的基础上,还有三个缓冲区在循环中被填充,但不同的指标值不同。

//--- если кнопка нажата
if(ButtonSt) {
  //--- нарисовать MA с периодом Envelopes на данных линии буфера Last
  MA[i]=iMAOnArray(Last,0,Env_Period,0,MODE_SMA,i);
  //--- нарисовать верхнюю линию Envelopes на данных линии буфера Last
  EnvUp[i]=iEnvelopesOnArray(Last,0,Env_Period,MODE_SMA,0,Env_Dev,MODE_UPPER,i);
  //--- нарисовать нижнюю линию Envelopes на данных линии буфера Last
  EnvDn[i]=iEnvelopesOnArray(Last,0,Env_Period,MODE_SMA,0,Env_Dev,MODE_LOWER,i);
//--- если кнопка не нажата
 } else {
  //--- нарисовать MA с периодом Bollinger Bands на данных линии буфера Last
  MA[i]=iMAOnArray(Last,0,BB_Period,0,MODE_SMA,i);
  //--- нарисовать верхнюю линию Bollinger Bands на данных линии буфера Last
  EnvUp[i]=iBandsOnArray(Last,0,BB_Period,BB_Dev,0,MODE_UPPER,i);
  //--- нарисовать нижнюю линию Bollinger Bands на данных линии буфера Last
  EnvDn[i]=iBandsOnArray(Last,0,BB_Period,BB_Dev,0,MODE_LOWER,i);
 }
 
Artyom Trishkin:

有一个缓冲区Last[]。它已经在第一个循环中被填充。然后,根据按钮的状态(可能,因为变量被称为ButtonSt),在Last[]缓冲区的基础上,还有三个缓冲区在循环中被填充,但不同指标的值不同。

谢谢你的关注。

指标的总体视图是这样的,我完全不知道在没有iEnvelopesOnArrayiBandsOnArray的 情况下该如何做。


 
Vitaly Muzichenko:

请告诉我如何翻译,我试图自己找到它,但没有成功--我找不到任何类似的东西。

我在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和其他功能。

真是一团糟...