Пожелания для МТ5 - страница 24

 
Renat писал(а)  :

Тут видно, что минутки с 1993 года (на самом деле до 1999 года вместо минуток идут дневки) занимают в расжатом и готовом для работы виде 231 мегабайт. При этом рядом лежащие часовки занимают всего 4 мб.

Если умножить 52 байта на 4 400 000 баров, то как раз получится значение около 230 Мб. Наложение простого индикатора Moving Average с одним рабочим буфером (double) на такую историю потребует 4 400 000 * 8 = 35 мб памяти.


Когда трейдер выставляет в настройках терминала "Максимум баров в окне", то он явно указывает "загружать в память для работы не больше указанного числа баров". Если в загружена вся история минуток (идет работа на чарте M1), наложено несколько тяжелых многобуферных индикаторов, используются эксперты, то затраты памяти могут быть существенными. Причем нельзя считать "я работаю с одним окном, вижу 500 баров, поэтому остальное можно выгрузить". Выгрузить нельзя - на этих данных живут и работают индикаторы, эксперты и тд.

 

 Так вот, значит, почему я недавно так и не смог встать на 1996 год на M1 и увидеть детально минутные бары, которые подменялись барами старших ТФ? Если так, то причина в "неправильном выкачивании истории" отпадает, тем более, что речь идёт не о криворуких попытках MQL-скриптового выкачивания, а непосредственно терминальном, а уж тут-то я как программист получаюсь ни при чём вовсе, оставаясь простым пользователем (разве что надо было, будучи пользователем, всё-таки выставить большее значение max числа баров?).

 

 Касательно живого пересчёта индикаторов... Это было предсказуемо, просто не стал лить воду, но вот и лишнее подтверждение от самих разработчиков подоспело. Понятно, что для расчёта индикатора необходимо учитывать и те бары, что сейчас "за кадром" от пользователя. Только вот если имелось в виду и это, а не только визуальный аспект, то и здесь, по-моему, ничто не противоречит потиковому пересчёту индикаторов при любом изменении ситуации, но не всей охапкой, а покусочно, занимая небольшой буфер памяти исторического сектора за сектором, а потом склеиванию субрезультатов в один результат и окончательное формирование показаний индикатора. Разве нет? А если многопоточно было бы (по потоку - на каждый субсектор), то вообще красота бы была, моргнуть не успеешь. Ну а LIFO - это как минимум относилось к отображению видимого участка графика пользователю, хотя и для субвычислений кусков данных тоже могло бы пригодиться - смотря какой math-подход организовывать.

 Так или иначе, - всё это, как мне думается, не должно ни коим образом помешать замечательной концепции "single source data - several charts".

 А загонять всю необходимую для исследования историю в память и всё это обсчитывать при каждом тике да ещё и одним потоком - некошерно ведь!

 ...Хмм! А ведь многопоточность сразу же и убивает идею сужения сегмента оперативки для обсчётов. Тогда выходит, что сколько субсекторов для обсчёта - столько и потоков - во столько и умножится занимаемая память (если только при линковке билда и компиляции всё это как-нибудь хитроумно не будет автоматически оптимизировано... впрочем, я что-то даже с ходу не сориентируюсь, должна ли тут речь идти об MQL-обсчёте баров, как это делается в скриптах и индикаторах, или такие вычисления [должны быть] реализованы именно на уровне кода терминала). В итоге - на те же 2 Гб, видимо, и нарвёмся. Получается, что многопоточность хороша для скорости, последовательность - для сужения расхода памяти.

  Если что не так понял, можете меня поправить.

 

Хорошо бы чтобы во встроенных индикаторах была опция "Выбрать таймфрейм индикатора". По умолчанию - текущий таймфрейм. Понятно что можно самому создать любой индикатор, но есть те кто только начинает пользоваться ТМ5. Да и вообще не помешает такая опция.

 

как ты представляеш себе 5 периодичную скользящую среднюю 30 минутки отображенную на дневном графике???

это типа такая закорючка внутри дневной свечки?

 
CoreWinTT:

как ты представляеш себе 5 периодичную скользящую среднюю 30 минутки отображенную на дневном графике???

это типа такая закорючка внутри дневной свечки?

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

 Считаю весьма полезным снабжать каждый наложенный на график графический объект датой и временем его создания (+ можно и последней модификации) в свойствах. Иногда это бывает чертовски важно знать, а то, бывалоча, начертишь что-то, а рядом ещё что-нибудь аналогичное, замешкаешься... - и вспомнить не можешь, давно ли чертил то, давно ли это... и что из них на текущий момент попахивает сомнительной актуальностью и требует удаления для разгрузки графика. Ведь по собственно рыночной ситуации не всё и не всегда бывает очевидно в отношении актуальности. Так-то вот.

 Мелочь - а приятно.

 

 

 О?.. В толковом словаре русского языка С. И. Ожегова этих слов на букву о... Хотелось бы провести детективное расследование, что за слово на букву о скрывают разработчики в 4-й колонке "Списка объектов"... А вдруг что-то эдакое, государственной важности - как же уснуть в неведении?.. Ну не выковыривается никак. Я уже и так её, и сяк, и зубилом, и стамеской...

 

Это номер окна, в котором расположен объект.  Из справки терминала (читайте хелп, там все есть):

В данном окне отображается список всех объектов, наложенных в данный момент на график. Наложенные объекты представлены в виде таблицы со следующими полями:

  • Объект — тип объекта;
  • Название — название объекта. Данное название формируется из: периода графика, на который наложен объект, типа объекта и уникального идентификатора, который автоматически присваивается каждому объекту. Данное имя может быть изменено в свойствах объекта;
  • Описание — описание объекта. Его также можно изменить в свойствах объекта;
  • Окно — номер окна, на которое наложен объект. 0 означает основное окно графика, дальнейшие цифры означают порядковые номера подокон индикаторов сверху вниз.

Если поставить галочку в поле "Объект", то данный объект будет выделен на графике. При нажатии кнопки "Показать", график будет перемещен к выбранному объекту. При нажатии кнопки "Свойства" Вы перейдете к редактированию свойств выбранного объекта. При нажатии кнопки "Удалить" выбранный объект будет удален. С помощью горячих клавиш Ctrl+A можно выделить все объекты.


 
Rosh писал(а)  :
Это номер окна, в котором расположен объект.

 А, ясно. Спасибо.  Вернее даже будет сказать субокна, то есть, например, окошка индикатора (который не накладывается непосредственно на график) в пределах общего окна одного чарта.

 По поводу окна "Список объектов"... Ну так, может, логично сделать его традиционно, с "памятью формы", разделитель чтоб фиксировался на позиции при отпускании кнопки мышки? 

 

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

 Спасибо. 

Файлы:
 

Пожелания!!!! Обратите внимание!!!!!

У вас есть Документация, просьба сделайте по концу описания функции и т.д. по требованию раскрывавшийся форум строго по данной функции, очень поможет, иногда читаеш описание но до конца не совсем понятно действие или влияние на нужную конструкцию советника и начинается потеря времени, рыскание на форуме может кто уже с этой функцией сталкивался, а так если не понятно что-то тут-же  ниже как Code Base у вас сделано почитал!!!! Что скажите!!!! Думаю это многим нужно!!!

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