Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2290

 
Valeriy Yastremskiy #:

я про это и говорю, префикс различия по брокеру в имени файла. Но это вручную прописывать. Брокера можно узнать так же из ини файла в корне песочницы, но вот штатно его прочитать не получится. Остальное штатно получить можно.

А если по номеру счета?
 
Valeriy Yastremskiy #:
Брокера можно узнать так же из ини файла в корне песочницы, но вот штатно его прочитать не получится.
Print(TerminalInfoString(TERMINAL_COMPANY));

а так?

 
trader6_1 #:
Print(TerminalInfoString(TERMINAL_COMPANY));

Спасибо, работает. тока почему то на одном брокере вместо его названия метаквотов печатает. В общем если анализировать имя и папку терминала можно различить. В 4ке и 5ке наименование брокера одинаково.

 
Tretyakov Rostyslav #:
А если по номеру счета?

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

 
Print("ACCOUNT_COMPANY ", AccountInfoString(ACCOUNT_COMPANY));

там куча разных параметров...

 
Как ведёт себя функция FileOpen(...), если файл уже открыт? Возвращает хэндл этого файла или INVALID_HANDLE?
 
Konstantin Kulikov #:
Как ведёт себя функция FileOpen(...), если файл уже открыт? Возвращает хэндл этого файла или INVALID_HANDLE?

 Думаю выдаст код ошибки 5004.

 
Konstantin Kulikov #:
Как ведёт себя функция FileOpen(...), если файл уже открыт? Возвращает хэндл этого файла или INVALID_HANDLE?

Проверить-то несложно. Но лень. Думаю, если открыт с FILE_SHARE_READ и открываем так же, то может и новый хэндл того же файла вернуть. Если без - вероятно, будет ошибка.

 
JRandomTrader #:

Проверить-то несложно. Но лень. Думаю, если открыт с FILE_SHARE_READ и открываем так же, то может и новый хэндл того же файла вернуть. Если без - вероятно, будет ошибка.

Нет, открытие и чтение это разные вещи. Файл в винде может быть открыт только одной программой. Режим для пользователя открыть открытый кем то файл только для чтения это уже копия файла. Ошибку возвращает 5004. Не давно парился, в индикаторах вызванный из советника по айКьюстом файлы открываются, а вот ОнДеИнит индикатора в тестере не срабатывает и выгрузка индикатора в ОнДеИнит советника тоже.

Флаг для чтения не помог)))

 
trader6_1 #:

там куча разных параметров...

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

AccountInfoString(ACCOUNT_COMPANY)
Причина обращения: