Fehler, Irrtümer, Fragen - Seite 560

 
Sie können so viele Objekte erstellen, wie Sie möchten, bis Ihnen der Speicher ausgeht. Das Problem liegt höchstwahrscheinlich in etwas anderem.

Es wäre toll, wenn wir Ihren Code im Debugger ausführen könnten - können Sie uns den Quellcode geben? Nach der Überprüfung werden wir sie löschen.
 
Urain:

PS: Wie beende ich normalerweise das Programm, wenn es viele Klassenobjekte gibt?

es ein solches Problem gibt.

Wie kann man löschen?

 
sergeev:

es ein solches Problem gibt.

Wie kann man sie entfernen?

Ich habe versucht, verschiedene Möglichkeiten, meist mit Zyklen, mit und ohne rutscht, die Objekte sind Matrjoschka, die oberen 20 Stücke (und ich möchte 100) verursachen die Entfernung von internen in Höhe von ~30000/obj (kurz ein Array von Objekten), in denen sich (in jedem) Stücke von 10 Objekten.
 
Urain:
Ich habe versucht, es auf verschiedene Weise, meist in Schleifen, mit und ohne rutscht, Objekte sind Matrjoschka, Top 20 (ich möchte 100) rufen löschen interne in Menge ~30000/obj (kürzere Array von Objekten), in denen (jeder) 10 Objekte sind.

Nein, nein.

Ich meine, welche Funktionen verwenden Sie bei der Löschung?

ObjectGetString oder direkt auf ObjectDelete.

Woher kennen Sie den Namen des Objekts, das Sie löschen möchten, und wie geben Sie ihn an?

Die Hauptsache ist, dass keine synchronen Funktionen (zeitkritisch) verwendet werden.

 
sergeev:

Nein, nein.

Ich meine, welche Funktionen verwenden Sie bei der Löschung?

ObjectGetString oder direkt auf ObjectDelete.

Woher kennen Sie den Namen des Objekts, das Sie löschen möchten, und wie geben Sie ihn an?

Das Wichtigste dabei ist, keine synchronen Funktionen (zeitkritisch) zu verwenden.

Wir sprechen hier von Klassenobjekten, nicht von grafischen Objekten.

Obwohl natürlich nicht alle Diagramme in Objekten enthalten sind, gibt es nicht mehr als 30000 Diagrammobjekte pro Diagramm.

Der Name eines grafischen Objekts wird im privaten Bereich eines Bindungsobjekts gespeichert.

Beim Löschen verwende ich delete obj; was ggf. ObjectDelete aufruft.

 

Ich hab's.

Es ist nur so, dass ich immer einen abnormalen Abbruch hatte, wenn die synchrone Funktion nach einem grafischen Objekt oder einer globalen Variablen mit Namen gesucht hat.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
sergeev:

Ich hab's.

Es ist nur so, dass ich immer einen abnormalen Abbruch hatte, wenn die synchrone Funktion nach einem grafischen Objekt oder einer globalen Variablen nach Namen suchte.

Ja, ich fand es, danke sergeev für die Förderung der Idee, in der Tat die Flagge der Grafiken Existenz war nicht gesetzt, und als Ergebnis ein Versuch, nicht existierende grafische Objekt zu löschen. Wenn die Anzahl der Objekte gering war, schluckte das Terminal sie, aber Millionen falscher ObjectDelete-Anforderungen führten zu einem abnormalen Abbruch.
 
1. Gibt es ein Zeitlimit für die Funktion OnTester ()? Ich habe eine Situation, in der, wenn eine ziemlich umfangreiche Berechnung in dieser Funktion ausgeführt wird, das Protokoll schreibt "Disconected" (versuchte wechselnden Kernel - gleiche Meldung) und Testen stoppt.
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

Ich danke Ihnen vielmals. Aber es sieht ein bisschen handwerklich und begrenzt aus.

Leider verstehe ich immer noch nicht, warum metaquotes nicht daran interessiert ist, die MT4-Funktionalität in das MT5-Terminal zu implementieren und dabei das Konzept einer Market Order beizubehalten, was die Verwaltung virtueller Orders sowohl manuell als auch durch einen Expert Advisor betrifft. Es gibt von allen Seiten nur Pluspunkte und es passt perfekt!

 
Der Fehler im Zusammenhang mit dem Hochladen der konstanten Historie und dem konstanten Auslösen von if(prev_calculated==0), der zuvor bei Währungen behoben wurde, ist auch bei CFD-Charts vorhanden.
Grund der Beschwerde: