Как обеспечить работу эксперта только на том чарте куда он был сброшен первый раз - страница 6

 

ForexTools:

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

Только глобальную переменную заменить чем понадежнее. А так вроде похоже.
 
sanyooooook:
При падении терминала, графические объекты созданные в последней сессии не сохраняются. Поправьте, если не прав.


Да, не сохраняются. Но тут постановка задачи не полная. Нужно уточнять. 

Если, например, нужно связать индикаторы - советник, то графический объект должны создавать индикаторы. Будет устойчивая к сбоям связка.

Если же нужно привязать просто к конкретному окну, скажем к определенному таймфрейму, то нужно дополнительно в качестве идентифицирующего признака использовать этот признак - таймфрейм.

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

 
sanyooooook:
При падении терминала...

ну в ЭТОМ случае вообще ничего не гарантировано.

в принципе - решение с объектом меткой и глобальной переменной нормальное, с хорошей подстраховкой. оно не позволит запустится второй раз, ну а я уж поругаюсь сообщениями так чтобы я не забыл его удалить и второй раз ни при падениях ни при перезагрузке терминала не было двух копий ;)

 
TheXpert:
Только глобальную переменную заменить чем понадежнее. А так вроде похоже.

  Чем вам не нравятся глобальные переменные? Ну бывает они пропадают :) Даже будучи перезаписываемыми :))) Ну что вы хотите, такое изделие, наколенной лепки. Просто нужно учитывать это в алгоритме. Файлы кстати тоже могут пропадать при сбоях файловой системы.
 

Вариант 1 (для вменяемых пользователей): На запуске эксперта создавать глобальную переменую. Если на запуске обнаружена глобальная переменная, открывается окно сообщения "Тра ля ля... эксперт заблокирован, допускает один экземпляр, снимите лишний".

Вариант 2 (если услуги программирования оказываются пациентам психиатричекой клиники):  PostMessageA(,WM_CLOSE,,); - убить окно с лишним экспертом.

 

Integer:

Вариант 2 (если услуги прграммирования оказываются пациентам психиатричекой клиники): PostMessageA(,WM_CLOSE,,); - убить окно с лишним экспертом.

Слишком жестоко -- проще советники сделать в виде зацикленного скрипта -- эффект тот же. Блин, тогда перезапускать ручками придется... Все равно закрывать слишком жестоко :)
 
ForexTools:

Потому что мне нужна именно "рекомендация решения". именно это я просил в своем первом посте - поэтому и вашу идею воспринял именно так.

именно поэтому состоятельность многих "идей" вижу даже ДОТОГО как их..... ;)

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

То есть вы предлагаете мне на вас поработать. А почему не называете цену?
 
TheXpert:
Слишком жестоко -- проще советники сделать в виде зацикленного скрипта -- эффект тот же. Блин, тогда перезапускать ручками придется... Все равно закрывать слишком жестоко :)


Закрывается оно конечно  жестко, но ведь закрывается:)

 
Integer:
если услуги программирования оказываются пациентам психиатричекой клиники

:)))))))

но тем не менее: создали глобальную переменную, второй запуск эксперта проверил ее наличие - не запустился. через минуту терминал упал но: глобальная переменная осталась.

при перезапуске терминала одна единственная копия проверяет ее наличие и НЕ запускается. так что объект на чарте все таки нужен чтобы опознать "свой чарт" и запуститься.

 
Candid:
То есть вы предлагаете мне на вас поработать. А почему не называете цену?

Расслабьтесь ;)

на этом форуме я общаюсь с КОЛЛЕГАМИ по ремеслу. кто считает возможным мне помочь - помогает. кто хочет за свою помощь денег - пишет об этом и я решаю стоит мне платить или нет. были случаи (и неоднократно) когда я платил.

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

Причина обращения: