MetaTrader 5 Strategy Tester! - страница 48

 
Andrey Dik:

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

Извините, но это съезжание с темы в чистом виде. Задача - это строка из 49 символов, которые берутся из алфавита длиной 40. Какой это алфавит (кириллица, китайский, латиница и т.д.) - без разницы, с точки зрения алгоритмов и математики.

Если в этой строке

string Key [41] = {"а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", ";", ":", ".", ",", "-", "?", "!", " "};

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

 
fxsaber:
На графике это видно

~47 где-то на 23К итерации. Жаль, что файл латиницей для корректного сравнения не хотите создать. Результат Алексея с Вашим сравнивать нельзя - разные входы.

Может все же сделаете и график подобный заодно построите (через тот же GraphPlot)?

Ок, берём текст:

President-elect Donald Trump and the Republican-controlled Congress are drawing up plans to take on the government bureaucracy they have long railed against, by eroding job protections and grinding down benefits that federal workers have received for a generation. Hiring freezes, an end to automatic raises, a green light to fire poor performers, a ban on union business on the government’s dime and less generous pensions — these are the contours of the blueprint emerging under Republican control of Washington in January. These changes were once unthinkable to federal employees, their unions and their supporters in Congress. But Trump’s election as an outsider promising to shake up a system he told

Здесь 705 символов. Пробуйте. Советник к задаче есть, нужно правда input параметров добавить. Это уже не фантик, и вполне себе латиница.

А свой алго я Вам покажу в личке. 

 
Andrey Dik:

Полное решение 40000м обращении?

А какое решение получается на 23552м? именно столько обращений сделал МТ и мой алгоритм (я выбрал именно столько обращений. сколько в МТ что бы можно было сравнивать). 

Проверю. Нет проблем
 
Andrey Dik:

Ок, берём текст:

President-elect Donald Trump and the Republican-controlled Congress are drawing up plans to take on the government bureaucracy they have long railed against, by eroding job protections and grinding down benefits that federal workers have received for a generation. Hiring freezes, an end to automatic raises, a green light to fire poor performers, a ban on union business on the government’s dime and less generous pensions — these are the contours of the blueprint emerging under Republican control of Washington in January. These changes were once unthinkable to federal employees, their unions and their supporters in Congress. But Trump’s election as an outsider promising to shake up a system he told

Здесь 705 символов. Пробуйте. Советник к задаче есть, нужно правда input параметров добавить. Это уже не фантик, и вполне себе латиница.

А свой алго я Вам покажу в личке. 

Вот это поинтереснее.
 
Andrey Dik:

Ок, берём текст:

President-elect Donald Trump and the Republican-controlled Congress are drawing up plans to take on the government bureaucracy they have long railed against, by eroding job protections and grinding down benefits that federal workers have received for a generation. Hiring freezes, an end to automatic raises, a green light to fire poor performers, a ban on union business on the government’s dime and less generous pensions — these are the contours of the blueprint emerging under Republican control of Washington in January. These changes were once unthinkable to federal employees, their unions and their supporters in Congress. But Trump’s election as an outsider promising to shake up a system he told

Здесь 705 символов. Пробуйте. Советник к задаче есть, нужно правда input параметров добавить. Это уже не фантик, и вполне себе латиница.

Да, это отличный текст/тест! На R можно четко воспроизвести. Нужно еще привести строку алфавита, чтобы все совсем жестко было.
 
Andrey Dik:

При том. И Вы мне не тычте, пожалуйста.

История показывает, каким образом решалась эта задача с текстом на чемпионате, некоторые умудрялись решать за десяток другой обращений к ФФ зная что именно в тексте (в лоб), стоило изменить текст и ключ и их "алгоритмы" сыпались как карточный домик.

К примеру, текст такой "ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл", как думаете, быстро можно подобрать буквы в этом тексте? 

Клиника.
 
fxsaber:
Да, это отличный текст/тест! На R можно четко воспроизвести. Нужно еще привести строку алфавита, чтобы все совсем жестко было.
Ща, сделаю ключ, нужно только отсортировать текст и убрать дубликаты.
 
Alexey Burnakov:
Клиника.
Клиника просто глубокомысленно сказать "Клиника" и поставить точку. В чем по Вашему мнению заключается клиника?, тема "Клиника" вообще не раскрыта.
 
Andrey Dik:
Ща, сделаю ключ, нужно только отсортировать текст и убрать дубликаты.

MQL и R могут еще давать серьезные отличия из-за работы со строками.

Например, если сделать замену

// if(GetCode(param [i]) == StringSubstr(Code, i, 1))
if(GetCode(param [i]) == Code[i]) // новые возможности работы со строками

будет быстрее. Поэтому, предлагаю внутри MQL перед запуском ГА сделать предобработку, чтобы со строками совсем не иметь дело.

Строка "abcd" заменяется на целочисленный массив {0, 1, 2, 3}. Думаю, понятно.

Тогда условие выше станет супер-быстрым и не зависимым от реализации строк в MQL

if(MathRound(param[i]) == IntCode[i])

Если непонятно написал, то предъобработку сам добавлю в Ваш исходник.
 

 
Andrey Dik:
Ща, сделаю ключ, нужно только отсортировать текст и убрать дубликаты.
Не, фигня получится. Нужно брать в качестве ключа весь алфавит, включая прописные и строчные буквы, и знаки все знаки препинания включая пробел.