Ошибки, баги, вопросы - страница 968

 
Баг в хранилище я определил. При смене пароля на сайте, в хранилище он видимо не меняется. И нужно отписаться от хранилища и подписаться заново.
 
zfs:

Гистограмма может нарисоваться если терминал справится с расчетами. Гистограмма рисуется, терминал подгружается, происходит громоздкий расчет индикатора, гистограмма исчезает, ожидая расчета, по окончании отображается, получается, что на потоке котировок её не видно. При удалении терминал что-то там делает, а потом удаляет графику. У меня в блоке Deinit кроме удаления ничего нет, что за пауза при удалении. Должен же быть приоритет, а также последовательность действий выхода из критических состояний системы, гистограмма должна исчезать не перед расчетом, а перед новым отображением гистограммы. И дело тут не в коде, он конечно грузит терминал, алгоритм можно сделать более щедящим, но факт, что 4-ка справляется с этим лучше налицо.

OnCalculate исполняется с каждым тиком? А если не успевает, что происходит?

Если код для воспроизведения для Вас большая тайна, чтобы на форуме выложить, то пишите тогда в Сервисдеск. Там подробно опишите и приложите код.
 
tol64:
Если код для воспроизведения для Вас большая тайна, чтобы на форуме выложить, то пишите тогда в Сервисдеск. Там подробно опишите и приложите код.

Я уже подметил ,что код здесь не причем. Достаточно загрузить код вычислениями и графическими элементами и недостатки выплывут сами по себе. При этом все зависит от вычислительной техники даже более чем от кода, на быстрой машине индикатор будет удаляться 2 сек, на медленной 2 мин. Так и с гистограммой где-то её будет видно всегда с хорошим ресурсом и минимумом котировок, а где-то только при запуске. Конечно, это вопрос больше к сервисдеску и вопрос скорее по терминалу, нельзя ли сделать возможность зависания терминала минимальным. Такая проблема была и в 4-ке, а здесь ситуация даже и похуже. Однако это рассуждения по сабжу.

OnCalculate исполняется с каждым тиком? А если не успевает, что происходит?

 
Или вот даже ситуация, когда терминал не загружается как приложение и в диспетчере задач виден только как процесс. Необходима возможность выхода терминала из критических ситуаций, как КонтролАльтДелет в Виндоус с возможностью отключения уже приложений терминала.
 

zfs:

... 

OnCalculate исполняется с каждым тиком? А если не успевает, что происходит? 

Думаю, что тики, которые приходили в процессе какого-то долгого вычисления будут пропущены. 

Я уже подметил ,что код здесь не причем. Достаточно загрузить код вычислениями и графическими элементами и недостатки выплывут сами по себе. При этом все зависит от вычислительной техники даже более чем от кода, на быстрой машине индикатор будет удаляться 2 сек, на медленной 2 мин. Так и с гистограммой где-то её будет видно всегда с хорошим ресурсом и минимумом котировок, а где-то только при запуске. Конечно, это вопрос больше к сервисдеску и вопрос скорее по терминалу, нельзя ли сделать возможность зависания терминала минимальным. Такая проблема была и в 4-ке, а здесь ситуация даже и похуже. Однако это рассуждения по сабжу.

Ну так выкладывайте тогда код. Протестирую у себя. Сравним результаты. Иначе впустую всё расписывали. Здесь такое не воспринимают всерьёз. )))

 
zfs:
Или вот даже ситуация, когда терминал не загружается как приложение и в диспетчере задач виден только как процесс. Необходима возможность выхода терминала из критических ситуаций, как КонтролАльтДелет в Виндоус с возможностью отключения уже приложений терминала.
У меня отображается, и как приложение и как процесс. Укажите в Сервисдеске операционную систему, разрядность и билд терминала.
 
double iCloseMQL4(string symbol,int tf,int index){
   if(index < 0) return(-1);
   double Arr[];
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   if(CopyClose(symbol,timeframe, index, 1, Arr)>0)
        return(Arr[0]);
   else return(-1);

}

Ну вот взял функцию, на выходе периодически получаю -1. Спрашивается, что еще цикл задавать на отличие от -1?  Почему возможна такая ситуация. Зачем копировать целый массив, если мне нужно только одно значение - как-то не рационально.

SetLabel("LPr",chart_ID,"%="+DoubleToString(close[0]/iCloseMQL4(_Symbol,1440,1)*100-100,2),4,34,clrBrown,14);
 
tol64:

Думаю, что тики, которые приходили в процессе какого-то долгого вычисления будут пропущены. 

Ну так выкладывайте тогда код. Протестирую у себя. Сравним результаты. Иначе впустую всё расписывали. Здесь такое не воспринимают всерьёз. )))

Думаете, а надо бы это проверить или знать точно).

Я на разных компьютерах вижу разную картину, так что сравнить мне есть чем. Правды всё равно не добьемся, остаётся только брюзжать на форуме.)

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

 
zfs:

Думаете, а надо бы это проверить или знать точно).

... 

Ну так проверьте уже наконец. У Вас же проблема, так Вам и проверять. )) Я обычно начинаю проверять тогда, когда мне нужно знать точно. А в индикаторах после основного расчёта затем обычно всегда обновляется последнее значение и не замечал, чтобы были какие проблемы. И похоже никто не замечал, кроме Вас. Поэтому мне это стало интересно. ))

Я на разных компьютерах вижу разную картину, так что сравнить мне есть чем. Правды всё равно не добьемся, остаётся только брюзжать на форуме.)

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

Что Вы имеете ввиду под приложением ? Вы применяете слово "приложение" и как нечто отдельное от терминала и как сам терминал, поэтому Вас сложно понять.

Что значит "возможность закрыть приложение без закрытия терминала" ? У Вас не получается удалить с графика эксперт, индикатор, скрипт ?

 
tol64:

Ну так проверьте уже наконец. У Вас же проблема, так Вам и проверять. )) Я обычно начинаю проверять тогда, когда мне нужно знать точно. А в индикаторах после основного расчёта затем обычно всегда обновляется последнее значение и не замечал, чтобы были какие проблемы. И похоже никто не замечал, кроме Вас. Поэтому мне это стало интересно. ))

Что Вы имеете ввиду под приложением ? Вы применяете слово "приложение" и как нечто отдельное от терминала и как сам терминал, поэтому Вас сложно понять.

Что значит "возможность закрыть приложение без закрытия терминала" ? У Вас не получается удалить с графика эксперт, индикатор, скрипт ?

Да надо подумать как получить этот результат. Если я даже не могу 
double iCloseMQL4

получить, то получается, что тики не пропускаются, а накладываются вычисления друг на друга. Хотя не факт, это скорее другая опера.

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

Документация по MQL5: Файловые операции / FileDelete
Документация по MQL5: Файловые операции / FileDelete
  • www.mql5.com
Файловые операции / FileDelete - Документация по MQL5