Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 188
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
Hallo!
Ich kann nicht herausfinden, in welchem Intervall ein grafisches Objekt angezeigt werden soll
für alle Zeiträume.
Ich danke Ihnen.
OBJ_ALL_PERIODS=2097151
Weiß jemand, ob der Compiler eine Taste hat, um Meldungen über unbenutzte Funktionen und Variablen zu erhalten, wie es in MQL4 gemacht wird?
Wie wird dies in mql4 durchgeführt?
Auf die Frage, ob keine Warnungen über nicht verwendete Funktionen angezeigt werden, antwortete Renat, dass dies nicht der Fall sei. Im Zusammenhang mit der Verwendung von steckbaren Bibliotheken. Das war schon in der alten Version so. Jetzt ist das nicht mehr der Fall. Es ist sehr umständlich, im EA-Körper nach Funktionen zu suchen, die nicht verwendet werden. Er spricht nur von unbenutzten Variablen, wenn er sie im Körper einer Funktion findet, nicht in start() oder OnTick()
Wie wird das in mql4 gemacht?
Auf die Frage, ob keine Warnungen über nicht verwendete Funktionen angezeigt werden, antwortete Renat, dass dies nicht der Fall sei. Durch die Verwendung von Plugin-Bibliotheken. Das war schon in der alten Version so. Jetzt ist das nicht mehr der Fall. Es ist sehr umständlich, im EA-Körper nach Funktionen zu suchen, die nicht verwendet werden. Er spricht nur von unbenutzten Variablen, wenn er sie im Körper einer Funktion findet, nicht in start() oder OnTick()
Denn in OOP sind es keine Funktionen, sondern Methoden. Jede Bibliothek kann eine Reihe von Klassen mit vielen Methoden haben, von denen einige nicht verwendet werden. Darüber hinaus verweisen Klassen auch auf andere Bibliotheken, deren Methoden zum Teil ebenfalls nicht verwendet werden. Dies kann zu einem riesigen Durcheinander an ungenutzten Methoden führen.
Nach der Menge des kompilierten Codes zu urteilen, eliminiert der Compiler automatisch ungenutzte Methoden. Das heißt, es macht keinen Sinn, sie selbst zu suchen, da diese Arbeit vom Compiler erledigt wird.
Denn in der OOP sind es nicht Funktionen, sondern Methoden. Jede Bibliothek kann eine Reihe von Klassen mit vielen Methoden haben, von denen einige nicht verwendet werden. Darüber hinaus verweisen Klassen auch auf andere Bibliotheken, deren Methoden zum Teil ebenfalls ungenutzt sind. Dies kann zu einem riesigen Stapel ungenutzter Methoden führen.
Nach der Größe des kompilierten Codes zu urteilen, eliminiert der Compiler automatisch ungenutzte Methoden. Das heißt, es macht keinen Sinn, selbst nach ihnen zu suchen, da der Compiler diese Aufgabe übernimmt.
Denn in OOP sind es keine Funktionen, sondern Methoden. Jede Bibliothek kann eine Reihe von Klassen mit vielen Methoden haben, von denen einige nicht verwendet werden. Darüber hinaus verweisen Klassen auch auf andere Bibliotheken, von denen einige Methoden ebenfalls ungenutzt sind. Dies kann zu einem riesigen Stapel ungenutzter Methoden führen.
Nach der Größe des kompilierten Codes zu urteilen, eliminiert der Compiler automatisch ungenutzte Methoden. Das heißt, es macht keinen Sinn, selbst nach ihnen zu suchen, da der Compiler diese Aufgabe übernimmt.
Ich hoffe, die Diskussion über die vorherige Frage ist beendet. Es ist schwierig zu erkennen, wann das Thema abgeschlossen ist und Sie Ihre Frage stellen sollten. Können Sie mir einen Tipp geben? Ich kann nicht herausfinden, wie ich ein 2D-Array mit den Ergebnissen derSt_handle- undMA_handle-Berechnungen füllen kann, ich kann sie nur an ein eindimensionales Array übergeben.
Das ist nicht das Problem. Das Problem besteht genau darin, nicht verwendete Methoden in Ihren Klassen zu finden.
Was meinen Sie mit: nicht verwendete Methoden in Ihren Klassen? Dies ist in der OOP nicht der Fall. Ein normaler OOP-Programmierer erstellt im Gegensatz zur algorithmischen Programmierung Klassen mit allen notwendigen Feldern und Methoden, wie man so schön sagt, für alle Fälle, denn dieselbe Klasse kann später in anderen Anwendungen verwendet werden oder Teil einer Klassenbibliothek werden. Ganz zu schweigen von der Tatsache, dass es selbst innerhalb eines Projekts besser ist, vollständige Klassen zu erstellen und nicht nur abgespeckte, damit Sie nicht den Quellcode durchsuchen und später die erforderlichen Felder und Methoden hinzufügen müssen.
In der OOP kann sich jede Sparsamkeit, an die sich viele Menschen bei der algorithmischen Programmierung gewöhnen, später als nachteilig erweisen. Alles, was nicht verwendet wird, muss vom Compiler und nicht vom Programmierer aus dem Code ausgeschlossen werden.
Natürlich führt OOP im Vergleich zur algorithmischen Programmierung zu einem größeren Quellcode. Dies ist jedoch kein Nachteil, sondern ein Vorteil, denn ein Großteil des "zusätzlichen" Codes in diesem Projekt kann in anderen Projekten wiederverwendet werden.
Ich habe über fünfhundert eigene Methoden. Die Zusammenhänge sind sehr komplex. Rudimentärer Code ist unvermeidlich. Es ist sehr nützlich, um schnell zu sehen, was nicht mehr verwendet wird.
Können Sie mir einen Tipp geben? Ich kann nicht herausfinden, wie ich ein zweidimensionales Array mitSt_handle undMA_handle Berechnungsergebnissen füllen kann, ich kann sie nur an ein eindimensionales Array übergeben.
Was ist der Grund? Warum also einen Buckel machen, anstatt Occams Rasiermesser zu benutzen? Was ist der Vorteil eines zweidimensionalen Arrays gegenüber zwei eindimensionalen Arrays? Schließlich muss man zuerst etwas aus zwei eindimensionalen, durch Standardindikatoren erstellten, in einen zweidimensionalen Raum schieben und dann etwas aus diesem herausnehmen. Sie machen unnötige Arbeit und versuchen, andere mit hineinzuziehen.
Wenn es ein Problem mit eindimensionalen Arrays gäbe, dann wäre es die Mühe wert.
Tut mir leid, wenn dies nicht zum Thema passt ...
Hilfe, wer kann ...
in delphi 7 dll Verfahren...
procedure test1(var data: array of Double); stdcall;
begin
ShowMessage('Entered ');
Ende;
in mt4 :
#import "gayss.dll"
void test1( double &data[] );
#import
ArrayResize(data, 6);
data[0]= 2;
data[1]= 4;
data[2]= 8;
data[3]= 16;
data[4]= 21;
data[5]= 3;
test1(Daten);
und eine Fehlermeldung erscheint... 2014.02.06 17:39:04.241 Stapel beschädigt, DLL-Funktionsaufruf in 'SOG_2014.mq4' prüfen (80,7)
Wer weiß, wie man es richtig macht...