Symbol() не соответствует символу графика - страница 3

 
Mikhail Zaprudin:

Из-за большого количества экземпляров где-то происходило наложение по именам

Я вообще в эту сторону не думал, думал ресурс привязывается к графику и забыл что это не так

Добавил к имени ChartID()

Это происходит в момент старта терминала, у всех GetTickCount одинаковый.

А правку в канвасе (добавления ChartID) вроде уже сделали официально.

 
Andrey Khatimlianskii:

Это происходит в момент старта терминала, у всех GetTickCount одинаковый.

А правку в канвасе (добавления ChartID) вроде уже сделали официально.

Ну MathRand должен был добавить уникальности, но имеет свойство повторяться

Определенно, ценный опыт получился )

 
Mikhail Zaprudin:

Ну MathRand должен был добавить уникальности, но имеет свойство повторяться

Определенно, ценный опыт получился )

MathRand не даст уникальности при одинаковой точке отсчета. Это просто последовательность чисел.

 

https://www.mql5.com/ru/code/11077

CHighQualityRand - генератор случайных чисел высокой степени точности.

проверял работу, но не до конца разбирался с ним https://www.mql5.com/ru/forum/324066#comment_13500222

ALGLIB - библиотека численного анализа
ALGLIB - библиотека численного анализа
  • www.mql5.com
Реальный автор: Для работы нужно распаковать архив в папку: каталог_данных_терминала. Коды библиотеки размещаются в папке: каталог_данных_терминала\Math\Alglib\ Примеры тестовых скриптов можно найти в папке: каталог_данных_терминала\MQL4\Scripts\Alglib\ ALGLIB - одна из самых больших и полных математических библиотек Вам необходимо произвести...
 
Igor Makanu:

https://www.mql5.com/ru/code/11077

CHighQualityRand - генератор случайных чисел высокой степени точности.

проверял работу, но не до конца разбирался с ним https://www.mql5.com/ru/forum/324066#comment_13500222

При чем здесь точность? У любой последовательности есть начало. Если 2 советника берут число из одного места в последовательности, это будет одинаковое число.

 
Andrey Khatimlianskii:

При чем здесь точность? У любой последовательности есть начало. Если 2 советника берут число из одного места в последовательности, это будет одинаковое число.

точность это бОльший период до попадания на одинаковые псевдослучайные значения, все равно это будет больше чем rand()

пакет алглиб полностью не разбирал, но должна быть там инициализация  CHighQualityRandStateShell каким значением, можно тем же магик-номером или ChartID() ,хотя  в теории можно конечно предположить, что где то будет повтор значений

 
Igor Makanu:

точность это бОльший период до попадания на одинаковые псевдослучайные значения, все равно это будет больше чем rand()

пакет алглиб полностью не разбирал, но должна быть там инициализация  CHighQualityRandStateShell каким значением, можно тем же магик-номером или ChartID() ,хотя  в теории можно конечно предположить, что где то будет повтор значений

Нет повтора. Есть первое значение, и оно совпадает. Для последовательности любой длины )

Именно об инициализации с использованием ChartID и шла речь, с ним проблем нет.

 
Igor Makanu:

Вы понимаете, что если внезапно перестала  работать   функция Symbol() - то все и у всех просто "рухнуло" ?

тут 2 варианта:

- ищите ошибку в коде у себя, рапринтуйте все что только можно

- Вы переключили счет или брокера, и не прекращали корректно работу своего кода, тогда будут непонятные и не воспроизводимые баги .... тут кстати, если у Вас глобально описаннеы переменные, то они инициализируются при запуске один раз, в случае переключения ТФ или символа или другого счета, нужно это обрабатывать в OnInit() / OnDeinit() иначе глобально описанные переменные не изменят свои значения

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

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