Я перепробовал ВСЁ!

 

как объявить переменную, чтобы в оптимизаторе (при каждом новом прогоне) работать не с ее копией а с ней самой?

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

ПОМОГИТЕ!!!

 

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

Можно придумать какой-нибудь костыль - например, в советнике только единственная инпут переменная (номер прохода), а остальные вычисляются исходя из её значения.

Ну, или вполне возможно, что подобная задача легко решается через какую-нибудь библиотеку fxsaber`а)

 

Aleksey Nikolayev:

... вполне возможно, что подобная задача легко решается через какую-нибудь библиотеку fxsaber`а)

такое решается не в слепую

по крайней мере надо показать - каким образом объявлена переменная в коде

 
После прогона оптимизатора записываешь результат оптимизируемой переменной в файл.
Далее отбираешь нужные и читаешь их из файла подставляя в рабочую переменную.
 
Anatolii Zainchkovskii:
После прогона оптимизатора записываешь результат оптимизируемой переменной в файл.
Далее отбираешь нужные и читаешь их из файла подставляя в рабочую переменную.

Так себе метод. Из-за параллельности и разделяемости файла иногда некоторые проходы выпадают (флаг разделяемости файла не всегда помогает).

Лучше писать в .opt файл с использованием соответствующей библиотеки fxsaber`а

Ну, или просто брать отчёт об оптимизации в формате XML и открывать его в екселе - номера проходов там есть.
 
stani-davydov Давыдов:

как объявить переменную, чтобы в оптимизаторе (при каждом новом прогоне) работать не с ее копией а с ней самой?

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

ПОМОГИТЕ!!!

объявите её вне инита

extern double parameter=1.0;

int OnInit()
{
....
   return(INIT_SUCCEEDED);
}

...