Новая версия платформы MetaTrader 5 build 5370: улучшения в веб-версии - страница 6

 
Aleksey Vyazmikin #:

Запускаю код в тестере стратегий, визуальный режим.

Останавливаю советник в визуальном режиме. Всё нормально с терминалом.

При закрытии визуального тестера терминал зависает - белая пелена.

Да, бывало такое, воспроизвести как (на простом примере) - не понятно. Помогало только убивание процесса в диспетчере задач. После чего при следующем запуске, разумеется, вся раскладка окна МТ5 слетает, а если не повезет, то и чарты пропасть могут - так что нужно делать заранее бэкап.
 
fxsaber #:

...

Где в Тестере настройки, что для одного кастомного символа идет генерация баров, для другого - нет?

Настройки двух символов выгрузить в json и сравнить?
 
Stanislav Korotky #:
Настройки двух символов выгрузить в json и сравнить?

Только здесь отличия.


 
fxsaber #:

Только здесь отличия.

Варианты с потолка: попробовать сократить название или путь символа; проверить доступность на чтение/запись файлов в папке базы (вдруг какой-то процесс занял нечто, что не дает записать бары), открыть диалог символа и запросить тики и бары (может что-то проморгается).
 

Stanislav Korotky #:
Варианты с потолка: попробовать сократить название или путь символа;

Новые кастомные работают нормально. Старые (несколько часов) сломались.

проверить доступность на чтение/запись файлов в папке базы (вдруг какой-то процесс занял нечто, что не дает записать бары),

Прибивал Tester\bases.

После чего без проблем создаются новые соответствующие файлы.

FILTER0_EURGBP: symbol to be synchronized
FILTER0_EURGBP: symbol synchronized already, 34 bytes received
FILTER0_EURGBP: load 2.68 Mb of history data to synchronize in 0:00:00.266
FILTER0_EURGBP: history synchronized from 2024.01.02 to 2025.10.30
FILTER0_EURGBP: ticks synchronization started
FILTER0_EURGBP: load 35.24 Mb of tick data to synchronize in 0:00:00.562
FILTER0_EURGBP: history ticks synchronized from 2025.01.01 to 2025.10.29
FILTER0_EURGBP,M1: history cache allocated for 676556 bars and contains 365927 bars from 2024.01.02 00:00 to 2024.12.31 23:59
FILTER0_EURGBP,M1: history begins from 2024.01.02 00:00
FILTER0_EURGBP,M1 (RannForex-Server): generating based on real ticks
...
final balance 10000000.00 pips
OnTester result 0
FILTER0_EURGBP,M1: 9669558 ticks, 0 bars generated. Environment synchronized in 0:00:00.888. Test passed in 0:00:03.094 (including ticks preprocessing 0:00:00.875).
FILTER0_EURGBP,M1: total time from login to stop testing 0:00:03.982 (including 0:00:00.888 for history data synchronization)
288 Mb memory used including 38 Mb of history data, 256 Mb of tick data

Но баров нет.

открыть диалог символа и запросить тики и бары (может что-то проморгается).

В терминале визуально и через запрос все идеально работает. Манипуляции на Тестер не влияют.

 
Stanislav Korotky #:
Да, бывало такое, воспроизвести как (на простом примере) - не понятно. Помогало только убивание процесса в диспетчере задач. После чего при следующем запуске, разумеется, вся раскладка окна МТ5 слетает, а если не повезет, то и чарты пропасть могут - так что нужно делать заранее бэкап.

Да, перезапуск помог. Сейчас работает стабильно - с чем связано - не ясно.

Относительно на строек, вроде как сохранились те, что бы ли до прошлого запуска.

 
Sergei Samokhin #:
Подскажите как настраивается апдейт советника после компиляции в IDE?
Открыто несколько графиков с наброшенными советниками1 на домашнем компьютере. Когда в редакторе кода вносил изменения при компиляции заметил что изменения проявлялись сразу (без переустановки советника на графики) 
На удаленном сервере также несколько графиков с советниками. После правки и компиляции приходится менять советники на графиках заново. Правой кнопкой Обновить в инспекторе советников нажимаю. Но все равно что бы увидеть изменения приходится перебрасывать советники на графики заново. 

