Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 337

 
tara:

Костыли, имхенько.
+
 

Добрый день!

А расскажите - как работают library в качестве набора используемых функций?

Т.е. при вызове функций из одной библиотеки в двух советниках, висящих на разных парах - для каждого советника будет грузиться и инициализироваться собственный инстанс library?

Или расчитывать на то, что те же (внутренние) переменные из library будут использоваться конкурентно?

Просто я собрал несколько функций в библиотеку (*.mqh не хочу), и эти функции используют переменные/массивы, объявленные в library, для хранения актуальных данных . Эти данные - общие для всех символов, но могут модифицироваться в случайное время любым из активных советников. При работе одного советника - все нормально, а при двух советниках - вылезают непонятные косяки (корявые данные), и у меня подозрение на кривой конкурентный доступ к переменным.

 
Mr.Profit:

Добрый день!

А расскажите - как работают library в качестве набора используемых функций?

Т.е. при вызове функций из одной библиотеки в двух советниках, висящих на разных парах - для каждого советника будет грузиться и инициализироваться собственный инстанс library?

Или расчитывать на то, что те же (внутренние) переменные из library будут использоваться конкурентно?

Просто я собрал несколько функций в библиотеку (*.mqh не хочу), и эти функции используют переменные/массивы, объявленные в library, для хранения актуальных данных . Эти данные - общие для всех символов, но могут модифицироваться в случайное время любым из активных советников. При работе одного советника - все нормально, а при двух советниках - вылезают непонятные косяки (корявые данные), и у меня подозрение на кривой конкурентный доступ к переменным.

Тут.
 

Как известно, нижняя строка терминала содержит следующую информацию, например:

Баланс: 211721,72 Средства: 101193,75 Залог: 55595,98 Свободно: 45481,77 Уровень: 181,81% -110643, 34 (примерно)

Однако у меня на одном из терминалов, на реальном центовом счете, выводятся только следующая информация, хотя имеются незакрытые позиции:

Баланс: 211721,72 Средсва: 101193,75 -110643,34

В чем может быть причина? Благодарю за внимание.

 
borilunad:

В тестере MarketInfo() не работает, а Bid и Ask тормозят и искажают. Потому по совету Xrust'a получаю их от iClose(NULL,0,0):


Столько уже всего написал, прогнал в тестере на предмет отсутствия ошибок логики, и ... только сейчас узнал, что MarketInfp() в тестере у меня оказывается не работает.

Что я так тщательно тогда проверяю? Как у меня всё работает?

Шайтан!!!

 
TarasBY:
Тут.


Спасибо.

А как это работает в случае одного советника, висящего на двух парах? Т.е. вызывающий модуль - один (expert.ex4) или два (два запущенных инстанса)?

 
Mr.Profit:


Спасибо.

А как это работает в случае одного советника, висящего на двух парах? Т.е. вызывающий модуль - один (expert.ex4) или два (два запущенных инстанса)?

В отличие от системных библиотек пользовательские библиотеки (MQL4) загружаются для каждого вызывающего модуля отдельно, независимо от того, была ли загружена вызываемая библиотека каким-либо другим модулем. Например, модуль caller.ex4 вызывает функции из библиотеки lib1.ex4 и lib2.ex4. В свою очередь, библиотека lib1.ex4 вызывает функции из библиотеки lib2.ex4. В этом случае будет загружена одна копия библиотеки lib1.ex4 и две копии библиотеки lib2.ex4, несмотря на то, что все вызовы исходят из модуля caller.ex4.
Для каждого советника (сколько бы их не висело на графиках) свой вызывающий модуль (файл советника).
 
Подскажите пожалуйста вот нашел индикатор MACD_Histogram.mq4 по ссылке https://www.mql5.com/ru/code где найти инструкцию к нему я в принципе понял что торговать можно по стрелочкам но хотелось бы знать еще что показывают остальные индикаторы в нем, если есть у кого то ссылка где можно почитать или посмотреть ответьте пожалуйста или на имейл Aleks-R-13@yandex.ru. Спасибо
 
TarasBY:
Для каждого советника (сколько бы их не висело на графиках) свой вызывающий модуль (файл советника).

Для окончательного прояснения непоняток написал тестового советника и библиотеку.

Советник просто выводит в Comment текущее значение переменной из библиотеки, плюс для EURUSD увеличивает значение переменной. Получение переменной и ее увеличение реализовано через функции библиотеки.

Как результат - Comment на EURUSD показывает изменяющееся значение, на другом символе - нет.

Так что правильно сказать, что для каждого инстанса (а не файла) советника грузится свой инстанс EX4-библиотеки.

 
tara:

Костыли, имхенько.
Плохие протезы хуже.
Причина обращения: