Отзыв о MQL5 - страница 5

 
Да спасибо! Буду пробовать работать ....
 

Для начала исправьте:

  • проблему ERR_CHART_NO_REPLY(4102) [,4003?], в ините при старте, крайне вредит надёжности советников.
  • застревание приказов на стадии request до конца сессии. Случалось, заявки отрабатывали, т.е. на бирже они висят. Снять их невозможно. Совершенно вопиющие случаи, происходят редко, но регулярно. 

  

  • так же, однажды у меня из терминала чудесным образом пропала позиция, вечером была - утром нет! Хорошо, в этот раз автостарт робота был отключён, а то встречная поза была бы ликвидирована и т.д., система арбитражная. Случайно заметил, позвонил [open-] брокеру, там скрипнул какой-то рубильник и поза появилась.
  • ещё одна неприятная ситуация когда на низком ликвиде цены в стакане уходят, а расчёт эквити происходит от цены открытия позы (меняется каждый день в клиринг), до цены последней сделки недельной давности,  которая находится на огромном расстоянии от реальных "бестов". Т.е. результат извращается до наоборот. Таким образом, на позе растёт существенный убыток(прибыль), который фактически не отражает реальность и является мнимым. Например, на MIX-3.16 сейчас такой разрыв составляет 6000-10000р на контракт. Допустим, из-за этих метаморфоз, сегодня на счёте висит просадка в 15%, завтра она может достигнуть 30%, а в первый четверг августа что произойдёт? Маржинкол? Только по причине полного отсутствия сделок на инструменте? Не уточнял, как производится такой расчёт на бирже, но на других платформах эта проблема не возникала. Сейчас их не использую, проверить не могу.

Это только первое, что пришло в голову. Таких "мелочей" вагон.

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

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

Тогда и стакан был бы человеческий,

и традиционной для всех платформ "Таблице текущих параметров" нашлось бы место,

и отношение к торговле с помощью лимитных ордеров встало на своё адекватное место,

и возможно, вместо бесполезных исторических рядов (максимальный спред, тиковый объём)  оказались бы полноценные ASK/BID для периода.

Короче, революции не получилось, вредители с глупыми советами повержены. Да здравствует король! ...кухонный.

 
1150   винда 8,1 про 64х

Брокер демо режим имеет 719 инструментов для торговли, примерно 650 отключены

при указании в обзоре рынка "Показать все" после загрузки всех 719 терминал тормозит и фризит .. ( идет задержка между командой клик или нажатие клавиши ) и её исполнением 1-4 секунды ...

Вызывает недоумение, код написанный для мт4 и перенесенный практически без изменений в мт5, в мт5 работает в десятки раз медленнее

При смете торгового счета с при переходе с Форекса на фьючерсы ранее открытые окна висят и ожидают обновления.  ( Теоритически должны взять первый символ фьючерса и отобразить его или просто закрыться, но не висеть в ожидании обновления..)

Работа с "Обзор рынка" не продумана вообще ..

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

Крайне не продумана скоростная работа с инструментами в "Обзор рынка" ...

По мкл5

в мкл 4 Вы добавили ObjectsDeleteAll(0,"Prefix"); удаление по префиксу, А в мт5 забыли ?
 
Vladimir Pastushak:
1150   винда 8,1 про 64х

Брокер демо режим имеет 719 инструментов для торговли, примерно 650 отключены

при указании в обзоре рынка "Показать все" после загрузки всех 719 терминал тормозит и фризит .. ( идет задержка между командой клик или нажатие клавиши ) и её исполнением 1-4 секунды ...

Вызывает недоумение, код написанный для мт4 и перенесенный практически без изменений в мт5, в мт5 работает в десятки раз медленнее

При смете торгового счета с при переходе с Форекса на фьючерсы ранее открытые окна висят и ожидают обновления.  ( Теоритически должны взять первый символ фьючерса и отобразить его или просто закрыться, но не висеть в ожидании обновления..)

Работа с "Обзор рынка" не продумана вообще ..

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

Крайне не продумана скоростная работа с инструментами в "Обзор рынка" ...

По мкл5

в мкл 4 Вы добавили ObjectsDeleteAll(0,"Prefix"); удаление по префиксу, А в мт5 забыли ?


Нет, не забыли они. Но там не большое отличие:

ObjectsDeleteAll(0,prefixObj,0,-1);


P./S.: Кстати, и в MT4 работает c -1 вместо EMPTY.

Для себя памятку так записала:

int  ObjectsDeleteAll(
   long    chart_id,           // идентификатор графика
   string  prefix_obj,         // общий префикс в именах объектов  
   int     sub_window=-1,      // индекс окна
   int     type=-1             // ENUM_OBJECT (тип объекта для удаления)
   );
 

Работа стилизатора то же не поддается обьяснению

написано в справке

Исключения замен при форматировании с учетом междустрочного выравнивания

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

  • "//" — символы "С"-комментария;
  • "{" — левая фигурная скобка;
  • "}" — правая фигурная скобка;
  • "return" — оператор "return";
  • "delete" — оператор "delete";
  • "=" — символ равенства;
  • ":" — двоеточие;
  • "." — точка.



