Ошибки, баги, вопросы - страница 740

 
tol64:

Ну и что Вы хотели этим сказать? Что при отсутствии элегантного решения не использовать вообще никакой? Даже, если он есть, но, как Вы выражаетесь - "муторный"? 

Я этим хотел сказать, что Ваша так называемая "элегантная" последняя строчка в блоке слежения совершенно не улучшает остальные 10500 возможных строчек этого самого блока. Если для Вас так принципиально использовать в int OnInit() функцию ExpertRemove()  вместо оператора return(-100), то это всего лишь Ваше предпочтение, никак не улучшающее весь остальной код.  

Напомню при этом: всё началось с Вашей фразы "Всё проще". В результате оказалось, что никакого упрощения нет, есть только возможная замена одной строчки кода на другую.

 
tol64:

Есть ещё один вариант (надо же, из головы вылетело).

Посмотрите функции: OnTesterInit(), OnTesterPass(), OnTesterDeinit()

И: FrameFirst(), FrameFilter(), FrameNext(), FrameInputs(), FrameAdd()

Они прямо для этого и предназначены. :)    

Вот с этими функциями вообще не знаком. Из описания ничего не понял. Можете привести простенький наглядный пример для понимания их возможностей применительно к нашей ситуации?
 
Yedelkin:

Я этим хотел сказать, что Ваша так называемая "элегантная" последняя строчка в блоке слежения совершенно не улучшает остальные 10500 возможных строчек этого самого блока. Если для Вас так принципиально использовать в int OnInit() функцию ExpertRemove()  вместо оператора return(-100), то это всего лишь Ваше предпочтение, никак не улучшающее весь остальной код.  

Напомню при этом: всё началось с Вашей фразы "Всё проще". В результате оказалось, что никакого упрощения нет, есть только возможная замена одной строчки кода на другую.

Это принципиально для Вас, если Вы не можете успокоиться. :) ExpertRemove() я привёл для примера. В некоторых случаях вполне подходит. "Быстрое решение".

В предыдущем посте представлены специально созданные инструменты. Я забыл совсем о них, хоть и использую активно для некоторых своих задач.

 
Yedelkin:
Вот с этими функциями вообще не знаком. Из описания ничего не понял. Можете привести простенький наглядный пример для понимания их возможностей применительно к нашей ситуации?
Чуть позже попробую сделать простой пример...
 
tol64:

Это принципиально для Вас, если Вы не можете успокоиться. :)

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

 
tol64:
Чуть позже попробую сделать простой пример...
А пример с тестер-функциями ждём-с! Может, это окажется подспорьем для многих.
 
Yedelkin:
А пример с тестер-функциями ждём-с! Может, это окажется подспорьем для многих.

Посмотрите пока пример Рената: https://www.mql5.com/ru/forum/6407. Свой вариант применительно именно к этой ситуации сегодня возможно не успею. Хоть какой-нибудь постараюсь сделать...

Yedelkin:

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

Забирайте свои слова. Это ложь или Вы просто неправильно поняли. :)
Контроль процессов оптимизации в реальном режиме времени и передача массивных данных от агентов в MetaTrader 5
Контроль процессов оптимизации в реальном режиме времени и передача массивных данных от агентов в MetaTrader 5
  • www.mql5.com
OnTesterInitФункция предназначена для инициализации эксперта перед началом оптимизации для последующей обработки результатов оптимизации.
 
tol64: Забирайте свои слова. Это ложь или Вы просто не правильно поняли. :) 

Что за манера пошла "Забирайте свои слова"? Ага, разбежался :[

По поводу обвинений во лжи:

- Y: Для рассматриваемой ситуации я решения тоже не нашёл. Можно, конечно, в int OnInit() забабахать некий блок ... Но как-то это всё муторно выглядит

- t: Всё проще. Можно при исполнении того или иного условия просто удалять эксперт - ExpertRemove().  

- Y: От того, что проход будет завершаться досрочно с помощью Вашего предложения, муторность самого "блока слежения" никак не уменьшается, а элегантность этого блока никак не увеличивается

- t: Ну и что Вы хотели этим сказать? Что при отсутствии элегантного решения не использовать вообще никакой? Даже, если он есть, но, как Вы выражаетесь - "муторный"? 

Тем самым, Вы заявили, что  (1) есть нечто проще, чем выглядящий муторно блок кода, и (2) противопоставили муторному коду некое элегантное решение, несмотря на то, что элегантность кода с Вашим предложением была отвергнута.

 
Yedelkin:
...

Тем самым, Вы заявили, что  (1) есть нечто проще, чем выглядящий муторно блок кода, и (2) противопоставили муторному коду некое элегантное решение, несмотря на то, что элегантность кода с Вашим предложением была отвергнута.

Значит неправильно поняли...

Пожалуйста, остановитесь. Это никому не нужно. Я имел ввиду всё именно так, как написал. Буквально. А Вы всё перевернули с ног на голову. Там совсем не то, что Вы поняли. :)

Ну вот с чего Вы взяли, что если я задал Вам уточняющий вопрос, то это значит, что я что-то заявил? То, что Вы выделили, было вопросом к Вам, а не заявление. Предлагаю закончить всё это...

 
tol64:

Значит неправильно поняли...

Пожалуйста, остановитесь. Это никому не нужно. Я имел ввиду всё именно так, как написал. Буквально.   

ОК. Кто-то написал буквально "всё проще", кто-то прочитал буквально "всё проще" - и не согласился. Завершаю по просьбе. Больше это никому, действительно, не нужно.