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

 
Urain:

Символ и период не обязательно должны быть равны чарту, можно с других таймфреймов и символов.

Просто меня удивил этот вопрос (поэтому я не понял его суть), это же есть в описании iCustom()

PS Получение данных расчитанного индикатора производится через функцию CopyBuffer(), в ней требуется указать хендл и номер буфера который следует получить (описание есть в хелпе).

PPS iCustom запускает поток расчёта индикатора, CopyBuffer получает данные индикатора.

Дико извиняюсь за надоедливость, не сразу заметил разницу в написании "CCFp_2" и "CCFp__2".  вопрос  снят. 
 
sergeev:

и чё?

разве этот индикатор вы обязаны кидать на определенную валюту.

короче, чего паритесь - возьмите и проверьте.

лично у меня все работет. Вызываю его из эксперта и даже на чарт кидаю.

Дико извиняюсь за надоедливость, не сразу заметил разницу в написании "CCFp_2" и "CCFp__2".  вопрос  снят.
 
Не могу понять почему в Comment(строка 114) ArrayMaximum и ArrayMinimum постоянно показывают 199, не смотря на то, что "с"(3й параметр ArrayMaximum/minimum) постоянно увеличивается...
Файлы:
 
Graff:
Не могу понять почему в Comment(строка 114) ArrayMaximum и ArrayMinimum постоянно показывают 199, не смотря на то, что "с"(3й параметр ArrayMaximum/minimum) постоянно увеличивается...

 Если 110 строку:

      while(wcond && y>=0 && c>=0 && !IsStopped())

заменить на:

      if(wcond && y>=0 && c>=0 && !IsStopped())

начинаются какие-то мультики...

 Вообще, есть подозрение, что куча вложенных циклов (включая неявные для ArrayMaximum), а тем более в индикаторе на каждом тике! намертво вешают терминал. Впрочем, если Comment'ом выводить не результаты экстремумов, а какую-нибудь переменную c, то при while зависания нет.

 К тому же смотрим справку:

int  ArrayMaximum(
   double  array[],               // массив для поиска
   int     start=0                // с какого индекса начинаем поиск
   int     count=WHOLE_ARRAY,     // количество проверяемых
   );

Здесь же start всегда =199, а count увеличивается от 0 до 200 - отсюда все вытекающие... Шевелиться начинает, если, например, поменять местами i и c:

         hm=ArrayMaximum(h,c,i);
         lm=ArrayMinimum(l,c,i);
пока не уйдут в минус с ошибкой терминала: array out of range.
 
Graff:
Не могу понять почему в Comment(строка 114) ArrayMaximum и ArrayMinimum постоянно показывают 199, не смотря на то, что "с"(3й параметр ArrayMaximum/minimum) постоянно увеличивается...
   for(int i=calc_bars-1;i>=0;i--)// peaks loop//i=199
     {
      double pips_lh=0,pips_hl=0;
      int y=i,c=1;
      bool wcond=true;
      while(wcond && y>=0 && c>=0 && !IsStopped())
        {
         int hm=ArrayMaximum(h,i,c);//от 199
         int lm=ArrayMinimum(l,i,c);
         Comment(hm+" "+lm);
         double max_high=h[hm],min_low=l[lm];
         //Comment(max_high+" "+min_low);
         if(fabs(max_high-min_low)>min_pips)
           {
            HighestBuffer[hm]=h[hm];
            LowestBuffer[lm]=l[lm];
           }
         c++;// if h-l<min pips => add next bar
         y--;// new i
        }
      i=y;//цикл for где-та тут и заканчивается, т.е. выполняется 1 раз, когда i=199.
     }
 

Добрый день, подскажите пожалуйста к кому я могу обратиться с описанной ниже проблемой - МТ5 не работает уже на втором моём компьютере - я перепробовал всё что можно - менял операционные системы и провайдеров но как будто злой рок не даёт мне увидеть рабочий терминал на своём компьютере...

moby_dick:

