А оптимизацию можно проводить не с постоянными шагами?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
multiplicator
2371
multiplicator  

Мне нужно сделать оптимизацию по одному параметру.

В тестере первое значение 100, шаг 100, и последнее значение 400.

то есть параметр будет иметь вид 100, 200 , 300, 400.

А мне нужны параметры 100, 250 , 370 , 400.

Так вот, можно ли задавать свои значения параметров для оптимизации?


...
например, в коде советника массив с этими параметрами прописать.

Igor Zakharov
6651
Igor Zakharov  
multiplicator:

...

например, в коде советника массив с этими параметрами прописать.

в OnInit проверять и с помощью return(INIT_PARAMETERS_INCORRECT) остановить оптимизацию.

multiplicator
2371
multiplicator  
Igor Zakharov:

в OnInit проверять и с помощью return(INIT_PARAMETERS_INCORRECT) остановить оптимизацию.

то есть, прописать в массив значения параметра, с которыми я хочу оптимизировать,
в тестере в разделе оптимизация написать параметры: "от 100 до 400 , с шагом 1",
потом в OnInit проверять равен ли этот параметр какому-то из массива, и если не равен, то выходить из этого шага оптимизации?
multiplicator
2371
multiplicator  
Igor Zakharov:

в OnInit проверять и с помощью return(INIT_PARAMETERS_INCORRECT) остановить оптимизацию.

оно остановит всю оптимизацию, или перейдет к следующей проходке оптимизации?

Nikolay Kositsin
450214
Nikolay Kositsin  

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

multiplicator
2371
multiplicator  
Nikolay Kositsin:

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

как это?

где это делается?

в онините? типа при каждой проходке оптимизации другое значение с массива присваивать?
а есть функция, которая считает количество проходок оптимизации?
Nikolay Kositsin
450214
Nikolay Kositsin  
multiplicator:
как это?

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

multiplicator
2371
multiplicator  
Nikolay Kositsin:

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

а , понял, оптимизируем по параметру "индекс массива"

интересное решение.

а я что-то подумал , что так:

"в онините? типа при каждой проходке оптимизации другое значение с массива присваивать?
а есть функция, которая считает количество проходок оптимизации?"


но я не знаю какая функция считает количество проходов оптимизатора.

multiplicator
2371
multiplicator  
Igor Zakharov:

в OnInit проверять и с помощью return(INIT_PARAMETERS_INCORRECT) остановить оптимизацию.

INIT_PARAMETERS_INCORRECT

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

Тестирование для данного набора параметров эксперта не будет выполняться.

 
Что-то не подсвечивает красным цветом.

У всех так?


вот такой код в ОнИните:

int OnInit()
{

if (Koef2<=Koef) return(INIT_PARAMETERS_INCORRECT); 

return(INIT_SUCCEEDED);
}
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий