Ошибки, баги, вопросы - страница 3534

 
Artyom Trishkin #:

А права доступа к папке, в которую файл пишете, каковы?

Как я понял, оба файла пишутся в одну и туже папку, один файл успешно пишется, а другой нет. Поэтому, похоже, дело не в правах папки.
 
Artyom Trishkin #:

А права доступа к папке, в которую файл пишете, каковы?

У меня в эту папку без проблем пишутся файлы в OnTester, не пишутся только в OnTesterInit. Так что права в порядке. /

 

объяснимо, но неудобно:

const string CURRENCY_NAMES[]={
   "USD",
   "EUR",
   "GBP",
   "CHF",
   "AUD",
   "NZD",
   "CAD",
   "JPY"
};
const int TOTAL_CURRENCYS=ArraySize(CURRENCY_NAMES);

#property indicator_separate_window

//#property indicator_buffers (1+TOTAL_CURRENCYS) // '+' - constant expected
#property indicator_buffers (1+ArraySize(CURRENCY_NAMES)) // ok

с const expr ok, а c const value ошибка :-)

 

Немного прояснил ситуацию с OnTesterInit - он действительно просто не выполняется вообще.

Пишу int OnTesterInit() { return -1; } - оптимизация всё равно стартует, хотя не должна. Имя функции корректно, и никаких предупреждений типа "'OnTesterInit' function declared with wrong type or/and parameters" при компиляции не выдаёт.

Был бы признателен за совет, что ещё можно с этим сделать. /
 
Quantum_Logic #:

Немного прояснил ситуацию с OnTesterInit - он действительно просто не выполняется вообще.

Пишу int OnTesterInit() { return -1; } - оптимизация всё равно стартует, хотя не должна. Имя функции корректно, и никаких предупреждений типа "'OnTesterInit' function declared with wrong type or/and parameters" при компиляции не выдаёт.

Был бы признателен за совет, что ещё можно с этим сделать. /
На всякий случай уточню, помните ли вы, что вывод в лог по из OnTesterInit() надо смотреть не в журнале тестера, а в журнале экспертов терминала?
Будет ли туда что-то выводиться функцией Print() из OnTesterInit()?
 
Quantum_Logic #:

Немного прояснил ситуацию с OnTesterInit - он действительно просто не выполняется вообще.

Пишу int OnTesterInit() { return -1; } - оптимизация всё равно стартует, хотя не должна. Имя функции корректно, и никаких предупреждений типа "'OnTesterInit' function declared with wrong type or/and parameters" при компиляции не выдаёт.

Был бы признателен за совет, что ещё можно с этим сделать. /

Почему не должна стартовать? Должна.

В справке написано так:

"Функция должна быть определена с типом void, параметров не имеет."

 
Yuriy Bykov #:
На всякий случай уточню, помните ли вы, что вывод в лог по из OnTesterInit() надо смотреть не в журнале тестера, а в журнале экспертов терминала?
Будет ли туда что-то выводиться функцией Print() из OnTesterInit()?

Благодарю, этот совет помог на 100% и даже больше. ) (Нет, это я напрочь упустил, думал, из OnTesterInit получится передать информацию только через файл или return значение). Собственно, вывод о том, работает или нет делал, просто глядя, запустилась оптимизация после возврата ненулевого значения или нет.

В общем, результат: строка из Print появилась, и вот теперь сразу было видно, что OnTesterInit работает: return -1 остановило оптимизацию, никаких тестовых прогонов не было. После этого откомпилировал свой основной эксперт, на котором изначально столкнулся с проблемой (для начала просто пересобрал, не добавляя Print). Всё сразу заработало как надо. (?!) Убрал Print в тестовом эксперте - а всё равно теперь работает. Прэлестно.

Н-да, выглядит странно. Но я определённо нахожусь в здравом уме и весьма уверен, что все эти дни проблема вполне себе существовала. Кстати, проверил в MT4, что с тем же тестовым экспертом - там ошибка повторяется как ни в чём не бывало,  int OnTesterInit() { return -1; } не прекращает оптимизацию. Пробовать добавлять Print пока не стал - вдруг волшебство снова растает.

 
Quantum_Logic #:

В общем, результат: строка из Print появилась, и вот теперь сразу было видно, что OnTesterInit работает: return -1 остановило оптимизацию, никаких тестовых прогонов не было. 

Это что ж такое деется то товарищи?

Справка нам опять не всё договаривает.

Так всё таки "Функция должна быть определена с типом void, параметров не имеет."   или можно с параметрами???

 
Aleksandr Slavskii #:

Это что ж такое деется то товарищи?

Справка нам опять не всё договаривает.

Так всё таки "Функция должна быть определена с типом void, параметров не имеет."   или можно с параметрами???

В справке сказано "The version without a result return is left only for compatibility with old codes". (У меня в основном эксперте используется как раз void, (теперь) срабатывает без проблем)

Ну а если добавить какие-то параметры, будет предупреждение  "'OnTesterInit' function declared with wrong type or/and parameters". Видимо, в этом случае компилятор на законных основаниях будет считать OnTesterInit обычной сторонней функцией.

 
Quantum_Logic #:
The version without a result return is left only for compatibility with old codes

дышрвнг


Господа разработчики, внесите актуальные данные и в русскую версию справки. 

Please.