Выпущен MetaTrader 4 Client Terminal build 600 с обновленным языком MQL4 и Маркетом приложений - страница 12

 

Понял, что новый МЭ не дружит со старой конфигурацией. Совсем не реагирует на неё. Пришлось вручную переносить открытые вкладки в новую конфигурацию после удаления старой.

Одна загадка осталась. Что же там делает редактор в течении 5-10 минут после закрытия окна? Почему раньше такого не наблюдалось?

 

Здравствуйте.

Столкнулся с тем, что для ЕА (собранного старым компилятором 509 билда) два раза вызывается функция init().

Терминал запускаю с ключом /portable

ЕА приложен, скриншот приложен.

У меня Win7 x64

Ставил чистый новый терминал отсюда http://www.metatrader4.com/, 600 билд

Копировал руками testEa.ex4 в /MQL4/Experts/

Запускал МТ4 через ярлык с ключом /portable

Закрываю все чарты которые там открыты по-умолчанию

Цепяюсь к

demo.metaquotes.net:443

2266914

yp2jymx

ukh2dvu

Открываю новый чарт, запускаю на нем ЕА

init вызывается один раз

закрываю МТ4

запускаю МТ4 через тот же ярлык с ключом /portable

вижу чарт с ЕА и в логе ЕА два раза написано про вызов init() (собственно на скриншоте этот момент)

Кто виноват и что делать? )

Файлы:
doubledinit.zip  157 kb
 

Обнаружил в 600 билде, у себя, еще один баг.

При попытке изменить советник открывается, как обычно Meta Editor, но через пару секунд самопроизвольно закрывается.

 
Viteck116:

Обнаружил в 600 билде, у себя, еще один баг.

При попытке изменить советник открывается, как обычно Meta Editor, но через пару секунд самопроизвольно закрывается.

А в журнале пишется MetaEditor not found. Это тянется уже с самого начала. Ещё раз попробуйте изменить файл, и он откроется.
 

билд 600
был "приятно" удивлен, при очередном перезапуске терминала:

вобще непонятно что творит, при этом завершает работу с ошибкой "зеро девайд", рядом стоит такой же

вот код
if(begintrade!="" && endtrade!="")
{
string txt19=StringConcatenate("торговля с ",begintrade," до ",endtrade);
if(ClsOverTime==1)
txt19=StringConcatenate(txt19," (позиция будет закрыта)");
if(ObjectFind("Lable10")<0)
{
ObjectCreate("Lable10",OBJ_LABEL,0,0,1.0);
ObjectSet("Lable10",OBJPROP_CORNER,0);
ObjectSet("Lable10",OBJPROP_XDISTANCE,10);
ObjectSet("Lable10",OBJPROP_YDISTANCE,75);
}
ObjectSetText("Lable10",txt19,11,"Calibri",AntiqueWhite);
}
в настройках переменные задаются целыми числами в минутах, при инициализации преобразуются в текстовый формат
//————————————————— преобразование время торгов в нужный формат
if(lengthtrade>0 && lengthtrade!=1440)
{
if(timestart>=1440)
timestart-=1440;
begintrade=TimeToStr(timestart*60,TIME_MINUTES);
if(lengthtrade>=1440)
lengthtrade-=1440;
endtrade=TimeToStr((timestart+lengthtrade)*60,TIME_MINUTES);
}
код скомпилирован в 4-ке


а вы говорите "купаться"...

 
mr_Johns:

билд 600
был "приятно" удивлен, при очередном перезапуске терминала:


помогло удаление эксперта с графика, и постановка так сказать с нуля.
В общем поведение софта непредсказуемое. Как можно такой сырец в работу запускать?!
 

Ренат, подскажи

1. при неустановленном терминале (копия) на вин7 64 бит хоум с админ правами, который находится не на диске С, при запуске пишет что появилась новая версия, но не обновляется, так и должно быть ?

2. там же вин7 64 бит хоум админ права установил новый терминал с вашего сайта опять же на диск Д, каталог MQL4 находится в каталоге терминала, так и должно быть ?

 

Не хочет гора идти к Магомету, пришлось Магомету пилить к горе. Поскольку уважаемые разработчики обошли вопрос вниманием, пришлось, как всегда, разбираться самому.

