新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 277

 
mila.com:
你好。
请帮助我比较第一个柱状图上的MA价格和前四个柱状图上的MA价格。如果价格上涨,且差额大于N,则填入缓冲区。我正在尝试这种方式

哪个价格上涨--MA?它是否与每个连续的条形图(条形图上的数值)有关,或与四个条形图中的任何一个有关而上升?

 
Aleksey Vyazmikin:

哪个价格上涨--MA?它是相对于随后的每个柱子(柱子上的价值)还是相对于四个 柱子中的任何一个 柱子而上升的

是的,到任何一个酒吧。

条件:如果第一根柱子上的MA值相对于前面四根柱子上的MA值增加了N,那么缓冲。

我需要知道MA值上升了 "N "个点,在什么时间段内并不重要,但除了在有限的条数 上进行比较外,我想不出其他办法。

 
mila.com:

是的,对任何人。

条件:如果第一条街的MA线的值相对于之前四条街中的任何一条街的MA值增加了N,那么缓冲。

我需要知道MA值上升了 "N "个点,而且不管是什么时间,但除了在有限的几个柱子 上进行比较外,我想不出什么办法。


那么,你为什么不把一个MA值减去另一个MA值,然后看一下delta--与低点相比较,为什么这些周期?

 
Aleksey Vyazmikin:

那么,你为什么不把一个MA值减去另一个MA值,然后看一下delta--与最小值相比,为什么是这些周期?

价格可以在几个柱子上缓慢变化,一个点一个点的(名义上),第五个点将是你要找的变化。

 
mila.com:

价格可以在几个柱子上缓慢变化


因此,拿4个柱子前的指标值和当前值进行比较--如果平均周期不是超浅的,那么增长是平稳的......

 

还是你有不同设置的指标?

 
Aleksey Vyazmikin:

因此,拿4个柱子前的指标值和当前值进行比较--如果平均周期不是超浅,那么增长是平稳的......。

你要找的差异可能在第二条上,但你建议比较第一条和第四条。

 
mila.com:

你要找的差异可能在第二条上,但你建议比较第一条和第四条。


MA的平均周期是多少 - 我只是想知道 - 你需要休息吗?

 
mila.com:

一个MA指标。你能帮助解决循环问题吗?


如果我没有理解错,你想要的东西在这里,这是脚本--处理它。

#property version   "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int period_iMA=16;
input double N_=0.005;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   double DeltaMA=0.0;
   int Nbar=0;
   for(int i=1;i<5;i++)
     {
      DeltaMA=iMAf(1)-iMAf(i);
      if(DeltaMA<0)DeltaMA=DeltaMA*(-1);
      if(N_-DeltaMA<0) {Nbar=i; break;}
     }
   Print("Бар привышения - ",Nbar);

  }
//+------------------------------------------------------------------+
double iMAf(int index)
  {
   return NormalizeDouble(iMA(Symbol(),0,period_iMA,0,0,0,index),Digits);
  }
//+------------------------------------------------------------------+

我让delta为正值,如果你需要用+或-来确定,那么就去掉if(DeltaMA<0)DeltaMA=DeltaMA*(-1) 这一行;并单独考虑一个常数来比较(用-和+)。

 
Aleksey Vyazmikin: 那么这就是剧本--处理它
谢谢你

原因: