Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 337
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Костыли, имхенько.
Добрый день!
А расскажите - как работают library в качестве набора используемых функций?
Т.е. при вызове функций из одной библиотеки в двух советниках, висящих на разных парах - для каждого советника будет грузиться и инициализироваться собственный инстанс library?
Или расчитывать на то, что те же (внутренние) переменные из library будут использоваться конкурентно?
Просто я собрал несколько функций в библиотеку (*.mqh не хочу), и эти функции используют переменные/массивы, объявленные в library, для хранения актуальных данных . Эти данные - общие для всех символов, но могут модифицироваться в случайное время любым из активных советников. При работе одного советника - все нормально, а при двух советниках - вылезают непонятные косяки (корявые данные), и у меня подозрение на кривой конкурентный доступ к переменным.
Добрый день!
А расскажите - как работают library в качестве набора используемых функций?
Т.е. при вызове функций из одной библиотеки в двух советниках, висящих на разных парах - для каждого советника будет грузиться и инициализироваться собственный инстанс library?
Или расчитывать на то, что те же (внутренние) переменные из library будут использоваться конкурентно?
Просто я собрал несколько функций в библиотеку (*.mqh не хочу), и эти функции используют переменные/массивы, объявленные в library, для хранения актуальных данных . Эти данные - общие для всех символов, но могут модифицироваться в случайное время любым из активных советников. При работе одного советника - все нормально, а при двух советниках - вылезают непонятные косяки (корявые данные), и у меня подозрение на кривой конкурентный доступ к переменным.
Как известно, нижняя строка терминала содержит следующую информацию, например:
Баланс: 211721,72 Средства: 101193,75 Залог: 55595,98 Свободно: 45481,77 Уровень: 181,81% -110643, 34 (примерно)
Однако у меня на одном из терминалов, на реальном центовом счете, выводятся только следующая информация, хотя имеются незакрытые позиции:
Баланс: 211721,72 Средсва: 101193,75 -110643,34
В чем может быть причина? Благодарю за внимание.
В тестере MarketInfo() не работает, а Bid и Ask тормозят и искажают. Потому по совету Xrust'a получаю их от iClose(NULL,0,0):
Столько уже всего написал, прогнал в тестере на предмет отсутствия ошибок логики, и ... только сейчас узнал, что MarketInfp() в тестере у меня оказывается не работает.
Что я так тщательно тогда проверяю? Как у меня всё работает?
Шайтан!!!
Тут.
Спасибо.
А как это работает в случае одного советника, висящего на двух парах? Т.е. вызывающий модуль - один (expert.ex4) или два (два запущенных инстанса)?
Спасибо.
А как это работает в случае одного советника, висящего на двух парах? Т.е. вызывающий модуль - один (expert.ex4) или два (два запущенных инстанса)?
Для каждого советника (сколько бы их не висело на графиках) свой вызывающий модуль (файл советника).
Для окончательного прояснения непоняток написал тестового советника и библиотеку.
Советник просто выводит в Comment текущее значение переменной из библиотеки, плюс для EURUSD увеличивает значение переменной. Получение переменной и ее увеличение реализовано через функции библиотеки.
Как результат - Comment на EURUSD показывает изменяющееся значение, на другом символе - нет.
Так что правильно сказать, что для каждого инстанса (а не файла) советника грузится свой инстанс EX4-библиотеки.
Костыли, имхенько.