Новая версия платформы MetaTrader 5 build 3440: Новый отчет по торговому счету - страница 4

 

Также добавьте, пожалуйста, возможность отслеживать тики других инструментов, а не только того, на котором запущен эксперт. Сейчас есть только событие OnTick(), а нужно что-то вроде

void OnTick(const string&  symbol)

Я знаю, что можно следить за стаканами с OnBookEvent, но по нужным мне инструментам (опционы) брокер просто не даёт такой фид - стакан пустой и через MQL5, и в терминале, а тики (bid/ask) есть. Открывать кучу графиков и вешать на каждый из них свой эксперт - плохой вариант. Предлагали кустарное решение с iCustom - тоже, считаю, плохой, лучше нативная поддержка.

 
fxsaber #:
Еще одна ошибка с const. Строка для поискаOshibka 046.

Исправлено, будет доступно в завтрашнем релизе.

 
xfo #:

Здравствуйте. Как достучаться до техподдержки? Раньше был сервисдеск, я пару багов там заводил, всё оперативно исправляли. Теперь вместо сервисдеска отправляют на форум, я тут писал про один баг (или недоработку, не знаю) уже 4 раза в разных темах на протяжении нескольких месяцев, а баг так и остался. 

При использовании CopyTicks на большом количестве инструментов быстро съедается оперативная память. При попытке запросить историю для накопления в файлах .tkc, например, по опционам одной серии по 1 акции за 1 день съедается > 5 ГБ памяти, прикладываю скрипт и лог. Брокер Финам (зарубежная дочка), билд 3391.

В первых запусках я запросил тики по старой серии и старым датам, т.к. осталось в скрипте: 110 символов, 0 тиков - но это всё съело 2 ГБ памяти, потом перезапустил скрипт ещё пару раз для проверки памяти. Потом перенастроил на новую серию и последний день, строка 615 в логе. После этого съелось ещё 5 ГБ, итого больше 7 ГБ. Да, там много символов, 570 штук где-то, тиков мало - суммарно пара сотен тысяч. Т.е. под каждый символ сразу резервируется 10 МБ.

Это не баг.

Запрос тиков вызывает поднятие данных символа и запуск процесса накопления/построения базовой M1 истории символа, чтобы обеспечить ее доступность для последующей работы.

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

Со своей стороны мы займемся уменьшением ресурсоемкости путем более быстрого сброса кешей. Вопрос давно назрел.

 
xfo #:

Также добавьте, пожалуйста, возможность отслеживать тики других инструментов, а не только того, на котором запущен эксперт. Сейчас есть только событие OnTick(), а нужно что-то вроде

Я знаю, что можно следить за стаканами с OnBookEvent, но по нужным мне инструментам (опционы) брокер просто не даёт такой фид - стакан пустой и через MQL5, и в терминале, а тики (bid/ask) есть. Открывать кучу графиков и вешать на каждый из них свой эксперт - плохой вариант. Предлагали кустарное решение с iCustom - тоже, считаю, плохой, лучше нативная поддержка.

Пока такого не планируем.
 
Renat Fatkhullin #:
Пока такого не планируем.

А что тогда делать? Пилить кустарный workaround? Любая стратегия на опционах - а приори мульти-инструментальная, надо следить как минимум за базовым активом и одним опционом.

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

Также добавьте, пожалуйста, возможность отслеживать тики других инструментов, а не только того, на котором запущен эксперт. Сейчас есть только событие OnTick(), а нужно что-то вроде

Я знаю, что можно следить за стаканами с OnBookEvent, но по нужным мне инструментам (опционы) брокер просто не даёт такой фид - стакан пустой и через MQL5, и в терминале, а тики (bid/ask) есть. Открывать кучу графиков и вешать на каждый из них свой эксперт - плохой вариант. Предлагали кустарное решение с iCustom - тоже, считаю, плохой, лучше нативная поддержка.

Для получения котировок по другим инструментам можно подписаться на их стаканы

 
prostotrader #:

Для получения котировок по другим инструментам можно подписаться на их стаканы

Я же написал

Я знаю, что можно следить за стаканами с OnBookEvent, но по нужным мне инструментам (опционы) брокер просто не даёт такой фид - стакан пустой и через MQL5, и в терминале, а тики (bid/ask) есть.
 

При переносе сделок из истории на график: (История торговли > Правый клик > Показать на графиках) автоматически меняется масштаб графика. Ожидалось что масштаб меняться не будет...

Сбрасываются и другие свойства графиков.

 
mktr8591 #:

Уважаемые разработчики!

То, что вы запретили передачу неконстантного указателя A* в параметр (const A* &), это конечно хорошо. Но вы переборщили.

Такой указатель должен спокойно передаваться по константной ссылке (const A* const &). Следующий код должен выполняться, но не компилируется (b3428):

В С++ аналогичный код идет без ошибок.

Было бы здорово в релизе 3440 исправить)


P.S.  И заодно, пожалуйста, исправьте, чтобы переменная-указатель на потомки A* конвертировалась в константную ссылку на A*:


Исправлено в 3440.

 
class A{};
class B:public A{};

void f1(A* const &){}
void f2(void* const &){}

void OnStart()
  {
  B b, *pb=&b;
  f1(pb);       //cannot convert type 'B *' to reference of type 'A *'
  f2(pb);       //cannot convert type 'B *' to reference of type 'void *'
  }

Исправлено в 3440.