Проблема перевода с МТ4 на МТ5. Или, точнее, невозможность без'ошибочного исполнения некоторых алгоритмов в МТ5. - страница 2

 
Uladzimir Izerski:

Если это вопрос ко мне?

То вот воспроизвожу простой пример.

D1.

Першел на H4



Першел на H1


На мелких ТФ будет чистый график.

В списках объектов присутствуют, а на графике их нет.


Это просто картинки. Опишите, пожалуйста, по шагам, как создаёте, где создаёте обьект, какие свойства объекта. В общем как воспроизвести ситуацию.

 

Вручную вставил объект "трендовая линия" на график. В свойствах/ отображение/ показывать на всех ТФ. Это на Win7. 10ки на данный момент под рукой нет. Но тоже самое. На картинках показано на каких ТФ создавался объект. При переходе на более мелкие ТФ, трендовые линии не отрисовываются. Это касается всех объектов если они нарисованы на старших ТФ и при переходе на мелкие пропадают. Предполагаю, что не хватает данных для дальней точки объекта.

Вы сами можете это воспроизвести.

 
Uladzimir Izerski:

Вручную вставил объект "трендовая линия" на график. В свойствах/ отображение/ показывать на всех ТФ. Это на Win7. 10ки на данный момент под рукой нет. Но тоже самое. На картинках показано на каких ТФ создавался объект. При переходе на более мелкие ТФ, трендовые линии не отрисовываются. Это касается всех объектов если они нарисованы на старших ТФ и при переходе на мелкие пропадают. Предполагаю, что не хватает данных для дальней точки объекта.

Вы сами можете это воспроизвести.

Что стоит в настройках терминала: сколько показывать баров?

 
Uladzimir Izerski:

Вручную вставил объект "трендовая линия" на график. В свойствах/ отображение/ показывать на всех ТФ. Это на Win7. 10ки на данный момент под рукой нет. Но тоже самое. На картинках показано на каких ТФ создавался объект. При переходе на более мелкие ТФ, трендовые линии не отрисовываются. Это касается всех объектов если они нарисованы на старших ТФ и при переходе на мелкие пропадают. Предполагаю, что не хватает данных для дальней точки объекта.

Вы сами можете это воспроизвести.

Как вариант в качестве трендовых можно использовать линии индикатора Зигзаг
 
Vladimir Karputov:

Что стоит в настройках терминала: сколько показывать баров?

50 000.

Установил 500 000.Изменилось.

Тогда понятно. Нужно выставлять максимально. Но. Понятно.

В 4ке от этого не зависело. 

 
Renat Fatkhullin:
А вы можете воспроизводимо продемонстрировать недоступность данных?

Вы утверждаете без воспроизводимых доказательств.

Ну во-первых все мои рассуждения начинались с цитаты из справочника по языку. Повторю еще раз.

 Рубрика Спавочника Организация доступа к данным.

"...Доступность данных

Наличие данных в формате HCC или даже в готовом для использования формате HC не всегда означает безусловную доступность этих данных для отображения на графике или для использования в mql5-программах.

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

Из этого прямо следует, что описанная мной ситуация возможна.

Теперь про логи. В посте 6 -https://www.mql5.com/ru/forum/318246#edit_form  смотрим первую картинку:



Расшифрую эту картинку. В ней же и лог "зашит".

Подводим курсор к   W1 означает, что вилы были созданы на тф W1. Смотрим на всплывающую подсказку: 

time1 - показывает время привязки вил к экстремуму под номером 3.

m20-MN1 - показывает границы фрактальной фильтрации. В этих двух пунктах все нормально.

А вот bar t1 - должен показывать номер бара для time1. И видим здесь он равен -1. То есть история на тф W1 сформирована. Это видно по графику. Зигзаг на этой истории построен.

Но вот при вычислении номера бара мы получили ошибку.

Покажу картинку, как должно быть.


 Во всплывающей подсказке   значение bar t1 = 271.

Теперь заглянем в код:

        ObjectSetString(0,name_obj_tfcreate,OBJPROP_TOOLTIP,"time1 : "+TimeToString(arr_ap[numObject[2]].t1,TIME_DATE|TIME_MINUTES)+
        "\r"+"bar t1 : "+(string)iBarShift(_Symbol,_Period,arr_ap[numObject[2]].t1,true)+
        "\r"+((arr_ap[numObject[2]].tfMin==arr_ap[numObject[2]].tfMax) ? ("Only "+TF_txt[arr_ap[numObject[2]].tfMin]) : (TF_txt[arr_ap[numObject[2]].tfMin]+" -:- "+TF_txt[arr_ap[numObject[2]].tfMax])));
Здесь формирование строки с bar t1:
"bar t1 : "+(string)iBarShift(_Symbol,_Period,arr_ap[numObject[1]].t1,true)

Поиск бара по времени как раз и выдает ошибку. 

Это и является иллюстрацией того самого лога. И приведенной цитаты из справочника по языку. И всего того, что было сказано в первом посте данной ветки.

История сформирована. Но отсутствует доступ к сформированной истории.

В Справочнике по языку говорится, что в таких случаях надо подождать до следующего раза. Но поставьте себя на место пользователя. Он хочет вывести вилы. Подводит курсор к экстремуму номер 1. Кликает мышкойпо цифре 1. Вилы выводятся. Я в первом посте описал ситуацию, когда отсутствовал доступ к таймфреймам старше текущего. Это реально было. Сформировалась верхняя граница фрактальной фильтрации равная текущему тф. При переходе на старшие тф вилы фрактальная фильтрация не пропускает на график. Пользователь в шоке.

Получается, что при сформированных таймсериях по всем тф в неконтролируемые моменты времени пропадает доступ к таймсериям.

И ничего я здесь не придумываю. Читаю Справочник и вижу подтверждение того, что там написано. И вот это как раз, на мой взгляд, является наиболее существенным недостатком MT5.

Проблема перевода с МТ4 на МТ5. Или, точнее, невозможность без'ошибочного исполнения некоторых алгоритмов в МТ5.
Проблема перевода с МТ4 на МТ5. Или, точнее, невозможность без'ошибочного исполнения некоторых алгоритмов в МТ5.
  • 2019.07.19
  • www.mql5.com
Сначала цитата из справочника языка MQL5. Рубрика Организация доступа к данным...
 

Нет воспроизводимого кода = нет доказательства.

Выводы на производных не принимаются.

 
Renat Fatkhullin:
А вы можете воспроизводимо продемонстрировать недоступность данных?

Вы утверждаете без воспроизводимых доказательств.

Я постарался на вопрос ответить. Данные недоступны.

Лог - во всплывающей подсказке. Код всплывающей подсказки приведен. Таймсерия сформирована. График с таймсерией W1 построен. Достап отсутсятвовал. Функция iBarShift выдала ошибку. В МТ4 такой ошибки не наблюдается.

 
Eugeni Neumoin:

Я постарался на вопрос ответить. Данные недоступны.

Лог - во всплывающей подсказке. Код всплывающей подсказки приведен. Таймсерия сформирована. График с таймсерией W1 построен. Достап отсутсятвовал. Функция iBarShift выдала ошибку. В МТ4 такой ошибки не наблюдается.

По картинкам вы сами пробовали воспроизвести утверждаемое другим человеком поведение?

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

Пока его не будет - проблема, о которой вы говорите, тоже не будет решена.

 
Artyom Trishkin:

По картинкам вы сами пробовали воспроизвести утверждаемое другим человеком поведение?

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

Пока его не будет - проблема, о которой вы говорите, тоже не будет решена.

Артем, а это Вы удалили мое сообщение в ветке обсуждения статьи. Где я отвечал на пожелание участника форума?

Я там как раз затрагивал тему, поднятую в этой ветке форума. И меня разозлило такое бесцеремонное отношение. И я создал эту ветку форума.

======

У меня ранее бывали несогласия на этом форуме. Не хотите здесь обсуждать. Есть много форумов, где можно очень многое сказать и без цензуры.

В 2005 году один модератор (HQ) что-то подобное сделал на форуме Альпари. И тогда почти весь форум переместился с Альпари на Оникс.

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