Нужна помощь разработчиков MT4 и программистов - страница 2

 
stringo:

Очень похож.

1. Языку MQL4 посвящён специальный форум. Не этот.

2. Документацию по MQL4, ни старую, ни новую, Вы не читали

Вместо того, чтобы дать ссылку на что-то полезное, просто обливаете человека дерьмом.

Нелогичность очевидна. Пользователь имеет возможность (в отличие от предыдущих сборок) изменить входные параметры, и новые значения видны во вкладке "Inputs", но реально они не меняются. Советник имеет возможность полного контроля ситуации, но система не даёт ему обновлённые значения параметров, а у пользователя возникает иллюзия, что он изменил входные параметры.

artmedia70, спасибо. Попробую. Но почти уверен, что это не поможет. Де-инициализация не происходит. Можно ли анализировать причины деинициализации, которой не было? (нет о ней записи в журнале)

Я конечно никаких иллюзий не питал по поводу того, что мне кто-то здесь поможет. Но честно говоря не ожидал, что разработчики будут закрывать глаза на совершенно очевидную вещь. Конечно, как же разработчик признает, что это ошибка ПО? Проще обвинить пользователя, что он организовал какой-то "не полит-корректный" цикл. Еще бы сказали, что я отступ в тексте неправильно сделал, и комментарии не поставил. Этот цикл отлично работает, и просто незаменим в тех схемах, которые мне заказывают некоторые клиенты. А вот инициализация новых значений входных параметров, которые оперативно изменены пользователем, не работает. И, обзывая человека "треплом" и "неграмотным" (якобы не читавшим документацию), вы не опровергаете факт неработоспособности инициализации [параметров новыми значениями].

(А впрочем, может я путаю причину со следствием? "Крючки" всегда должны присутствовать незаметно, чтобы пользователям жизнь мёдом не казалась.)

 

Sorry to post in English, but I think you will understand.

You are using an endless loop, so of course init/deinit aren't called. An EA is single thread so even if init/deinit events are placed in the processing queue, you don't let an occasion to execute it.

 
Wex:

Вместо того, чтобы дать ссылку на что-то полезное, просто обливаете человека дерьмом.

Нелогичность очевидна. Пользователь имеет возможность (в отличие от предыдущих сборок) изменить входные параметры, и новые значения видны во вкладке "Inputs", но реально они не меняются. Советник имеет возможность полного контроля ситуации, но система не даёт ему обновлённые значения параметров, а у пользователя возникает иллюзия, что он изменил входные параметры.

artmedia70, спасибо. Попробую. Но почти уверен, что это не поможет. Де-инициализация не происходит. Можно ли анализировать причины деинициализации, которой не было? (нет о ней записи в журнале)

Я конечно никаких иллюзий не питал по поводу того, что мне кто-то здесь поможет. Но честно говоря не ожидал, что разработчики будут закрывать глаза на совершенно очевидную вещь. Конечно, как же разработчик признает, что это ошибка ПО? Проще обвинить пользователя, что он организовал какой-то "не полит-корректный" цикл. Еще бы сказали, что я отступ в тексте неправильно сделал, и комментарии не поставил. Этот цикл отлично работает, и просто незаменим в тех схемах, которые мне заказывают некоторые клиенты. А вот инициализация новых значений входных параметров, которые оперативно изменены пользователем, не работает. И, обзывая человека "треплом" и "неграмотным" (якобы не читавшим документацию), вы не опровергаете факт неработоспособности инициализации [параметров новыми значениями].

(А впрочем, может я путаю причину со следствием? "Крючки" всегда должны присутствовать незаметно, чтобы пользователям жизнь мёдом не казалась.)

Ну вы попробуйте ;)
 
angevoyageur:

Sorry to post in English, but I think you will understand.

You are using an endless loop, so of course init/deinit aren't called. An EA is single thread so even if init/deinit events are placed in the processing queue, you don't let an occasion to execute it.

Well, it may be.

 
Wex:

Что ж, если эксперт зацикленный, и он действительно из цикла не вызывает деинициализацию, то попробуйте в OnChartEvent() организовать опрос изменения входных параметров.

Например, нужные параметры отобразите объектами на чарте. Щелчок по параметру (CHARTEVENT_OBJECT_CLICK) вызывает поле ввода LabelEdit, где вводите новые параметры (CHARTEVENT_OBJECT_ENDEDIT) и отсылаете их в эксперт посредством пользовательского события (CHARTEVENT_CUSTOM+n), в эксперте опрашиваете события и реагируете на изменения входных параметров.

 
artmedia70:

Well, if the expert is looped, and it really does not cause a cycle of uninitialize try to OnChartEvent () to organize a poll of change of input parameters.

For example, the options you want to display an object on the chart. Clicking on the option (CHARTEVENT_OBJECT_CLICK) causes the input field LabelEdit, where enter new parameters ( CHARTEVENT_OBJECT_ENDEDIT ) and send them to the expert by the user event (CHARTEVENT_CUSTOM + n), the expert in polling events and react to changes in input parameters.

Will not work. Same problem, your EA is in an endless loop, no event handlers will be executed.
 
angevoyageur:
Will not work. Same problem, your EA is in an endless loop, no event handlers will be executed.
Really? I did not know ... Never wrote looped experts with OnChartEvent() ...
 
stringo:

Очень похож.

1. Языку MQL4 посвящён специальный форум. Не этот.

2. Документацию по MQL4, ни старую, ни новую, Вы не читали

1. При инсталляции терминала MetaTrader4 в окне инсталляции есть приглашение на форум, именно на этот форум, а не на другой. 

2. На пол пути к новой фиче. Раньше окно свойств у зацикленного эксперта не открывалось. Темперь вот открывается, хорошо бы теперь еще, чтобы была реакция на изменение параметров. Или же пусть не открывается окно свойств, да бы не смущать пользователя. 

 
Wex, пользуйтесь таймером, сейчас можно обойтись без зацикливания.
 
Integer:

1. При инсталляции терминала MetaTrader4 в окне инсталляции есть приглашение на форум, именно на этот форум, а не на другой. 

2. На пол пути к новой фиче. Раньше окно свойств у зацикленного эксперта не открывалось. Темперь вот открывается, хорошо бы теперь еще, чтобы была реакция на изменение параметров. Или же пусть не открывается окно свойств, да бы не смущать пользователя. 

1. Посмотрите профиль Wex. Это - профессиональный разработчик MQL4. Разыгрывает из себя дурочку. Или троллит. Непонятно зачем.

2. Тут надо подумать. Нельзя насильно прерывать цикл по приходу новых параметров. Что-то типа функции IsNewParameter, которую программист должен сам вызывать в бесконечном цикле