Возможно дело в том, что документация явно говорит:
Перед первым вызовом функции необходимо использовать функцию MathSrand, чтобы перевести генератор псевдослучайных чисел в начальное состояние.
Я пока не придумала, какое число в MathSrand поместить. Потому что, если делать так: MathSrand(GetTickCount()), то результат тот же.
Хмм, тогда не могли бы сам индикатор дать посмотреть (можно в личку)?
Чем-то значения настроек этих индикаторов различаются, иначе зачем их 2? Включите эту настройку (или неск настроек) в имя объекта вместо этого МатаРэнда
Этот индикатор - это алерт.
Вот индикатор один на графике.
Вот их два.
Я уже обошла проблему - создаю линию в init, и если уже на графике есть линия с таким же названием, то присваиваю другое имя.
Мне не придумать, как не создавая линию в init, чтобы у переменной LineName были разные значения.
Я пока не придумала, какое число в MathSrand поместить. Потому что, если делать так: MathSrand(GetTickCount()), то результат тот же.
GetTickCount()*MathSrand(1000)
Вначале обрадовалась вашей идее - решила проверить, не получилось.
Я уже по своему решила - перенесла создание имени из init в start.
Здорово! Не догадалась бы.
Я уже по своему решила - перенесла создание имени из init в start.
GetTickCount()*MathSrand(1000)
int умножить на void? О_о
Даже если имелось в виду
MathSrand(1000*GetTickCount());
То ничего не меняется - в момент инициализации GetTickCount() вернёт в двух индикаторах одинаковое значение, следовательно и GetTickCount()*1000 будет одинаковым.
К примеру, вывод такого кода:
int value = 1000*GetTickCount(); MathSrand(value); LineName = LineName + (string)TimeCurrent() + "_"+(string)MathRand() + "_"+(string)MathRand(); Print(value," ", LineName);
запущенного в двух экземплярах, при старте терминала будет таким:
int умножить на void? О_о
Даже если имелось в виду
То ничего не меняется - в момент инициализации GetTickCount() вернёт в двух индикаторах одинаковое значение, следовательно и GetTickCount()*1000 будет одинаковым.
К примеру, вывод такого кода:
запущенного в двух экземплярах, при старте терминала будет таким:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть индикатор Line_Sound, который создает трендовую линию с именем:
Если на график добавить еще индикатор Line_Sound, то на графике будет две линии, никакого конфликта.
Имена: HLine_Sound_1441373185_3692_23760 и HLine_Sound_1441373186_9757_27839
Но если же выключить и включить терминал, то при инициализации имена будут одинаковые!
Вот как так? В индикаторе, два раза помещенном на графике, два раза сработал одинаково рандом?