iMA. Встроенный в mt5 технический индикатор iMA ошибочно работает.

 

Здравствуйте. Периодически iMA ошибочно рассчитывается, из-за чего советник ошибочно открывает сделки. Перезагружал VPS, перезагружал терминал, переписывал код эксперта - не помогло. Версия терминала: Version: 5.00 build 2085 13 Jun 2019.

В индикаторе всегда использую MODE_SMA и PRICE_MEDIAN

MA_handle = iMA(_Symbol,tf,ma_period,0,MODE_SMA,PRICE_MEDIAN);

Таймфрейм использую 5минут и 1минута(проблема возникает на обоих), другие не пробовал.

ma_period использую от 3 до 111.

MAStartPos всегда использую = 1.

Вот фрагмент эксперта

input ENUM_TIMEFRAMES tf = PERIOD_M5;
input int ma_period = 11;                   // период усреднения для скользящей сред
input int MAStartPos = 1;  //номер бара индикатора MA

double ma;

datetime Time[1];
datetime prevtime;

int MA_handle;
double ArMA[1];

int OnInit()
  {     
   MA_handle = iMA(_Symbol,tf,ma_period,0,MODE_SMA,PRICE_MEDIAN);
   if( MA_handle==INVALID_HANDLE )
      return(INIT_FAILED);
      
   return(INIT_SUCCEEDED);
  }
  
void OnTick() {
        
   CopyTime(Symbol(),tf,0,1,Time);
   
   if(Time[0]!=prevtime)
     {
      ma=GetMA(MAStartPos);
      if( ma<=0 )
         return;

      prevtime = Time[0];
     }
   
   return;
}
          
double GetMA(
   int   start_pos = 1  // откуда начнем  
)
  {
   ArMA[0]=0.0;
   int res = CopyBuffer(MA_handle,0,start_pos,1,ArMA);
   if( res != 1 )
      return(0.0);
   return(ArMA[0]);
  }




