Обновленный клиентский терминал MetaTrader 4 build 211 от 26 февраля 2008 - страница 4

 

Поставил новый билд.

Нашел глюк.

Скрипт:

int start()
  {
//----
   while(!IsStopped()){
      Comment("Time[0]=",TimeToStr(Time[0],TIME_DATE|TIME_MINUTES));
      Print("Time[0]=",TimeToStr(Time[0],TIME_DATE|TIME_MINUTES));
      Sleep(30000);
   }
   Comment("");
//----
   return(0);
  }

Лог:

16:23:26 Test_Time[0] EURUSD,M1: loaded successfully
16:23:26 Test_Time[0] EURUSD,M1: Time[0]=2008.02.28 15:23
16:23:26 Test_Time[0] EURUSD,M1: Time[0]=2008.02.28 15:23
16:24:28 Test_Time[0] EURUSD,M1: Time[0]=2008.02.28 15:23
16:25:00 Test_Time[0] EURUSD,M1: Time[0]=2008.02.28 15:23
16:25:00 Test_Time[0] EURUSD,M1: Time[0]=2008.02.28 15:23
16:26:05 Test_Time[0] EURUSD,M1: Time[0]=2008.02.28 15:23
16:26:05 Test_Time[0] EURUSD,M1: Time[0]=2008.02.28 15:23
16:27:10 Test_Time[0] EURUSD,M1: Time[0]=2008.02.28 15:23
16:27:10 Test_Time[0] EURUSD,M1: uninit reason 4

Глюк в массиве Time[0], остальные аналогичные функции не проверял.

И кстати, только заметил. Почему Print пишет то 2 раза подряд, то 1 раз в минуту при Sleep в 30 секунд?

Рош, а как дела с глюком про который писал выше? Ответ свой я отписал в той самой ветке.

С уважением

 
Скрипты и эксперты работают с локальными копиями таймсерий, имеющими состояние на момент запуска. Поэтому значение Time[0] не изменяется. Используйте функцию RefreshRates для обновления состояния.
 
stringo:
Скрипты и эксперты работают с локальными копиями таймсерий, имеющими состояние на момент запуска. Поэтому значение Time[0] не изменяется. Используйте функцию RefreshRates для обновления состояния.

Ясно, спасибо.
 
savva:

Все как обычно:

Оптимизация началась.

Оптимизация закончилась.

Было столько то проходов.


Какая визуализация и какой график, если Вы оптимизацию запускаете?
 

Нашел две ошибки:

1) Поиск окна, в котором делаются графические построения.

'Поиск окна, в котором делаются графические построения.'

Если в одно окно под графиком поместить более одного экземпляра (два и более) одного и того же индикатора с разными именами, для второго экземпляра индикатора поиск окна оканчивается безрезультатно (-1).

2) Неправильная работа функций WindowPriceMax() и WindowPriceMin()

'Неправильная работа функций WindowPriceMax() и WindowPriceMin()'

 

То есть в 211 нет ни визуализации ни вкладки: открыть график после оптимизации?

Есть ли в 211: результаты, график, отчет?

Это у меня глюк или так и должно быть?

 

A
1. Ставлю объект (канал).
2. Говорю ему новые координаты времени - Set.
3. Спрашиваю новые координаты цены - Get.
4. Он отвечает, но даёт старые координаты цены.

B
1. Ставлю объект (канал).
2. Говорю ему новые координаты времени - Set.
2а. Говорю ему - ну, давай уже: WindowRedraw();
3. Спрашиваю новые координаты цены - Get.
4. Он отвечает, даёт новые координаты цены.

Это неправильно. Объект должен отдать новые значения координат независимо от WindowRedraw().

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