Обсуждение статьи "Роль качества генератора случайных чисел в эффективности алгоритмов оптимизации" - страница 7

 
Алгоритмы будут находится по этому адресу. И в кодабазу опубликую.
GitHub - JQSakaJoo/Population-optimization-algorithms-MQL5: Population optimization algorithms
GitHub - JQSakaJoo/Population-optimization-algorithms-MQL5: Population optimization algorithms
  • JQSakaJoo
  • github.com
Population optimization algorithms. Contribute to JQSakaJoo/Population-optimization-algorithms-MQL5 development by creating an account on GitHub.
 
fxsaber #:

Погодите. Сейчас алгоритмы Андрея отвечают ровно за тот тип оптимизации, который проводит MT5-Tester. В цитируемом говорите о навесе над алгоритмом оптимизации.

В обсуждении еще прочувствовался некий алгоритм оптимизации, который не является формально конкурентом алгоритма в MT5-Tester, а решает совсем иные поисковые задачи. Таких алгоритмов в серии статей Андрея просто не было.

Именно так - "навес", дополнительный (очень важный) инструментарий, который, ИМХО, Андрею было бы несложно добавить. Я в самом начале написал, что не заметил этого в статьях, хотя польза от этого была бы. Сейчас почему-то принято политическое решение ограничиться рафинированными "алгоритмами оптимизации", и не касаться готового решения "оптимизации" в более практическом смысле. Это как разработка болида для установления рекорда скорости по пустыне Мохаве, но большинству людей она не пригодится, так как нужно ездить по пересеченной местности и горным серпантинам. ;-)

PS. Этого инструментария не хватает и в штатном оптимизаторе. Там есть для галочки форвард-тест, но он слабо помогает.

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Обсуждение статьи "Роль качества генератора случайных чисел в эффективности алгоритмов оптимизации"

fxsaber, 2024.03.30 18:16

Предлагал итерационный подход, когда перед каждой итерацией в виде очередного запуска ГА выкалываются области найденной вершины (на предыдущей итерации).

Мне бы подошел даже такой лобовой вариант. Но не понимаю, как определить область выкалывания в многомерном пространстве?

Есть мысли, как по вычисленным значениям (пусть их будет 10 000 штук) ФФ определить область найденного глобального пика? Чтобы на следующей итерации ФФ в этой области насильно делать -DBL_MAX.

 
fxsaber #:

Мне бы подошел даже такой лобовой вариант. Но не понимаю, как определить область выкалывания в многомерном пространстве?

Есть мысли, как по вычисленным значениям (пусть их будет 10 000 штук) ФФ определить область найденного глобального пика? Чтобы на следующей итерации ФФ в этой области насильно делать -DBL_MAX.

Можно взять несколько ближайших точек с максимальным значением и вычислить координаты их "центра масс". Предварительно нужно определится, какое минимальное расстояние допустимо между точками.
 
Andrey Dik #:
Можно взять несколько ближайших точек с максимальным значением и вычислить координаты их "центра масс". Предварительно нужно определится, какое минимальное расстояние допустимо между точками.

Не получается понять, как вычислять расстояние между точками. У каждой же координаты свои попугаи.

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


Например, оптим X4 от -5 до +5, попугай равен 1% (условно) от длины интервала (10).

 
Stanislav Korotky #:

Именно так - "навес", дополнительный (очень важный) инструментарий, который, ИМХО, Андрею было бы несложно добавить. Я в самом начале написал, что не заметил этого в статьях, хотя польза от этого была бы. Сейчас почему-то принято политическое решение ограничиться рафинированными "алгоритмами оптимизации", и не касаться готового решения "оптимизации" в более практическом смысле. Это как разработка болида для установления рекорда скорости по пустыне Мохаве, но большинству людей она не пригодится, так как нужно ездить по пересеченной местности и горным серпантинам. ;-)

PS. Этого инструментария не хватает и в штатном оптимизаторе. Там есть для галочки форвард-тест, но он слабо помогает.

Я хотел было расписать терминологию, но теперь даже не знаю, есть ли в этом необходимость...

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

 
fxsaber #:

Не получается понять, как вычислять расстояние между точками. У каждой же координаты свои попугаи.

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


Например, оптим X4 от -5 до +5, попугай равен 1% (условно) от длины интервала (10).


принять относительный диапазон, например - 1;1
привести в этот диапазон диапазоны параметров.
рассчитать "центр масс"
привести координаты центра масс в исходные диапазоны параметров.
 
Andrey Dik #:

принять относительный диапазон, например - 1;1
привести в этот диапазон диапазоны параметров.
рассчитать "центр масс"
привести координаты центра масс в исходные диапазоны параметров.

Центр масс не брал бы. Просто координата лучшей точки.

 
Взял такую функцию.
input double X = 0;

double OnTester() { return(MathTan(X)); }

Какой-то непонятный результат. Если реализовать итерационное выкалывание, то предполагаю, можно найти много "скал".

Тангенс - неудачная ФФ, ТС-ФФ гораздо проще для выкалывания.

 
fxsaber #:

Центр масс не брал бы. Просто координата лучшей точки.

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