Чемпионат Алгоритмов Оптимизации. - страница 2

 
Dmitry Fedoseev:

Для чемпионата класс надо будет поместить в библиотеку. Сделать одну функцию в библиотеке, которая будет вызываться из вне, в этой функции все дела: создание экземпляра класса, установка всех параметров переданных в функцию и т.д.

Имя функции стандартное для всех. Имена файла библиотеки у всех свои.

У проверяющего скрипт. Проверяющий меняет имя импортируемой библиотеки, компилирует, исполняет. 

Должно быть ещё проще, без классов в исполняющем скрипте. Только импортируемые функции с вызовом из *.ex5 библиотеки со стандартным именем, в библиотеке участник оформляет стандартный интерфейс вызова, а уже внутри волен делать что угодно. Так будет проще происходит проверка и проверяющим и зрителям, достаточно лишь сменить файл библиотеки и не нужно будет перекомпилировать каждый раз.
 
Реter Konow:
Как Вы считаете, можно ли обойтись без ООП, в решении поставленной на чемпионате задаче? Я привык все решать своим методом. (Ну не лежит душа у меня к ООП). :)
Уверен, что можно, но интересно знать Ваше мнение.
 
Реter Konow:
Как Вы считаете, можно ли обойтись без ООП, в решении поставленной на чемпионате задачи? Я привык все решать своим методом. (Ну не лежит душа у меня к ООП). :)

Можно. Вы должны предоставить скомпилированную библиотеку с одной функцией (с каким-нибудь заданным именем). Все, что остальное вы будете делать и как в этой библиотеке, это ваше дело (хоть функции, хоть ООП). 

Вот только исследуемая функция будет в объекте, но это не должно вызвать затруднений, это минимум ООП. Хотя, сейчас в mql вроде естm указатели на функции, но я пока не разбирался с этим, не смотрел. Как Андрей решит.  

 
Реter Konow:
Уверен, что можно, но интересно знать Ваше мнение.
Можно. Поэтому и считаю, что необходимо обойтись только импортируемыми функциями. Это необходимый минимум практических умений для участия. А в библиотеке алгоритма можно и ООП, и без него, вообще как угодно и кому как удобней.
 
Dmitry Fedoseev:

Можно. Вы должны предоставить скомпилированную библиотеку с одной функцией (с каким-нибудь заданным именем). Все, что остальное вы будете делать и как в этой библиотеке, это ваше дело (хоть функции, хоть ООП). 

Вот только исследуемая функция будет в объекте, но это не должно вызвать затруднений, это минимум ООП. Хотя, сейчас в mql вроде естm указатели на функции, но я пока не разбирался с этим, не смотрел. Как Андрей решит.  

Указатели на функции... Я почитаю документацию. Все, что мне нужно знать - суть поставленной задачи. Если ООП не обязательно, я решу ее своим методом. Спасибо.
 
А где в справке про указатели на функции, кто знает?
 

Завтра постараюсь показать пример. Сегодня я уже не в состоянии что либо писать в коде.

Предлагайте обсуждайте, в конечном итоге нужно прийти к общему простому решению - подключение алгоритма оптимизации не должно вызывать проблем ни у кого. 

 
Andrey Dik:
Должно быть ещё проще, без классов в исполняющем скрипте. Только импортируемые функции с вызовом из *.ex5 библиотеки со стандартным именем, в библиотеке участник оформляет стандартный интерфейс вызова, а уже внутри волен делать что угодно. Так будет проще происходит проверка и проверяющим и зрителям, достаточно лишь сменить файл библиотеки и не нужно будет перекомпилировать каждый раз.

Как отдать функцию участнику? Тогда может он в своей библиотеке должен делать импорт функции из какой-то библиотеки. Как по мне, так с классом проще. Учаcник имеет в функции параметр:

CFF * aff 

Использование проще некуда:

aff.value(...)

На много проще импорта и не возиться с лишними файлами. 

 
Andrey Dik:
Можно. Поэтому и считаю, что необходимо обойтись только импортируемыми функциями. Это необходимый минимум практических умений для участия. А в библиотеке алгоритма можно и ООП, и без него, вообще как угодно и кому как удобней.
С импортом функций я хорошо знаком. Это привычно и ясно. Только библиотеки на mql не делал. Только dll. Но думаю, это наверное проще. В общем, начинаю подготовку.
 
Dmitry Fedoseev:

Как отдать функцию участнику? Тогда может он в своей библиотеке должен делать импорт функции из какой-то библиотеки. Как по мне, так с классом проще. Учаcник имеет в функции параметр:

CFF * aff 

Использование проще некуда:

aff.value(...)

На много проще импорта и не возиться с лишними файлами. 

*.ex библиотека участника должна быть по сути унифицированным способом обратится к его алгоритму. Алгоритм может быть вшит в эту библиотеку стандартную, или же волен вызывать из этой библиотеки свой алгоритм через свои функции.

И какую функцию отдавать участнику? Участник отдаст или ему что то передать? Игра слов, тут я не совсем тебя понял. 

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