#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
#define OBJ_NAME "TestObjectFind"
#define WND 0
//+------------------------------------------------------------------+
//| Skript Programm Start Funktion |
//+------------------------------------------------------------------+
void OnStart()
{
//--- Chart-ID
long chart_id=ChartID();
//--- wenn das grafische Objekt OBJ_NAME auf dem Chart im Fenster WND gefunden wird,
//--- dies melden und die Arbeit beenden
ResetLastError();
if(ObjectFind(chart_id, OBJ_NAME)==WND)
{
PrintFormat("A graphic object named \"%s\" exists on chart with ID %I64d", OBJ_NAME, chart_id);
return;
}
//--- wenn das Objekt nicht gefunden wird
else
{
//--- wenn der letzte Fehlercode nicht 4202 ("Grafisches Objekt nicht gefunden") ist
//--- Fehler melden und beenden
if(GetLastError()!=ERR_OBJECT_NOT_FOUND)
{
Print("ObjectFind() fehlgeschlagen. Error ", GetLastError());
return;
}
//--- im Journal melden, dass das Objekt OBJ_NAME nicht auf dem Chart mit der Chart-ID chart_id vorhanden ist
PrintFormat("There is no graphic object named \"%s\" on the chart with ID #%I64d. Lassen Sie es uns erstellen.", OBJ_NAME, chart_id);
//--- Erstellen des grafischen Objekts "vertical line" mit dem Namen OBJ_NAME im Fenster WND
ResetLastError();
if(!ObjectCreate(chart_id, OBJ_NAME, OBJ_VLINE, WND, TimeCurrent(), 0))
{
Print("ObjectCreate() fehlgeschlagen. Error ", GetLastError());
return;
}
//--- Zeichnen Sie das Chart neu, um die Änderungen sofort widerzuspiegeln
ChartRedraw(chart_id);
//--- Überprüfen, ob das erstellte Objekt vorhanden ist
if(ObjectFind(chart_id, OBJ_NAME)!=WND)
{
Print("ObjectFind() fehlgeschlagen. Error ", GetLastError());
return;
}
//--- wenn das Objekt erstellt wurde, melde dies im Journal,
//--- warte eine Sekunde und lösche das erstellte Grafikobjekt
PrintFormat("Now a graphic object named \"%s\" exists on the chart with ID #%I64d. Löschen wir es.", OBJ_NAME, chart_id);
Sleep(1000);
ObjectDelete(chart_id, OBJ_NAME);
//--- Zeichnen Sie das Chart neu, um die Änderungen sofort widerzuspiegeln
ChartRedraw(chart_id);
}
/*
Ergebnis:
There is no graphic object named "TestObjectFind" on the chart with ID #133246248352168439. Let's create it.
Now a graphic object named "TestObjectFind" exists on the chart with ID #133246248352168439. Let's delete it.
*/
}
|