Да что ж это творится то??? - страница 7

 

Если SHARE_READ решило проблему, значит вы из параллельных копий эксперта открывали именно один и тот же файл.

И ваше утверждение «нет совместного доступа» было ложным, как я и указал выше.

В общем, страшно за вас.

 
Renat Fatkhullin:

Если SHARE_READ решило проблему, значит вы из параллельных копий эксперта открывали именно один и тот же файл.

И ваше утверждение «нет совместного доступа» было ложным, как я и указал выше.

В общем, страшно за вас.

Я не совсем Вас понял.

Параллельные копии эксперта появились в оптимизаторе. Логично ожидать, что оптимизатор сделает и параллельные копии файлов, к которым эти эксперты обращаются.

Самому моему советнику SHARE_READ совершенно не нужен априори. Поэтому получается что? Если эксперт работает с файлом, то специально для оптимизатора нужно "шарить".

Я это учту, но, по моему, это не правильно. )))

 
Сергей Таболин:

Логично ожидать, что оптимизатор сделает и параллельные копии файлов, к которым эти эксперты обращаются.
Страшно за вас.
 
Renat Fatkhullin:
Страшно за вас.

Да перестаньте )))

Просто в документации пропишите "при обращении эксперта к файлу, для оптимизации оного SHARE_READ обязательна!"

 
Andrey Dik:

полагаете, что глобальная переменная советника сохраняет своё значение при прошлых запусках оптимизатора и переносится в следующие? данунах.

Ага,  Andrey F. Zelinsky,  всё верно сказал. при оптимизации всё что инициализировано глобально (не в OnInit) - инициализируется единственный раз.

p/s/ причина проблемы ТС улыбнула - Нейросети, ИИ и пр... а работа с файлами значит не важна ))

 
Aleksey Mavrin:

Ага,  Andrey F. Zelinsky,  всё верно сказал. при оптимизации всё что инициализировано глобально (не в OnInit) - инициализируется единственный раз.

p/s/ причина проблемы ТС улыбнула - Нейросети, ИИ и пр... а работа с файлами значит не важна ))

и на старуху бывает проруха.

 

Уважаемые, просто к слову, ведь никто, для кого работа с файлами важна, до момента моей распечатки тоже не предположил, что проблема может быть в этом ;) :) Ну да ладно, разобрались.

Теперь вопрос отвлечённый: чем отличаются следующие строки?

   filename = "ERR_dir\\"+filename+(MQLInfoInteger(MQL_OPTIMIZATION) ? ".opt" : ".tst");
   filename = "ERR_dir\\"+filename+(MQLInfoInteger(MQL_TESTER) ? ".tst" : ".opt");

И, если можно, пояснения - почему?

 

если файл пишется в COMMON, то у него обязана быть SHARE_READ и довольно непростой контроль за гонкам по записи. Это как-бы прилично, не стрелять в пятку на публике.

Вообще хорошей практикой является что советники ничего не пишут в common. Читать-читают, а вот записывает или копирует туда лично трейдер под персональную ответственность. Для всех советников всех терминалов это слова данные им свыше.

в случае если файл пишется в обычный каталог без SHARE_XXX, но в оптимизаторе возникают ошибки совместного доступа, то это баг разработчиков терминала
 
Тестировать можно без оптимизации.
 
Сергей Таболин:

Уважаемые, просто к слову, ведь никто, для кого работа с файлами важна, до момента моей распечатки тоже не предположил, что проблема может быть в этом ;) :) Ну да ладно, разобрались.

Теперь вопрос отвлечённый: чем отличаются следующие строки?

И, если можно, пояснения - почему?


во втором случае будет всегда выдавать .tst