Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 656

 
evillive:

Um ehrlich zu sein, ist das Problem nicht für Anfänger geeignet. Es ist notwendig, alles auf dem Chart in einer Vorlage zu speichern. Dann müssen Sie dieser Vorlage den gewünschten Indikator mit allen Parametern hinzufügen und eine neue Vorlage zurück auf den Chart laden. Das Speichern und Laden der Vorlage ist mit MQL möglich, aber für die Bearbeitung der Vorlagendatei müssen Sie wahrscheinlich eine DLL schreiben, ich bin nicht sicher, dass das benutzerdefinierte Skript Zugriff auf das Schreiben der Vorlagendateien hat.

Operationen mit Graphen

Funktionen für die Arbeit mit Diagrammen. Alle Diagrammoperationen sind nur auf Expert Advisors und Skripte anwendbar.

Die Funktionen, mit denen die Eigenschaften des Diagramms festgelegt werden, dienen dazu, die Befehle zum Ändern an das Diagramm zu senden. Wenn diese Funktionen erfolgreich ausgeführt werden, gelangt der Befehl in die allgemeine Ereigniswarteschlange des Diagramms. Die Änderung des Diagramms erfolgt im Zuge der Bearbeitung der Ereigniswarteschlange des gegebenen Diagramms.

Aus diesem Grund sollte man nach dem Aufruf der Funktionen keine sofortige visuelle Aktualisierung des Diagramms erwarten. Im Allgemeinen wird das Diagramm automatisch vom Terminal aktualisiert, wenn sich etwas ändert, z. B. wenn eine neue Notierung eingeht oder sich die Größe des Diagrammfensters ändert. Für die erzwungene Aktualisierung der Darstellung des Diagramms verwenden Sie den Befehl ChartRedraw().

Funktion

Aktion

ChartApplyTemplate

Wendet auf das angegebene Diagramm eine Vorlage aus der angegebenen Datei an

ChartSaveTemplate

Speichert die aktuellen Diagrammeinstellungen in einer Vorlage mit dem angegebenen Namen

ChartWindowFind

Gibt die Nummer des Teilfensters zurück, in dem sich der Indikator befindet

ChartTimePriceToXY

Konvertiert die Diagrammkoordinaten von der Zeit-/Kursdarstellung in X- und Y-Koordinaten

ChartXYToTimePrice

Konvertiert die X- und Y-Koordinaten des Charts in Zeit- und Preiswerte

ChartOpen

Öffnet ein neues Diagramm mit dem angegebenen Symbol und Zeitraum

ChartFirst

Gibt die Diagramm-ID zurück, die auf die angegebene folgt

ChartNext

Gibt die ID der ersten Karte des Client-Terminals zurück

ChartClose

Schließt das angegebene Diagramm

ChartSymbol

Gibt den Namen des angegebenen Diagrammsymbols zurück

ChartPeriod

Gibt den Periodenwert des angegebenen

 
Vinin:

Operationen mit Graphen


Ja, genau. Wo gibt es die Möglichkeit, Muster zu bearbeiten (oder einen Indikator hinzuzufügen, wie in MT5)? Nein. Die DLL wird also benötigt, richtig? Oder gibt es andere Methoden, um einen Indikator zu einem MT4-Chart hinzuzufügen, außer der Bearbeitung von Vorlagen?


Die Frage bezog sich auf das Hinzufügen eines Indikators mit Hilfe eines Expert Advisors, hier

 
evillive:

Die Aufgabe ist nichts für Anfänger, um ehrlich zu sein. Es ist notwendig, alles, was sich auf dem Chart befindet, in einer Vorlage zu speichern, dann den gewünschten Indikator mit allen Parametern zu dieser Vorlage hinzuzufügen und eine neue Vorlage zurück auf den Chart zu laden. Das Speichern und Laden der Vorlage ist mit MQL möglich, aber für die Bearbeitung der Vorlagendatei müssen Sie wahrscheinlich eine DLL schreiben, ich bin nicht sicher, dass das benutzerdefinierte Skript Zugriff auf das Schreiben der Vorlagendateien hat.

