Любые вопросы от ПРОФИ к СУПЕРПРОФИ - 1. - страница 12

 
TheXpert:
Если возникают проблемы с удалением синглтона, скорее всего он неверно используется. Хотя синглтоны тоже разные бывают, взять к примеру феникс.
на том и порешили)
 
Синглетоны? Удалять? Smart pointer в помощь.
Например, мой любимый shared ptr.
Хотя для длль, наверное, это не самый лучший способ.
У меня в С++ указатели не используются.
Также как выделение памяти, вызовы WinAPI и проч.
.
Или можно завести специальную функцию типа killInstance();
.
Вадиму смог посоветовать синглетоны потому, что
сам решал проблему инициализации.
Другого способа /С++/ нормально инициализировать
глобальные инстансы нет.
.
Подсмотрел в инете у кого-то.
 
Ага, вот значит какой Андрей, подумал на другого. Понаразводилось тут нас...
 
TheXpert:

Дедлок по симптомам. Видимо при запуске из удаленного процесса терминал не успевает выполнить какую-то процедуру. Возможно скрипт запускается не из того потока.

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

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

Теперь проблема из первого поста этой темы решена. Дело было в неправильной, несвоевременной инициализации классов.

 
Zhunko:

... вернулся к главному проекту...

надеюсь впоследствии поглазеть на вашу конструкцию хотя бы в виде блок-схем или скриншотов: подивиться, так сказать)))
 
alsu:
надеюсь впоследствии поглазеть на вашу конструкцию хотя бы в виде блок-схем или скриншотов: подивиться, так сказать)))

:-)) Да, ничего осбенного. Этот проект тоже является подпроектом.

Это консольное приложение, которое всего лишь, с помощью МТ4 загружает/подгружает историю по таймеру независимо от основного терминала (боевого).

Основная функция этого приложения уже работает. Осталось сделать синтез нестандартных ТФ для расчёта весовых коэффициентов индексов валют.

Создание нестандартных ТФ и расчёт весовых коеффициентов и пополнение ими БД происходит в дополнительных потоках независимо от подкачки котировок.

Консольное приложение:

1. Создаёт, если нет, каталог - копию корневого каталога МТ4 в нём самом.

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

Т.е., фактически, работа идёт с оригиналами файлов основного МТ4.

3. Запускает МТ4 из нового каталога.

4. Переключает инструменты и ТФ, обновляя графики.

5. Закрывает МТ4, чтобы он сохранил всё подкаченное в файлы истории.

6. Ждёт завершения процесса МТ4.

7. Запускает создание нестандартных ТФ.

8. Запускает поток с расчётом и сохранением весовых коэффициентов.

9. По таймеру всё снова.

 
правильно ли будет сказать, что обходные маневры организованы главным образом ради пункта 5?
 
alsu:
правильно ли будет сказать, что обходные маневры организованы главным образом ради пункта 5?

Всё это в основном для повышения надёжности торговли в основном терминале. Подкачка всех инструментов переполняет память МТ4. Он в таком режиме работает не надёжно.

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

Возможно, для торговли будет третий терминал.

 

А можна тупой вопрос - как узнать, какие из окон графиков терминала счас видимы пользователю?

;)

 
FreeLance:

А можна тупой вопрос - как узнать, какие из окон графиков терминала счас видимы пользователю?

;)

Перебрать все окна графиков и проверить каждое из них на полный разворот и активность. Если такое есть, то видно одно это окно, если нет, то видны все. Это без учёта Z-последовательности.
Причина обращения: