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

x572intraday #:

 Тогда как объяснить это в MT4:

неужто частным случаем? Ведь первая сделка — открытие — точно уже совершилась.

 Про штатные функции не понял, к чему относилось. Нужны пояснения.

Да, и надо понимать различие в ордерном языке в 4ке и 5ке. В 4ке открытие ордера включает в себя приказ, сделку, появление позиции, и соответственно после сделки комиссия может быть получена. Но не у всех и не всегда. Поэтому иногда бывают казусы, когда вроде почти прибыльные сделки по закрытию позиций становятся убыточными. 

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

x572intraday #:

Тогда как объяснить это в MT4:

неужто частным случаем? Ведь первая сделка — открытие — точно уже совершилась.

Существуют альтернативные GUI торгового окружения. Вот один из вариантов на MT5.

Valeriy Yastremskiy #:

А комиссию не всегда можно получить.

 Так, значит, трейдер должен иметь альтернативу в виде либо пустого (если нельзя получить), либо заполненного (если можно получить) поля "Комиссия". Это как поле "Комментарий": если он есть, поле заполнено, нет — пусто. Но сама графа в шапке наличествует! Так и графы "Комиссия" зачем нас лишать? Пусть будет на случай " если можно получить".

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

 У разных брокеров разный своп на одну и ту же пару. Так и что? Давайте и графу "Своп" упраздним? Но ведь она же существует, разработчики не сочли нужным её спрятать!

 Единственное, что я понял чётко — это то, что комиссия не гарантирована, а своп есть всегда... ну, не считая исламских счетов. Но ведь исламские счета с нулевым свопом — не повод упразднять графу "Своп".

 Кроме того, даже один и тот же брокер время от времени может менять параметры торговли: своп, спред, минимальный лот ...да даже плечо плавающим бывает. И трейдер заранее не знает, когда тот или иной параметр поплывёт, хотя ему и могут заранее выслать в почту предупреждение. Вот рассчитал и учёл ты заранее в своём эксперте значение свопа, а гад брокер взял и втихую изменил его. Эксперт заработал не туда. То же самое и с меняющейся комиссией... а ещё хуже, если она вообще неизвестна заранее. Как тогда её вообще учитывать в расчётах при автоторговле? Или свежий своп в реальном времени можно запросить с торгового сервера, а комиссию нельзя? Тогда это меняет дело (не в лучшую сторону).

Не возможно комиссию получить до открытия рыночного ордера / позиции. Так же не возможно получить комиссию до сделки, когда отложенный ордер становится позицией.

 Можно маленький ликбез для балбеса? Отложенник становится позицией сразу после создания или только после срабатывания по подошедшей цене? Если первое, то всё предельно ясно; если второе, то уже происходит первая сделка открытия позиции:

Alexey Viktorov #:
Если есть позиция, то есть завершённая сделка.

и поэтому вроде как уже можно узнать комиссию (правда, без 100% гарантии), а в этом случае по-прежнему остаётся неясность.

x572intraday #:

 Настроил под себя пустой шаблон для MT5, сохранил как Default.tpl. Из "Обзора рынка" выбираю пару, затем "Окно графика" — открывается новый график с "Тиковыми объёмами" (Ctrl-L) и "Торговыми уровнями", хотя перед этим всё это поотключал. Отключаю, пытаюсь пересохранить новый шаблон под Default.tpl, переоткрываю — та же фигня. Либо так и задумано, либо надо пофиксить.

 Любопытно, что множество других параметров настроек Default-шаблона прекрасно сохраняются в соответствии в выбранными предпочтениями.

 Я немножечко соврамши, просьба коваными сапогами не пинать. Гистограмма с "Тиковыми объёмами" появляется не при открытии чистого графика новой пары, автоматом цепляющей Default-шаблон, а при набрасывании на такой график любого индикатора. Проверьте сами — должен появиться непрошеный "зелёный лес":

NZDUSD Tick Volumes

 "Никогда такого не было — и вот опять." Если баг и если это не предпочтительное поведение, желательно исправить. Гистограмма объёма — это тоже своего рода индикатор... индикатор незапрашиваемый, но навязываемый. Однозначно надо пофиксить.

 Upd: только что проверил на штатных индикаторах — ситуация повторяется. Единственное исключение — Fractals. Я только им и пользуюсь практически, другие индикаторы давно не накидывал, поэтому и не мог заметить, что они "лес" выращивают. А появилось это, поди, не так уж и недавно.

 Upd-2: а, нет, не соврамши я ни разу. "Лес" появляется в обоих случаях.

Slava #:
Дойти до конца страницы и нажать PgDown - следующие 16384 записей

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

 Но — вопрос: не логичнее ли выводить не первые, а последние 16384 записей? Они же самые свежие, самые актуальные, когда отлаживаешь Print()'ами текущий MQL-код. Ну а PgUp — предыдущие 16384 записей. Иное поведение кажется менее естественным.

x572intraday #:

 Так, значит, трейдер должен иметь альтернативу в виде либо пустого (если нельзя получить), либо заполненного (если можно получить) поля "Комиссия". Это как поле "Комментарий": если он есть, поле заполнено, нет — пусто. Но сама графа в шапке наличествует! Так и графы "Комиссия" зачем нас лишать? Пусть будет на случай " если можно получить".

 У разных брокеров разный своп на одну и ту же пару. Так и что? Давайте и графу "Своп" упраздним? Но ведь она же существует, разработчики не сочли нужным её спрятать!

 Единственное, что я понял чётко — это то, что комиссия не гарантирована, а своп есть всегда... ну, не считая исламских счетов. Но ведь исламские счета с нулевым свопом — не повод упразднять графу "Своп".

 Кроме того, даже один и тот же брокер время от времени может менять параметры торговли: своп, спред, минимальный лот ...да даже плечо плавающим бывает. И трейдер заранее не знает, когда тот или иной параметр поплывёт, хотя ему и могут заранее выслать в почту предупреждение. Вот рассчитал и учёл ты заранее в своём эксперте значение свопа, а гад брокер взял и втихую изменил его. Эксперт заработал не туда. То же самое и с меняющейся комиссией... а ещё хуже, если она вообще неизвестна заранее. Как тогда её вообще учитывать в расчётах при автоторговле? Или свежий своп в реальном времени можно запросить с торгового сервера, а комиссию нельзя? Тогда это меняет дело (не в лучшую сторону).

 Можно маленький ликбез для балбеса? Отложенник становится позицией сразу после создания или только после срабатывания по подошедшей цене? Если первое, то всё предельно ясно; если второе, то уже происходит первая сделка открытия позиции:

и поэтому вроде как уже можно узнать комиссию (правда, без 100% гарантии), а в этом случае по-прежнему остаётся неясность.

Своп можно узнать в любой момент времени, так же и плечо, и другие озвученные вами параметры. Комиссию узнать можно по факту свершившейся сделки в её параметрах. Она и есть в таблице сделок в терминале.

Нулевой тик, как такое возможно? Ошибка в тестере?

Пишем простой код для тестера.

MqlTick trade;

SymbolInfoTick(_Symbol,trade);
                  
double last_ = trade.last;
                  
if(last_ == 0)
  {
   Print(trade.time);
  }

На выходе получаем:

