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

 
Andrey Dik:

Твой алгоритм использует непосредственный вызов ФФ из алгоритма, то есть обращение из *.ex5 к *.ex5. Можем ли мы из исполняющего скрипта вызывать специальную команду останова, что корректно останавливать оптимизацию без применения функции ExpertRemove()

Нет ли в этом подводных камней, проблем? 

Напомню, сегодня я должен предоставить пример вызова алгоритма в тестовом скрипте в двух вариантах, в которых происходит: 1. обращение к ФФ из тестового скрипта; 2. обращение к ФФ из алгоритма.   

Нельзя. С намеком на это и пытался тут недавно обсуждать различные варианты вызова. Поэтому и предлагал время не измерять, а только при достижении запредельного времени работы убирать с графика и браковать.
 
Yuri Evseenkov:

Я удивляюсь, почему такие популяризаторы MQL как Дмитрий Федосеев и Andrey Dik не хотят популярно на простом примере всё объяснить. 

А ведь могут же. Статья https://www.mql5.com/ru/articles/351 тому пример.

Наверное цель не в массовости . Наверно хотят найти таких же продвинутых как они сами и устроить междусобойчик. Отсюда и ограничение только MQL5, и узкоспециализированный жаргон, и пространные пространственно -временные аналогии..

Про генетические алгоритмы очень доходчиво здесь https://habrahabr.ru/post/128704/

Пытался тут, вроде как никто не видит и не хочет.

Но только не в той ветке, а в предыдущей, которую Белконский застрал, и удалили ее. Могли бы и тут спрашивать. Хотя, в общей совокупности общество ведет себя верно, зачем сюда писать, если сюда сразу придет срать Белконский.

 
Dmitry Fedoseev:
Нельзя. С намеком на это и пытался тут недавно обсуждать различные варианты вызова. Поэтому и предлагал время не измерять, а только при достижении запредельного времени работы убирать с графика и браковать.
А если внутри *.ex5 функция будет проверять какую то переменную постоянно, внутреннюю или глобальную на предмет flag==false? 
 
Andrey Dik:
А если внутри *.ex5 функция будет проверять какую то переменную постоянно, внутреннюю или глобальную на предмет flag==false? 

Если глобальную переменную терминала. Но тогда к участникам должно быть требование, что бы они это сделали.

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

 
Dmitry Fedoseev:

Если глобальную переменную терминала. Но тогда к участникам должно быть требование, что бы они это сделали.

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

Конечно.

Тогда нужно, что бы скрипт, когда он захочет, может писать флаг останова в глобальную переменную.

А алгоритм должен перед началом эпохи проверить, разрешён ли флаг.

В примере проверочного скрипта этот момент (проверка глобальной будет отражён. 

 
Andrey Dik:

Конечно.

Тогда нужно, что бы скрипт, когда он захочет, может писать флаг останова в глобальную переменную.

А алгоритм должен перед началом эпохи проверить, разрешён ли флаг.

В примере проверочного скрипта этот момент (проверка глобальной будет отражён. 

Значит в правилах написать такое требование - перед выполнением эпохи проверят существование переменой с таким-то именем (указать конкретно).
 
То есть, при таком уровне подготовки и с многолетним опытом работы в этой области, Вы приглашаете к участию в чемпионате людей, которые почти не понимают о чем идет речь? Вы показываете им мультики и говорите "участвуйте, Вы сможете!"? Неужели Ваша и пары других участников, совершенно очевидная победа над ними может принести Вам моральное удоволетворение? Зачем Вы их зазываете? Может удоволетворение лежит не в моральном, а материальном измерении?
 
Реter Konow:
То есть, при таком уровне подготовки и с многолетним опытом работы в этой области, Вы приглашаете к участию в чемпионате людей, которые почти не понимают о чем идет речь? Вы показываете им мультики и говорите "участвуйте, Вы сможете!"? Неужели Ваша и пары других участников, совершенно очевидная победа над ними может принести Вам моральное удоволетворение? Зачем Вы их зазываете? Может удоволетворение лежит не в моральном, а материальном измерении?

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

Посмотрите на чемпионаты от MQ, разве там запрещали участвовать зелёным новичкам? - нет, не запрещали, и правильно делали.

Здесь тоже нет запрета "молодым". Участвовать могут все. 

И в третьих, что же мне, нужно было сразу говорить всем "Не участвуйте, у вас нет шансов!"? - наоборот, говорю "Шансы есть у всех!". И они действительно есть, независимо от уровня подготовки.

 
Dmitry Fedoseev:
Значит в правилах написать такое требование - перед выполнением эпохи проверят существование переменой с таким-то именем (указать конкретно).
Ок.
 
Dmitry Fedoseev:

Если глобальную переменную терминала. Но тогда к участникам должно быть требование, что бы они это сделали.

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

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

Можно оговорить заранее (посредством специального запроса в коде), что количество запусков не должно быть больше чем такое то число. Тогда ФФ, которая сама будет считать количество вызовов при переваливании за допустимое количество сама вызовет ExpertRemove().

Алгоритм будет предупреждён, а дальше как говорится, сам виноват.))) 

Так нормально?