Новый клиентский терминал MetaTrader 4 build 204 - страница 3

 
Candid, а не стоит ли у Вас антивирус McAfee?
 
После некоторого раздумья смею предположить (только предположить), что произошло рассогласование версий terminal.exe и metalang.exe. Версию металанга можно посмотреть, запустив его в консоли без параметров.

В принципе с этого могло начаться. Хотя я для модификации работающих индикаторов всегда вызываю эдитор кнопкой из соответствующего терминала. Или копирую исходники перед запуском. Но глюк случиться конечно мог, тем более, что путь сохранения запоминается один на все эдиторы, как я понял. Отчётливо помню, что вчера несколько раз удалял ех4 и копировал исходники, но гарантировать, что ничего не было перепутано не могу. Интересно, мог ли попутать эдиторов терминал.
Версия сейчас докладывается 200, но смотрел я из самого эдитора вызвав его кнопкой из терминала, который сейчас тоже 200. До вечера доступа к домашней машине у меня не будет.
Candid, а не стоит ли у Вас антивирус McAfee?

Нет, у меня антивирусов сейчас нет.
 
Странная штука. Сейчас на другой машине попробовал запустить металанг. И фаерволл начал испрашивать разрешение на замену приложения:
Description: MetaQuotes Language Compiler
File version: 4.00.2.03
Product name: MetaQuotes Language 4 Compiler (MQL4)
Product version: 4.00.2.03
Created: 2007/1/12, 13:04:32
Modified: 2007/3/29, 06:36:58
Accessed: 2007/4/23, 20:00:00

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

После замены командная строка даёт:
MetaQuotes Language 4 compiler version 4.00 build 203 (27 Mar 2007)
Copyright 2001-2007, MetaQuotes Software Corp.
 
Candid - при нескольких копиях Метатрейдера. МетаЕдитор нужно вручную запускать из папки нужного Метатрейдера.
 
Candid - при нескольких копиях Метатрейдера. МетаЕдитор нужно вручную запускать из папки нужного Метатрейдера.

Очень странно, если терминал не может при нажатии собственной кнопки найти "свой" эдитор.
Терминал при установке перекомпилирует экспертов, поэтому процедура переустановки всегда сопровождается запросами фаерволла на замену 3-х файлов: терминала, эдитора и компилятора. И вдруг новый запрос на замену компилятора ... Хотя может быть фаерволл отдельно считает откуда запускается файл? Но я не помню, чтобы раньше запускал металанг из проводника, то есть речь должна была идти о разрешении на запуск, а не на замену. Странно это.
 
Попробуйте скачать обновлённый 204 билд. terminal.exe и metalang.exe помечены 25 апреля. При этом фаервол теперь не должен ругаться на metalang.exe
 
Еще раз вопрос по скорости.
Есть индикатор, у которого 6 линий.
Вход при пересечении двух из них, выход - при пересечении двух из них.

Если линии все разные ( 4 линии ) - тоесть каждая - это индивидуальный набор параметров индикатора, то почему я в журнале вижу только две строки :
2007.04.25 18:00:41 1999.01.26 16:00 1CAdminTD EURUSD,H4: loaded successfully
2007.04.25 18:00:42 1999.01.27 08:00 1CAdminTD EURUSD,H4: loaded successfully

И дальше идут выставляться ордера.
Почему индикатор загружает только 2 копии, а не 4 ???

Может быть в этом причина тормозов.
Ведь когда я использую параметры, котрые действительно используют одну копию индикатора и в журнале вижу :
2007.04.25 18:09:00 1999.01.27 08:00 1CAdminTD EURUSD,H4: loaded successfully

Тогда тест проходит за 20 секунд.

Итог.
Когда требуется 4 копии индикатора - тест страшно тормозит и идет больше 1 часа.
Когда для теста требуется одна копия индикатора - он проходит за несколько секунд.

Проверьте пожалуйста. Мне кажеться, что терминал не создает и не загружает достаточное число копий индикатора. У меня сейчас максимум должно грузиться 4 копии индикатора.
Но я не вижу, чтобы он грузился. Значит - каждый бар рассчитывает весь индикатор заново - отсюда 1 час теста - вполне понятен.

Я только что еще проверил - взял для теста параметры, которым нужно 2 копии индикатора - тест проходит за секунды - просто отлично.

