Выпущена бета-версия MetaTrader 4 Build 529 с новым компилятором - страница 138

 
VOLDEMAR:

Думаю что баг Советник не может вызвать функцию из библиотеки

код советника вызывающего функцию

код библиотеки

Ошибка журнала

  • 2013.12.22 12:54:45.408 2013.08.19 05:16 Access violation write to 0x00000000
  • 2013.12.22 12:54:45.408 2013.08.19 05:16 Cannot find 'ins' in 'bib.ex4'


Не получается воспроизвести. Давайте пообщаемся в сервисдеске со всеми подробностями. Спасибо
 
alexloz:

Не получается воспроизвести. Давайте пообщаемся в сервисдеске со всеми подробностями. Спасибо


В сервис деск отправил

Вызов библиотеки

Errors, MetaTrader 4, Открыта, Начата: 2013.12.23 06:39, #916314

 
VOLDEMAR:


В сервис деск отправил

Вызов библиотеки

Errors, MetaTrader 4, Открыта, Начата: 2013.12.23 06:39, #916314


Проблема решена

При использовании
#property strict

Обязательно использовать export
int ins() export
  {
   int a=1, b=1,c=1,d=0;
   d=a+b+c;
   return d; 

}

 
pro_:

Заметил одну неприятную особенность опции "Поиск-Замена" (Find-Replace) в ME881. Проверил МЕ482, там тоже самое. Может пока заняты обновлением МТ и это тоже исправите?

Итак, по порядку: код у меня длинный, для рутинных изменений использую "Find-Replace" по всему тексту. Попытался изменить все x1+3 на x1, вроде все нормально. Но в коде оказались строки с x1+3+3*abc. В этих строках вместо того чтобы x1+3+3*abc изменилось на x1+3*abc, в результате получилось x1*abc. И как оказалось этих +3 может быть сколь угодно, все равно останется x1*abc. Строки с, например, x1+3+4*abc изменяются правильно.

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


В последнем эдиторе МТ4 не воспроизводится и все правильно заменяется. Делаем замену x1+3 на x1 в выражении x1+3+3*abc, получаем x1+3*abc. Можете написать в сервиск деск или тут в какой части кода изменения.
 

При открепленном окне навигатора всплывающие подсказки показываются за самим окном

 
Night63:

В справочнике обнаружил пару небольших опечаток:

OrderModify

[in] Уникальный порядковый номер закрываемого ордера.

Возможно будет правильнее вместо закрываемого написать модифицируемого?

Спасибо за сообщение. Ошибка исправлена.
 
alexey_pak:

В последнем эдиторе МТ4 не воспроизводится и все правильно заменяется. Делаем замену x1+3 на x1 в выражении x1+3+3*abc, получаем x1+3*abc. Можете написать в сервиск деск или тут в какой части кода изменения.

Как ни странно, у меня сегодня ни разу не повторилось. Прежде чем написать сюда о проблеме проверил ее несколько раз, и даже старый МЕ открыл и там было тоже самое. Сегодня ничего не воспроизводится.
Одна (из 30 строк) где это происходило была следующая:
   CreateEdit(0,"ed_4R", txt4, PosX+12+3*(xBS-x1p)+Vx, PosY+row3+3+3*yBH+Vy, bxS, bxS/2, SubWindow, 0, fs, "Arial", clrGray, clrBlack, 0, true);
кроме того попробовал просто написать в любой части кода х1+3+3+3*abc как и в примере который привел здесь. Получалось х1*abc.
Но сегодня, как вы и написали, всё изменяется правильно. Ничего не понимаю. Если замечу повторение проблемы обязательно напишу. Пока говорить не о чем. Извините за ложную тревогу.
 

В 509 билде в МЕ баг присутствует. x1+3+3*abc меняется на x1*abc если нажать "Заменить всё" (при замене x1+3 на x1), а не делать одиночные замены.

В новом 563 билде не наблюдается.

 
А когда будет реализована возможность тестирования индикаторов в тестере стратегий?
 

Нет, и все же я её (проблему) поймал... Хотя и не всегда проявляется. (МТ 563, МЕ 881)

Открыл абсолютно новый советник, написал несколько строк. Сделал видео на скорую руку. Обратите внимание на первые 2 строки 2-го абзаца именно там изменение row3+3 na row3 ошибочно (при других вариантах ошибки в других строках). Странно, но когда хотел закомментировать эти строки для наглядности, проблемы не было и изменение было правильным. Обнаружил, что если перед попыткой "Поиск-Замена" поставить курсор в конец строки, все изменяется правильно. Но стоит поставить курсор в самый конец кода - снова ошибка. Ну очень странный фокус - потому и видео, иначе сам себе не докажешь и не поверишь :). Формат *.FLV качеством не вышел, поэтому в приложении *.MP4 в zip-архиве.

Ну и собственно сам код:

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---

posY+row1+3+3*yBH;
posY+row1+3+3*yBH;
posY+row2+3+3*yBH;
posY+row2+3+3*yBH;
posY+row2+3+2*yBH;
posY+row2+3+2*yBH;

posY+row3+3+3*yBH; 
posY+row3+3+3*yBH;
posY+row3+3+2*yBH;
posY+row3+3+2*yBH;
posY+row3+3+4*yBH;
posY+row3+3+5*yBH;
posY+row3+3+6*yBH;
posY+row3+3+7*yBH;
   
  }


Файлы:
frp_x264.zip  1693 kb
Причина обращения: