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
...
alle Aufrufe in privaten Methoden, aber gibt es eine "Jedi-Mentalität?", um CheckPointer(m_order)==POINTER_INVALID im Quellcode zu vermeiden
...
Es ist wahrscheinlicher, dass es sich nicht um einen Trick handelt, sondern dass der Algorithmus so beschaffen ist, dass dieser Teil des Codes nicht ausgeführt wird, wenn es keine Reihenfolge gibt.
Vielleicht war das auch so beabsichtigt. Aber unwahrscheinlich, wenn es einen Zeiger gibt, bedeutet das nicht, dass es einen Auftrag gibt, also müssen wir prüfen, ob es einen Auftrag gibt.
und wenn ich mich richtig erinnere, war es zu Beginn des Jahres möglich, NULL im Protokoll zu löschen und dort 0 zu erhalten, jetzt gibt es einen Fehler
Änderungen
Forum zum Thema Handel, automatische Handelssysteme und Strategietester
Wanzen, Wanzen, Fragen
Kirill Belousov, 2017.12.14 21:34
Zeit für den Ruhestand
Änderungen
Ja, in der Tat, aber ich erinnerte mich, wie ich es in MT4 zu tun, das ist, wie ich deregistriert die Zeiger:
2019.09.17 07:52:40.855 tst (EURUSD,H1) 1 : 0
2019.09.17 07:52:40.856 tst (EURUSD,H1) 2 : 1048576
2019.09.17 07:52:40.856 tst (EURUSD,H1) 3 : 0
2019.09.17 07:52:40.856 tst (EURUSD,H1) 1 nicht gelöschte Objekte übrig
2019.09.17 07:52:40.856 tst (EURUSD,H1) 1 Objekt vom Typ A übrig
2019.09.17 07:52:40.856 tst (EURUSD,H1) 24 Bytes an ausgelaufenem Speicher
Dies ist wahrscheinlich nicht der Fall. Der Algorithmus sollte so beschaffen sein, dass dieser Teil des Codes nicht ausgeführt wird, wenn kein Auftrag vorliegt.
Vielleicht ist es aber auch so gewollt. Aber es ist unwahrscheinlich, wenn es einen Zeiger gibt, bedeutet das nicht, dass es einen Auftrag gibt, also müssen wir prüfen, ob es einen Auftrag gibt.
Je nach Problem habe ich bereits in Code geschrieben, wie man ein "Order-Objekt" erstellt, das selbst nachschaut, was auf dem Markt ist - Suche nach einer Order im Designer mit Hilfe einer Magie, wenn es gefunden wird, wird es sie aufheben, eine Order zu einem Preis öffnen, der Ordertyp selbst zählt (Markt oder Pending), Lot-Normalisierung, erneuter Versuch, eine Order zu öffnen, wenn Requotes auf einem vorherigen Tick waren, nach einer erfolgreichen Orderplatzierung auf dem nächsten Tick, einen Sl platzieren und so weiter... dies alles geschieht von selbst, ohne dass das "Auftragsobjekt" eingreifen muss.
Und wenn der Auftrag geschlossen wurde, ist er für die Strategie immer noch da - schließlich interessiert sich die Strategie für den Auftragsgewinn (aktuell oder bereits geschlossen - das spielt keine Rolle!) und für denZustand des Auftrags selbst (noch nicht erteilt, aktiv und bereits geschlossen)
alles funktioniert wie geplant, vielleicht haben Sie irgendwo Recht, aber für jetzt ist der Code noch getestet werden, Zeiger müssen überprüft werden, später können wir versuchen, ohne diese Prüfung ... obwohl die Logik der Arbeit impliziert die folgenden Aktionen, wenn es keine solche Objekt.... im Prinzip nicht viel übrig, um alles zu virtuellen Bestellungen neu zu machen, muss ich noch denken ))))
Ich wollte schreiben, was ich früher hatte, anstatt
Es war so:
erinnerte mich aber daran, wie man Makro-Ersetzungen in MQL überprüft
2019.09.16 22:57:42.837 tst (EURUSD,H1) a = 1
2019.09.16 22:57:42.837 tst (EURUSD,H1) POINTER_INVALID = 0
2019.09.16 22:57:42.837 tst (EURUSD,H1) NULL = 0
und wenn ich mich recht erinnere, war es zu Beginn des Jahres möglich, NULL in das Protokoll zu drucken und dort 0 zu erhalten, jetzt erscheint ein Fehler
D.h. das Verhalten NULL as if sollte sich in Zukunft nicht ändern, aber was dort anstelle von NULL ersetzt wird, ist nicht klar, wahrscheinlich wenn diese Situation jetzt geprüft wird, wie geschriebenif(CheckPointer(m_order)==POINTER_INVALID)) ) ist es sozusagen der richtige Code))
Und dann gibt es noch das hier, für Zucker:
Der erste einfache Test zeigt
dass es kein Zucker ist, sondern ein anderer... mehr flüssige Substanz
Der erste einfache Test zeigt
dass es kein Zucker ist, sondern ein anderer... flüssigeren Stoff.
Weil es nicht da ist.) NULL ist weder hier noch dort. Sie sollten die Funktion CheckPointer() verwenden. Der Zeiger selbst muss nicht auf Null gesetzt werden - nach dem Löschen wird er von selbst POINTER_INVALID.
Denn das ist nicht der Ort, an dem Sie sich befinden.) NULL ist weder hier noch dort. Sie sollten die Funktion CheckPointer() verwenden. Sie brauchen den Zeiger nicht selbst auf Null zu setzen, er wird nach dem Löschen von selbst POINTER_INVALID.
Wenn man Admins liest, hört sich das in der Regel so an: "Schreibt eure Codes richtig
MQL im Allgemeinen ist immer schwierig, neue Build, neue Probleme, Sie beginnen, um herauszufinden, wenn ich es falsch verwendet, hier gehen Sie und unterzeichnen Sie es ))))
Der erste einfache Test zeigt
dass es kein Zucker ist, sondern ein anderer... mehr flüssige Substanz
Lieber Mann. Wo sind die Statistiken über Ihre freiberuflichen Aufträge, Produkte auf dem Markt, Veröffentlichungen im Zusammenhang mit der Programmierung? Oder wollen Sie jemandem die Augen über das Thema der konstanten Zeiger öffnen, oder Ihr Wissen über das Thema der Stoffarten aufblitzen lassen ...? Bitte beachten Sie in Zukunft den Kontext der Beispiele und versuchen Sie nicht, einen Compilerfehler zu reproduzieren.
Ich habe einen einfachen Zusammenhang: Wenn der Code (in diesem Fall ein Makro) mit einem Fehler geschrieben ist, denke ich, dass es möglich ist, ihn zu melden (und ein Beispiel zu geben, um es zu beweisen). Und in diesem Zusammenhang ist mir nicht klar, wasdie Statistik damit zu tun hat
Und in diesem Zusammenhang ist mir nicht klar, was die Statistik damit zu tun hat.
Halten Sie es einfach und die Leute werden zu Ihnen kommen.
;)
SZZY: Ihre Beiträge sind fast immer eine gute Idee, aber die Präsentation von Material, na ja, nicht ganz mit guten Absichten, natürlich Ihr Geschäft, aber imho, wollen helfen - helfen, wollen clever sein, na ja, oft stellt sich heraus, so
Es liegt an Ihnen, aber Sie können Ihr Selbstwertgefühl mit Online-Ressourcen stärken - .... Ich bin zu faul, um weiter zu tippen.