Wie wäre es, wenn ich die benötigten Indikatoren in einem separaten Fenster öffne, alles in einer Vorlage speichere, dann das Programm in einem "leeren" Diagramm ausführe und diese Vorlage öffne?
 
waroder:

Was ist, wenn ich die Indikatoren, die ich brauche, in einem separaten Fenster öffne, alles in einer Vorlage speichere, dann das Programm auf einem "leeren" Diagramm ausführe und diese Vorlage öffne, werden dann auch alle Indikatoren geöffnet, oder muss ich das Öffnen der Indikatoren in der Vorlage selbst vorgeben?

Nachdem Sie die Vorlage angewendet haben, werden alle Indikatoren automatisch an das jeweilige Chartfenster angehängt.
 
barabashkakvn:

Nach der Anwendung der Vorlage werden alle Indikatoren automatisch an dieses Diagrammfenster angehängt.


Ozeane) habe es) danke, andere

 
waroder:

Was ist, wenn ich die Indikatoren, die ich benötige, in einem separaten Fenster öffne, alles in einer Vorlage speichere und dann das Programm auf einem "leeren" Diagramm ausführe und diese Vorlage öffne? werden dann auch alle Indikatoren geöffnet? oder muss ich das Öffnen der Indikatoren in der Vorlage selbst vorgeben?
müssen Sie auch das prog zur Vorlage hinzufügen, sonst wird es beim Laden der Vorlage selbst entladen, weil es dort nicht vorgeschrieben ist. Dies ist übrigens eine gute Methode, um einen EA abzuschalten ;)
 
Schicken Sie mir einen Blinker, der piept, wenn sich zwei Autos kreuzen)
 

Frage 1 - In den neuen Builds der externen EA-Parameter (ME5 Build 934; MT4 Build 646) werden Kommentare anstelle von Variablennamen angezeigt. Wie wird man sie wieder los? Bitte schlagen Sie nicht vor, keine Kommentare zu schreiben - ich brauche sie (siehe Frage 2).

Frage 2 - Soweit ich verstanden habe, sind Kommentare für den Programmierer selbst gedacht, um seine Gedanken, Notizen und dergleichen während des Schreibens von Code aufzuschreiben. Wenn das so ist (und das wird in Büchern und Kursen gelehrt), dann ist das eine einzigartige Aufgabe. Und uns wird beigebracht: eine Funktion - eine Aufgabe. Wenn diese Aufgabe mit einer anderen Aufgabe verbunden ist - das ist genau das Wortspiel, das für die neuen Gebäude vorgesehen ist -, erhält man eine Vinaigrette. - Ist das die richtige Entscheidung? Wie soll ich sonst meine Kommentare schreiben, die ich brauche und von denen ich nicht will, dass andere sie sehen? Denn wenn sich meine Kommentare in der Öffentlichkeit widerspiegeln, was für Kommentare sind es dann? Das ist eine ganz andere Aufgabe.

Wir haben also zwei verschiedene Aufgaben: "Kommentare für mich selbst beim Schreiben von Code" und "Beschreibung von externen Variablen".

Es scheint, dass für die neue Aufgabe "Beschreibung von externen Variablen" eine weitere unabhängige Compileroption zugewiesen werden sollte. Oder machen Sie zumindest diese Option zur Wahl des Benutzers (obwohl dies bereits grundlegenden Programmierprinzipien widerspricht).

Wenn ich falsch liege, korrigieren Sie mich.

 
Chiripaha:

Frage 1 - In den neuen Builds (ME5 Build 934; MT4 Build 646) werden in den externen Parametern des EA Kommentare anstelle von Variablennamen angezeigt. Wie wird man sie wieder los? Bitte schlagen Sie nicht vor, keine Kommentare zu schreiben - ich brauche sie (siehe Frage 2).

