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

 

Допустим, у вас закачана история тиков с 2020 года - все tkc в терминале лежат.

И недавно брокер решил предоставлять тики только с 2025 года. Казалось бы, тики сохранились.


Но стоит вам сделать CopyTicks, как вы удалите вами закачанную историю тиков до 2025 года!

 
fxsaber #:

Допустим, у вас закачана история тиков с 2020 года - все tkc в терминале лежат.

И недавно брокер решил предоставлять тики только с 2025 года. Казалось бы, тики сохранились.


Но стоит вам сделать CopyTicks, как вы удалите вами закачанную историю тиков до 2025 года!

Решил попробовать обойти это супер-гадкое поведение MT5 - отключиться от счета и только тогда сделать запрос тиков.

А получил мертвое зависание MT5. Инструкция для воспроизведения на b4885

  1. Отключиться от счета через прокси-галку.
  2. Сделать запрос тиков.
  3. Выйти из окна запроса тиков.

После этого Терминал не будет ни на что реагировать.


Ну и просьба сообщить, будете удалять скачанные tkc-файлы или поменяете поведение? Как сделать CopyTicks по тикам, что уже есть в базе терминала, но брокер решил от них отказаться?!

Строка для поискаOshibka 131.

 
fxsaber #:

Попробуйте через WinAPI.

Проверил, работает, спасибо.

Но всё равно было бы неплохо иметь горячую клавишу и функцию от МТ.

 
Andrei Iakovlev #:

Но всё равно было бы неплохо иметь горячую клавишу и функцию от МТ.

Ни в коем случае!

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2018.09.25 08:34

Поставил такую тупую защиту от отжатия Автоторговли
#define TOSTRING(A)  #A + " = " + (string)(A) + "\n"

if (!AccountInfoInteger(ACCOUNT_TRADE_EXPERT) || !AccountInfoInteger(ACCOUNT_TRADE_ALLOWED) || !TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
  Alert(TOSTRING(AccountInfoInteger(ACCOUNT_TRADE_EXPERT)) +
        TOSTRING(AccountInfoInteger(ACCOUNT_TRADE_ALLOWED)) +
        TOSTRING(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)));

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


Вот эта гадина!

Закрывал окна по Ctrl+W, пальцем случайно вместо W нажал на клавишу рядом - E. И отрубил всю торговлю!


Уважаемые разработчики, ну давайте уберем вот такие случайные ситуации! Отключение/Включение автоторговли - серьезная вещь, не хорошо сюда вносить случайный элемент. Нет же горячей клавиши на разрешение DLL. Если хочется, чтобы была горячая, то пусть будет сложно-воспроизводимая - CTRL+SHIFT+E. И Терминал хоть как-то поморгает, что нажата эта кнопка. Чтобы можно было подстраховаться от случайности.


Никаких горячих клавиш. Дерьмо выше до сих пор не отключено.

 
fxsaber #:

Решил попробовать обойти это супер-гадкое поведение MT5 - отключиться от счета и только тогда сделать запрос тиков.

Ну и просьба сообщить, будете удалять скачанные tkc-файлы или поменяете поведение? Как сделать CopyTicks по тикам, что уже есть в базе терминала, но брокер решил от них отказаться?!

Попробовал через Firewall отрубить MT5 от сервера и сделать запрос CopyTicks - не работает. CopyTicks зачем-то является онлайн-функцией не для кастомных символов.

 
fxsaber #:
Никаких горячих клавиш.

Ну она бы работала только в тулбоксе и уже ведь есть горячие клавиши там.

 
Andrei Iakovlev #:

Ну она бы работала только в тулбоксе и уже ведь есть горячие клавиши там.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

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

Andrei Iakovlev, 2025.03.07 09:12

Всё таки тянуться мышкой до этого окна, жать пкм и потом Clear в списке это долго и неудобно, а необходимость очищать это окно лично у меня возникает часто.

Если вы уже в тулбоксе, то и мышка там.
 
fxsaber #:

Попробовал через Firewall отрубить MT5 от сервера и сделать запрос CopyTicks - не работает. CopyTicks зачем-то является онлайн-функцией.

Всё окружение завязано на онлайн коннект к серверу. Нет коннекта - всё, функции из кода мертвы.

 
Roman #:

Всё окружение завязано на онлайн коннект к серверу. Нет коннекта - всё, функции из кода мертвы.

OrderGet*, PositionGet*, HistoryOrderGet*, HistoryDealGet* - пример оффлайн-функций.

Скорее всего, и CopyRates - не онлайн-функция.
 
fxsaber #:

OrderGet*, PositionGet*, HistoryOrderGet*, HistoryDealGet* - пример оффлайн-функций.

Скорее всего, и CopyRates - не онлайн-функция.

CopyTiks, CopyRates инициируют авто подгрузку истории, скорее всего это и есть проблема при дисконнекте.
Не учтён этот момент, если нет коннекта, то не инициировать авто подгрузку. Например флагом 0 1

Сокетные функции тоже умирают при обрыве связи с mt5 сервером,
что очень неправильно в случае сервисных программ (демонов).