Господа, помогите разобраться - на стационарном компьютере МТ5 работает, а на ноутбуке не хочет - пишет no connection to MetaQuotes-Demo... с первого релиза МТ5 до последнего не могу ни открыть новый демо счет, ни подключиться к созданному на другом компьютере... На обоих компьютерах стоит Windows XP Pro SP3, подключение к интернету абсолютно одинаковое, отключение антивируса и брендмауэра не помогает... Может нужно установить какие-нибудь обязательные компоненты?

Заранее благодарен - с ноутом я 99.9% времени...


Что такое невезёт и как с этим бороться???

Как я писал выше (сообщение от 11.01.2010 14:03 ) МТ5 упорно не хотел работать на моём ноуте с первого до последнего релиза... Недавно ноут поломался и я взял новый с многоядерным пнём и т.д. и надеялся что теперь я смогу спокойно работать с МТ5 локально а не с ВПС как последние 2 года, но уже при установке МТ5 выскочило окно с предложением ввести прокси, которое я не смог обойти... Вспомнив что МТ5 должен работать без установки, скопировал с ВПС каталог МТ5 и попытался запустить... Запускается без проблем но тут же вылетает как и раньше... Вот такая чертовщина - сапожник даже не без сапог, но видит свои сапоги только на картинке с ВПС на другой стороне земли... Что можно сделать?

 
moby_dick:

Добрый день, подскажите пожалуйста к кому я могу обратиться с описанной ниже проблемой - МТ5 не работает уже на втором моём компьютере - я перепробовал всё что можно - менял операционные системы и провайдеров но как будто злой рок не даёт мне увидеть рабочий терминал на своём компьютере...

Напишите заявку в Сервисдеск, пожалуйста. Нужны детали, попробуем разобраться.
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 

Здравствуйте! Стандартная библиотека MovingAverages.mqh

//+------------------------------------------------------------------+
//| Simple Moving Average |
//+------------------------------------------------------------------+
double SimpleMA(const int position,const int period,const double &price[])
{
//---
double result=0.0;
//--- check position
if(position>=period && period>0)
{
//--- calculate value
for(int i=0;i<period;i++) result+=price[position-i];
result/=period;
}
//---
return(result);
}

 Получается что функцией SimpleMA нельзя получить среднее значение массива целиком! Допустим есть массив  price[]  из 100 эллементов. Нужно получить его среднее. Передаю в функцию:

 SimpleMA(99, 100, price);

И получаю 0, т.к. 99<100. Что мешает исправить period (в коде выделено) на (period-1)?

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
Вопрос к разработчикам. В возможностях нового билда заявлена работа события CHART_EVENT_MOUSE_MOVE.

Будут ли введены события: CHART_EVENT_MOUSE_DOWN и CHART_EVENT_MOUSE_UP?

Ведь без них полноценного drag and drop не получится.

 
Vigor:
Вопрос к разработчикам. В возможностях нового билда заявлена работа события CHART_EVENT_MOUSE_MOVE.

Будут ли введены события: CHART_EVENT_MOUSE_DOWN и CHART_EVENT_MOUSE_UP?

Ведь без них полноценного drag and drop не получится.

Поддерживаю данную просьбу.

Сейчас ведь приходится использовать функции GetCursorPos + GetKeyState.
С появлением EVENT_MOUSE_MOVE -  отпадет нужда в GetCursorPos.  А с MOUSE_DOWN и MOUSE_UP - и в GetKeyState.

MQL5 программы во-первых улучшат интерактивность и ответную реакцию на действия пользователя. Во-вторых - смогут продаваться в маркете, так как из них уйдет использование DLL.


Напишите пожалуйста заявку в сервисдеск (можете с указанием данного поста). Уверен, к выпуску нового билда успеют добавить. В реализации не сложные.
Тем более что это уже в интересах разработчиков  - так как идет разработка стандартной библиотеки элементов управления.

PS.

Я очень рад, что компания сама решила создать библиотеку контролов, и поняла (столкнулась с тем), что дать эти возможности просто необходимо.
Надеюсь, улучшения возможностей и юзабельности будут продолжаться.

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