Поясните логику изменений советника. 

Мне очень удобно использовать такой подход как на домашнем компьютере: скомпилировал -> изменения сразу применяются на уже работающих копиях на графиках 👆 без необходимости заново перевыставить советники



Спасибо за ответ!

На удаленном сервере запускаю локальный МетаЭдитор) Т.е на самом сервере из папки с советниками исходный соурскод. Но на компе изменения "на лету" воспроизводятся, а на сервере надо переустановить скомпилированный советник что бы изменения применены были. В том то и дело что одинаковые ситуации, но разделе поведение. 
Возможно влияет что на сервере несколько терминалов МТ5 установлено. Но запускаю МетаЭдитор из соответствующей папки с народным терминалом.
 
Sergei Samokhin #:
... В том то и дело что одинаковые ситуации, но разделе поведение. 
Возможно влияет что на сервере несколько терминалов МТ5 установлено. Но запускаю МетаЭдитор из соответствующей папки с народным терминалом.

Проверьте две вещи:

  • рабочая папка открытого редактора и открытого терминала совпадают (и там, и там её можно открыть, нажав Ctrl+Shift+D)
  • файл советника, который открыт у вас в редакторе для компиляции, находится именно в той же рабочей папке и по тому же пути, что и запущенный на графике терминала советник.

Учтите ещё то, что если вы просто запускаете терминал на домашнем компьютере из под администратора, то в качестве рабочей папки будет использована текущая папка (как в режиме Portable). Если то же самое сделать на удалённом VDS, подключившись к нему по RDP, то рабочей будет сделана папка внутри  %USERNAME%/AppData/Roaming/MetaQuotes. Поэтому на VDS необходимо строго указывать, если вы хотите запускать терминал и/или редактор в режиме Portable через ключ запуска /portable. На мой взгляд для работы с несколькими терминалами на одном компьютере проще использовать этот режим. И редактор лучше запускать не из папки, а из уже запущенного терминала, нажав F4 или соответствующую кнопку на панели инструментов - тогда точно должен запуститься редактор с той же рабочей папкой, что и терминал.

У меня вроде бы всё работает одинаково и на VDS и не на VDS.


 
.
 

Ошибка в описании метода ContainsValue() на главной странице описания шаблонного класса CHashMap<TKey,TValue>:

Методы класса

Метод

Описание

Add

Добавляет пару "ключ — значение" в хэш-таблицу

Count

Возвращает количество элементов в хэш-таблице

Comparer

Возвращает указатель на интерфейс IEqualityComparer<T>, использующийся для организации хэш-таблицы

Contains

Определяет, содержит ли хэш-таблица указанную пару "ключ — значение"

ContainsKey

Определяет, содержит ли хэш-таблица пару "ключ — значение"  с указанным ключом

ContainsValue

Класс CHashMap<TKey, TValue> — шаблонный класс, реализующий интерфейс IMap<TKey,TValue>

CopyTo

Копирует все пары "ключ — значение" из хэш-таблицы в указанные массивы, начиная с определенного индекса

Clear

Удаляет все элементы хэш-таблицы

Remove

Удаляет первое вхождение пары "ключ — значение" хэш-таблицы

TryGetValue

Получает элемент из хэш-таблицы по заданному ключу

TrySetValue

Изменяет значение пары "ключ — значение" из хэш-таблицы по заданному ключу


Должно быть: "Определяет, содержит ли хэш-таблица пару "ключ — значение" с указанным значением."

Документация по MQL5: CHashMap / Стандартная библиотека
Документация по MQL5: CHashMap / Стандартная библиотека
  • www.mql5.com
Класс CHashMap — шаблонный класс, реализующий интерфейс IMap . Класс CHashMap является...