Стилизатор все равно правит код так как ему хочется....

 
Vladimir Pastushak:
1150   винда 8,1 про 64х

Брокер демо режим имеет 719 инструментов для торговли, примерно 650 отключены

при указании в обзоре рынка "Показать все" после загрузки всех 719 терминал тормозит и фризит .. ( идет задержка между командой клик или нажатие клавиши ) и её исполнением 1-4 секунды ...
С этим разберемся, работу по ускорению работы с множеством активных инструментов ведем. Укажите имя торгового сервера, пожалуйста.


Вызывает недоумение, код написанный для мт4 и перенесенный практически без изменений в мт5, в мт5 работает в десятки раз медленнее

Докажите технически, пожалуйста.

Тут сразу можно сказать, что прямо вводите в заблуждение.


При смете торгового счета с при переходе с Форекса на фьючерсы ранее открытые окна висят и ожидают обновления.  ( Теоритически должны взять первый символ фьючерса и отобразить его или просто закрыться, но не висеть в ожидании обновления..)

Не путайте ваше "теоретически" с "делать всегда". Если вы переключились на другой счет, где нет вашего предыдущего набора инструментов, то лучшая стратегия - дать вам самому решить, что делать и что переключать.

Это не ошибка и не проблема.


Работа с "Обзор рынка" не продумана вообще ..

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


Крайне не продумана скоростная работа с инструментами в "Обзор рынка" ...

Укажите конкретно, что именно не так быстро работает?

Есть и структурирование инструментов, и фильтры, и интеллектуальная сортировка, и скрытие истекших.


По мкл5

в мкл 4 Вы добавили ObjectsDeleteAll(0,"Prefix"); удаление по префиксу, А в мт5 забыли ?
Эта функция изначально появилась в MQL5 много лет назад.
 
Vladimir Pastushak:

Работа стилизатора то же не поддается обьяснению

написано в справке

Исключения замен при форматировании с учетом междустрочного выравнивания

Правила замен стилизатора, указанные выше, не применяются в некоторых случаях.


Стилизатор все равно правит код так как ему хочется....

Описание правил стилизатора нельзя уложить в несколько строк художественного текста.

Он форматирует так, как заложено нами.

 

Лично мне сейчас не хватает единственного - указателей на массив.

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

Думаю, было бы разумно сделать функцию OnCalculate(), получающую указатели на таймсерии-объекты Стандартной Библиотеки.

 

Читаю, пишут все кому и как не лень.

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

Мне по прежнему всё нравится. Есть конечно нюансы, но они в принципе обходятся тем же программированием. 4-рка же тоже не подарок с некоторых точек зрения....

 
Renat Fatkhullin:

Описание правил стилизатора нельзя уложить в несколько строк художественного текста.

Он форматирует так, как заложено нами.

По стилизатору:

Хочу видеть код так как я его "зафиксировал"

   ENUM_OBJECT   GetTYPE(string name)              { return(ENUM_OBJECT)GetObjectInteger(name,OBJPROP_TYPE);} // Тип обьекта
   datetime      GetCREATETIME(string name)        { return GetObjectInteger(name,OBJPROP_CREATETIME);} // Время создания объекта 
   int  GetCOLOR(string name)                      { return GetObjectInteger(name,OBJPROP_COLOR);} // Цвет
   int  GetSTYLE(string name)                      { return GetObjectInteger(name,OBJPROP_STYLE);} // Стиль
   int  GetWIDTH(string name)                      { return GetObjectInteger(name,OBJPROP_WIDTH);} // Толщина линии
   bool GetBACK(string name)                       { return GetObjectInteger(name,OBJPROP_BACK);} // Объект на заднем плане
   int  GetZORDER(string name)                     { return GetObjectInteger(name,OBJPROP_ZORDER);    } // Приоритет графического объекта на получение события нажатия мышки на графике 

Стилиризуем:

   ENUM_OBJECT   GetTYPE(string name) { return(ENUM_OBJECT)GetObjectInteger(name,OBJPROP_TYPE);} // Тип обьекта
   datetime      GetCREATETIME(string name) { return GetObjectInteger(name,OBJPROP_CREATETIME);} // Время создания объекта 
   int  GetCOLOR(string name)                      { return GetObjectInteger(name,OBJPROP_COLOR);} // Цвет
   int  GetSTYLE(string name)                      { return GetObjectInteger(name,OBJPROP_STYLE);} // Стиль
   int  GetWIDTH(string name)                      { return GetObjectInteger(name,OBJPROP_WIDTH);} // Толщина линии
   bool GetBACK(string name) { return GetObjectInteger(name,OBJPROP_BACK);} // Объект на заднем плане
   int  GetZORDER(string name)                     { return GetObjectInteger(name,OBJPROP_ZORDER);    } // Приоритет графического объекта на получение события нажатия мышки на графике

Почему часть кода съехала в лево а часть осталась ?  Синтаксически каждая строка одинаковая....

Причина обращения: