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

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

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

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

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

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

Alexey Subbotin
4970
Alexey Subbotin  
Zhunko:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Freelance
1234
Freelance  

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

;)

Vadim Zhunko
5136
Vadim Zhunko  
FreeLance:

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

;)

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