[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 1078

 
RekkeR:

Ich danke Ihnen.


Übrigens gibt es im Ordner "Profile" Ordner, die zu jedem einzelnen Profil gehören. Sie enthalten *.CHR-Dateien - Sie können sie auch mit Notepad öffnen. Dort sieht es nach der gleichen Syntax aus.
 
rensbit:


SPS, ich werde es mir ansehen.
 
Galion:

Seid gegrüßt! n-Variablen nehmen einen von zwei Werten an, Varianten von Kombinationen davon sollten der Variable p einen von 4 Werten übergeben. Können Sie mir sagen, wie dies in den Code aufgenommen werden kann?

Geben Sie mir ein konkretes Beispiel - "Varianten von Kombinationen" und deren Übertragung auf eine p-Variable.

Warum 4 Werte?

 
sergeev:

ein konkretes Beispiel nennen - "Kombinationsvarianten" und deren Übertragung auf eine p-Variable.

warum 4 Werte?


Danke, aber es scheint, dass ich Sie durch die falsche Beschreibung der Bedingungen in die Irre geführt habe)))
Ich werde es auf diese Weise versuchen.
bool n_1,
n_2,
n_3,
n_4,
n_5;
int p;
wenn n_2 && n_3 wahr ist, dann p = 101
wenn n_4& n_5 wahr ist, p = 102
wenn n_1 && n_2&&& n_5 wahr sind, dann ist p = 104
wenn n_2 && n_3&&& n_4&&&&n_5 wahr, p = 105

es kann viele Variablen n geben, und man möchte von der if-Menge wegkommen
 
Galion:

Danke, aber es scheint, dass ich Sie durch die falsche Beschreibung der Bedingungen in die Irre geführt habe)))
Ich werde es auf diese Weise versuchen.
bool n_1,
n_2,
n_3,
n_4,
n_5;
int p;
wenn n_2 && n_3 wahr ist, dann p = 101
wenn n_4& n_5 wahr ist, p = 102
wenn n_1 && n_2&&& n_5 wahr sind, dann ist p = 104
wenn n_2 && n_3&&& n_4&&&&n_5 wahr, p = 105

es kann viele Variablen n geben, und man möchte von der if-Menge wegkommen


Versuchen Sie, bewegliche Kodierung zu verwenden

Es bettelt geradezu darum.

 
Hallo zusammen! Helfen Sie mir, der ich ein Anfänger in mql4 bin, einen EA zu erstellen. Der Start der Startfunktion: Suchen Sie im H1-Chart nach der letzten vollständig ausgebildeten Kerze der letzten Stunde. Wenn der Schlusskurs der vorherigen Kerze höher ist als der Eröffnungskurs, werden wir sofort einen Kaufauftrag erteilen und eine Stunde warten, bis sich die nächste einstündige Kerze vollständig gebildet hat. Nach der vollständigen Bildung überprüfen wir sie sofort. Wenn der Schlusskurs höher ist als der Eröffnungskurs, warten wir auf den nächsten Kurs. Wenn der Eröffnungskurs höher ist als der Schlusskurs, schließen wir den Auftrag.
 
drknn:


Deklarieren Sie eine Variable (a), in die wir den Ask-Kurs eingeben werden. Berechnen Sie die Aufträge beim Start des EA neu. Wenn es keine Aufträge gibt, wird die Variable auf Null gesetzt. Dann prüfen wir, ob die Variable gleich Null ist, fügen den Preis Ask hinzu und erteilen Aufträge ab diesem Niveau. Es ist klar, dass das Programm beim nächsten Tick sieht, dass die Aufträge vorhanden sind und die Variable "A", die den vorherigen Ask enthält, nicht beeinflussen. Und es ist auch klar, dass sich der Wert der Variablen "a" nicht ändert, solange es Aufträge auf dem Markt gibt.

2. Wenn wir die Bestellparameter speichern müssen, sollten wir sie vom Server anfordern und in Variablen oder in einem Array speichern. Sie müssen es einmal machen und dann so lange warten, bis der Auftrag nicht mehr benötigt wird.

Das haben Sie in der Anleitung nicht gefunden, weil der Autor versucht hat, seine Vorstellung von der Sprache so klar wie möglich darzustellen. Aber dieses Tutorial deckt nicht die Fragen der Interaktion von Computern im Server-Client-System ab. Das Tutorium sowie die Hilfe im Meta-Editor gehen nur am Rande auf diese Themen ein. Ein Anfänger denkt einfach nicht darüber nach, was im aktuellen Tick passiert und was im nächsten Tick passieren wird. Er glaubt fälschlicherweise, dass beim nächsten Ticken alles wieder so sein wird wie vorher. Es handelt sich jedoch um einen schwerwiegenden Fehler - das Programm wird sich beim nächsten Tick ganz anders verhalten, da sich die Werte der Variablen aufgrund eines neuen Preises beim vorherigen Tick geändert haben! Dies ist besonders wichtig, wenn man Programme erstellt, die nach dem Prinzip eines kybernetischen Automaten arbeiten, d.h. die ein Gedächtnis dafür haben, in welchem Zustand sich der Automat befindet.

Die Besucher des Forums können Ihnen fertige Lösungen für Ihre Probleme anbieten. Aber es wird Ihnen nichts nützen. Das Beste ist, Ihnen zu helfen, die Logik der Arbeit zu verstehen und Sie anzuregen, die Sprache als Werkzeug zu beherrschen. Das Beste, was Sie hier lernen können, ist Ihr persönliches Wissen, das Ihnen jahrelang zugute kommen wird. Wissen und die Fähigkeit, es anzuwenden.


Danke für den Tipp, aber ich würde gerne wissen, wie man sich Werte mit Hilfe von Arrays merkt. Wenn ich schwebende Aufträge erteile und sie ändere, muss ich entweder den Takeprofit oder den Stoploss darin speichern und die anderen Werte ändern. Und was ist, wenn der Auftrag zu einem Marktauftrag geworden ist, können wir seinen TakeProfit und StopLoss ändern, aber in der "OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit());" müssen wir den Eröffnungskurs angeben, wie sollten wir ihn angeben? Ich habe es mit 0, Überspringen und der Angabe des alten Preises versucht, aber es gibt einen Fehler.
 
rensbit:

Mann, das hat ja toll geklappt !!!!!!!!!!

DANKESCHÖN !!!!!!!!!!!!!!!!!!!!!!!!!!!

 

Guten Tag!

Bei Verwendung des ASCTrend1sig-Indikators https://www.mql5.com/ru/code/8329 (wenn ein EA damit getestet wird) - sehr langsame Testgeschwindigkeit: 1 Stundenkerze wird für 1-2 Sekunden getestet. Worauf bezieht sie sich? Wegen des Indikators ?

 

Helfen Sie mir, einem Anfänger in mql4, um einen Anfang des Codes zu erstellen. Der Start der Startfunktion: Suchen Sie im H1-Chart nach der letzten vollständig ausgebildeten Kerze der letzten Stunde. Wenn der Schlusskurs der vorherigen Kerze über dem Eröffnungskurs liegt, erteilen wir sofort einen Kaufauftrag und warten, bis sich die nächste einstündige Kerze vollständig gebildet hat. Nach der vollständigen Bildung überprüfen wir sie sofort. Wenn der Schlusskurs höher ist als der Eröffnungskurs, warten wir auf den nächsten Kurs. Wenn der Eröffnungskurs höher ist als der Schlusskurs, schließen wir den Auftrag.

Bitte helfen Sie mir mit den Operatoren und Befehlen, um dies zu implementieren, und veröffentlichen Sie dieses Stück Code.

Vielen Dank im Voraus!