MetaTrader 4 Client Terminal build 610 - страница 5

[Deleted]  
TarasBY:
Производитель хочет, чтобы покупатель был на уровне: "не работает - вставьте вилку в розетку" - лишь бы деньги на покупку были... :)))))))))))))))

Принципиально хотелось бы всё таки найти причину - интересно же.

Ну а практически проще перейти на старый 509 билд. Там более или менее всё стабильно.

Из моей практики инженера- электротехника я знаю точно - чем проще тем надёжней.

Как пользователь програмного продукта мой девиз: надёжность и стабильность превыше всех фишек и наворотов :-))

TarasBY:
Что-то мне подсказывает, что Win8 ждёт судьба Vista. ;)

К стати полностью согласен...
 
Unimaks:

Принципиально хотелось бы всё таки найти причину - интересно же.

Ну а практически проще перейти на старый 509 билд. Там более или менее всё стабильно.

Из моей практики инженера- электротехника я знаю точно - чем проще тем надёжней.

Как пользователь програмного продукта мой девиз: надёжность и стабильность превыше всех фишек и наворотов :-))

Я полностью согласен: вспоминать про наводки в связи с обновлением на новый билд - это очень смешно... :)))

Тем интереснее истинная причина этого свиста.

 
,
AlexeyVik:

Так не интересно. Надо сначала накосячить в старом МЕ, который позволяет косячить, а потом воевать с новым и при этом обвиняя MQ.

По поводу "накосячить в старом"

В накосяченом старом индикатор Hist-multyPrice работает без всяких проблем.

Перебрасываю в 610, комипилирую, убираю все предупреждения, запускаю.

Получаю оплеуху: 2014.02.16 15:05:39.850 Cannot open file 'D:\Program Files\MetaQuotes\MQL4\Indicators\lib_Zemckikh.ex4' [2] 2014.02.16 15:05:39.850 Stoch-multyPrice USDCHF,H1: cannot load external program 'lib_Zemckikh'

Вижу, что терминал пытается найти lib_Zemckikh.ex4 в папке Indicators.

Открываю справку: Вызов импортируемых функций Поиск импортируемой библиотеки EX4 производится в следующей последовательности:

1.Директория, путь к которой задается относительно директории импортирующего EX4 эксперта (скрипта, индикатора);

2.Директория каталог_терминала\MQL4\Libraries;

3.Директория MQL4\Libraries в общей директории всех клиентских терминалов MetaTrader 4 (Common\MQL4\Libraries).

