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

 

ОШИБКА с проверкой лицензии продуктов Маркета.

Время от времени, когда MT5 был закрыт некоторое время, при его перезапуске и использовании Продуктов с mql5.com, лицензия не была правильно проверена, и Продукт затем удаляется с графика. Что может быть очень раздражающим (даже опасным, если это происходит с торговым советником) и незаметным для пользователя.

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

Я не знаю, когда это происходит, возможно, когда платформа закрыта на долгое время (больше 1 дня ?). У меня есть логи, чтобы продемонстрировать проблему, если это необходимо.


Я выгляжу вот так:

LS    2    09:37:39.184    [Product name]    invalid license

При этом лицензия полностью действительна.

 
Georg Vahi #:
может у кого-то есть прошлый билд? киньте им в меня, пожалуйста, очень ннада.
Если пришлют, маякни плиз!

Тестер запускается с таймаутом в 20 мин🙈

 
Georg Vahi #:

если кому надо могу поделиться билдом 4885 (февраль 2025).
но проблема оказалась не в метаке или не совсем в нем: откат мт на прошлые билды не исправил проблему, после изучения системных логов стало понятно что ошибка инициализации тестера была вызвана сбоем оборудования.
и, после определенных танцев с бубном, восстановить работоспособность удалось после переустановки дров чипсета (х99 хуананг на две ксеоно дырки).
всем спасибо за помощь!

Поделись плиз прошлым билдом!
Спасибо 
 
Georg Vahi #:
может у кого-то есть прошлый билд? киньте им в меня, пожалуйста, очень ннада.
Sergei Samokhin #:
Поделись плиз прошлым билдом!
Спасибо 
Andrey Khatimlianskii
Andrey Khatimlianskii
  • 2022.02.02
  • www.mql5.com
Профиль трейдера
 

Хотел почистить subversion из редактора MT4.


Но как "remove", так и "delete" завершаются ошибкой:

 

Небольшой вопрос знатокам:

У позиций и ордеров есть свойства: ENUM_POSITION_REASON , ENUM_ORDER_REASON

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

Но, например если удаляется ордер и происходит соответствующее событие отлавливаемое в OnTradeTransaction() - как правильно узнать(возможно ли вообще): удаление ордера инициировано клиентом в ручную или автоматически экспертом? То же самое насчет модификации позиций(ТП/SL).

Другими словами: есть ли возможность получить свойства таких событий, дабы определить кто их породил? 


 
Igor Zakharev #:

Небольшой вопрос знатокам:

У позиций и ордеров есть свойства: ENUM_POSITION_REASON , ENUM_ORDER_REASON

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

Но, например если удаляется ордер и происходит соответствующее событие отлавливаемое в OnTradeTransaction() - как правильно узнать(возможно ли вообще): удаление ордера инициировано клиентом в ручную или автоматически экспертом? То же самое насчет модификации позиций(ТП/SL).

Другими словами: есть ли возможность получить свойства таких событий, дабы определить кто их породил? 

После добавления сделки или ордера в историю, можно так:

//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
   if(trans.type == TRADE_TRANSACTION_DEAL_ADD)
      if(HistoryDealSelect(trans.deal))
         long deal_reason = HistoryDealGetInteger(trans.deal, DEAL_REASON);

   if(trans.type == TRADE_TRANSACTION_HISTORY_ADD)
      if(HistoryOrderSelect(trans.order))
         long   order_reason = HistoryOrderGetInteger(trans.order, ORDER_REASON);
  }
//+------------------------------------------------------------------+


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

Поэтому код код сократить на пару строк.

   if(trans.type == TRADE_TRANSACTION_DEAL_ADD || rans.type == TRADE_TRANSACTION_HISTORY_ADD)
      if(HistoryOrderSelect(trans.order))
         long   order_reason = HistoryOrderGetInteger(trans.order, ORDER_REASON);
 
Aleksandr Slavskii #:

После добавления сделки или ордера в историю, можно так:


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

Поэтому код код сократить на пару строк.

В справке четкий ответ не нашелся. И проверить на выходных никак :)

Речь идет немного про другое - про удаление ордера и модификацию позиции. Неизвестно, если ордер был выставлен в ручную и его удалил советник, изменится ли у него ORDER_REASON когда он добавится в историю.

И то же самое у позиции, если она была например открыта советником на основании ордера от советника, но её ТП был модифицирован в ручную - можно ли узнать(отловить как то в процессе) что ТП был модифицирован в ручную, а не советником?

Ведь при модификации ТП или СЛ - позиция не добавляется в историю. Меняется ли у неё свойство POSITION_REASON если она была модифицирована не тем путем которым была выставлена. Вот в чем вопрос. Мне нужно эту разницу как-то отловить, когда позицию открывает советник, но модифицирует ТП или СЛ юзер в ручную.

 
Добрый день!

Подскажите, пожалуйста. Такая проблема - МТ5 не подключается ни каким серверам. Это началось с октября 2024 примерно и по сей день.
Пробовал переустанавливать - не помогло. Разбираться на тот момент времени не было.
Сейчас переустановил, версия новая. Но всё то же самое.
И даже дело новое не могу открыть, чтобы проверить.
Работаю на Mac OS. Версия терминала build 5152
Подскажите плиз что можно сделать? Может не так настроено что-то.

Очень надеюсь на вашу помощь.

Спасибо

 
NikRch #:
Такая проблема - МТ5 не подключается ни каким серверам

Пинг (пакеты) проходит до серверов? Провайдера пробовали менять? Может есть тотальный фаерволл, в том числе на роутере?