
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Время выполнения алгоритма ГА несоизмеримо мало, по сравнению с выполнением FF. Поэтому нет особого смысла ломать голову над ещё большим ускорением алгоритма, так же как и нет смысла переносить ГА в dll например.
Нужно стараться сократить количество запусков FF при требуемой точности результата. Для этого алгоритм имеет гибкие настройки. Кроме того, время поиска можно ещё уменьшить за счет совершенствования поисковых качеств ГА вообще и операторов в частности. Рекомендую исследовательский потенциал направить именно в этих направлениях.
Вроде dll теперь не будет быстрее mql 5.
Ладно, как напишу библиотеку проведу тесты, потом напишу что вышло))
Важное замечание к статье.
Не используйте параметры алгоритма
FFNormalizeDigits и GeneNormalizeDigits
Не нужно нормализовать значение фитнесс-функции и гены. Нормализация приводит к снижению поисковой способности алгоритма и увеличению количества запусков FF. Причем, чем больше знаков после запятой отбрасывается, тем сильнее проявляется негативное влияние на алгоритм.
Другими словами введение операции нормализации в алгоритм было ошибкой.
Не путать с операцией дискретизации управляемой параметром Precision!
Важное замечание к статье.
Не используйте параметры алгоритма
FFNormalizeDigits и GeneNormalizeDigits
Не нужно нормализовать значение фитнесс-функции и гены. Нормализация приводит к снижению поисковой способности алгоритма и увеличению количества запусков FF. Причем, чем больше знаков после запятой отбрасывается, тем сильнее проявляется негативное влияние на алгоритм.
Другими словами введение операции нормализации в алгоритм было ошибкой.
Не путать с операцией дискретизации управляемой параметром Precision!
Так в сомой библиотеке UGAlib тоже лучше убрать нормализацию или только в FF.
FFNormalizeDigits используется в FF для нормализации значения приспособленности а GeneNormalizeDigits используется в самом алгоритме для нормализации генов. И там и там нормализацию делать не нужно.
Понятно. Я конечно сам подправлю, но если не трудно выложи подправленную версию UGAlib.
Боюсь ошибок наделаю.
Большое спасибо автору за библиотеку!
Добавьте строчку "cnt++;" в цикле функции поиска родителей, а то может в вечный цикл уйти!
//Отбор двух родителей.
void SelectTwoParents
(
int &address_mama,
int &address_papa
)
{
//-----------------------Переменные-------------------------------------
int cnt=1;
address_mama=0;//адрес материнской особи в популяции
address_papa=0;//адрес отцовской особи в популяции
//----------------------------------------------------------------------
//----------------------------Отбор родителей--------------------------
//Десять попыток выбрать разных родителей.
while (cnt<=10)
{
//Для материнской особи
address_mama=NaturalSelection();
//Для отцовской особи
address_papa=NaturalSelection();
if (address_mama!=address_papa)
break;
cnt++;
}
//---------------------------------------------------------------------
}
Большое спасибо автору за библиотеку!
Добавьте строчку "cnt++;" в цикле функции поиска родителей, а то может в вечный цикл уйти!
Действительно, в некоторых случаях возможно возникновение ситуации, когда цикл может стать бесконечным - когда в популяции имеется только одна особь.
Спасибо за сообщение, в ближайшее время внесу изменения.
PS Скорее всего, я элементарно забыл вставить cnt++, Ведь для чего то же я ввел эту переменную. :)
Припоминается желание оформить цикл оператором for(), с тем, что бы можно было регулировать "настойчивость" поиска разных родителей, но потом передумал, не увидев в этом особого смысла.
@joo Возможно ли Вашу библиотеку использовать для подборки параметров индикаторов Ишимоку, МАКД и др?
Если бы Вы спросили: "Для каких трейдерских задач оптимизации невозможно использовать библиотеку?" - тогда бы я не знал, что ответить.
Конечно можно.