Ну перекомпиляция костыльно, но решаема, а вот что делать в случае перезапуска терминала...
А глобальные переменные плохо, т.к. если терминал слетит, предварительно записав глобальные переменные в файл, потом все сломается.
Как альтернатива, можно держать хэндл чего-нибудь.
TheXpert:
....чего-нибудь
а просто не цеплять советник дважды к графику, это невыполнимо?
мне нужны ГАРАНТИИ что ни я ни кто другой этого не сделают ни случайно ни преднамеренно ;)
представьте: советник получает "внешние" команды на открытие ордеров. даже одна лишняя копия - это (теоретически) еще один лишний ордер. я такого не хочу даже случайно получить.
вот в этом-то и вопрос :((
Да нет, это уже детали реализации, основная проблема в перезагрузке и перекомпиляции.
О, есть тема, только надо проверить -- восстанавливается ли советник при перезапуске и перекомпиляции, если до это вылетел, например, по делению на 0?
Если нет, это способ.
Да нет, это уже детали реализации, основная проблема в перезагрузке и перекомпиляции.
При перекомпиляции проблема не должна возникать.
При перекомпиляции проблема не должна возникать.
это как жеж? допустим у нас три копии эксперта (без всяких фишек - просто так чистых). вы его перекомпилировали. в терминал ушла "команда". эксперты начали инитися.... в каком порядке они переинитятся?
это как жеж? допустим у нас три копии эксперта (без всяких фишек - просто так чистых). вы его перекомпилировали. в терминал ушла "команда". эксперты начали инитися.... в каком порядке они переинитятся?
это как жеж? допустим у нас три копии эксперта (без всяких фишек - просто так чистых). вы его перекомпилировали. в терминал ушла "команда". эксперты начали инитися.... в каком порядке они переинитятся?
А Вы не исключаете наличие одинаковых графиков? Т.е. должна ли обрабатываться ситуация старта советника на 2-х графиках с одинаковым символом и одинаковым периодом?
тогда получается что кто-то один из них торговал, но после перезагрузки право на лидерство получит другой, а первый это право утратит, и какая разница, если они одинаковые? главное чтобы один торговал. Используй глобальную переменную и все. В функции инит напиши случайное ожидание для каждого эксперта sleep(), тот кто первый проснется, считает глобальную переменную и удалит, при деините снова восстановит. Кто первый считал и удалил тот и будет работать. Короче генерируешь случайное число для sleep()
Кстати, да. Если недопустимо использование 2-х экземпляров советника, следовательно не имеет значения какой советник стартанётся первым.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Нужно сделать так чтобы советник работал только в "одном экземпляре". Т.е. присоединяю первый раз к любому чарту и он рабочий. Если я потом случайно или намеренно присоединю его еще раз к другому чарту, второе присоединение должно опознать что уже есть запущенный и ничего не делать.
Оставлять метку в глобальной переменной наверно не сработает. Если у меня есть два присоединенных советника и я перекомпиливаю его текст, то неизвестно какой из них первым отработает свой инит в котором можно былобы создавать эту глобальную переменную.
Кто, что может подсказать? Есть какието мысли как это сделать?