iCustom - как избежать перегрузки уже загруженного индикатора? - страница 3

 

Уважаемый Integer, а я про "загружать еще один" не писал. Он именно перегружает текущий (который на графике). Просто в данном примере обсчет очень быстрый, поэтому не видно как он перегружается, но для этого есть логи. Не верите логам - добавьте графику в init/deinit на индикатор и сможете подтвердить данный факт визуально. Единственная разница с обычной загрузкой - окно не закрывает и новый грузит туда же. Про пост Rosh... Возможно я его действительно неправильно понял...

Тогда это новая тема для треда "Пожелания к MQL5" )))

Я думаю, что тему можно считать исчерпанной и закрыть на этой оптимистической ноте )). 

Большое спасибо всем, кто откликнулся на мою просьбу!

 

Ничего не перегружает:

Судя по анонсу МТ5, в нем сделано, что в память загружается только один индикатор с уникальным набором символ-таймфрейм-параметы.

 
Integer >>:

Ничего не перегружает:

Судя по анонсу МТ5, в нем сделано, что в память загружается только один индикатор с уникальным набором символ-таймфрейм-параметы.

Да, именно так.

 
Integer >>:

Ничего не перегружает:

Перегружает. У Вас пример некорректный. Нет достоверной идентификации индикатора. Вот мой пример (индикаторы во вложении). Это лог (хронология как в логе, снизу вверх):

13- 2009.09.23 13:57:42 Ind1 EURJPY,H1: initialized
12- 2009.09.23 13:57:42 Ind1 EURJPY,H1: Init print: Ind1-1253714262
11- 2009.09.23 13:57:42 Ind1 EURJPY,H1: loaded successfully
10- 2009.09.23 13:57:42 ind2 EURJPY,H1: initialized
9- 2009.09.23 13:57:42 ind2 EURJPY,H1: loaded successfully
8- 2009.09.23 13:57:42 Ind1 EURJPY,H1: removed
7- 2009.09.23 13:57:42 Ind1 EURJPY,H1: uninit reason 1
6- 2009.09.23 13:57:42 Ind1 EURJPY,H1: deinitialized
5- 2009.09.23 13:57:42 Ind1 EURJPY,H1: DeInit print: Ind1-1253714244
4- 2009.09.23 13:57:42 ind2 EURJPY,H1: uninit reason 2
3- 2009.09.23 13:57:24 Ind1 EURJPY,H1: initialized
2- 2009.09.23 13:57:24 Ind1 EURJPY,H1: Init print: Ind1-1253714244
1- 2009.09.23 13:57:24 Ind1 EURJPY,H1: loaded successfully

Код после имени - уникальный номер, который формируется на момент инициализации и однозначно идентифицирует мастер-индикатор. 

Расшифровка лога:

1-3 - Соотв-но видно загрузку Ind1 и ему присвоен номер 1253714244

4    - Перекомпиляция Ind2

5-8 - МТ автоматом выгрузил нашего индюка с номером 1253714244

10  - Инит Ind2
11-13 - мы видим загрузку новой копии Ind1 соотв-но уже с новым номером 1253714262

Как результат имеет полную перегрузку изначальной копии мастер-индикатора.

Integer писал(а) >>

Судя по анонсу МТ5, в нем сделано, что в память загружается только один индикатор с уникальным набором символ-таймфрейм-параметы.

Вот это хорошие новости ))

Файлы:
 
Henry_White писал(а) >>

Перегружает. У Вас пример некорректный. Нет достоверной идентификации индикатора. Вот мой пример (индикаторы во вложении). Это лог (хронология как в логе, снизу вверх):

