![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich habe Buf[0], Buf[1], und die Funktion
Handhabung der Anfangsposition und der Anzahl der erforderlichen Elemente
intCopyBuffer(
intindicator_handle,// Indikator-Handle
intbuffer_num,// Nummer des Anzeigepuffers
intstart_pos,//wo wir beginnen
intcount,// wie viele wir kopieren
doublebuffer[]// Array, in das die Daten kopiert werden
);
CopyBuffer(M_Handl[In][AO_D],0,0,2,Buf); // я копирую 0-й и 1-й бар по идее
Aber Buf enthält keinen 0ten Takt, sondern nur den 1ten und 2ten Takt. Entweder gibt es Ticks oder nicht, aber der letzte Wert des Indikators auf dem 0-ten Balken muss vorhanden sein, während sein Wert nicht einmal annähernd mit dem Wert in Buf[1] übereinstimmt, aber er ist fast identisch mit dem Indikatorwert auf Balken 1.
Модератор
216
Schlüsselwort OnTimer.
Wenn der Grund ein Zeitrahmenwechsel ist, ist LeftBar=0;
Wenn der Grund die Neukompilierung ist, dann ist es in Ordnung.
Sollte es so sein?
Sagen Sie es mir bitte.
Soll das Terminal seine Funktionstüchtigkeit behalten, wenn der Gewerbetreibende Fehler im Programmcode macht?
Zum Beispiel Division durch Null, Zugriff auf nicht existierende Array-Daten, etc.
Funktion
Löscht einen Indikator-Handle und gibt den Berechnungsteil des Indikators frei, wenn er nicht mehr verwendet wird.
Im obigen Beispiel wird sie im Körper der void OnTick() verwendet.
Ich beschloss, damit in der Leere OnDeinit zu experimentieren.
In der Hilfe habe ich keine Informationen gefunden, wo es zu verwenden ist, obwohl wahrscheinlich bei der Deinitialisierung Handles automatisch freigegeben werden und es keine Notwendigkeit gibt, es dort zu verwenden. Aber ich verstehe immer noch nicht, was ein Griff ist.
Also. Das Terminal stürzt ab, wenn der Expert Advisor aus dem Diagramm gelöscht wird.
Ich füge die Codes bei.
Wenn Sie es brauchen und es sich um einen Fehler handelt, kann ich es über Servicedesk erledigen.
PS: Vielen Dank für die Korrekturen im 294er Build, alle zuvor identifizierten Probleme wurden behoben.
Lasst uns nach neuen suchen )))
PS: Vielen Dank für die Korrekturen im 294er Build, alle zuvor identifizierten Probleme wurden behoben.
Lasst uns nach neuen suchen )))
Handle ist ein eindeutiger Bezeichner (in der Regel eine Zahl), der ein bestimmtes Objekt (eine Instanz einer Klasse) für den Zugriff darauf identifiziert.
Ein Handle kann auch bestimmte Datentypen identifizieren, mit Ausnahme von einfachen Daten (obwohl das eine Frage ist).
Dieser Begriff wird in der Windows-API am häufigsten verwendet. Er bezeichnet die Kennung der vom System zugewiesenen Ressource. Wenn Sie zum Beispiel eine Datei öffnen, erhalten Sie das Handle der geöffneten Datei, wenn Sie eine DLL laden, erhalten Sie das Handle, mit dem Sie einige Aktionen mit der DLL durchführen können. Ähnliche Objekte gibt es auch in der API anderer Betriebssysteme, z. B. in Linux. Handle selbst ist (physikalisch) ein Index oder Zeiger auf Systemobjekte des Betriebssystems. Handle dient als Systemobjekt-Identifikator und wird als Argument übergeben, wenn API-Funktionen aufgerufen werden, die Aktionen mit dem Systemobjekt durchführen. Es gibt auch Funktionen, die Systemobjekte erstellen, wie CreateFile in der Windows-API oder socket() in Linux. Solche Funktionen geben als Ergebnis ihrer Arbeit ein Handle zurück oder einen speziellen Wert, der in der Dokumentation angegeben ist, wenn der Funktionsaufruf vom Betriebssystem aus irgendeinem Grund nicht erfolgreich ausgeführt wurde.
In einer Programmiersprache (z. B. C) ist ein Handle nur ein Datentyp (normalerweise eine ganze Zahl). Die Erstellung ist so trivial wie die Erstellung jedes anderen Objekts eines vorhandenen Typs. Ein Handle hat jedoch nur im Zusammenhang mit den im Betriebssystem laufenden Prozessen eine Bedeutung. Mit anderen Worten, ein Handle mit dem Wert 123456 wird als fehlerhaft wahrgenommen und seine Verwendung in API-Funktionen ist nutzlos.
An die Entwickler
Bitte beachten Sie meine Anfrage 18959 (ich kann die Logik der Swaps nicht verstehen und bekomme keine vernünftige Antwort). Bitte sagen Sie mir, ob es sich um einen Fehler, vorübergehende Schwierigkeiten oder einen Dummkopf handelt? Ich interessiere mich besonders für die Frage der Entstehung von Swaps bei der Meisterschaft...
Beachten Sie auch meine Anfrage19046 - es gibt ein Problem mit der Rundung des Eröffnungskurses für einige Trades (Kauf und Trimmen des Positionsvolumens).
Fehler, MetaTrader 5 MQL, Eröffnet, Gestartet: 2010.07.20 09:38, #19056
Bitte beachten.
Guten Tag...
Ungeziefer?
* Bewegen im Editor mit Strg+TAB oder Terminal-Return, Kompilieren mit F7... kann den Textcursor nicht sehen, bis ich mit der Maus auf einen Dateinamen mit Tabulator klicke...
*kann nicht RenameALL auf alt+A machen... muss wieder die Maus benutzen... die ist nicht da... //lang eng
Guten Tag...
Ungeziefer?
* Bewegen im Editor mit Strg+TAB oder Terminal-Return, Kompilieren mit F7... kann den Textcursor nicht sehen, bis ich auf den Dateinamen im Tab klicke...
* Ich kann RenameALL nicht mit alt+A machen... ich muss wieder die Maus benutzen... die ist nicht da... //lang eng
1. Nicht in der Lage zu wiederholen. Das Verschieben mit Strg+Tab, Strg+Umschalt+Tab funktioniert, aber der Eingabefokus bleibt im Editorfenster. Vielleicht gibt es einige Besonderheiten bei der Wiedergabe?
2. Was soll Alt+A bewirken? Beim Verschieben durch Bearbeiten und Ersetzen erfolgt dies mit Umschalt+Tab, Tab.