CustomSymbolDelete

Löscht das nutzerdefinierte Symbol mit dem angegebenen Namen.

bool  CustomSymbolDelete(
   const string     symbol_name          // Name des nutzerdefinierten Symbols
   );

Parameter

symbol

[in]  Name des nutzerdefinierten Symbols. Der Name darf nicht mit dem Namen eines bereits vorhandenen Symbols übereinstimmen.

Rückgabewert

true – bei Erfolg, andernfalls false. Um Fehlerdetails zu erhalten, muss die Funktion GetLastError() aufgerufen werden.

Hinweis

Ein nutzerdefiniertes Symbol, das im Fenster Marktübersicht (Market Watch) angezeigt wird, oder dessen Chart offen ist, kann nicht gelöscht werden.

 

Beispiel:

//+------------------------------------------------------------------+
//|                                           CustomSymbolDelete.mq5 |
//|                                  Copyright 2024, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
 
#define   CUSTOM_SYMBOL_NAME     Symbol()+".C"  // Name des nutzerdefinierten Symbols
#define   CUSTOM_SYMBOL_PATH     "Forex"        // Name der Gruppe, in der das Symbol erstellt werden soll
#define   CUSTOM_SYMBOL_ORIGIN   Symbol()       // Name des Symbols, das als Basis des nutzerdefinierten dienen soll
 
//+------------------------------------------------------------------+
//| Skript Programm Start Funktion                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- wenn das Erstellen eines nutzerdefinierten Symbols fehlgeschlagen ist, wird im Log darüber informiert
   if(!CustomSymbolCreate(CUSTOM_SYMBOL_NAMECUSTOM_SYMBOL_PATHCUSTOM_SYMBOL_ORIGIN))
     {
      Print("CustomSymbolCreate() failed. Error "GetLastError());
      return;
     }
 
//--- Überprüfung der Existenz des erstellten Symbols und Ausdruck des Ergebnisses im Log
   bool customfalse;
   bool exist = SymbolExist(CUSTOM_SYMBOL_NAMEcustom);
   PrintFormat("Custom symbol '%s' exists: %s"CUSTOM_SYMBOL_NAME, (string)exist);
   
//--- zwei Sekunden warten und das erstellte Symbol mit der resultierenden Nachricht im Log löschen
   Sleep(2000);
   ResetLastError();
   bool deleted = CustomSymbolDelete(CUSTOM_SYMBOL_NAME);
   Print(deleted ? StringFormat("Custom symbol '%s' removed"CUSTOM_SYMBOL_NAME) : StringFormat("CustomSymbolDelete() failed. Error ",GetLastError()));
 
//--- Überprüfung der Existenz des erstellten Symbols und Ausdruck des Ergebnisses im Log
   exist = SymbolExist(CUSTOM_SYMBOL_NAMEcustom);
   PrintFormat("Custom symbol '%s' exists: %s"CUSTOM_SYMBOL_NAME, (string)exist);
   /*
   Ergebnis:
   Custom symbol 'EURUSD.Cexiststrue
   Custom symbol 'EURUSD.Cremoved
   Custom symbol 'EURUSD.Cexistsfalse
   */
  }

 

Siehe auch

SymbolName, SymbolSelect, CustomSymbolCreate