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

 
ForexTools:

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

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

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

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

:)))))))

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

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




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

 
Научу за дорого решать этот вопрос при помощи глобальных переменных. Если ветку читать лень.
 
gip:
Научу за дорого решать этот вопрос при помощи глобальных переменных. Если ветку читать лень.

Решение Вадима самое шо ни на есть лучшее! нужно признать (:
 

Я уже все прочитал, осознал, понял, дотумкал. Кодить умею сам - посему сам справлюсь.

Всем спасибо, спасибо, спасибо...

 
ForexTools:

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

Оставлять метку в глобальной переменной наверно не сработает. Если у меня есть два присоединенных советника и я перекомпиливаю его текст, то неизвестно какой из них первым отработает свой инит в котором можно былобы создавать эту глобальную переменную.

Кто, что может подсказать? Есть какието мысли как это сделать?


вопрос интересный ))) но чтото никто не сказал про файл *.set который по уму прилагается к каждому советнику ))

уменя вариант такой есть советник один и тот же на пяти графиках и настроки разные на каждом графике; по умолчанию magicnum=0 и если magicnum=0 то советник ничего не делает return полный, работает после загруки *.set так как там свой magicnum... это решает проблему перекомпиляции, после неё настройки - по умолчанию а там magicnumer=0 и пока я не загружу Set ничегошеньки не будет. кидай на любой график и в любом количестве никаких лишних ордеров )) пока осознано не загрузишь .set Если перезагрузка терминала, то тоже пофигу либо по умолчанию что не страшно, либо всё тоже что и было каждая копия со своим set... вот гдето, так или вопрос был юморной?

 
SJS:


И правда все гениальное просто!

В варианте с объектом, от gip, разрешаешь торговлю, через создание объекта.

В варианте предложенном  SJS, разрешаешь торговлю, через подключение файла настроек (Можно просто менять false на true во внешней переменной отвечающей за торговлю).

В обоих вариантах присутствует ручное подтверждение старта советника. 

 
SJS:


вопрос интересный ))) но чтото никто не сказал про файл *.set который по уму прилагается к каждому советнику ))

А можно подробнее, где этот set искать?

Думаю файлы *.chr всё же перспективнее :)

 

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

если человек запрещает запуск второй копии, подгрузкой set файла - то это уже не дурак. он понимает что делает. в ЭТОМ случае достаточно просто глобальной переменной. точнее ДВУХ: первая - это наличие первого индикатора, вторая - наличие всех последующих инкарнаций. при наличии обеих переменных блокируется торговля на ВСЕХ экспертах и все они истошно ругаются. трейдер удаляет лишнее, оставляет только один, при необходимости прочищает все лишние глобалки и спокойно работает дальше. все! тема исчерпана (имхо).

 
ForexTools:

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

если человек запрещает запуск второй копии, подгрузкой set файла - то это уже не дурак. он понимает что делает. в ЭТОМ случае достаточно просто глобальной переменной. точнее ДВУХ: первая - это наличие первого индикатора, вторая - наличие всех последующих инкарнаций. при наличии обеих переменных блокируется торговля на ВСЕХ экспертах и все они истошно ругаются. трейдер удаляет лишнее, оставляет только один, при необходимости прочищает все лишние глобалки и спокойно работает дальше. все! тема исчерпана (имхо).

Плохое решение, требует от пользователя некоторой квалификации, хоть и минимальной
Причина обращения: