[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 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
Ja, na und?
Bei der Arbeit im Visualisierungsmodus gibt es eine Reihe von Einschränkungen
Was habe ich falsch gemacht!!!!
Ich habe folgende Lösung für mein Problem gefunden
/* Entschuldigung, ich habe den Beitrag leicht verändert - damit das Vinin lesbar ist */
Was habe ich falsch gemacht!!!!
Ich habe folgende Lösung für mein Problem gefunden
/* Entschuldigung, ich habe den Beitrag ein wenig geändert - um Vinin lesbar zu machen */
bedeutet: "wenn die Zeit des letzten Taktes nicht Null ist". Sie ist also immer ungleich Null.
Außerdem ist die Variable
bool New_Bar;
wird innerhalb der Funktion start() definiert, so dass sie in anderen Funktionen nicht sichtbar ist. Außerdem können Sie die Funktion Fun_New_Bar(), die Sie innerhalb des start()-Körpers zu definieren versucht haben, in MQL nicht verwenden, da alle Funktionen auf der globalen Modulebene deklariert werden müssen. Die Deklaration von New_Bar sollte ebenfalls dort platziert werden.
Außerdem können Sie während einer Ausführung der Funktion start() (wenn sie nicht in einer Schleife ausgeführt wird) nicht die Bildung eines Balkens festlegen und dann auf die Bildung des nächsten Balkens warten: start() wird per Definition bei jedem Tick aufgerufen und beendet (mit Nuancen, aber im Allgemeinen ist es so).
Ich empfehle, die Hilfe erneut zu lesen und Lücken in der MQL-Programmausführung zu beseitigen, und ein Beispiel für das Schreiben eines geschleiften Programms zu sehen, auch nicht geschleift.
Vielen Dank für Ihre Aufmerksamkeit. Welche Taste muss ich drücken, um den Code in diesem Format zu erhalten?
SRC----------------------------\|/
--------------------------------------- V
Diese Linie
bedeutet: "wenn die Zeit des letzten Taktes ungleich Null ist". Sie ist also immer ungleich Null.
Danke, aber ich verstehe nicht, wo das "NOT" in dieser Zeile steht. Nicht gleich wird durch das Symbol !== angezeigt.
Was ich meinte, war, dass, sobald der Zeitpunkt der Eröffnung eines neuen Balkens erscheint, d.h. ein neuer Balken erscheint, der Auftrag eröffnet wird.
Und dies ist in der Tat der Code, der einen Auftrag bei der Eröffnung von jeweils fünf Takten eröffnet
int start() { double Price=Open[0]+300*Point; double SL=Price-300*Point; double TP=Price+150*Point; if (Time[0]) int Ticket=OrderSend(Symbol(),OP_BUYSTOP,0.1,Price,3,SL,TP ); }
Ich entschied mich für den meiner Meinung nach einfacheren Weg.
Die Pending-Order nicht zu löschen - sondern eine Pending-Order nur zu platzieren, wenn eine Fünf-Minuten-Kerze noch nicht beendet ist
Das heißt, der schwebende Auftrag sollte nur erteilt werden, wenn zwei Bedingungen erfüllt sind. Wenn die erste Bedingung erfüllt ist
if (Time[0])
- Ich habe es überprüft, die Reihenfolge ist festgelegt.
Wie soll ich die zweite Bedingung setzen, d.h. eine Pending Order nur dann setzen, wenn noch keine 5 Minuten vergangen sind. if (---------- && ?????????)