Erstellen eines Roboters - Seite 6

 
SanAlex:

zu löschen - die Funktion ist dort komplizierter

gibt es einige Indikatoren, die auch Zahlen enthalten.

Hier ist ein Bild der Indikatornamen

Dateien:
vn0wia.PNG  16 kb
 
SanAlex:

für die Löschung - es gibt eine kompliziertere Funktion

Wie kann ich dann das MQL5-Handbuch verwenden, wenn dort alles klar beschrieben ist?

ObjectsDeleteAll

Удаляет все объекты в указанном графике, указанном подокне указанного графика, указанного типа. Существует два варианта функции:

int  ObjectsDeleteAll( 
   long  chart_id,            // идентификатор графика 
   int   sub_window=-1,       // индекс окна 
   int   type=-1              // тип объекта для удаления 
   ); 

Удаляет по префиксу имени в подокне графика все объекты указанного типа.

int  ObjectsDeleteAll( 
   long           chart_id,   // идентификатор графика 
   const string     prefix,   // префикс имени объекта 
   int       sub_window=-1,   // индекс окна 
   int      object_type=-1    // тип объекта для удаления 
   );

Параметры

chart_id

[in]  Идентификатор графика. 0 означает текущий график.

prefix

[in]  Префикс, по которому будут удалены все объекты, чьи имена начинаются с данного набора символов. 
Префикс можно указывать как 'name' или 'name*' – оба варианта работают одинаково. 
Если в качестве префикса указана пустая строка, то будут удалены объекты с любым именем.

sub_window=-1

[in]  Номер подокна графика. 0 означает главное окно графика, -1 означает все подокна графика, включая главное окно.

type=-1

[in]  Тип объекта. Значение может быть одним из значений перечисления ENUM_OBJECT. -1 означает все типы.

Возвращаемое значение

Возвращает количество удаленных объектов. Для получения дополнительной информации об ошибке необходимо вызвать функцию функцию GetLastError().

Примечание

Функция использует синхронный вызов – это означает, что функция дожидается выполнения всех команд, 
которые были помещены в очередь графика перед её вызовом, и поэтому данная функция может быть затратной по времени. 
Нужно иметь это обстоятельство в виду, если ведется работа с большим количеством объектов на графике.

Ich lösche nach dem Präfix. Oder verstehe ich vielleicht etwas nicht?

Mit freundlichen Grüßen, Vladimir.

Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
  • www.mql5.com
MetaQuotes Language 5 (MQL5) - язык программирования технических индикаторов, торговых роботов и вспомогательных приложений для автоматизации торговли на финансовых рынках. MQL5 является современным языком высокого уровня и разработан MetaQuotes Software Corp. для собственной торгово-информационной платформы. Синтаксис языка максимально близок...
 
MrBrooklin:

Wie kann ich dann das MQL5-Handbuch verwenden, wenn dort alles klar beschrieben ist?

Ich lösche nach dem Präfix. Oder verstehe ich vielleicht etwas nicht?

Mit freundlichen Grüßen, Vladimir.

Ich habe noch nie das Handbuch benutzt - ich mache es einfach durch Stochern, bis es funktioniert.

Hier ist ein Skript, das ich erstellt habe.

Dateien:
 

Liebe Forumsprofis!

Kann mir bitte jemand sagen, ob ich die Bedeutung des Wortes Präfix in der Programmierung falsch verstehe?

Hochachtungsvoll, Vladimir.

 
MrBrooklin:

Liebe Forumsprofis!

Kann mir bitte jemand sagen, ob ich die Bedeutung des Wortes Präfix in der Programmierung falsch verstehe?

Mit freundlichen Grüßen, Vladimir.

Dasselbe wie auf Russischhttps://www.linguee.com/english-russian/translation/code+prefix.html

Zum Beispiel: ENUM_ORDER_TYPE_FILLING -> Das Präfix ist in diesem Fall enumeration, dann _order_type_function
code prefix - Russian translation – Linguee
code prefix - Russian translation – Linguee
  • www.linguee.com
surname or family name, t h e prefix o f w hich was separated в именном указ а тел е в связи с фа ми ли ей, префикс которой Настрой к и префикса: В Ы можете создать список номер о в префиксных но ме ров и установи т ь определенные пр еф иксные имена пользователя , дл я международных к одо в доступа и ко до в города. scientific education, an eth...
 
MrBrooklin:

Wie kann ich dann das MQL5-Handbuch verwenden, wenn dort alles klar beschrieben ist?

Ich lösche nach dem Präfix. Oder verstehe ich vielleicht etwas nicht?

Mit freundlichen Grüßen, Vladimir.

Ich glaube, Sie haben keinen Fensterindex.

 
Valeriy Yastremskiy:

Sie scheinen keinen Fensterindex zu haben.

Hallo Valery!

In der Code-Zeile habe ich die chart_id des Fensters "0" geschrieben, d.h. den aktuellen Chart

   ObjectsDeleteAll(0,"Examples\\ZigzagColor");

oder meinen Sie "-1" nach dem Präfix? Ist das so?

   ObjectsDeleteAll(0,"Examples\\ZigzagColor",-1);

Wenn ja, habe ich es auch versucht, aber es wird immer noch nicht gelöscht.

Mit freundlichen Grüßen, Vladimir.

 
MrBrooklin:

Hallo Valery!

In der Codezeile habe ich die chart_id des Fensters "0", d.h. des Hauptfensters, angegeben

oder meinen Sie, dass nach dem Präfix noch ein "-1" steht? Ist das so?

Wenn ja, habe ich es auch versucht - es wird immer noch nicht gelöscht.

Mit freundlichen Grüßen, Vladimir.

Ich benutze normalerweise Print oder Alerts, nachdem ich ein Handle erhalten habe, zeige ich es im Alert an, und wenn möglich, den Indikator-Namen und den Fenster-Index und Chart-Identifikator, nach der Löschung, zeige ich die Rückkehr der Löschfunktion im Alert an. Die erste Null ist die Kennung des Diagramms und nach dem Präfix der Fensterindex.

int DelObjV=ObjectsDeleteAll(0,"Examples\\ZigzagColor",-1,-1);
Alert ("DelObjV= " DelObjV);
 
Normalerweise lösche ich Handle und Berechnungsteil in OnDeinit und alles wird gelöscht. Das Objekt ist kein Indikator.
   IndicatorRelease(h_zz);
   ArrayFree(zz_buf);

https://www.mql5.com/ru/docs/chart_operations/chartindicatordelete

"Das Entfernen eines Indikators aus einem Diagramm bedeutet nicht, dass auch der Berechnungsteil des Indikators aus dem Speicher des Terminals entfernt wird. Um den Indikator-Handle freizugeben, verwenden Sie die Funktion IndicatorRelease() ".

Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
  • www.mql5.com
//|                                        Test_IndicatorRelease.mq5 | //|                        Copyright 2010, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //| Expert initialization function                                   |...
 
Valeriy Yastremskiy:

Normalerweise gehe ich durch den Druck oder die Alerts, nachdem ich einen Handshake erhalten habe, gebe ich ihn an den Alert aus, und wenn Sie den Indikator und den Fensterindex und die Chartkennung nennen können, gebe ich nach dem Löschen die Rückkehr der Löschfunktion an den Alert aus. Die erste Null ist die Kennung des Diagramms und nach dem Präfix der Fensterindex.

Wir entfernen den Indikator aus dem Diagramm mit der Funktion


ChartIndicatorDelete(

long chart_id, // Kennung der Karte

int sub_window // Nummer des Unterfensters

const string indicator_shortname // Kurzname des Indikators

);

Grund der Beschwerde: