Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 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.
Для каждого советника (сколько бы их не висело на графиках) свой вызывающий модуль (файл советника).
[Deleted]  
Подскажите пожалуйста вот нашел индикатор MACD_Histogram.mq4 по ссылке https://www.mql5.com/ru/code где найти инструкцию к нему я в принципе понял что торговать можно по стрелочкам но хотелось бы знать еще что показывают остальные индикаторы в нем, если есть у кого то ссылка где можно почитать или посмотреть ответьте пожалуйста или на имейл Aleks-R-13@yandex.ru. Спасибо
 
TarasBY:
Для каждого советника (сколько бы их не висело на графиках) свой вызывающий модуль (файл советника).

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

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

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

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

 
tara:

Костыли, имхенько.
Плохие протезы хуже.