CustomSymbolCreate

Erstellt ein benutzerdefiniertes Symbol mit dem angegebenen Namen in der angegebenen Gruppe.

bool  CustomSymbolCreate(
   const string     symbol_name,         // Name des benutzerdefinierten Symbols
   const string     symbol_path="",      // Name der Gruppe in der das Symbole erstellt werden soll
   const string     symbol_origin=NULL   // Name des Basissymbols für die Erstellung des Benutzerdefinierten
   );

Parameter

symbol_name

[in]  Name des benutzerdefinierten Symbols. Es sollte keine Gruppen oder Untergruppen enthalten, in denen sich das Symbol befindet.

symbol_path=""

[in]  Der Gruppenname, in der sich das Symbol befindet.

symbol_origin=NULL

[in]  Name des Basissymbols, dessen Eigenschaften für nutzerdefinierte Symbol kopiert werden. Nach dem Erstellen des nutzerdefinierten Symbols kann jede Eigenschaft auf das Benötigte mittels der entsprechenden Funktionen geändert werden.

Rückgabewert

true – Erfolge, sonst – false. Um Informationen über den Fehler zu erhalten, rufen Sie die Funktion GetLastError() auf.

Hinweis

Alle nutzerdefinierten Symbole werden im speziellen Nutzerbereich erstellt. Wenn der Gruppenname nicht angegeben wurde (der Parameter symbol_path der Funktion CustomSymbolCreate ist entweder eine leere Zeichenkette oder enthält den Wert NULL), wird das nutzerdefinierte Symbol im Stammordner des Nutzerbereichs erstellt. Das ist analog zum Dateisystem, das Gruppen und Untergruppen in Form von Ordnern und Unterordnern anzeigt.

Die Namen der Symbole und Gruppen dürfen nur lateinische Buchstaben ohne Interpunktion, Leer- oder Sonderzeichen enthalten (mit Ausnahme von ".", "_", "&" und "#"). Es wird nicht empfohlen folgende Zeichen zu verwenden <, >, :, ", /, |, ?, *.

Der Name des nutzerdefinierten Symbols sollte eindeutig sein, unabhängig von der Gruppe, in der es erstellt wurde. Wenn bereits ein Symbol gleichen Namens existiert, gibt die Funktion CustomSymbolCreate() 'false' zurück, und der nachfolgende Aufruf GetLastError() wirft den Fehler 5300 (ERR_NOT_CUSTOM_SYMBOL) oder 5304 (ERR_CUSTOM_SYMBOL_EXIST) aus.

Die Länge des Symbolnamens sollte 31 Zeichen nicht überschreiten. Andernfalls gibt CustomSymbolCreate() 'false' zurück und der Fehler 5302 - ERR_CUSTOM_SYMBOL_NAME_LONG wird gesetzt.

Der Parameter symbol_path kann auf zwei Arten bestimmt werden:

  • nur einen Gruppennamen ohne Namen des benutzerdefinierten Symbols - "CFD\\Metals". Es ist am besten, diese Option zu verwenden, um Fehler zu vermeiden.
  • oder <Gruppe> Name + Gruppenseparator "\\"+<nutzerdefinierter Symbolname>, zum Beispiel - "CFD\\Metalle\\Platin". In diesem Fall sollte der Gruppenname mit dem genauen Namen des nutzerdefinierten Symbols enden. Stimmen sie nicht überein, wird das nutzerdefinierte Symbol dennoch erstellt, jedoch nicht in der beabsichtigten Gruppe. Zum Beispiel, wennsymbol_path="CFD\\Metals\\Platinum" und symbol_name="platinum" (Fehler der Groß-/Kleinschreibung), dann wird in der Gruppe "Custom\CFD\Metals\Platinum" ein nutzerdefiniertes Symbol namens "platinum" erstellt. Die Funktion SymbolInfoGetString("platinum",SYMBOL_PATH) gibt den Wert "Custom\CFD\Metals\Platinum\Platinum\platinum" zurück.

 

Beachten Sie, das die Eigenschaft SYMBOL_PATH den Pfad mit dem Symbolnamen am Ende zurückgibt. Daher kann er nicht ohne Änderungen kopiert werden, wenn Sie ein benutzerdefiniertes Symbol in genau der gleichen Gruppe erstellen möchten. In diesem Fall ist es notwendig, den Symbolnamen zu kürzen, um nicht das oben beschriebene Ergebnis zu erhalten.

Wenn ein nicht vorhandenes Symbol als Parameter symbol_origin verwendet wird, wird ein 'leeres', nutzerdefinierte Symbol erstellt, als ob der Parameter symbol_origin nicht gesetzt wäre. Der Fehler 4301 - ERR_MARKET_UNKNOWN_SYMBOL wird in diesem Fall ausgeworfen.

Die Länge des Parameters symbol_path sollte, unter Berücksichtigung von "Custom\\", den Gruppenseparatoren "\\" und dem Symbolnamen, 127 Zeichen nicht überschreiten, wenn der Name am Ende angegeben ist.

 

Siehe auch

SymbolName, SymbolSelect, CustomSymbolDelete