Новая версия платформы MetaTrader 5 build 5100: Переход на Git и хаб разработчиков MQL5 Algo Forge, темная тема и улучшения интерфейса - страница 33

 
fxsaber #:

Очевидно, MQ ничего делать не будут без подробностей.

они вообще делают что-то своё для себя (продают-то они сервера а не терминалы), и их мало волнует что мы тут думаем. Лишь бы писали исключительно хвалебное, остальное в снос и в бан

 

Просьба к MQ замерить лаги в обе стороны.

  • Пришла информация в Терминал, через какое время она доходит до соответствующей MQL-программы? Не только On-события, но и доступность из MQL-программы к обновленному торговому окружению.
  • MQL-программа делает OrderSend, через какое время Терминал отправляет соответствующий сетевой пакет с приказом?
Прошла информация (без уточнений), что лаги от одной миллисекунды.


Косвенно замеры этих показателей можно оценить по этому индикатору.

Ping
Ping
  • www.mql5.com
Реал-тайм индикатор лага котировок внутри самого терминала.
 
Renat Fatkhullin #:
Спасибо, разберемся.

С этим пунктом проблема, видимо такая-же как и у меня с чекбоксами. Причина трудно уловима. 

Но кроме всего у меня в списке символов отсутствует как минимум один символ NZDUSD по которому есть сделки

И ещё очень неудобно, если выбрать «Текущий символ» и переключить график на другой символ, то для показа истории по текущему, «новому» символу надо сначала переключить на «Все символы», а затем текущий и только тогда он будет выбран.

И вот сейчас заметил, что отсутствует ещё EURAUD

 
Alexey Viktorov #:

у меня в списке символов отсутствует как минимум один символ NZDUSD по которому есть сделки

Максимальная длина списка - 10.

если выбрать «Текущий символ» и переключить график на другой символ

В данном меню "Текущий символ" (возможно, не очень удачное словосочетание) никак не связан с чартами (можете даже закрыть их все). Это символ строки, на которой вы нажали ПКМ.
 
Ivan Titov #:

Как теперь разделить окна Toolbox и Strategy Tester в нижней части терминала по вертикали? Делится только по горизонтали теперь.

Билд 5104

Почему нет возможности присоединить окно справа или слева? Осталось только сверху и снизу. Стало ужасно неудобно.


 
fxsaber #:

Максимальная длина списка - 10.

В данном меню "Текущий символ" (возможно, не очень удачное словосочетание) никак не связан с чартами (можете даже закрыть их все). Это символ строки, на которой вы нажали ПКМ.

Да я и сам догадался, не совсем глупый, но ведь это не правильно. И кому как ни вам должно быть известно, что исправить это, пара пустяков. И не ограничивать список, и при переключении графиков автоматом переключать символ…

 
Forester #:
Не работает swap

a1
0 1 2
a2
0
swap
a1
0 1 2
a2
0


У себя все перевел на uchar. Конвертирую сейчас только из webRequest. Надеюсь будет и uchar перегрузка для WebRequest()

5106 - теперь работает. Отлично!

a1
0 1 2
a2
0
swap
a1
0
a2
0 1 2

WebRequest с uchar тоже работает. Спасибо!

 
Alexey Viktorov #:

при переключении графиков автоматом переключать символ

Не вижу связи между этим.

 
Forester #:

Билд 4885. Если в новом исправлено - сообщите. Но сомневаюсь, т.к. обновлений долго не было.

Баг с таймером.
Если запускать с параметром quick=true, то функция работает очень быстро и таймер всегда срабатывает через 100мс.

Баг при quick=false:
EventSetMillisecondTimer(100);  вызывает OnTimer() не через 100 мс, а через время от предыдущего вызова до нового + 100 мс. Аналогично и EventSetTimer(1) не через 1 сек, а с дополнительной паузой.

Например если после предыдущего вызова, некий код работал 5 секунд, то следущий  сработает через паузу 5 сек 100мс:

Эксперт:

Полный вывод в лог:

Убрать таймер не предлагайте  - нужно именно так.

Работа через паузу таймером нужна для работы с графической панелью, чтобы на короткое время паузы она успела получить события нажатия кнопок и обработать их. Если работать без таймера то нажатия на кнопки вообще не срабатывают. Кнопка нужна для остановки этих медленных расчетов.

Надеюсь к релизу разработчики успеют исправить.

Добавлено: Возможно при EventKillTimer(); EventSetMillisecondTimer(100); EventSetTimer(100); надо что-то обнулить в внутреннем коде?

Таймер по прежнему делает отсчет от последнего срабатывания OnTimer() и не сбрасывается в 0 при вызовах EventKillTimer(); EventSetMillisecondTimer(100); EventSetTimer(100);
У меня паузы до 3 минут бывают пока большие файлы скачиваются - соответственно после запуска EventSetMillisecondTimer(100); OnTimer() сработает через 3 минуты+100мс.
Нелогичное поведение. Можно  исправить на ожидаемое в 100мс?

1) Work time: 1001 ms
start timer вызван первый раз EventSetMillisecondTimer(100);
OnTimer via 105 ms  - через 100 потому что это первый запуск EventSetMillisecondTimer(100)
2) Work time: 1996 ms
start timer - вызваны EventKillTimer(); EventSetMillisecondTimer(100);
OnTimer via 2095 ms  - срабатывание должно быть через 100 мс
3) Work time: 2998 ms
start timer
OnTimer via 3094 ms

Код советника в первом посте https://www.mql5.com/ru/forum/487790/page18#comment_56857418
Новая версия платформы MetaTrader 5 build 5100: Переход на Git и хаб разработчиков MQL5 Algo Forge, темная тема и улучшения интерфейса - Создайте проект через визард.
Новая версия платформы MetaTrader 5 build 5100: Переход на Git и хаб разработчиков MQL5 Algo Forge, темная тема и улучшения интерфейса - Создайте проект через визард.
  • 2025.06.03
  • User_mt5
  • www.mql5.com
то функция работает очень быстро и таймер всегда срабатывает через 100мс. то следущий сработает через паузу 5 сек 100мс - нужно именно так. Работа через паузу таймером нужна для работы с графической панелью
 
Maxim Kuznetsov #:

- на мой взгляд (конечно спорный), свопы и комиссии должны сразу начисляться(вычитаться :-) ) в баланс, а не висеть в эквити вместе с позициями. Это конечно против интересов "предоставляющих плечо", но соответсвует физике/логике_происходящего и фин/бух.учёту

Свопы вообще не соответствуют природе сделок, так как не заключаются своп договора с клиентом. Это скрытая комиссия.

Если допустить, что расходы понёс форекс-дилер, то клиент ему компенсирует расходы, и тогда они должны, конечно, явно отражаться как комиссии (компенсация расходов). При этом, форекс-дилер должен подтверждать свои расходы документально, как минимум по требованию клиента.