13- 2009.09.23 13:57:42 Ind1 EURJPY,H1: initialized
12- 2009.09.23 13:57:42 Ind1 EURJPY,H1: Init print: Ind1-1253714262
11- 2009.09.23 13:57:42 Ind1 EURJPY,H1: loaded successfully
10- 2009.09.23 13:57:42 ind2 EURJPY,H1: initialized
9- 2009.09.23 13:57:42 ind2 EURJPY,H1: loaded successfully
8- 2009.09.23 13:57:42 Ind1 EURJPY,H1: removed
7- 2009.09.23 13:57:42 Ind1 EURJPY,H1: uninit reason 1
6- 2009.09.23 13:57:42 Ind1 EURJPY,H1: deinitialized
5- 2009.09.23 13:57:42 Ind1 EURJPY,H1: DeInit print: Ind1-1253714244
4- 2009.09.23 13:57:42 ind2 EURJPY,H1: uninit reason 2
3- 2009.09.23 13:57:24 Ind1 EURJPY,H1: initialized
2- 2009.09.23 13:57:24 Ind1 EURJPY,H1: Init print: Ind1-1253714244
1- 2009.09.23 13:57:24 Ind1 EURJPY,H1: loaded successfully

Код после имени - уникальный номер, который формируется на момент инициализации и однозначно идентифицирует мастер-индикатор.

Расшифровка лога:

1-3 - Соотв-но видно загрузку Ind1 и ему присвоен номер 1253714244

4 - Перекомпиляция Ind2

5-8 - МТ автоматом выгрузил нашего индюка с номером 1253714244

10 - Инит Ind2
11-13 - мы видим загрузку новой копии Ind1 соотв-но уже с новым номером 1253714262

Как результат имеет полную перегрузку изначальной копии мастер-индикатора.

Вот это хорошие новости ))

Естественно, первый индикатор вызываемый из второго будет выгружаться. Это почти тоже самое, что просто снять второй индикатор с графика - первый индикатор, вызываемый из второго будет выгружен при этом - второй индикатор выгружается, и за собой все подчищает, говоря простым языком. Могу предположить, что в такой ситуации и в МТ5 будет выгружаться, если используется только один экземпляр первого индикатора.

Корректный мой пример, вы никак не можете определить с контекстом ситуации - то просто о запуске индикатора, то о перекомпеляции.

 
Integer >>:

Корректный мой пример, вы никак не можете определить с контекстом ситуации - то просто о запуске индикатора, то о перекомпеляции. 

Контекст не имеет значения. Мастер-индикатор, если он был загружен ранее, будет перегружен в случае вызова из другого индикатора через iCustom. Собственно ситуацию я обрисовал в самом начале этого треда.

Боюсь, что просто произошло взаимное недопонимание. Такое бывает иногда... Вы уж извините меня, старина, что отнял у Вас столько времени. Я искренне ценю и благодарен за Вашу попытку разобраться в моей ситуации. Надеюсь, что когда-нибудь смогу и Вам помочь. Не было ни малейшего желания принижать чей либо профессионализм или компетентность. Я лишь хотел разобраться в существе вопроса. Если чем задел, вы уж извините меня, дружище )).

 
Откуда ушли - туда пришли. Не перегружается. Но, как говорится - кто ищет, тот всегда найдет, и в качестве доказательства своего тезиса - компиляция. Как может контекст не иметь значения? Если не имеет, можно компьютер в ванну утопить, а потом утверждать, что он не работает, от того, что вилку в разетку вставили.
 

Вот при перекомпиляции:

Три строчки снизу - запуск, потом компиляция второго - перезагружен второй и ОДИН экземпляр первого, потому что он является составной частью второго, а тот первый, который сам по себе на графике весит - не перезагружен.

Здесь также - три нижние строчки - запуск. Потом компиляция первого - перезагружен один экземпляр первого, тот который на графике висит. Совсем другая проблема - наоборот отсутствует перезагрузка индикатора, надо вручную второй переподключать, чтобы применить сделанные изменения в первом.

 
Пусть будет "при компиляции" )).
 
Henry_White писал(а) >>
Пусть будет "при компиляции" )).

А вы о чем? Теперь уже не про компиляцию, а просто про запуск? Есть еще один вариант - в режиме работы.

Причина обращения: