trajor писал (а):
Здравствуйте, совсем недавно занимаюсь mql, хотел спросить есть ли какая то процедура, позволяющая генерировать уникальный порядковый номер объекта? Просто я заметил, когда вручную создаешь какие-либо объекты, то у них свои пятизначные числа.
И еще, кто-нибудь может подсказать, если нужно знать информацию о расположении зигзагов, то это решается только с помощью копирования кода этого индикатора, а затем нужно взять из его выходного массива нужные значения? А нет ли более изящного метода?
Здравствуйте, совсем недавно занимаюсь mql, хотел спросить есть ли какая то процедура, позволяющая генерировать уникальный порядковый номер объекта? Просто я заметил, когда вручную создаешь какие-либо объекты, то у них свои пятизначные числа.
И еще, кто-нибудь может подсказать, если нужно знать информацию о расположении зигзагов, то это решается только с помощью копирования кода этого индикатора, а затем нужно взять из его выходного массива нужные значения? А нет ли более изящного метода?
1. Есть процедура:
int GetTickCount( )Функция GetTickCount() возвращает количество миллисекунд, прошедших с момента старта системы. Счетчик ограничен разрешающей способностью системного таймера. Так как время хранится как беззнаковое целое, то он переполняется каждые 49.7 дней.
2. Есть метод:
double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)Расчет указанного пользовательского индикатора. Пользовательский индикатор должен быть скомпилирован (файл с расширением EX4) и находиться в директории каталог_терминала\experts\indicators.
trajor писал (а):
Спасибо, про iCustom все предельно ясно, по поводу GetTickCount мы просто берем это число, вставляем в имя и надеемся, что не выпадет такого варианта, что имена совпадут за эти 49.7 дней?
Ну да. Правда, есть вероятность, что число миллисекунд не изменится между двумя вызовами подряд. Можно просто писать в глобальную переменную увеличиваемые на 1-цу значения, и брать текущее.
trajor писал (а):
..по поводу GetTickCount мы просто берем это число, вставляем в имя и надеемся, что не выпадет такого варианта, что имена совпадут за эти 49.7 дней?
Можно попробовать так:
double T = TimeCurrent(); string Name = "Obj_" + DoubleToStr(T,0);
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
И еще, кто-нибудь может подсказать, если нужно знать информацию о расположении зигзагов, то это решается только с помощью копирования кода этого индикатора, а затем нужно взять из его выходного массива нужные значения? А нет ли более изящного метода?
Спасибо.