Новая версия платформы MetaTrader 5 build 1640: создание и тестирование собственных финансовых инструментов - страница 20

 
fxsaber:

Не должен, т.к. можно писать тики/бары в "будущее". Вместо TimeCurrent надежнее какой-нибудь INT_MAX.

Я понял мысль, но у меня нет баров в будущем. Все только до TimeCurrent.

 
Как прочитать данные баров кастом-символа? CopyRates возвращает ошибку 4003 (ERR_INVALID_PARAMETER) либо 4401 (ERR_HISTORY_NOT_FOUND) в зависимости от вариаций с параметрами. Функция Bars также возвращает 0. А бары есть.
 

Как CustomTicks соотносятся с CustomRates? Иными словами, если удаляется диапазон баров с помощью CustomRatesDelete то будут ли автоматом удалены тики из диапазона? И наоборот, если удаляются тики с помощью CustomTicksDelete, то будут ли удалены бары? Нужно ли вызывать обе функции для чистки истории?

У меня вызов CustomTicksDelete грузить проц на 100% бесконечно, причем данных по инструменту - сущая мелочь.

 
Stanislav Korotky:

Как CustomTicks соотносятся с CustomRates? Иными словами, если удаляется диапазон баров с помощью CustomRatesDelete то будут ли автоматом удалены тики из диапазона? И наоборот, если удаляются тики с помощью CustomTicksDelete, то будут ли удалены бары? Нужно ли вызывать обе функции для чистки истории?

У меня вызов CustomTicksDelete грузить проц на 100% бесконечно, причем данных по инструменту - сущая мелочь.

Возможно, сегодня новый билд выкатят, пока же багов на кастомных многовато.

Тики и бары никак не взаимосвязаны, поэтому работа с каждым видом истории ведется отдельно. Речь именно про историю. Если же делать TicksAdd, то, вроде, бары формируются под тики сами.

 

https://www.mql5.com/ru/docs/customsymbols/customsymbolcreate

Добавьте в Справку 30 символов, как максимальную длину названия символа.

Документация по MQL5: Пользовательские символы / CustomSymbolCreate
Документация по MQL5: Пользовательские символы / CustomSymbolCreate
  • www.mql5.com
Имя символа и название группы задается только латинскими буквами без знаков препинания, пробелов и спецсимволов (допускаются ".", "_", "&" и "#"). Не рекомендуется использовать в названии символы , :, ", /, |, ?, *.
 

Сейчас не может быть символов с одним и тем же названием, даже если у них отличается SYMBOL_PATH.


Почему история по кастомным хранится так

Bases\Custom\history\EURUSD_custom


а не более логично?

Bases\Custom\history\Symbol_Path\EURUSD_custom


Собственно, это вопрос, похоже, касается некоторой непродуманности архитектуры. В Обзоре рынка высвечиваются только названия символов, но не полный их "путь" - с названием группы. Отсюда полно ограничений, которые не преодолеть.

 
CustomSymbolCreate не в состоянии создать символ, если указать symbol_path. Но если после создания прописать тот же параметр в SYMBOL_PATH-свойство, то проходит без проблем.
 

Добавьте в справку, что на symbol_path выделяется 128 байтов, т.е. максимальный string на 127 символов.

 
fxsaber:

https://www.mql5.com/ru/docs/customsymbols/customsymbolcreate

Добавьте в Справку 30 символов, как максимальную длину названия символа.

Как вы это обнаружили? В справке указаны коды ошибок для таких ситуаций https://www.mql5.com/ru/docs/constants/errorswarnings/errorcodes

Пользовательские символы

 

 

ERR_NOT_CUSTOM_SYMBOL

5300

Должен быть указан пользовательский символ

ERR_CUSTOM_SYMBOL_WRONG_NAME

5301

Некорректное имя пользовательского символа. В имени символа можно использовать только латинские буквы без знаков препинания, пробелов и спецсимволов (допускаются ".", "_", "&" и "#"). Не рекомендуется использовать символы <, >, :, ", /,\, |, ?, *.

ERR_CUSTOM_SYMBOL_NAME_LONG

5302

Слишком длинное имя для пользовательского символа. Длина имени символа не должна превышать 32 знака с учётом завершающего 0

ERR_CUSTOM_SYMBOL_PATH_LONG

5303

Слишком длинный путь для пользовательского символа. Длина пути не более 128 знаков с учётом "Custom\\", имени символа, разделителей групп и завершающего 0

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
  • www.mql5.com
Некорректное имя пользовательского символа. В имени символа можно использовать только латинские буквы без знаков препинания, пробелов и спецсимволов (допускаются ".", "_", "&" и "#"). Не рекомендуется использовать символы , :, ", /,\, |, ?, *. Слишком...
 
Rashid Umarov:

Как вы это обнаружили? В справке указаны коды ошибок для таких ситуаций https://www.mql5.com/ru/docs/constants/errorswarnings/errorcodes

Пользовательские символы

 

 

ERR_NOT_CUSTOM_SYMBOL

5300

Должен быть указан пользовательский символ

ERR_CUSTOM_SYMBOL_WRONG_NAME

5301

Некорректное имя пользовательского символа. В имени символа можно использовать только латинские буквы без знаков препинания, пробелов и спецсимволов (допускаются ".", "_", "&" и "#"). Не рекомендуется использовать символы <, >, :, ", /,\, |, ?, *.

ERR_CUSTOM_SYMBOL_NAME_LONG

5302

Слишком длинное имя для пользовательского символа. Длина имени символа не должна превышать 32 знака с учётом завершающего 0

ERR_CUSTOM_SYMBOL_PATH_LONG

5303

Слишком длинный путь для пользовательского символа. Длина пути не более 128 знаков с учётом "Custom\\", имени символа, разделителей групп и завершающего 0

Почти методом тыка - в цикле увеличивал длину, пока не получил отказ. Не пришло в голову, что данные по ограничениям нужно смотреть в этом разделе Справки. Просьба продублировать в CustomCreate.

Длина пути не более 128 знаков с учётом "Custom\\"

Это неверно. Ровно 128 байтов, или 127 знаков, т.к. нулевой байт в конце строки еще должен быть.
Причина обращения: