[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 316
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Wie kann ich dem Programm beibringen, sich die zuletzt verwendeten Variablen zu merken? Ich muss mir das Symbol, den Zeitrahmen, die Box, den Reverse, die Breite und die Anzahl der Balken merken. Nach der Auswahl der Einstellungen durch den Benutzer würden diese irgendwo gespeichert und anschließend, wenn die Parameter irgendwo gespeichert sind, von dort geladen werden. Was ist zu verwenden, was ist zu tun?
Drücken Sie F7.
Dadurch werden die EA-Eigenschaften geöffnet.
Drücken Sie auf der Registerkarte "Eingabeparameter" die Schaltfläche "Speichern".
Sie können gespeicherte Parameter auf die gleiche Weise laden.
Ein Bild (mit dem Algorithmus) passt nicht, deshalb habe ich es beigefügt.
Das ist das Wesentliche. (1) Der EA sollte eine Order eröffnen und s\l, t\p, lot setzen. (2) Wurde mit dem Handel ein Gewinn erzielt, wird er einfach wiederholt.(3) Wurde ein Verlust erzielt, werden einige Werte geändert und ein neuer Auftrag erteilt usw., bis ein gewinnbringender Handel zustande gekommen ist. (4) Dann werden die Ausgangswerte von Punkt 1 wiederhergestellt und alles wird neu gewürfelt. Es ist nicht möglich, einen Zyklus (Punkt 3) mit dem Ausstieg aus ihm zu arrangieren, wenn es einen Gewinn im Handel gab, und die ursprünglichen Parameter nach dem Ausstieg aus ihm wiederherzustellen.
Hilfe bei einigen Funktionen. Das Bild (mit dem Algorithmus) ist nicht eingefügt, daher habe ich es beigefügt.
Aber eigentlich ist dieser Thread für Programmieranfänger gedacht, nicht für Handelsanfänger.
Hier können Sie Fehler im Code diskutieren.
Haben Sie wenigstens eine Codeskizze Ihres Algorithmus?
Es sieht so aus, als ob Sie sie nicht angebracht haben.
Es gibt ein Problem mit der Schleife und der Wiederherstellung der Anfangswerte nach Verlassen der Schleife.
Die Frage ist: "Wie sieht das Do while analog von VB aus und wie füge ich den Gewinnwert (Ergebnis) des letzten Auftrags in eine Variable ein?
Lesen Sie zuerst die Anleitung https://book.mql4.com/ru/
Es gibt keine vollständige Analogie zur do-Schleife mit Vor- und Nachprüfungen, aber es gibt ein normales while (die Nachprüfung kann durch for dargestellt werden).
Programme sind nicht gerade linear, es ist einfacher, sich auf Ereignisse zu konzentrieren, anstatt den Startvorgang in einer Schleife zu wiederholen.
Hier ist ein ungefähres Schema,
1. SL,TP einstellen...
2. Überprüfen Sie die Anzahl der offenen Aufträge, wenn es weniger als einen gibt, wird ein neuer Auftrag eröffnet.
Die Logik des Blockdiagramms leidet noch, es gibt viele Fragen, auf die es keine Antwort gibt. Was passiert zum Beispiel, wenn mehrere EAs gestartet werden, oder was passiert, wenn wir den EA neu starten, bevor wir einen Auftrag schließen, usw.?
Bitte geben Sie Hinweise, wie Sie den Fehler Symbolname für die Funktion MarketInfo muss ein String sein loswerden
Was könnte daran falsch sein?
hier im Code
{
if (lot1 < MarketInfo(NULL,MODE_MINLOT)) {lot1=MarketInfo(NULL,MODE_MINLOT);lot2=lot1*2;lot3=lot1*3;lot4=lot1*4;lot5=lot1*5;
}
oder hier
STOPLEVEL = MarketInfo(Symbol(),MODE_STOPLEVEL);