Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1180

 
Alexey Belyakov:

Добрый день!

Помогите решить одну простую задачу. 

Счётчик гэпов. Хочу посчитать гэпы, которые больше 10 пунктов.

 Переменную "gap" сбрасывает в ноль. Не пойму почему. Я уже, что только не перепробывал. Циклы вставлял,  и static - не помогает. Подозреваю, что циклы неправильно писал. 

#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: ГЭП!========: 1 , ВЕЛИЧИНА ГЭПА==: 182, время гэпа = 2020.06.15 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 2 , ВЕЛИЧИНА ГЭПА==: 112, время гэпа = 2020.06.01 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 3 , ВЕЛИЧИНА ГЭПА==: 134, время гэпа = 2020.05.11 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 4 , ВЕЛИЧИНА ГЭПА==: 225, время гэпа = 2020.04.13 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 5 , ВЕЛИЧИНА ГЭПА==: 192, время гэпа = 2020.03.30 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 6 , ВЕЛИЧИНА ГЭПА==: 100, время гэпа = 2020.03.24 23:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 7 , ВЕЛИЧИНА ГЭПА==: 926, время гэпа = 2020.03.16 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 8 , ВЕЛИЧИНА ГЭПА==: 602, время гэпа = 2020.03.09 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 9 , ВЕЛИЧИНА ГЭПА==: 136, время гэпа = 2020.03.02 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 10 , ВЕЛИЧИНА ГЭПА==: 242, время гэпа = 2020.02.24 00:00:00

 

Не могу сообразить почему i+1 запускает скрипт в бесконечный цикл? Внизу предупреждение - expression has no effect, но эффект есть)

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 запускает скрипт в бесконечный цикл? Внизу предупреждение - expression has no effect, но эффект есть)

Потому, что 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, рассчитанная по ценам Close на дневном графике текущего символа. Берём значение первого бара (нулевой - текущий день):

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

Простая скользящая средняя с периодом 14, сдвигом 0, рассчитанная по ценам Close на дневном графике текущего символа. Берём значение первого бара (нулевой - текущий день):

Спасибо Вам

 
Igor Makanu:

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 1 , ВЕЛИЧИНА ГЭПА==: 182, время гэпа = 2020.06.15 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 2 , ВЕЛИЧИНА ГЭПА==: 112, время гэпа = 2020.06.01 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 3 , ВЕЛИЧИНА ГЭПА==: 134, время гэпа = 2020.05.11 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 4 , ВЕЛИЧИНА ГЭПА==: 225, время гэпа = 2020.04.13 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 5 , ВЕЛИЧИНА ГЭПА==: 192, время гэпа = 2020.03.30 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 6 , ВЕЛИЧИНА ГЭПА==: 100, время гэпа = 2020.03.24 23:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 7 , ВЕЛИЧИНА ГЭПА==: 926, время гэпа = 2020.03.16 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 8 , ВЕЛИЧИНА ГЭПА==: 602, время гэпа = 2020.03.09 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 9 , ВЕЛИЧИНА ГЭПА==: 136, время гэпа = 2020.03.02 00:00:00

0 09:36:28.169 t EURUSD,H1: ГЭП!========: 10 , ВЕЛИЧИНА ГЭПА==: 242, время гэпа = 2020.02.24 00:00:00

может не тот вариант скинули? Я скопировал. Ничего, никаких результатов в журнале.

 
Alexey Belyakov:

может не тот вариант скинули? Я скопировал. Ничего, никаких результатов в журнале.

вариант тот

осталось выяснить в каком журнале Вы смотрите результаты принтов , нужно смотреть вкладку эксперты

Причина обращения: