Что произошло с обновлением 851

 
Люди, что происходит с обновлением 851? У меня послетали половина индикаторов, многие отображаются некорректно, какими-то обрывками. Я вообще в шоке - перепробовал несколько платформ от разных брокеров - везде одно и то же. Как можно откатиться к версии 840 или 830?
 
olvus:
Как можно откатиться к версии 840 или 830?
Здесь.
 

Это - всего лишь бета версия с нашего сервера.

Не работают только индикаторы, написанные по-старому, с использованием устаревшей функции IndicatorCounted.

Исправление уже внесли, подождите следующий билд

 
stringo:

Это - всего лишь бета версия с нашего сервера.

Не работают только индикаторы, написанные по-старому, с использованием устаревшей функции IndicatorCounted.

Исправление уже внесли, подождите следующий билд

Хотелось бы хоть где-то видеть какие из старых функций теперь не будут работать.
 
TarasBY:
Хотелось бы хоть где-то видеть какие из старых функций теперь не будут работать.

Старые функции работать будут. Данная ситуация произошла по ошибке.
Теперь кастомные индикаторы считаются в отдельном потоке, но из-за ограничений в архитектуре интерфейсных поток все равно ждёт конца расчёта, при этом диких заморозок интерфейса удалось избежать
 
olvus:
  что происходит с обновлением 851? Послетали индикаторы, многие отображаются некорректно, какими-то обрывками.

Причина ошибки в работе индикаторов:

В прошлом билде функция IndicatorCounted() в начале работы индикатора возвращала 0. В новом билде эта функция возвращает значение Bars-1

В результате цикл индикатора перестал просчитываться, получаются случайные значения. На экране отображаются лишь 2-3 отрезка индикатора. Иногда чуть более.


Восстановил работоспособность своего индикатора и индикатора ADX, скачанный по адресу по адресу   https://www.mql5.com/ru/code/7955 - на нем и потренируйтесь - заменой функции IndicatorCounted() на 2-й параметр функции OnCalculate.

1. Заменил заголовок функции int start() на то, что предлагается справочником по обновленному языку MQL-4, а именно следующие 10 строк

int OnCalculate (const int rates_total,      // размер таймсерий
                 const int Ранее_просчитано, // Ранее обработано баров
                 const datetime &time[],      // Time
                 const double &open[],        // Open
                 const double &high[],        // High
                 const double &low[],          // Low
                 const double &close[],        // Close
                 const long &tick_volume[],  // Tick Volume
                 const long &volume[],        // Real Volume
                 const int &spread[])          // Spread

2. Заменил counted_bars=IndicatorCounted();   на   counted_bars=Ранее_просчитано;

Откомпилировал - индикатор заработал.


-------------------------------------------------------------------------------------------------------------------