Nach der Anzeige des Objekts im Hauptfenster durch die Software wird das Objekt nur angezeigt, wenn ein neues Häkchen erscheint. Gibt es eine Möglichkeit, ein Bild des Objekts vor dem Ticken, zum Zeitpunkt seiner Erstellung, zu erhalten?
ObjectsRedraw();
Und ganz nebenbei. Diese graue Markierung am oberen rechten Dreieck verschiebt sich nach links im Diagramm. Wird sie in irgendeiner Weise programmatisch gesteuert?
Slawa, vielen Dank für die Konsultation. Für mich ist es sehr wichtig, dass ein Entwickler antwortet.
Bitte bestätigen Sie das, bitte. Wenn Expert Advisor einen ziemlich langen (sagen wir 10 Sekunden) Verarbeitungszyklus enthält... Wenn zur gleichen Zeit, sagen wir in der dritten Sekunde des Betriebs, die STOP-Taste gedrückt wird. Dann: Der Expert Advisor arbeitet bis zum Ende seines Zyklus, bis zur 10. Sekunde (während der alle kodierten Handelsfunktionen ausgeführt werden), und dann wird er deaktiviert? Gehe ich recht in der Annahme, dass der Befehl zum tatsächlichen Deaktivieren des EA (wenn die Schaltfläche Deaktivieren gedrückt wird) ist, wenn der EA den Rückgabeoperator der Funktion start() erreicht?
Der EA arbeitet seinen Zyklus bis zum Ende ab, bis zur 10. Sekunde. Der EA wird nicht heruntergefahren, nur mit dem Eintreffen des nächsten Ticks wird der EA nicht gestartet. Die letzte Frage verstehe ich nicht.
Gibt es eine Regelmäßigkeit zwischen der start()-Zeit (in Millisekunden) im Experten und der start()-Zeit im benutzerdefinierten Indikator, wenn beide an das Fenster angehängt sind?
Wäre es richtig zu erwarten, dass die Codes von Expert Advisor und Indikator unten wird ein stabiles Ergebnis A = 1 geben?
Code des Expertenberaters
int start() { GlobalVariableSet("Start",1); Sleep(500); GlobalVariableSet("Start",0); return; }
Indikator-Code
int start() { int A=0; Sleep(100); if (GlobalVariableGet("Start")==1) A=1 ; Alert("A=",A); return; }
(die Aufgabe ist eigentlich einfach: dem Indikator mitzuteilen, dass der Expert Advisor durch eine Schaltfläche deaktiviert ist)
Wäre es richtig zu erwarten, dass die folgenden Experten- und Indikatorcodes ein stabiles Ergebnis von A=1 ergeben würden? <br/ translate="no">
Nein. In der aktuellen Implementierung sind globale Variablen nicht sicher im Hinblick auf den Zugriff auf gemeinsame Ressourcen von gleichzeitig laufenden Indikatoren und Expert Advisors.
nur ein. Wenn der EA gestartet wird, bedeutet dies, dass die Genehmigung zum Starten von EAs erteilt wurde.
vielen Dank für die Konsultation. Für mich ist es sehr wichtig, dass ein Entwickler antwortet.
Bitte bestätigen Sie das, bitte.
Wenn Expert Advisor einen ziemlich langen (sagen wir 10 Sekunden) Verarbeitungszyklus enthält...
Wenn zur gleichen Zeit, sagen wir in der dritten Sekunde des Betriebs, die STOP-Taste gedrückt wird.
Dann: Der Expert Advisor arbeitet bis zum Ende seines Zyklus, bis zur 10. Sekunde (während der alle kodierten Handelsfunktionen ausgeführt werden), und dann wird er deaktiviert?
Gehe ich recht in der Annahme, dass der Befehl zum tatsächlichen Deaktivieren des EA (wenn die Schaltfläche Deaktivieren gedrückt wird) ist, wenn der EA den Rückgabeoperator der Funktion start() erreicht?
Ich danke Ihnen im Voraus.
Die letzte Frage verstehe ich nicht.
Sie haben meine Frage vollständig beantwortet.
Ich danke Ihnen nochmals.
Wäre es richtig zu erwarten, dass die Codes von Expert Advisor und Indikator unten wird ein stabiles Ergebnis A = 1 geben?
Code des Expertenberaters
int start() { GlobalVariableSet("Start",1); Sleep(500); GlobalVariableSet("Start",0); return; }Indikator-Code
int start() { int A=0; Sleep(100); if (GlobalVariableGet("Start")==1) A=1 ; Alert("A=",A); return; }(die Aufgabe ist eigentlich einfach: dem Indikator mitzuteilen, dass der Expert Advisor durch eine Schaltfläche deaktiviert ist)
Nein. In der aktuellen Implementierung sind globale Variablen nicht sicher im Hinblick auf den Zugriff auf gemeinsame Ressourcen von gleichzeitig laufenden Indikatoren und Expert Advisors.
Vielen Dank, das ist verständlich. Das ist nicht das, was ich meinte.