Fragen zu MQL4.

 
Slawa 08.11.05 17:51 <br / translate="no">.
Ist es akzeptabel, die FunktionMessageBox() in Indikatoren gemäß den MQ4-Regeln zu verwenden?
Nein. Und GetLastError wird den entsprechenden Fehler zurückgeben
Ist die Verwendung der Funktion MessageBox() in deinit() zulässig?

Es besteht die Notwendigkeit, dem Benutzer einige Informationen mitzuteilen, wenn er den EA schließt. Und lösen abhängig von ihren Antworten Ereignisse aus. Wie kann man das tun?
 
deinit läuft 2,5 Sekunden - sollte der Benutzer so schnell reagieren? =)
Sie können in eine Datei schreiben, was zu tun ist, und dann ein Skript zum Lesen, Anzeigen der MessageBox und, je nach Antwort, zum Ausführen der Aktion.
Es ist nicht ganz klar, was Sie tun müssen. Und warum?
 
komposter,
Sie müssen...
Nun, in 2 Worten.
Erstens läuft deinit() nicht 2,5 Sekunden lang, sondern unendlich lange. Zumindest in meinem Skript.
Zweitens wird diese ganze Küche nur benötigt, um Objektkoordinaten zwischen Ticks zu verarbeiten. Aus diesem Grund macht es keinen Sinn, den Verarbeitungscode in Start zu platzieren, da er tickweise startet, d.h. er wird nur einmal arbeiten und den Rest der Zeit im Leerlauf sein.

Danach fangen die Probleme an, und das Programmieren wird zu einer kreativen Tätigkeit, denn (nun, ich weiß nicht warum) Slip funktioniert nicht in Indikatoren, MB ist verboten, usw. usw. Es scheint nur eine Frage der Zeit zu sein, bis wir anfangen, daran zu arbeiten. In einigen Fällen bestehen meine Schleifen jedoch nur aus GlobalBar-Aufrufen und mein Code darf erst gestartet werden, wenn bestimmte Bedingungen erfüllt sind. Ohne Schlupf würden diese Schleifen einfach einfrieren Traida...

Und da ich alles gut machen will, muss ich Geld für ausgefeilte Lösungen ausgeben.
Offensichtlich werden Sie nicht wirklich gut, aber wie bei Microsoft - "gut genug" (das ist ihr Slogan).
Und dann gibt es noch Bilder im Internet, die Microsofts Bild einer Tastatur mit 3 Tasten zeigen: Strg, Alt und Entf.

Wir sollten uns besser an Linux orientieren:)
 
Machen Sie also zu Beginn eine Endlosschleife - was macht es für einen Unterschied, "wo", wenn Sie sich nicht um die Ticks kümmern?
 
Ich kann diesen Zyklus weder im Indikator noch anderswo verwenden.
Das liegt daran, dass im Skript die Handelsfunktionen erlaubt sind, es gibt auch eigene Schleifen, und es gibt keinen Platz in ihnen für sekundäre (aber auch notwendige) Aufgaben. Aber das Skript erlaubt nur eine einzige. Daher müssen wir die Lösung aufteilen in:
1 Experte, 1 Skript und (bis jetzt) 2 Indikatoren.
Und auch diese Indikatoren haben ihre eigenen Zyklen der Chartverarbeitung zwischen den Ticks.
Außerdem kann ich nicht von Anfang an entladen. Wenn ich nur inyte und deinit in Indizes habe, dann ist es genug, um die Schleife zu verlassen, und sie werden aus dem Fenster entladen - sie reagieren auf einige Ereignis, zum Beispiel, Entladen von EA.
Schade, dass sie nicht geladen werden können.

Aber das macht nichts. Ich werde es trotzdem tun:) Ich werde mir einfach etwas Mühe geben müssen.
 
SKif:
Das liegt daran, dass im Skript Handelsfunktionen erlaubt sind, es hat auch seine eigenen Schleifen, und es gibt keinen Platz für sekundäre (aber auch notwendige) Aufgaben.
Warum nicht? Wenn es bereits im "unendlichen" Modus funktioniert, fügen Sie ein paar Zeilen in die bereits erstellte Schleife ein, und wenn Ihr Skript "einmalig" ist, erstellen Sie ein weiteres, das die Objektbewegungen erfasst.
Oder haben Sie eine grundsätzliche Frage der Menge?)))
 
Warum nicht ein Ort? Denn es gibt eine Menge Informationen zu verarbeiten. Während die Zyklen fast leer sind, schaffe ich es, sie zwischen den Ticks meist 10 bis 200 Mal durchzublättern, aber in kurzen Abständen - jeweils 2 bis 3 Mal. Und die Informationen werden hinzugefügt - ich habe Angst, über das Intertick-Intervall hinauszugehen.
 
Warum sollte man sich zwischen den Zecken auf sie verlassen? Warum sollte man sich überhaupt auf sie verlassen?
Es ist ein bisschen kompliziert, ich werde nicht darauf eingehen.... Du wirst es schon herausfinden ;)
 
О! (186)). (186)
 
Warum zwischen den Zecken
?!) Sie werden mir später sagen, warum. Ich habe zwar Schwierigkeiten, aber das ist Unsinn. Die Hauptsache ist das Ergebnis:)
Wie läuft es bei Ihnen?
 
Wie läuft es bei Ihnen?
Experte hier, Experte da... ein bisschen gehen ;)