Frage 2 - Soweit ich verstanden habe, sind Kommentare für den Programmierer selbst gedacht, um seine Gedanken, Notizen und dergleichen während des Schreibens von Code aufzuschreiben. Wenn das so ist (und das wird in Büchern und Kursen gelehrt), dann ist das eine einzigartige Aufgabe. Und uns wird beigebracht: eine Funktion - eine Aufgabe. Wenn also diese Aufgabe eine andere Aufgabe hat - das ist genau das Wortspiel, das für die neuen Gebäude gedacht ist -, erhalten wir eine Vinaigrette. - Ist das die richtige Entscheidung? Wie soll ich sonst meine Kommentare schreiben, die ich brauche und von denen ich nicht will, dass andere sie sehen? Denn wenn sich meine Kommentare in der Öffentlichkeit widerspiegeln, was für Kommentare sind es dann? Das ist eine ganz andere Aufgabe.

Wir haben also zwei verschiedene Aufgaben: "Kommentare für mich selbst beim Schreiben von Code" und "Beschreibung von externen Variablen".

Es scheint, dass für die neue Aufgabe "Beschreibung von externen Variablen" eine weitere unabhängige Compileroption zugewiesen werden sollte. Oder zumindest diese Option zur Wahl des Benutzers machen (obwohl dies bereits grundlegenden Programmierprinzipien widerspricht).

Wenn ich falsch liege, korrigieren Sie mich.


Daher ist es praktisch, dass externe Variablen für sich selbst und/oder die Benutzer besser lesbar gemacht werden können.

Und um Kommentare zu externen Variablen nicht sichtbar zu machen (nur im Code sichtbar), können Sie sie einfach in eine zweite Zeile schreiben.

Also zum Beispiel, anstatt von:

input double AbcD=1.2345;//Хочу профит на отметке:

in zwei Zeilen umwandeln:

input double AbcD=1.2345;
//Желаемый уровень профита

Im ersten Fall würden anstelle von Abcd die externen Variablen angezeigt:"Ich möchte bei 1,2345 profitieren",

im zweiten Fall:"AbcD 1,2345".

 
DiPach:

Es ist schön, wenn man externe Variablen für sich selbst und/oder seine Benutzer besser lesbar machen kann.

Und damit Kommentare zu externen Variablen nicht angezeigt werden (nur im Code sichtbar), kann man sie einfach in eine zweite Zeile schreiben.

Also zum Beispiel, anstatt von:

in zwei Zeilen umwandeln:

Im ersten Fall würden anstelle von Abcd die externen Variablen angezeigt:"Ich möchte bei 1,2345 profitieren",

im zweiten Fall:"AbcD 1,2345".


Ja, das stört mich überhaupt nicht, was sehr praktisch ist. Außerdem verstehe ich, was sie erreichen wollten. Aber man kann nicht eine Aufgabe durchführen und gleichzeitig eine andere abschaffen.

Es ist weniger bequem, in 2 Zeilen zu schreiben, denn wenn es 5-10 Variablen gibt, können wir es aushalten (obwohl, noch einmal, warum sollten wir es aushalten?). Was aber, wenn es etwa 200 dieser Variablen gibt? In diesem Fall wird der Umfang des Codes viel größer.
Wenn Sie hingegen eine andere Option wählen, müssen Sie den Code auf Kosten der Beschreibung der Variablen vergrößern. Vielleicht ist die von Ihnen vorgeschlagene Lösung also optimaler und prägnanter als die Einführung der zweiten Option. Ich bin bereit zuzustimmen.

Wenn ich richtig vermute, ist die Wagenübersetzung eine Einschränkung für die Variablenbeschreibung?

Und ich habe eine zusätzliche Frage:

Wäre es möglich, die Beschreibungen optional in mehreren Sprachen der Wahl zu erstellen? Das wäre sogar noch praktischer. : )) In diesem Fall ist es besser, ohnehin eine optionale Angabe zu machen, als die üblichen Kommentare für die Beschreibung zu verwenden.

Im Übrigen. Diese Beschreibungen von Variablen werden im Optionsdialog ohnehin nur spärlich angezeigt, da die Spaltengrößen keine Dehnung beibehalten undder größte Teil der Beschreibung durch die Enge der Beschreibungsspalte "aufgefressen" wird. Aber es gibt unverhältnismäßig viel Platz für variable Werte. Wir wollten es also besser machen... Aber das ist auch ein Schritt nach vorn. : ))