Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 125
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 hätte es so gemacht:
P.S. Gleichzeitig geantwortet)))
Das verstehe ich nicht:
wenn am ersten Balken geöffnet, von Null auf Null?
Das verstehe ich nicht:
Wenn der erste Balken geöffnet ist, sehen wir dann von Null auf Null?
Dies ist eine kleine Absicherung für den Fall, dass der Eröffnungskurs des Auftrags zum Zeitpunkt der Eröffnung bereits viel höher ist als das Tief. D.h. wir verwenden die Öffnungsleiste nicht für die Suche. Dafür ist PERIOD_M1 gedacht.
Ich würde es anders machen. Im Allgemeinen würde ich erst dann mit der Suche beginnen, wenn die Position länger als einen Takt gedauert hat. Schließlich kann der beste Preis gerade in der Eröffnungsphase sein, und wir werden ihn vergeuden...
Ich stimme zu. Es wäre wahrscheinlich effizienter, sich den Mindest- (oder Höchst-) Preis für jeden offenen Auftrag im Array bei jedem Tick zu merken und die Aufträge zu schließen, wenn die Bedingung erreicht ist, als das Minimum ab dem Zeitpunkt der Auftragseröffnung sozusagen neu zu suchen:
Und im Falle von Problemen wie Verbindungsverlust, Neustart des Advisors usw. sollten wir von Zeit zu Zeit den Stoploss bei Aufträgen ändern.Ich habe argumentiert, dass das Array hier per Referenz übergeben werden muss. Andernfalls muss die Funktion mit nur einem streng definierten Array arbeiten. Auch wenn Sie es global definiert haben.
Hm. Es hängt davon ab, welches Array an die aufrufende Funktion übergeben wird. Wenn es sich um ein bestimmtes Array handelt, wird die aufgerufene Funktion damit arbeiten... Denn das ist...
Wenn, zum Beispiel,
Indem wir es auf diese Weise aufrufen:
Es funktioniert mit dem Array OrdersMassive.
Und so:
Mit dem Array massiveOfOrders.
Können Sie mir sagen, wie ich die Größe des Spreads zum Zeitpunkt der Eröffnung eines Geschäfts herausfinden kann, oder besser noch, wie ich sie im Protokoll anzeigen kann?
Wenn (spread) == irgendein Wert, dann... etwas tun... (Zum Beispiel einen Auftrag öffnen oder seinen Wert im Journal ausdrucken). Oder umgekehrt, wenn er nicht gleich oder größer (kleiner) als ein bestimmter Wert ist, dann zeigen wir ihn im Journal an und tun etwas. Sie können tun, was Sie wollen.
Ich wiederhole die Frage, die ich gestern gestellt habe. Ich möchte sie nicht in einem separaten Thread veröffentlichen. Sollte etwas unklar sein, werde ich alle Fragen beantworten.
Ich habe immer noch Schwierigkeiten, die erforderlichen Positionen zu schließen. Die Situation stellt sich wie folgt dar:
1. die Schließung von Positionen wird verfolgt.
2. Sobald die letzte Position an der Take Line geschlossen wurde... ...sollten alle offenen und schwebenden Positionen sofort geschlossen werden. Alles wird nach Losen sortiert geschlossen, d.h. große Lose auf einmal, dann kleinere. Dies ist nur dazu gedacht, Erfahrungen mit Aufträgen zu sammeln.
Die Umsetzung erfolgt wie folgt:
In start() bei jedem Tick:
Wir sind an der Schließung von Marktaufträgen interessiert, da die anhängigen Aufträge bei Bedarf gelöscht werden. Hier ist, was wir haben:
Aus irgendeinem Grund werden einige der Aufträge nicht abgeschlossen. Ich drucke einige Segmente aus, wenn ich sie sehe, verstehe ich nichts. Hier ist ein Beispiel:
Im Kommentar ist zu sehen, dass lastOOTHist = 01:30:00 ist, obwohl dies eigentlich nicht stimmt. Wenn wir lastOOTHist im Ergebnisfenster überprüfen, werden wir sehen, dass
ihre Schließzeiten sind unterschiedlich...
Was ist hier falsch?
Hm. Es hängt davon ab, welches Array an die aufrufende Funktion übergeben wird. Wenn es sich um ein bestimmtes Array handelt, wird die aufgerufene Funktion damit arbeiten... Denn das ist...
Wenn, zum Beispiel,
Indem wir es auf diese Weise aufrufen:
Es funktioniert mit dem Array OrdersMassive.
Und so:
Mit Array massiveOfOrders.
Wenn Sie eine Variable (Array) als Wert an eine Funktion übergeben, wird eine lokale Variable innerhalb der Funktion erstellt, die Sie im Header deklarieren: myFunct(int my_var). Auf diese Weise sind Änderungen dieser Variablen außerhalb der Funktion nicht zu sehen. Und im Falle eines Arrays wird der Compiler Sie daran erinnern.
Wenn Sie möchten, dass die Änderungen des Variablenwerts außerhalb der Funktion sichtbar sind, übergeben Sie die Variablen per Referenz: myFunct(int & my_var)
Es hängt davon ab, welches Array an die aufrufende Funktion übergeben wird. Wenn es ein bestimmtes Array gibt, dann wird die aufgerufene Funktion damit arbeiten... Es ist folgendermaßen...
Wenn, zum Beispiel,
Indem wir es so nennen:
Es funktioniert mit dem Array OrdersMassive
Und hier entlang:
Mit Array massiveOfOrders