Вчера изменил код советника (добавил две строчки кода //ИЗМЕНЕНИЕ 1 //ИЗМЕНЕНИЕ 2 )

input ENUM_TIMEFRAMES tf = PERIOD_M5;
input int ma_period = 11;                   // период усреднения для скользящей сред
input int MAStartPos = 1;  //номер бара индикатора MA
//ИЗМЕНЕНИЕ 1
input uint TimeIndic = 10;  // через ск-ко пересч-ся индик после откр нового бара

double ma;

datetime Time[1];
datetime prevtime;

int MA_handle;
double ArMA[1];

int OnInit()
  {     
   MA_handle = iMA(_Symbol,tf,ma_period,0,MODE_SMA,PRICE_MEDIAN);
   if( MA_handle==INVALID_HANDLE )
      return(INIT_FAILED);
      
   return(INIT_SUCCEEDED);
  }
  
void OnTick() {
        
   CopyTime(Symbol(),tf,0,1,Time);
   
   if(Time[0]!=prevtime)
//ИЗМЕНЕНИЕ 2
           if( TimeCurrent() > Time[0]+TimeIndic )
     {
      ma=GetMA(MAStartPos);
      if( ma<=0 )
         return;

      prevtime = Time[0];
     }
   
   return;
}
          
double GetMA(
   int   start_pos = 1  // откуда начнем  
)
  {
   ArMA[0]=0.0;
   int res = CopyBuffer(MA_handle,0,start_pos,1,ArMA);
   if( res != 1 )
      return(0.0);
   return(ArMA[0]);
  }

На график вместе с советником я также устанавливаю индикатор (из вкладки Индикаторы->Трендовые->Moving Average) чтобы проверять работу эксперта.

А вчера также эксперт ошибочно открыл сделку, а индикатор прорисовался вот так( рис 1 и рис 2 ). До этого ошибки индикатора были но индикатор всегда прорисовывался без ошибок.

На рисунках видно как ошибочно прорисовался встроенный технический  индикатор (из вкладки Индикаторы->Трендовые->Moving Average) и его характеристики

Рис 1


Рис 2


Может ли из за советника встроенный в mt5 технический индикатор iMA ошибочно прорисоваться? Или причина в VPS или в чем то еще?

 

1. Полный код эксперта

2. Лог-файл - чтобы видеть какие настройки использует эксперт.

3. Пояснения к скриншотам - на данный момент это просто картинки: не ясно, что, откуда и где.

 
Vladimir Karputov:

1. Полный код эксперта

2. Лог-файл - чтобы видеть какие настройки использует эксперт.

3. Пояснения к скриншотам - на данный момент это просто картинки: не ясно, что, откуда и где.

Да причем здесь эксперт и Ваши 1, 2, 3? Подтверждаю - индикатор МА иногда неправильно отображается даже без всяких советников (просто встроенный в МТ5)!

 
Так и во встроенном боллинджере ошибка. Писал еще год назад.
 
raiser1989:


По коду вижу, что Вы в момент рождения нового бара получаете значение индикатора iMA на баре #1 - то есть хоть онлайн, хоть на истории это значение не изменится.


Теперь нужно проверить такую информацию: какое значение было у индикатора в момент выдачи торгового сигнала? И нужен блок принятия решения (блог выдачи торгового сигнала).

 
Эта канитель особенно на М1 с ЗИМЫ тянется. Линии МА, ВВands улетают в верхний правый угол. При переключении на старшие периоды и возврате несколько минут нормально, а затем повторяется. Причем в подокне MACD врет по-черному, гистограмму выворачивает. Не знаю как на экспертах это отражается, но работать невозможно. Только полное выключение компьютера помогает победить. Просто перезагрузка терминала дает кратковременный эффект. Правда не каждый день такая ситуация бывает. Крайний раз было в понедельник.
 
Andrey Sorokin:
Эта канитель особенно на М1 с ЗИМЫ тянется. Линии МА, ВВands улетают в верхний правый угол. При переключении на старшие периоды и возврате несколько минут нормально, а затем повторяется. Причем в подокне MACD врет по-черному, гистограмму выворачивает. Не знаю как на экспертах это отражается, но работать невозможно. Только полное выключение компьютера помогает победить. Просто перезагрузка терминала дает кратковременный эффект. Правда не каждый день такая ситуация бывает. Крайний раз было в понедельник.

У меня на 

2019.07.25 10:33:27.105 MetaTrader 5 x64 build 2093 started (MetaQuotes Software Corp.)
2019.07.25 10:33:27.167 Windows 10 (build 18362) x64, IE 11, UAC, Intel Core i3-3120M  @ 2.50GHz, Memory: 4059 / 8077 Mb, Disk: 99 / 415 Gb, GMT+2
2019.07.25 10:33:27.167 C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

ничего такого не наблюдается. 


Какая у Вас конфигурация? (В Терминале, во вкладке "Журнал" найти три строчки, наподобие которых я выложил выше).

 
 
Vladimir Karputov:

1. Полный код эксперта

2. Лог-файл - чтобы видеть какие настройки использует эксперт.

3. Пояснения к скриншотам - на данный момент это просто картинки: не ясно, что, откуда и где.

Владимир, ну вот с какого .... Вам тут будут выкладывать ПОЛНЫЙ КОД????

Есть проблема, о ней говорят, выкладывают то, что считают нужным. А Вы? Либо сразу весь код, либо сам дурак! Так? И перестаньте всех тыкать носом в последний бета-билд!!! Сколько можно? Есть стабильная версия (или та которая должна быть таковой) и каждый нормальный чел будет пользоваться именно стабилкой! Что Вы всех тыкаете носом, типа, установи последнюю бета-версию и только после этого задавай вопросы! 

Вы въезжаете о чём я говорю?

 
Сергей Таболин:

Вы въезжаете о чём я говорю?

Вряд-ли, я точно не въезжаю. Но поддерживаю...

 

Конфигурация у меня такая.

2019.07.25 06:53:15.512 Terminal MT5 x64 build 2085 started

2019.07.25 06:53:15.512 Terminal Windows Server 2008 R2 Service Pack 1 (build 7601) on KVM x64, IE 11, RDP, UAC, Intel Xeon  @ 2.30GHz, Memory: 338 / 613 Mb, Disk: 32 / 49 Gb, GMT+3

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