Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Дано:
В функции init() советника инициализируется MQL-евский генератор ПСП: MathSrand(...). При запуске терминала из шаблона подгружаются несколько (для определенности, пускай три) копии советника. Загрузка происходит быстро, поэтому велика вероятность (на самом деле, почти всегда так и есть) того, что функции TimeLocal() и TimeCurrent() выдают одинаковые значения во всех копиях.
Вопрос:
Какими ухищрениями добиться того, чтобы ГПСЧ инициализировался в разных копиях советника разными числами? Другими словами, где (с минимальными затратами на программирование) добыть элемент случайности?
Дано:
В функции init() советника инициализируется MQL-евский генератор ПСП: MathSrand(...). При запуске терминала из шаблона подгружаются несколько (для определенности, пускай три) копии советника. Загрузка происходит быстро, поэтому велика вероятность (на самом деле, почти всегда так и есть) того, что функции TimeLocal() и TimeCurrent() выдают одинаковые значения во всех копиях.
Вопрос:
Какими ухищрениями добиться того, чтобы ГПСЧ инициализировался в разных копиях советника разными числами? Другими словами, где (с минимальными затратами на программирование) добыть элемент случайности?
GetTickCount ?
может попереть, но не факт...
миллисекунда для программы может быть целой вечностью))
может попереть, но не факт...
вариант 2 - с помощью глобальных переменных создать "семафоры", для последовательной инициализации экспертов.
Вопрос по получению строк из dll в mql.
функция mysql_fetch_row из libmysql.dll возвращает тип MYSQL_ROW
Этот тип определен как: typedef char** MYSQL_ROW
как добраться до этого возвращаемого массива строк?
Размеры массива известны?
но длина каждой строки нет.
в том примере по ссылке есть еще одна фигня - получение указателя *lengths.
Получается тоже массив... но как до него добраться...
вот что получается в MQL при простом передаче результата mysql_fetch_row на string
p0ƒu0ƒ;1;a
где
p0ƒu0ƒ - я так понял адрес (8 байт) нужной строки
;1;a - это её полезные данные
если же присвоить на int, то будет вместо p0ƒ адрес 42152040
Если указатель на строку не меняется в процессе работы программы, можно возвращать указатель на строку без копирования в буфер.
то есть в MQL никак? даже MQL5 ?
Если указатель на строку не меняется в процессе работы программы, можно возвращать указатель на строку без копирования в буфер.
просто