2021.12.15 02:25:02.799    Core 1    2021.11.08 00:00:00   2021.11.08 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.08 00:00:03   2021.11.08 00:00:03
2021.12.15 02:25:02.799    Core 1    2021.11.08 00:00:04   2021.11.08 00:00:04
2021.12.15 02:25:02.799    Core 1    2021.11.09 00:00:00   2021.11.09 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.12 00:00:00   2021.11.12 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.12 00:00:01   2021.11.12 00:00:01
2021.12.15 02:25:02.799    Core 1    2021.11.15 00:00:00   2021.11.15 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.16 00:00:00   2021.11.16 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.17 00:00:00   2021.11.17 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.18 00:00:00   2021.11.18 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.19 00:00:00   2021.11.19 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.22 00:00:00   2021.11.22 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.22 00:00:00   2021.11.22 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.22 00:00:01   2021.11.22 00:00:01
2021.12.15 02:25:02.799    Core 1    2021.11.22 00:00:01   2021.11.22 00:00:01
2021.12.15 02:25:02.799    Core 1    2021.11.22 00:00:03   2021.11.22 00:00:03
2021.12.15 02:25:02.799    Core 1    2021.11.23 00:00:00   2021.11.23 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.25 00:00:00   2021.11.25 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.25 00:00:00   2021.11.25 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.25 00:00:01   2021.11.25 00:00:01
2021.12.15 02:25:02.799    Core 1    2021.11.25 00:00:01   2021.11.25 00:00:01
2021.12.15 02:25:02.799    Core 1    2021.11.29 00:00:00   2021.11.29 00:00:00
2021.12.15 02:25:02.799    Core 1    2021.11.29 00:00:01   2021.11.29 00:00:01
2021.12.15 02:25:08.902    Core 1    2021.11.30 00:00:00   2021.11.30 00:00:00
2021.12.15 02:25:08.902    Core 1    2021.11.30 00:00:01   2021.11.30 00:00:01
2021.12.15 02:25:08.902    Core 1    2021.12.01 00:04:45   2021.12.01 00:04:45
2021.12.15 02:25:08.902    Core 1    2021.12.02 00:00:00   2021.12.02 00:00:00
2021.12.15 02:25:08.902    Core 1    2021.12.03 00:00:00   2021.12.03 00:00:00
2021.12.15 02:25:08.902    Core 1    2021.12.06 00:00:00   2021.12.06 00:00:00
2021.12.15 02:25:08.902    Core 1    2021.12.07 00:00:00   2021.12.07 00:00:00
2021.12.15 02:25:08.902    Core 1    2021.12.07 00:00:00   2021.12.07 00:00:00
2021.12.15 02:25:08.902    Core 1    2021.12.07 00:00:01   2021.12.07 00:00:01
2021.12.15 02:25:08.902    Core 1    2021.12.08 00:00:00   2021.12.08 00:00:00
2021.12.15 02:25:08.902    Core 1    2021.12.09 00:00:00   2021.12.09 00:00:00

По логике, если последний тик равен нулю, то и выдавать ничего не должно. А оно выдает нулевой тик, из-за чего происходит сбой в расчетах советника, например, при подсчете средней. (13000 + 0 + 13000) / 3 =  8667, хотя должно быть (13000 + 13000) / 2 = 13000. Из-за нулевого тика вместо 13000, получилось 8667 !!!

При этом в тиковой истории никаких нулевых тиков нет. Вот кусок истории за нулевую секунду 2021.12.09 00:00:0 Это контракт на евро CME EU6Z21

"<DATE>    <TIME>    <BID>    <ASK>    <LAST>    <VOLUME>    <FLAGS>"
"2021.12.09    00:00:00.034    1.13445                2"
"2021.12.09    00:00:01.607            1.13445    1.00000000    88"
"2021.12.09    00:00:01.607            1.13445    1.00000000    88"
"2021.12.09    00:00:01.608    1.13445    1.13450            6"
"2021.12.09    00:00:01.660    1.13440                2"

Добрый день, прошу помочь, при попытке подключения индикатора к графику происходит ошибка 
... loading of *название индикатора или же советника* for MT5.ex5 failed [538]
Также наблюдаются проблемы с тестировщиком стратегий.
Ранее таких проблем не наблюдалось
В мобильном приложении МТ5 билд 3112 после чистой/новой установки при подключении к реальным счетам двух разных брокеров новостная лента пустая, новости не поступают. В прошлых билдах всё работало.

 

А также, при запуске программы с чартом в правом поле цена обрезается до 2-ух знаков после запятой(всего 6 цифр в цене). А после смены инструмента цена отображается корректно (7 цифр в цене).