Ошибки, баги, вопросы - страница 1389

 

Добрый день!

Изучаю, пытаюсь исправить эксперт. В редакторе кода, в режиме отладки есть два способа, по тикам и по истории.

По чему то не могу запустить тест по истории, эта строка не активна. В инструкции показано: в настройках заполнить таблицу, и всё.

Но строка "Начать на исторических данных" не активна???????????????????? 

 
Fantomas:

Добрый день!

Изучаю, пытаюсь исправить эксперт. В редакторе кода, в режиме отладки есть два способа, по тикам и по истории.

По чему то не могу запустить тест по истории, эта строка не активна. В инструкции показано: в настройках заполнить таблицу, и всё.

Но строка "Начать на исторических данных" не активна???????????????????? 

В MetaEditor'e так заполнили поля и на правильную кнопку нажимаете?

1

 
Karputov Vladimir:

В MetaEditor'e так заполнили поля и на правильную кнопку нажимаете?


Да, заполнил эту таблицу, поставил точку останова.

Теперь в меню "Отладка" первые две строки.

1. Начать на реальных данных------- Она активна

2. На исторических данных--------- упорно не активна. 

 
Fantomas:

Да, заполнил эту таблицу, поставил точку останова.

Теперь в меню "Отладка" первые две строки.

1. Начать на реальных данных------- Она активна

2. На исторических данных--------- упорно не активна. 

Последний билд терминала?
 
Tapochun:
Последний билд терминала?
Вероятно, 880
 
Fantomas:
Вероятно, 880

Действительно, в МТ5 build 1159 32 бита отладка на истории доступна, а в МТ4 build 891 32 бита отладка на истории не доступна:

Нельзя тестировать на истории. МТ4 build 891

 
Karputov Vladimir:

Действительно, в МТ5 build 1159 32 бита отладка на истории доступна, а в МТ4 build 891 32 бита отладка на истории не доступна:


Всем спасибо, за уделённое время!!! 

 
Alexandr Bryzgalov:

так действительно не ошибка?

таки действительно. даже так скорее всего можно for (;;)

 
Комбинатор:

таки действительно. даже так скорее всего можно for (;;)

ага, в справке прочитал )
 

Всем привет, пишу в основном на mql4, решил взяться за mql5, возникла проблема.

Использую в индикаторе показания Ишимоку. Данные не обновляются, постоянно выдает ошибку 4806. 

void OnInit(){
   int i_ich=INVALID_HANDLE;
   i_ich=iIchimoku(Symbol(), Period(), 9, 26, 52);
   WaitInd(i_ich, "Ишимоку");     
}

void WaitInd(int hnd, string name, int wait=10){
   if(hnd==INVALID_HANDLE){
      return;
   }
   double Arr[];
   datetime now=TimeLocal();
   Comment("Ждем построения индикатора ",name,"...");
   GetLastError();
   while(CopyBuffer(hnd, 0, 0, 1, Arr)<=0){
      int err=GetLastError();
      if(err!=4806){
         PrintFormat("Ошибка %d при получении данных инликатора %s",err,name);
         Comment("");
         return;
      }
      if(TimeLocal()-now>=wait){
         PrintFormat("Ошибка: индикатор %s не построился за %d секунд",name,wait);
         Comment("");
         return;
      }
   }
   Comment("");
}

int OnCalculate(const int rates_total,
                    const int prev_calculated,
                    const datetime& time[],
                    const double& open[],
                    const double& high[],
                    const double& low[],
                    const double& close[],
                    const long& tick_volume[],
                    const long& volume[],
                    const int& spread[]){
       
       return(rates_total);
}

Тот же самый код если его использовать в скрипте, не выдает никаких ошибок, индикатор строится мгновенно. В чем может быть дело?

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