Итак, как сказал уважаемый tara: "Не тронь ибаршифты, их ваяли приличные люди." Действительно, ибаршифты ни при чём. Напомню ситуацию: при нормальном запуске скрипт отрабатывал нормально, при запуске в отладчике ибаршифты возвращают -1.

Выяснилось следующее. У меня в хистори одна единственная евробаксовая вал. пара. Если в настройках MQL оставить строчку "Символ" пустой

То при запуске отладчика откроется новое чартовое окно. Но не окно с EURUSD H1, которое у меня уже и открыто, а окно с USDCHF H1, которого (вал. пары usdchf) у меня совсем нет. Не только ни одного тика, но даже и файла USDCHF60.hst в папке с хистори. Ну, понятно теперь, почему ибаршифты возвращают -1.

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

Что-нибудь типа такого хотя бы: #pragma warning ( disable: 4244 )

 
Gans-deGlucker:
Ренат, при всем уважении, не могу согласиться. Процессоры Pentium III не имели инструкций SSE2, за исключением мобильной версии, которая называлась Pentium M и вышла в 2003, если не ошибается Википедия году. Первые процессоры Intel, поддерживающие инструкции SSE2 - Pentium IV, вышли чуть раньше, в 2001 году. Так что 15 лет назад у Вас не могло быть такого PIII, ну никак. Да и потом, к чему эти передергивания - я например поменял комп на Athlon64 всего пару лет назад, он абсолютно меня устраивал, и только необходимость немножко поизучать MQL5 (где это требование также было жестко зашито в терминал) меня по сути и сподвигла на замену. Я понимаю, вы за технический прогресс, за последние обновления, да, все это так, и это необходимо наверное делать (хотя я навскидку не назову другой торговый терминал, где это столь же жестко прописано). Но определенное количество пользователей услышали сейчас "да вы все лохи и нищеброды, купите себе нормальные компы уже". Наверное клиентоориентированность вашей компании все-таки страдает от подобного рода заявлений. Хотя уверен практически на 100%, что Вы будете и дальше продолжать их делать.

Renat:

PIII конечно не имел никакого SSE2. SSE2 появился 12 лет назад с Pentium 4. Это ли мне не знать?

Я написал - "у меня лично был такой PIII 15 лет назад". То есть, я говорю "это безумие сидеть на старье и в 2014 году жаловаться, что софт требует SSE2".




Начнём с того, что sse2 вошёл в моду с появлением Athlon 64 ветки процессоров, логичнее всего тогда уж отказаться от поддержки 32х битной версии безумного старья типа WindowsXP (поддержку которой кстати MS сворачивает в апреле этого года) на которой сидит большинство морально устаревших компьютеров не поддерживающих sse2, вот такой шаг был бы честным, следующим логичным шагом в этом направлении тогда был бы отказ от 32х битной версии программы, всё равно же все современные процессоры х64, а на полумеры современных 32х битных операционных систем можно благополучно забить болт.

Но это всё лирика, один из моих компьютеров как раз является старым Athlon Barton 3200+ который не поддерживает sse2, благодаря чему 509 версия не проходит автообновления до 600. Вопрос: как долго я смогу оставаться на 509 build, пока его поддержка и совместимость не уйдёт в небытие окончательно?

 
AlexLex:

Но это всё лирика, один из моих компьютеров как раз является старым Athlon Barton 3200+ который не поддерживает sse2, благодаря чему 509 версия не проходит автообновления до 600. Вопрос: как долго я смогу оставаться на 509 build, пока его поддержка и совместимость не уйдёт в небытие окончательно?

Можно вручную обновиться.
Zhunko:

Понял, что новый МЭ не дружит со старой конфигурацией. Совсем не реагирует на неё. Пришлось вручную переносить открытые вкладки в новую конфигурацию после удаления старой.

Одна загадка осталась. Что же там делает редактор в течении 5-10 минут после закрытия окна? Почему раньше такого не наблюдалось?

Очень необычно ведёт себя МЭ. После перезагрузки компа теперь выгружается сразу. Но тоже, как-то странно первый раз загрузился. Окно не появилось. Сам выгрузился. Со второго раза загрузился.