- CustomSymbolCreate
- CustomSymbolDelete
- CustomSymbolSetInteger
- CustomSymbolSetDouble
- CustomSymbolSetString
- CustomSymbolSetMarginRate
- CustomSymbolSetSessionQuote
- CustomSymbolSetSessionTrade
- CustomRatesDelete
- CustomRatesReplace
- CustomRatesUpdate
- CustomTicksAdd
- CustomTicksDelete
- CustomTicksReplace
- CustomBookAdd
CustomSymbolCreate
Создает пользовательский символ с указанным именем в указанной группе.
bool CustomSymbolCreate(
|
Параметры
symbol_name
[in] Имя пользовательского символа. Не должно содержать групп или подгрупп, в котором символ находится.
symbol_path=""
[in] Имя группы, в которой создается символ.
symbol_origin=NULL
[in] Имя символа, из которого будут скопированы свойства создаваемого пользовательского символа. После создания пользовательского символа можно изменить любое свойство на нужное значение соответствующими функциями.
Возвращаемое значение
true – в случае успеха, иначе false. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Примечание
Все пользовательские символы создаются в специальном разделе Custom. Если имя группы не задано (параметр symbol_path в функции CustomSymbolCreate содержит пустую строку или NULL), то пользовательский символ будет создан в корне раздела Custom. Здесь можно провести аналогию с файловой системой, где группы-подгруппы могут рассматриваться как папки-подпапки
Имя символа и название группы задается только латинскими буквами без знаков препинания, пробелов и спецсимволов (допускаются ".", "_", "&" и "#"). Не рекомендуется использовать в названии символы <, >, :, ", /, |, ?, *.
Имя пользовательского символа должно быть уникальным независимо от названия группы, в котором он создается. Если символ с таким именем уже существует, то функция CustomSymbolCreate() вернёт false, а последующий вызов GetLastError() выдаст код ошибки 5300 (ERR_NOT_CUSTOM_SYMBOL) или 5304 (ERR_CUSTOM_SYMBOL_EXIST).
Длина имени символа не должна превышать 31 знака, в противном случае CustomSymbolCreate() вернёт false и будет взведена ошибка 5302 – ERR_CUSTOM_SYMBOL_NAME_LONG.
Параметр symbol_path допускается задавать двумя способами:
- только имя группы без имени пользовательского символа, например – "CFD\\Metals". Лучше всего использовать именно этот вариант, чтобы избегать ошибок.
- либо имя <группы> + разделитель групп "\\"+<имя пользовательского символа>, например – "CFD\\Metals\\Platinum". В этом случае имя группы должно оканчиваться точным именем пользовательского символа. В случае несовпадения пользовательский символ все равно будет создан, но не в той группе, которая задумывалась. Например, если symbol_path="CFD\\Metals\\Platinum" и symbol_name="platinum" (ошибка в регистре), то будет создан пользовательский символ с именем "platinum" в группе "Custom\CFD\Metals\Platinum". При этом функция SymbolInfoGetString("platinum",SYMBOL_PATH) вернёт значение "Custom\CFD\Metals\Platinum\platinum".
Необходимо иметь в виду, что свойство SYMBOL_PATH возвращает путь вместе с именем символа на конце. Поэтому нельзя просто так копировать его без изменений, если необходимо создать пользовательский символ в точно такой же группе. В этом случае необходимо отрезать имя символа, чтобы не получить результат, описанный выше.
Если в качестве параметра symbol_origin задан несуществующий символ, то пользовательский символ будет создан пустым, как если бы параметр symbol_origin не был указан. При этом будет взведена ошибка 4301 – ERR_MARKET_UNKNOWN_SYMBOL.
Длина параметра symbol_path не должна превышать 127 знаков с учетом "Custom\\", разделителей групп "\\" и имени символа, если оно указано в конце.
Пример:
//+------------------------------------------------------------------+
|
Смотри также