Новая версия платформы MetaTrader 5 build 2265: Функции DirectX для 3D-визуализации в MQL5 и настройка инструментов в тестере стратегий - страница 16

 
Maxim Kuznetsov:

всё что угодно может быть.

Хоть хронически слетели кеши процессора, из-за несогласований линии партии и конкретного ТА

это просадит процентов 5

может на фоне всего обновляется Скайп. А это может засадить и на все 50 :-)

Вот потому и одна "таблэтка": код.

 

Build 2267.

Данное неудобство тянется уже давно.

MetaTrader 5 x64 build 2267 started (MetaQuotes Software Corp.)
Windows 10 (build 18363) x64, IE 11, UAC, Intel Core i3-3120M  @ 2.50GHz, Memory: 4077 / 8077 Mb, Disk: 80 / 415 Gb, GMT+2
C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075


Работаю в редакторе MetaEditor, УЖЕ открыта справка (MQL5 Reference). Теперь в коде ставлю мышку на любое подсвеченное слово и нажимаю F1 - крутится "колесо" и не происходит переход в справку.

В журнале редактора ничего не появляется в этот момент - ни ошибок, ни предупреждений.

 
Vladimir Karputov:

Build 2267.

Данное неудобство тянется уже давно.


Работаю в редакторе MetaEditor, УЖЕ открыта справка (MQL5 Reference). Теперь в коде ставлю мышку на любое подсвеченное слово и нажимаю F1 - крутится "колесо" и не происходит переход в справку.

В журнале редактора ничего не появляется в этот момент - ни ошибок, ни предупреждений.

2267
У меня не воспроизводится.
Клик на нужную функцию, F1 открыл справку.
Клик на другую функцию, F1 переходит к следующей выбранной. 
Выделять функцию дабл кликом не обязательно, достаточно что бы курсор | находился на нужной функции.
Но всё равно оба варианта работают, что дабл клик потом F1, что просто курсор на функции и потом F1.

 
Roman:

2267
У меня не воспроизводится.
Клик на нужную функцию, F1 открыл справку.
Клик на другую функцию, F1 переходит к следующей выбранной. 
Выделять функцию дабл кликом не обязательно, достаточно что бы курсор | находился на нужной функции.
Но всё равно оба варианта работают, что дабл клик потом F1, что просто курсор на функции и потом F1.

Алгорит поломки мне пока не ясен. То работает, то не работает.

 
Artyom Trishkin:
Это просто - предоставить код.
Artyom Trishkin:

Ошибки в коде всплыли ... может быть?

Вот просто интересно, а кто будет лопатить предоставленный код? Я его предоставлю в оригинальном виде. За исключением сигнального блока.

При компиляции в 2265 не то что ошибок, а и предупреждений никаких не было.

Maxim Kuznetsov:

....

можно сделать ДВА вывода - 1) тормозит оптимизатор ; 2) оптимизатор починили до уровня что видны тормоза исходного алгоритма Таболина.

....

Вот кабы не ёрничание - были бы золотые слова. Особенно п.№2.

Так как я не знаю, чинили или нет оптимизатор, то будут допущения.

Допустим, что так и да, оптимизатор починили. Что отсюда следует?

  1. Таболин до последнего времени писал код, который в сломанном оптимизаторе прекрасно работал.
  2. Теперь этот код в отремонтированном оптимизаторе жутко тормозит.
  3. Ремонт был, судя по всему, крупным.
  4. Разработчики должны знать что именно серьёзно там изменилось.

Простая просьба - пусть подскажут хоть в какую сторону смотреть, чтобы найти что именно так не подружилось с отремонтированным оптимизатором.

Попробую по очереди отключать модули, может нарвусь на недружелюбный...

 
Сергей Таболин:

Вот просто интересно, а кто будет лопатить предоставленный код? Я его предоставлю в оригинальном виде. За исключением сигнального блока.

При компиляции в 2265 не то что ошибок, а и предупреждений никаких не было.

Вот кабы не ёрничание - были бы золотые слова. Особенно п.№2.

Так как я не знаю, чинили или нет оптимизатор, то будут допущения.

Допустим, что так и да, оптимизатор починили. Что отсюда следует?

  1. Таболин до последнего времени писал код, который в сломанном оптимизаторе прекрасно работал.
  2. Теперь этот код в отремонтированном оптимизаторе жутко тормозит.
  3. Ремонт был, судя по всему, крупным.
  4. Разработчики должны знать что именно серьёзно там изменилось.

Простая просьба - пусть подскажут хоть в какую сторону смотреть, чтобы найти что именно так не подружилось с отремонтированным оптимизатором.

Попробую по очереди отключать модули, может нарвусь на недружелюбный...

И всё же было бы гораздо продуктивнее предоставить полный код, а не с вырезанными блоками. Просто чтобы можно было его запустить и воспроизвести ошибку. И как результат - либо починить у себя, либо указать на вашу ошибку.

Код вы можете предоставлять в личку разработчикам, а не на всеобщее обозрение - если там нечто ценное.

 

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

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

Профилирование кода - Разработка программ - Справка по MetaEditor
Профилирование кода - Разработка программ - Справка по MetaEditor
  • www.metatrader5.com
Профилирование — это сбор характеристик программы во время ее выполнения. При профилировании замеряется время выполнения и количество вызовов отдельных функций и строк в коде программы. При помощи этого инструмента программист может найти наиболее медленные участки кода и провести их оптимизацию. Профилирование можно проводить на обычном...
 

получил деление на 0 в таком выражении: 1/(1+exp(-x))

в документации о возврате функцией exp() -1 ничего не сказано.

 
Igor Zakharov:

получил деление на 0 в таком выражении: 1/(1+exp(-x))

в документации о возврате функцией exp() -1 ничего не сказано.

:-)

видимо Х получился -0, а арифметику оптимизировали

 
Artyom Trishkin:

И всё же было бы гораздо продуктивнее предоставить полный код, а не с вырезанными блоками. Просто чтобы можно было его запустить и воспроизвести ошибку. И как результат - либо починить у себя, либо указать на вашу ошибку.

Код вы можете предоставлять в личку разработчикам, а не на всеобщее обозрение - если там нечто ценное.

Там нечто такое, что я обещал никому не показывать.

Fast235:

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

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

Профилировщик я не использовал, ибо такой задачи как оптимизация кода пока не стоит. Но спасибо, попробую.


Тем не менее для меня совсем не понятна такая ситуация. Ну, если бы оптимизация замедлилась пусть даже вдвое - я бы себе это ещё как-то объяснил. Но в десятки раз! ??? Не понимаю...


Отключал модули:

  1. onTester - на скорость оптимизации не влияет (по крайней мере - не заметно)
  2. HMA_SIG - без этого модуля оптимизация пошла быстрее. 
    18:54:47.894 Tester  Best result 37.51167279 produced at generation 0. Next generation 1
    18:56:01.449 Tester  Best result 37.51167279 produced at generation 0. Next generation 2
    18:57:15.161 Tester  Best result 37.51167279 produced at generation 0. Next generation 3
    
    15:29:31.996 Tester  Best result -0.22637749 produced at generation 0. Next generation 1
    15:30:11.197 Tester  Best result -0.22637749 produced at generation 0. Next generation 2
    15:30:48.554 Tester  Best result -0.05307409 produced at generation 2. Next generation 3
    
    0:37 против 1:15
    Модуль генерации сигнала по индикатору с ресурсом HMA5.