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
Genau das sage ich auch!
Und Sie sagen: "Keiner hat es gesehen". Niemand ist daran interessiert - also hat es niemand gesehen (Clowns sind nicht interessiert - sie haben es nicht gesehen). Diejenigen, die sich dafür interessieren - sie haben es gesehen.
Ich habe mich bei den Moderatoren über den Clown beschwert und werde das so lange tun, bis du gebannt wirst.
Oh, hat den Igel mit seinem bloßen Hintern erschreckt...
Oh, hat den Igel mit seinem bloßen Hintern erschreckt...
Ich sehe das Problem nicht.
Richtig. Ein gefülltes Array wird deklariert, und dann - wird es wieder gefüllt, mit anderen Daten. Meiner Meinung nach ist das ein akzeptabler Fehler für einen Anfänger.
Und ist es ein Fehler?
Wenn ich Variablen und Arrays deklariere, MUSS ich sie SOFORT FÜLLEN. Wenn zum Zeitpunkt der Deklaration der genaue Wert nicht bekannt ist, fülle ich ihn mit einem wissentlich ungültigen Wert. Wenn eine Variable ohne Initialisierung deklariert und dann verwendet wird, kann sie zufällige Werte enthalten, die während der Arbeit verwendet werden, und das Ergebnis dieser Arbeit wird falsch sein und es wird sehr schwierig sein, das Problem zu finden (ich habe es mehr als einmal gefunden).
Aber wenn eine Variable gleich bei der Erstellung mit einem ungültigen Wert initialisiert wird, wird man bei der Verwendung einer nicht initialisierten Variable sofort feststellen, dass sie irgendeinen Müll enthält, und es wird einfach sein, herauszufinden, woher dieser kommt und zu sehen, dass die Variable ohne Initialisierung verwendet wurde.
Ich persönlich denke also, dass es eine gute Praxis ist, ein bereits befülltes Array zu deklarieren. Aber wir sollten dort WRONG_VALUE-Werte nehmen.
Ich habe überhaupt nichts gegen die Initialisierung von Variablen und sogar Arrays. Zum Beispiel so
wird ebenfalls ein initialisiertes Array sein. Aber auch dies ist in diesem Fall nicht notwendig, da das gesamte Array in OnInit() gefüllt wird. Ich sehe also keine Notwendigkeit dafür. Und selbst Pinocchio mit seinen Äpfeln funktioniert hier nicht, denn bevor die Werte verwendet (gelesen) werden, werden sie bereits initialisiert.
Ich habe nichts dagegen, Variablen oder sogar Arrays zu initialisieren. Zum Beispiel so
wird ebenfalls ein initialisiertes Array sein. Aber selbst dies ist in diesem speziellen Fall nicht notwendig, da in OnInit() das gesamte Array gefüllt wird. Ich sehe also keine Notwendigkeit dafür. Und selbst Pinocchio mit seinen Äpfeln wird hier nicht funktionieren, da die Werte bereits initialisiert sind, bevor sie verwendet (gelesen) werden.
Äh... Und wo wird sie "initialisiert"? Nach dem Code wird ein solches Array mit Müll gefüllt.
Meiner Meinung nach ist es gute Praxis, bei der Erstellung mit nicht ungültigen Werten zu initialisieren, wie ich bereits gesagt habe:
Wenn das Array groß ist, ist es natürlich unvernünftig, es mit dieser Methode zu füllen. In diesem Fall verwende ich die DEBUG-Version, in der ich auch große Arrays mit nicht ungültigen Werten fülle, während in der RELEASE-Version keine Füllung erfolgt.
Diese Praxis hat mich wiederholt vor der Verwendung nicht initialisierter Variablen bewahrt.
Ihr Name im Code - den Code, den Sie eingerichtet haben, habe ich unter Ihrem Namen erstellt, um zu wissen. Aber es hat nicht funktioniert.
Und wer ist schuld an Ihren schlechten Händen?
Auf dem Bild können Sie sehen, dass der berechnete Wert 9,08253 und nach der Konvertierung 9,08 ist, und erzählen Sie mir nichts von 1 in 16 Dezimalstellen.
Und auch, wenn Sie einen Wert erhalten, der unter dem Mindestvolumen liegt
Ich musste eine weitere Variable eingeben, um zu zeigen...
Ähm ... Und wo würde sie "initialisiert" werden? Nach dem Code wäre ein solches Array voll mit Unrat.
Meiner Meinung nach ist es gute Praxis, bei der Erstellung mit ungültigen Werten zu initialisieren, wie ich bereits gesagt habe:
Wenn das Array groß ist, ist es natürlich unvernünftig, es mit dieser Methode zu füllen. In diesem Fall verwende ich die DEBUG-Version, in der ich auch große Arrays mit nicht ungültigen Werten fülle, während in der RELEASE-Version keine Füllung erfolgt.
Diese Praxis hat mich wiederholt vor der Verwendung nicht initialisierter Variablen bewahrt.
Genau hier, in der hervorgehobenen Schleife. Und beachten Sie, dass ich nur über ein Feld gesprochen habe.
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
Selbststudium in MQL5 von Grund auf
SanAlex, 2021.11.29 07:17
Ich kann nicht verstehen, was Sie reden. Ich habe es mit meinen eigenen Händen. Was meinen Sie? der Code ist aus dem Terminal, aber die Art und Weise selbst, wie die Öffnung ein paar Paare in den Tester zu implementieren, habe ich persönlich das Ergebnis erreicht.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Zeigen Sie mir, wo ich den Code von Ihnen übernommen habe.
Ich habe alles aus dem Code entfernt, was nicht mit unserem Dialog zu tun hat. Na ja, fast alles...
Genau dort, in der hervorgehobenen Schleife. Und beachten Sie, dass ich nur von einem Feld gesprochen habe.
Ja, das ist richtig. Meiner Meinung nach eine normale Praxis.
Diese ist fast fertig - ich muss nur noch unnötige, nicht funktionierende Funktionen entfernen. Dieser Multicurrency Expert Advisor stammt aus diesem "MACD Sample.mq5".
Ich habe anscheinend alles Unnötige entfernt, damit es funktioniert. Ich muss es noch auf den Geschmack bringen und werde es dann hier veröffentlichen.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Das ist das, was ich bis jetzt habe - vielleicht macht es jemand besser
Ich hoffe wirklich, dass Sie das nicht geschrieben haben...
Hier ist eine funktionierende Funktion
Alles, was Sie tun müssen, ist, die Risikogröße einzugeben, um nicht von der vollen freien Marge zu profitieren...
Guten Tag und gute Laune an alle!
Es hat mich viel Zeit gekostet, Arrays zu verstehen und zu untersuchen, aber ich habe das Ergebnis schon, denn ich habe den Code der Funktion, die das Risiko für 12 Währungspaare berechnet, selbst geschrieben.
Mit freundlichen Grüßen, Vladimir.