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

 
Alexey Belyakov:

下午好!

帮我解决一个简单的问题。

差距计数器。我想计算超过10分的差距。

变量 "差距 "重设为零。我不明白为什么。我已经尝试了所有的方法。我已经试过循环和静态--它不起作用。我怀疑我的循环写错了。

#property strict
#property script_show_inputs

input int GapInPips   =  100;
input int GapCount    =  10;
//+------------------------------------------------------------------+
void OnStart()
{
   int i = 1, gap = 0;
   while(i < Bars && gap < GapCount && !IsStopped())
   {
      int r = (int)(MathAbs(Close[i + 1] - Open[i]) / Point);
      if (r >= GapInPips)
      {
         gap++;
         Print("ГЭП!========: ", gap, " , ВЕЛИЧИНА ГЭПА==: ", r, ", время гэпа = ", Time[i]);
      }
      i++;
   }
}
//+------------------------------------------------------------------+

0 09:36:28.169 t EURUSD,H1: GAP!========: 1 , GAP EXPECTATION==: 182, gap time = 2020.06.15 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 2 , GAP VALUE==: 112, gap time = 2020.06.01 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 3 , GAP VALUE==: 134, gap time = 2020.05.11 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 4 , GAP VALUE==: 225, gap time = 2020.04.13 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 5 , GAP VALUE==: 192, gap time = 2020.03.30 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 6 , GAP VALUE==: 100, gap time = 2020.03.24 23:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 7 , GAP VALUE==: 926, gap time = 2020.03.16 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 8 , GAP VALUE==: 602, gap time = 2020.03.09 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 9 , GAP VALUE==: 136, gap time = 2020.03.02 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 10 , GAP VALUE==: 242, gap time = 2020.02.24 00:00:00

 

我不明白为什么i+1 会使脚本进入无限循环?底部的警告--表达没有效果,但有效果)

string com=""; // объявление глобальной переменной для хранения информации для отладки
//---
void OnStart(void)
  {
   for(int i=0; i<10; i+1)
     {
      myfunc();
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void myfunc()
  {
//--- объявление статического счетчика
   static int cnt=0;
//--- сохранение информации для отладки в глобальную переменную
   com=(__FUNCSIG__+" cnt="+(string)cnt+"\n")+com;
   Comment(com); // вывод информации для отладки
//---
   cnt++;
//---
  }
 
awsomdino:

我不明白为什么i+1 会使脚本进入无限循环?底部的警告--表达没有效果,但有效果)

因为i+1并不增加i的价值

它应该是i++或i+=1

 
大家好。如何计算上日收盘时的指标读数(每日移动平均线)?谢谢
Moving Average of Oscillator (OsMA)
Moving Average of Oscillator (OsMA)
  • www.mql5.com
On Balance Volume (OBV) Индикатор Балансового Объема (On Balance Volume, OBV) связывает объем и изменение цены, сопровождавшее данный объем. Momentum Индикатор движущей силы рынка (Momentum) измеряет величину изменения цены финансового инструмента за определенный...
 
Carcass77:
大家好。如何计算上日收盘时的指标读数(每日移动平均线)?谢谢

计算或接收?MQL5或4?

 
Artyom Trishkin:

计算或接收?MQL5或4?

MQL4得到

 
Carcass77:

MQL4得到

一个简单的移动平均线,周期为14,移位为0,使用当前符号的日线图上的收盘价计算。取第一个条形图的值(零为当前日期)。

double ma_day1=iMA(Symbol(),PERIOD_D1,14,0,MODE_SMA,PRICE_CLOSE,1);
 
Artyom Trishkin:

一个简单的移动平均线,周期为14,移位为0,根据当前符号的日线图上的收盘价计算。我们取第一个条形图的值(零为当前日期)。

谢谢你

 
Igor Makanu:

0 09:36:28.169 t EURUSD,H1: GAP!========: 1 , GAP VALUE==: 182, gap time = 2020.06.15 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 2 , GAP VALUE==: 112, gap time = 2020.06.01 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 3 , GAP VALUE==: 134, gap time = 2020.05.11 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 4 , GAP VALUE==: 225, gap time = 2020.04.13 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 5 , GAP VALUE==: 192, gap time = 2020.03.30 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 6 , GAP VALUE==: 100, gap time = 2020.03.24 23:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 7 , GAP VALUE==: 926, gap time = 2020.03.16 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 8 , GAP VALUE==: 602, gap time = 2020.03.09 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 9 , GAP VALUE==: 136, gap time = 2020.03.02 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 10 , GAP VALUE==: 242, GAP Time = 2020.02.24 00:00:00

也许这是一个错误的变体?我复制了它。没有,日志中没有结果。

 
Alexey Belyakov:

也许你发错了版本?我复制了它。没有,日志中没有结果。

它是正确的。

唯一要做的是找出你在哪本杂志上看到的你的印刷品的结果,见专家标签

原因: