Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я не знаю, какую версию MT4 вы используете, но на v616 на моем компьютере WindowFind() возвращает -1 во время OnInit(). В документации всегда говорилось: "WindowFind() возвращает -1, если пользовательский индикатор ищет сам себя во время работы функции init()."
Моя версия - 610.
о боже мой... каждое обновление кажется все более плохим и более плохим... не становится лучше.
У меня был индикатор FFcalendar.
Я восстановил его в версии 604... и он работал хорошо.
Когда я обновился до 610... и скомпилировал его снова... он снова стал ошибаться...
так что я сдался... и скомпилировал снова с версией 509... хахаха (потому что моя версия 604 исчезла).
Ой, простите. Вы правы насчет WindowsFind retun -1.
он появляется только после того, как я прикрепляю этот инди... затем я меняю TF... но результат все еще уникальный
Я знаю, что это сообщение ОЧЕНЬ старое, но вот как я решаю проблему уникального имени экземпляра. Я использую комбинацию GetTickCount() вместе с глобальным хранением переменных терминала. Это также работает при разных загрузках экземпляра.
А затем просто вызываю ее в OnInit() следующим образом:
Пока все работает правильно.
Большое спасибо. Эта функция решила действительно большую проблему для меня.
Я знаю, что это сообщение ОЧЕНЬ старое, но вот как я решаю проблему уникального имени экземпляра. Я использую комбинацию GetTickCount() вместе с глобальным хранением переменных терминала. Это также работает при разных загрузках экземпляра.
А затем просто вызываю ее в OnInit() следующим образом:
Пока все работает правильно.
Я знаю, что это сообщение ОЧЕНЬ старое, но вот как я решаю проблему уникального имени экземпляра. Я использую комбинацию GetTickCount() вместе с глобальным хранением переменных терминала. Это также работает при разных загрузках экземпляра.
А затем просто вызываю ее в OnInit() следующим образом:
Пока все работает правильно.
Рабочее решение, спасибо!
Позвольте и мне внести свои 5 копеек. ;)
Ваш вариант рабочий, но менее производительный. Например последовательный вызов функции в цикле 1000 раз занимает 10 секунд. Т.е. максимальная скорость генерации id-шников - это 100 в секунду. Если кому-то нужна более высокая пропускная способность, то можно использовать вот такой вариант. По сути тоже самое, только GetTickCount() заменён на GetMicrosecondCount(). Данная функция генерирует 1 миллион уникальных идентификаторов за ~1438 миллисекунд. Т.е. её скорость ~695410 в секунду.