Новая версия MetaTrader 4 Client Terminal build 445 - страница 5

 
MT4, build 445.
График открытый автономно (нестандартный тайм-фрейм).

Не работает функция "IndicatorCounted()".
На всех тиках, не только на первом, ее значение равно нулю.

Ну и, в результате, индикаторы на этом графике пересчитывается по всем барам на каждом тике. Учитывая то, что еще и тайм-фрейм нестандартный, терминал реально начинает "тормозить".

В принципе, заменить функцию на несколько строчек кода несложно, но зачем тогда она вообще нужна.

Вопрос разработчикам: - может исправите функцию?
Заодно прикиньте, может еще какие-то функции не работают в автономном графие? Если знаете, то подскажите. Пожалуйста.
 
Matvey:

Мой вопрос так и остался без  ответа !!

Какие порты\сервера должны быть открыты для корректной работы сигналов?


1950, 80, 443...
 
Мой ДЦ до сих пор не перевёл свой терминал на новый билд.....
 
prorab:
MT4, build 445.
График открытый автономно (нестандартный тайм-фрейм).

Не работает функция "IndicatorCounted()".
На всех тиках, не только на первом, ее значение равно нулю.

Ну и, в результате, индикаторы на этом графике пересчитывается по всем барам на каждом тике. Учитывая то, что еще и тайм-фрейм нестандартный, терминал реально начинает "тормозить".

В принципе, заменить функцию на несколько строчек кода несложно, но зачем тогда она вообще нужна.

Вопрос разработчикам: - может исправите функцию?
Заодно прикиньте, может еще какие-то функции не работают в автономном графие? Если знаете, то подскажите. Пожалуйста.




Да тоже заметил ... реально довольно приличный глюк ..



__

 
prorab:
MT4, build 445.
График открытый автономно (нестандартный тайм-фрейм).

Не работает функция "IndicatorCounted()".
На всех тиках, не только на первом, ее значение равно нулю.

Ну и, в результате, индикаторы на этом графике пересчитывается по всем барам на каждом тике. Учитывая то, что еще и тайм-фрейм нестандартный, терминал реально начинает "тормозить".

В принципе, заменить функцию на несколько строчек кода несложно, но зачем тогда она вообще нужна.

Вопрос разработчикам: - может исправите функцию?
Заодно прикиньте, может еще какие-то функции не работают в автономном графие? Если знаете, то подскажите. Пожалуйста.



Не так все просто, как казалось.
Bars тоже не работает.

Похоже полный пересчет, это единственный вариант.
Буду думать.
 
prorab:
Не так все просто, как казалось.
Bars тоже не работает.

Похоже полный пересчет, это единственный вариант.
Буду думать.


Так можно время открытия бара запоминать. А на этой основе уже сделать свой аналог IndicatorCounted.
 
Scriptong:

Так можно время открытия бара запоминать. А на этой основе уже сделать свой аналог IndicatorCounted.
Да, это позволяет отследить появление нового бара.

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

Поэтому, все-равно пришлось сделать модификацию индикатора, для графиков (offline).
И расчитывать не весь график, а только последний, видимый в окне участок.

На этом варианте я и остановился.
 
Что делать с программой, если она не сохраняет профиль? Может разработчики знают, что не так, с их программой? При вводе названия профиля, никакого создания и последующего сохранения не происходит.
 
Запускать ее от имени администратора.
 
double NormalizeDouble( double value, int digits)

Округление числа с плавающей запятой до указанной точности.
Рассчитываемые значения StopLoss, TakeProfit, а также значения цены открытия отложенных ордеров должны быть нормализованы с точностью, значение которой хранится в предопределенной переменной Digits.

Параметры:

value - Величина с плавающей точкой.
digits - Формат точности, число цифр после десятичной точки (0-8).

Пример:
  double var1=0.123456789;
  Print(DoubleToStr(NormalizeDouble(var1,5),8));
  // вывод: 0.12346000

В приведённом примере допущена ошибка, правильно:
  // вывод: 0.12345000
Причина обращения: