MetaTrader 4 build 169. MetaTrader Data Center 4 build 168. - страница 3

 
Слава, это не эксперт, а скрипт. Код привел полный. Просто создайте новый скрипт, замените его текст на приведенный мной. Скомпилируйте и бросьте на график. MT4 "падает" с крешлогом.
 
Крешлог на всякий случай выслал.
 
Хелп по LocalTime
datetime LocalTime( ) 

Returns local computer time, number of seconds elapsed from 00:00 January 1, 1970.

Sample

  if(ServerTime()-OrderOpenTime()<360) return(0);


Пример не содержит описываемую функцию.
Билд у меня правда 165

 
В 169 билде тоже нет. Тоже вчера обратил на это внимание.
 
Еще глюк.

Если выделить весь текст в топике (см. выше про LocalTime),
а потом сделать Дабл Клик на некотором слове (среди уже выделенных),
то после этого по правой кнопке мыши в меню не появляется "Копировать".
 
Разработчикам
string news[1000];
string str,ch;

ArrayInitialize(news,"") - ArrayInitialize function does not process string arrays - а почему собственно? Хотя при
                                     этом всё-таки значение всех элементов массива становятся = NULL
str="123;123;123;123;"
for(i=0; i<16; i++)
{
  if(StringSubstr(str,i,1)!=";") { ch=ch+StringSubstr(str,i,1); } - на ch=ch+StringSubstr(str,i,1) выдается
                                                                   not initialized string - а это вдруг почему?
}


И вот из-за этой хрени полдня псу под хвост, упрограммировался в усмерть. При попытке дальнейшей работы с разбитым на группы str и присвоении полученных значений массиву news МТ вывалился с крешем раз 50. И в креше ExecuteStaticAsm@CExpertInterior присутсвует. Правда ещё одну картину в первый раз в жизни увидел. Появляется креш, МТ вываливается, а следом и креш вываливается. Я только с 5 раза успел долистать креш до низа. Да, после пропавшего креша выскакивает окно, в котором написано, что инструкция такая-то обратилась к памяти 0000:0004.

 
И еще ненашел функции для преобразования времени (в сек.) в строку.
Можно конечно самому написать, но такая функция должна бы быть в комплекте.
 
Еще глючек (или фича?).

Если в папке с индикаторами лежит только скомпилированный вариант и нет исходника,
дто по правой кнопке на нем в МТ появляется обычное меню, и там доступен пункт "Modify".
Если на него нажать, то ничего не происходит.

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

TimeToStr. смотрите в словаре в составе Conversion functions
 

string news[1000];
string str,ch;


ArrayInitialize(news,"") - ArrayInitialize function does not process string arrays - а почему собственно? Хотя при
этом всё-таки значение всех элементов массива становятся = NULL


не становятся. они изначально пусты
str="123;123;123;123;"
for(i=0; i<16; i++)
{
  if(StringSubstr(str,i,1)!=";") { ch=ch+StringSubstr(str,i,1); } - на ch=ch+StringSubstr(str,i,1) выдается
                                                                   not initialized string - а это вдруг почему?
}



а Вы распечатайте значение ch. эта строка у Вас изначально неинициализирована

И вот из-за этой хрени полдня псу под хвост, упрограммировался в усмерть. При попытке дальнейшей работы с разбитым на группы str и присвоении полученных значений массиву news МТ вывалился с крешем раз 50. И в креше ExecuteStaticAsm@CExpertInterior присутсвует. Правда ещё одну картину в первый раз в жизни увидел. Появляется креш, МТ вываливается, а следом и креш вываливается. Я только с 5 раза успел долистать креш до низа. Да, после пропавшего креша выскакивает окно, в котором написано, что инструкция такая-то обратилась к памяти 0000:0004.

Вы бы исходниками поделились, чтобы мы могли причину крешей отловить. не стесняйтесь.
Причина обращения: