[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 277
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
Im Allgemeinen besteht Ihr Programm, wie jedes andere auch, aus einzelnen Blöcken, die jeweils eine Aufgabe erfüllen. Sie nehmen einen solchen Block und schreiben Ihren eigenen Code, debuggen ihn und gehen dann zum nächsten Block über. Und so weiter bis zum Ende des Programms.Haben Sie das gesehen? https://book.mql4.com/ru/samples/index
Ich danke Ihnen...
Guten Tag!
Bitte geben Sie mir einen Rat, wie ich eine Wohnung zuverlässig identifizieren kann, wenn es überhaupt eine gibt.
Guten Tag!
Bitte geben Sie mir einen Rat, wie ich eine Wohnung zuverlässig identifizieren kann, wenn es überhaupt eine gibt.
Ein Flat ist eine Kursbewegung, die aus einem oder mehreren Flat-Elementen besteht.
Ein Flat-Element ist ein Element der Kursbewegung, das entsteht, wenn sich der Kurs von seinem Ausgangspunkt in eine beliebige Richtung bewegt und anschließend wieder zu diesem Punkt zurückkehrt.
Für die Zustellung der Bestellung wird der folgende Befehl verwendet
Der Befehl OrderSend befiehlt dem Roboter, die Order zu platzieren; das Währungspaar wird in Klammern an die erste Stelle geschrieben. Hier haben wir Symbol(), das uns das Währungspaar gibt, in dem der Expert Advisor platziert ist. Danach folgt der Name des Handelsunternehmens. Dann haben wir das Losvolumen und hier einen variablen Multiplikator. Preis, dann eine Abweichung von 3 Pips, Stop Loss, Take Profit, Name, magische Zahl - eine beliebige Zahl, die Sie gewählt haben, dann weiß ich nicht mehr, dann Farbe. Alles ist in dieser Reihenfolge. Sie können ohne tikett= auskommen, nur OrderSend.
Und hier heißt es aufpassen: Der Auftrag wird bei jedem Tick erteilt, bis hin zu Hunderten von Aufträgen, wenn er nur an den Anfang geschrieben wird. Wir brauchen Bedingungen, damit der Auftrag erteilt wird, wenn er notwendig ist. Beispiel.
Müde. Verwenden Sie die Hilfe, um die fertigen Beispiele zu analysieren.
Im Allgemeinen besteht Ihr Programm, wie jedes andere auch, aus einzelnen Blöcken, von denen jeder eine Aufgabe ausführt. Wir nehmen einen solchen Block und schreiben unseren eigenen Code, debuggen ihn von Ende zu Ende und gehen dann zum nächsten Block über. Und so geht es weiter bis zum Ende des Programms.Haben Sie es hier gesehen? https://book.mql4.com/ru/samples/index
Nun, ich werde versuchen, genauer zu sein... Mein Expert Advisor öffnet erfolgreich EINE Pending Order und muss sie nach einiger Zeit ändern... Dazu muss ich seinen Index oder eine Positionsnummer in einem schwebenden Auftrag kennen. Wie kann ich diese Positionsnummer oder ihren Index erhalten? Müssen wir in einer for-Schleife nach Aufträgen suchen? Ich habe EINE Bestellung... Hier ist ein Teil des Codes meines Programms, der nicht funktioniert
if (OrderSelect (1, SELECT_BY_POS, MODE_TRADES)==true)
{ticket = OrderTicket();
return();}
Wie schreibe ich ihn richtig?
Und doch werde ich versuchen, die Frage genauer zu stellen... Mein Expert Advisor öffnet erfolgreich EINE Pending Order und nach einiger Zeit muss er sie ändern... Dazu müssen wir seinen Index oder eine Positionsnummer in den schwebenden Aufträgen kennen. Wie kann ich diese Positionsnummer oder ihren Index erhalten? Müssen wir in einer for-Schleife nach Aufträgen suchen? Ich habe EINE Bestellung... Hier ist ein Teil des Codes meines Programms, der nicht funktioniert
if (OrderSelect (1, SELECT_BY_POS, MODE_TRADES)==true)
{ticket = OrderTicket();
return();}
Wie schreibe ich es richtig?
Die Funktion OrderSend() gibt bei erfolgreicher Ausführung die Nummer des Tickets der soeben geöffneten Bestellung zurück - dies ist ihre Sequenznummer auf dem Server, und es gibt keine weitere derartige Bestellung. Es besteht also keine Notwendigkeit, eine Rückverfolgung des Auftrags durchzuführen, es genügt, sich an das Ticket zu erinnern. Denken Sie einfach daran, sobald die Bestellung geöffnet wird.
Die Funktion OrderSend() gibt bei erfolgreicher Ausführung die Nummer des Auftragstickets zurück, das sie gerade geöffnet hat - dies ist die Seriennummer auf dem Server, und es gibt keinen anderen Auftrag dieser Art. Es besteht also keine Notwendigkeit, eine Rückverfolgung des Auftrags durchzuführen, es genügt, sich an das Ticket zu erinnern. Denken Sie einfach daran, sobald die Bestellung geöffnet wird.
Und wie lange werden wir uns an ihn "erinnern"? Du könntest es verlieren...
IMHO sollten wir immer frische und aktuelle Informationen aufnehmen, wenn wir sie brauchen, anstatt sie je nach Anlass im Gedächtnis zu speichern.
Es wäre besser, die richtige Reihenfolge zu finden, bevor man sie ändert, als auf den Zufall zu hoffen... Für den Fall, dass zum Beispiel der Strom nicht abgeschaltet wird...
Und doch werde ich versuchen, die Frage genauer zu stellen... Mein Expert Advisor öffnet erfolgreich EINE Pending Order und nach einiger Zeit muss er sie ändern... Dazu müssen wir seinen Index oder eine Positionsnummer in den schwebenden Aufträgen kennen. Wie kann ich diese Positionsnummer oder ihren Index erhalten? Müssen wir in einer for-Schleife nach Aufträgen suchen? Ich habe EINE Bestellung... Hier ist ein Teil des Codes meines Programms, der nicht funktioniert
if (OrderSelect (1, SELECT_BY_POS, MODE_TRADES)==true)
{ticket = OrderTicket();
return();}
Wie schreibe ich es richtig?
Vielleicht geht es in etwa so:
Gibt das Ticket der letzten gesetzten Bestellung oder -1 zurück
Bei einem Anruf geben Sie bitte das gewünschte Symbol und die Magie des EA an, zum Beispiel:
Diese Funktion gibt das Ticket des letzten schwebenden Auftrags zurück, der für das aktuelle Symbol erteilt wurde (in Ihrem Fall der einzige). Magie - die magische Zahl deines EA
Sie können das Ticket auch in globalen Variablen ablegen. :) Man kann es überhaupt nicht mehr aus der Hand legen. Aber als Idee wird die Auswahl der Reihenfolge vor der Änderung funktionieren. Nur wenn es nicht notwendig ist, Lose nur 1 Mal für die gesamte Laufzeit eines Auftrags zurückzusetzen (und zwar mit einer einzigen Änderung) :) :).
Kurz gesagt, es gibt eine Menge Varianten :)
Bitte geben Sie mir einen Hinweis. Ich habe noch nicht ganz herausgefunden, wie die Indikatoren funktionieren. Mein Indikator wird nicht gezeichnet, wenn ich den Zeitrahmen wechsle, und er wird nur ab und zu gezeichnet. Aber manchmal klappt es, und zwar genau so, wie ich es wollte! Bitte sagen Sie mir, was es braucht.