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

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

Воспроизвелось. Записал ваш код в скрипт, он при запуске в режиме отладки выдаёт правильное значение (1001199), а если скомпилировать релиз и запускать его из дерева в МТ5, то стабильно выдавал 11199. Смог локализовать проблему, вот воспроизводящий её код:

int frac_length = 2;

void OnStart()
{
        
        ulong i = 1;

        ulong a1 = Pow10(frac_length + i);
        ulong a2 = Pow10(frac_length + i + 1);
        ulong a3 = Pow10(frac_length + i + 2);
        ulong a4 = Pow10(frac_length + i + 3);
        
        Print(IntegerToString(a1), " ", IntegerToString(a2), " ", IntegerToString(a3), " ", IntegerToString(a4));

}  

ulong Pow10(const ulong power)
{
        ulong r = 10;
        
        if (power == 0)
                return 1;
                
        for (ulong i = 2; i <= power; i++)
                r = r*10;
                
        return r;
}

 В режиме отладки он отрабатывает правильно. А вот при запуске релиза из навигатора в МТ5 либо выдаёт ерунду ("1000 10000 100 100" вместо "1000 10000 100000 1000000"), либо МТ5 вообще зависает с полной загрузкой одного из ядер процессора.

Лечится двумя способами. Либо так:

        ulong a1 = Pow10(frac_length + i);
        ulong a2 = Pow10(frac_length + i + (ulong)1);
        ulong a3 = Pow10(frac_length + i + (ulong)2);
        ulong a4 = Pow10(frac_length + i + (ulong)3);

Либо переносом глобальной переменной frac_length внутрь функции Start().

Это действительно баг компилятора, пишите в сервисдеск.

 
МТ4 начал весить 1,8 Гигабайт (оперативки). Весь ВПС сожрал, второй терминал не могу толком включить. Не подскажите, как "почистить" оперативную память от МТ?
 

При наведении на только что опубликованный собственный отзыв к Маркет-продукту появляется несколько предложений/действий. Если выбрать "правка" и изменить отзыв, то после нажатия на "Обновить" выскочит ошибка "Нет прав".

 

Заявку в СД не создать - Произошла ошибка.

 
fxsaber:
При наведении на только что опубликованный собственный отзыв к Маркет-продукту появляется несколько предложений/действий. Если выбрать "правка" и изменить отзыв, то после нажатия на "Обновить" выскочит ошибка "Нет прав".

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

 
fxsaber:

Заявку в СД не создать - Произошла ошибка.

Ясно, Вам нужно почистить cookie для www.mql5.com.
Видимо, было проведено обновление принципов проверки анти-CSRF токенов.

В хроме это можно сделать так:
Нажать F12 находясь на сайте www.mql5.com => на панели разработчика перейти во вкладку Application => раздел Cookies => ПКМ на записях cookies => Clear all from ...
 
Sergey Dzyublik:

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

Portable Chrome Версия 45.0.2454.85 + Frigate.
 
Sergey Dzyublik:
Вам нужно почистить cookie для www.mql5.com.
Подскажите, как?
 
Sergey Dzyublik:

На хроме 56.0.2924.87 полет нормальный, как с, так и без ручного обновления страницы отзыва.

А у Вас разве не появляется "жалоба | ответить"? Свои отзывы править и удалять не могу.
 
fxsaber:
Подскажите, как?
Гугл в помощь.

Но в хроме это можно сделать так: 
Нажать F12 находясь на сайте www.mql5.com => на панели разработчика перейти во вкладку Application => раздел Cookies => ПКМ на записях cookies => Clear all from ...