Включение файлов (#include)

Командная строка #include может встречаться в любом месте программы, но обычно все включения размещаются в начале файла исходного текста. Формат вызова: #include "имя_файла" Препроцессор заменяет строку #include содержимым файла WinUser32.mqh.

Угловые скобки обозначают, что файл WinUser32.mqh будет взят из стандартного каталога (обычно это каталог_терминала\MQL4\Include). Текущий каталог не просматривается.

Если имя файла заключено в кавычки, то поиск производится в текущем каталоге (в котором содержится основной файл исходного текста). Cтандартный каталог не просматривается.

Привожу для ясности заголовок индикатора:

6#define PRICE_VOLUME

7#define DISTR_MAX

8#define DISTR_WEIGH

9 #include <lib_Zemckikh.mqh>

Как видно, использованы угловые скобки и файл описаний должен быть взят из include

Содержание include:

#import "lib_Zemckikh.ex4"

bool isPeriod(int myPeriod);

................................................................................

#import

dФайл lib_Zemckikh расположен в папке d:\.....\MQL\libraries:

#property library

double Bar_Price(int Price_Type, int TF, int shift) export

описание функций библиотеки не привожу, оно к делу не относится

Свойство library указано, export указан, а библиотеку терминал не находит.

Так в чем дело? Где косяк?

Win 7, 64 bit, UAC отключен, \portable прописано, файл lib_Zemckikh.ex4 нахдится в MQL\libraries

Как видно, МТ установлен не на системный диск, каталог данных расположен на этом же диске

 
Кто-нибудь может толково объяснить, в связи С ЧЕМ ИМЕННО появляется приветливое сообщение "Invalid license"? Какая такая лицензия? И почему она вдруг недопустима?
 

polycomp:

По поводу "накосячить в старом"

В накосяченом старом индикатор Hist-multyPrice работает без всяких проблем.

Перебрасываю в 610, комипилируюЮ

Решений 2.

1. Откомпилировать библиотеку в 509м и вставить её без исходника в 610. Проверено будет работать.

2. Всё-же найти не отображаемую "ошибку" в коде библиотеки.

Я буквально в пятницу бился с этой задачей.

А почему так и не понял до конца. А всего-то убрал из библиотеки 2 функции

string tts(datetime v){return(TimeToStr(v, TIME_DATE|TIME_SECONDS));}

string ttsd(datetime v){return(TimeToStr(v, TIME_DATE));}

и вписал TimeToStr(v, TIME_DATE|TIME_SECONDS) непосредственно в код.

Может надо было заменить на TimeToString(v, TIME_DATE|TIME_SECONDS)... Я только сейчас об этом подумал.

 
wtvirtual:
Кто-нибудь может толково объяснить, в связи С ЧЕМ ИМЕННО появляется приветливое сообщение "Invalid license"? Какая такая лицензия? И почему она вдруг недопустима?

Уточняю. Индикаторы с библиотекой скомпилированы в 610-м билде на одном компе, при переносе на другой комп с тем же 610-м билдом они работать не желают. Инвалид лиценз, библиотека не загружается, глобальная инициализация не удалась. В чём дело?

15:19:50 *** EURUSD,Daily: Invalid license
15:19:50 Loading 'C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\***\MQL4\Libraries\***Library.ex4' is failed
15:19:51 *** EURUSD,Daily: Invalid license
15:19:51 *** EURUSD,Daily: global initialization failed
15:19:51 Custom indicator *** EURUSD,Daily: removed
 
AlexeyVik:

Решений 2.

1. Откомпилировать библиотеку в 509м и вставить её без исходника в 610. Проверено будет работать.

2. Всё-же найти не отображаемую "ошибку" в коде библиотеки.

Я буквально в пятницу бился с этой задачей.

А почему так и не понял до конца. А всего-то убрал из библиотеки 2 функции

string tts(datetime v){return(TimeToStr(v, TIME_DATE|TIME_SECONDS));}

string ttsd(datetime v){return(TimeToStr(v, TIME_DATE));}

и вписал TimeToStr(v, TIME_DATE|TIME_SECONDS) непосредственно в код.

Может надо было заменить на TimeToString(v, TIME_DATE|TIME_SECONDS)... Я только сейчас об этом подумал.

Спасибо за ответ, буду экспериментировать.

Но очень много вопросов по поводу нового терминала. Например, сегодня ночью почему-то обновился терминал Альпари на 600, причем как-то непонятно:

Осталась старая структура файлов и появилась новая. Содержание папок одинаково, откуда берет файлы терминал не понятно, но в терминале от Альпари злополучный индикатор вроде-бы работает. Но библиотеки работают не корректно. Короче, всё нужно начинать практически с нуля. Слов нет, остались одни междометия. В том, что предыдущий компилятор был кривой - это вина не трейдеров, а разработчиков, а мне теперь разбирайся!

 
wtvirtual:

Уточняю. Индикаторы с библиотекой скомпилированы в 610-м билде на одном компе, при переносе на другой комп с тем же 610-м билдом они работать не желают. Инвалид лиценз, библиотека не загружается, глобальная инициализация не удалась. В чём дело?


Ну так библиотечка-то не подгрузилась:

15:19:50 Loading 'C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\***\MQL4\Libraries\***Library.ex4' is failed

вот по этому пути она и должна лежать

 
AlexeyVik:

Решений 2.

1. Откомпилировать библиотеку в 509м и вставить её без исходника в 610. Проверено будет работать.

2. Всё-же найти не отображаемую "ошибку" в коде библиотеки.

Я буквально в пятницу бился с этой задачей.

А почему так и не понял до конца. А всего-то убрал из библиотеки 2 функции

string tts(datetime v){return(TimeToStr(v, TIME_DATE|TIME_SECONDS));}

string ttsd(datetime v){return(TimeToStr(v, TIME_DATE));}

и вписал TimeToStr(v, TIME_DATE|TIME_SECONDS) непосредственно в код.

Может надо было заменить на TimeToString(v, TIME_DATE|TIME_SECONDS)... Я только сейчас об этом подумал.

В дополнение к предыдущему хочу добавить, что использование ex4 от 509 проблемы не решает. Когда я таким же манером вставил 2 библиотеки, то вторая не могла загрузиться. Мне кажется, что дело вовсе не в "не отображаемых "ошибках" в коде библиотеки". Если я помещаю функции из библиотеки прямо в код скрипта, все отрабатывается как положено. Отсюда вывод- косяк в подключении библиотечных функций.

Я поднимал эту тему неоднократно, но разработчики не удостаивают вниманием этот вопрос.

Если я в чем-то не прав, разработчики, АУ, отзовитесь, укажите на ошибки в подключении библиотечных функций!

Не буду опять цитировать Вашу справку, я пытался следовать инструкциям, однако ничего не помогло!

 
artmedia70:

Ну так библиотечка-то не подгрузилась:

вот по этому пути она и должна лежать



Она там и лежит. Суть вопроса была в другом.