Мои выводы такие : больше 2 копий одного индикатора не грузиться !!!
Исправьте пожалуйста - ну действительно - только 2 копии грузится.
 
Тот эксперт, которого Вы прислали должен использовать 4 копии индикатора?
Не могли бы Вы прислать исходник? После исследований я его безвозвратно сотру. А лучше, если из исходника Вы лишнего уберёте (тогда разбираться будет легче).
 
Попробую описать последовательность действий:
1. Устанавливаю 204 в новую папку. Запускаю, в сеть не пускаю. Всё ОК.
2. Оставляю единственное окно (и единственную пару в окне котировок)(2 перезапуска), вешаю на это окно все нестандартные индикаторы из проблемного терминала. Всё ОК.
3. Копирую папку проблемного терминала и устанавливаю 204 в неё. Запускаю, в сеть не пускаю. Всё ОК.
4. Пытаюсь закрыть этот терминал, получаю креш:
There has been a critical error
Time        : 2007.04.25 18:51
Program     : Client Terminal
Version     : 4.00 (build: 204, 24 Apr 2007)
Owner       : MetaQuotes Software Corp. (MetaTrader)
OS          : Windows XP Professional 5.1 Service Pack 2 (Build 2600)
Processors  : 2, type 586, level 15
Memory      : 261612/112472 kb
Exception   : C0000005
Address     : 0045DC49
Access Type : write
Access Addr : 2FE01F7D

Registers   : EAX=06CAAE68 CS=001b EIP=0045DC49 EFLGS=00010216
            : EBX=CF3A855D SS=0023 ESP=0012EA40 EBP=0012EA78
            : ECX=2FE01F7D DS=0023 ESI=0045CCCC FS=003b
            : EDX=00000035 ES=0023 EDI=06CAC660 GS=0000

Stack Trace : 0045314C 00000000 00000000 00000000
            : 00000000 00000000 00000000 00000000
            : 00000000 00000000 00000000 00000000
            : 00000000 00000000 00000000 00000000
Modules     :
...

Call stack  :
0045CC50:0FF9 [0045DC49] ?ExecuteStaticAsm@CExpertInterior
00453040:010C [0045314C] ?UninitFunctionInt@CExpertInterior



5. Запускаю, начинаю по одному убирать окна графиков (их 9, одна пара, все периоды) и закрывать терминал. Каждый раз аналогичный креш.
6. Остаётся одно окно, начинаю убирать индикаторы из списка индикаторов. Индикаторы вроде убираются, но при закрытии окна списка получаю креш.

Exception   : C0000005
Address     : 0045F48E
Access Type : read
Access Addr : A10E24D9

Registers   : EAX=01E5CF68 CS=001b EIP=0045F48E EFLGS=00010206
            : EBX=A10E24D9 SS=0023 ESP=0012F670 EBP=0012F6A8
            : ECX=01E5CF68 DS=0023 ESI=0045CCCC FS=003b
            : EDX=00000096 ES=0023 EDI=01E764A0 GS=0000

Stack Trace : 004528F3 01E76220 004861F0 0808BE8D
            : 00000000 00000000 00000000 00000000
            : 00000000 00000000 00000000 00000000
            : 00000000 00000000 00000000 00000000
Modules     :
...

Call stack  :
0045CC50:283E [0045F48E] ?ExecuteStaticAsm@CExpertInterior
004527E0:0113 [004528F3] ?RunExpertInt@CExpertInterior
004861F0:0000 [004861F0] ?Name@CIndCustom


7. Убираю индикатор с тем if'ом. Вроде всё в порядке. Добавляю опять, заменяя != 1 на != 0 . Опять креши.
8. С недоумением снова запускаю терминал из п.п. 1 и 2 . Снимаю и добавляю индикаторы, компилирую подозрительный заново, ничего не помогает :). Крешей нет.

Попробуйте скачать обновлённый 204 билд. terminal.exe и metalang.exe помечены 25 апреля. При этом фаервол теперь не должен ругаться на metalang.exe

Спасибо, если основная проблема решится, я воспользуюсь.

 
Candid, пришлите пожалуйста мне проблемный ex4-файл (можно без исходника) на stringo AT metaquotes DOT ru. Я хочу сам посмотреть, в чём дело
Причина обращения: