Fehler, Irrtümer, Fragen - Seite 1258
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
Übrigens, wer weiß, wie man dafür sorgen kann, dass beim Klicken auf die Schaltfläche diese gedrückt wird, wenn die LKM gedrückt wird, und losgelassen wird, wenn die LKM losgelassen wird?
und was würde die Taste zum Klicken und Loslassen drücken und was würde die Taste zum Klicken und Loslassen loslassen, Unsinn)
ZS: Natürlich kann man eine Eigenschaft direkt nach der Freigabe der LKM ändern, aber wird das auch so gemacht? )
Übrigens, wer weiß, wie man dafür sorgen kann, dass beim Klicken auf die Schaltfläche diese gedrückt wird, wenn die LKM gedrückt wird, und losgelassen wird, wenn die LKM losgelassen wird?
und was würde die Taste zum Klicken und Loslassen drücken und was würde die Taste zum Klicken und Loslassen loslassen, Unsinn)
ZS: Natürlich kann man eine Eigenschaft direkt nach der Freigabe der LKM ändern, aber wird das auch so gemacht? )
Ja. Sie müssen den Zustand des Objekts selbst kontrollieren, wenn Sie es auf Ihre eigene Weise machen wollen. )
alles wäre in Ordnung, aber die Taste wird nicht gedrückt, wenn die LKM gedrückt wird, und nur gedrückt, wenn die LKM losgelassen wird, Unsinn )
ZS: Willst du den Knopf drücken? lass es los )
Aber wenn Sie sonst tun, daOnChartEvent nicht in den Tester zu arbeiten, dann in der Regel keinen Weg in den Tester mit den Kopien der Kopien nicht funktionieren kann.
alles wäre in Ordnung, aber die Taste wird nicht gedrückt, wenn die LKM gedrückt wird, und nur gedrückt, wenn die LKM losgelassen wird, Unsinn )
ZS: Willst du den Knopf drücken? lass es los )
Aber wenn Sie sonst tun, angesichts der Tatsache, dassOnChartEvent nicht in den Tester zu arbeiten, dann im Allgemeinen keine Möglichkeit, in den Tester mit lops.
Bis jetzt hat der Tester viele Dinge, die nicht funktionieren. Bleibt zu schreiben in servicedesk und dann folgen Updates. )
Und außerhalb des Testers müssen Sie Ihre eigenen Handler schreiben, damit die Steuerelemente so funktionieren, wie Sie es wollen.
alles wäre in Ordnung, aber die Taste wird nicht gedrückt, wenn die LKM gedrückt wird, und nur gedrückt, wenn die LKM losgelassen wird, Unsinn )
ZS: Willst du den Knopf drücken? lass es los )
Aber wenn Sie sonst tun, da OnChartEvent nicht in den Tester funktioniert, dann keine Möglichkeit in den Tester mit Kopien von nicht funktionieren.
OnChartEvent() behandelt typische und Benutzerereignisse. Was die benutzerdefinierten Ereignisse betrifft, so funktioniert dieser Handler im Tester!!! Siehe meinen Artikel Rezepte in MQL5 - Umgang mit benutzerdefinierten DiagrammereignissenDort gibt es einen CustomEventProcessor-Roboter. Es wird im Tester gehandelt.
Ärger mit dem Tester - die Grafik... Ich habe vorhin an den Service Desk über Grafiken geschrieben, bisher nur Versprechungen...
OnChartEvent() behandelt typische Diagrammereignisse und benutzerdefinierte Ereignisse. Was die benutzerdefinierten Ereignisse betrifft, so funktioniert dieser Handler im Tester!!! Siehe meinen Artikel Rezepte in MQL5 - Umgang mit benutzerdefinierten DiagrammereignissenDort gibt es einen CustomEventProcessor-Roboter. Es wird im Tester gehandelt.
Das Problem mit dem Tester ist die Grafik... Ich habe dem Servicedesk schon einmal wegen Grafiken geschrieben, bisher nur Versprechungen...
Die Situation ist wie folgt: Ich erstelle ein OBJ_TEXT-Objekt im Diagramm. Dann lösche ich diesen OBJ_TEXT manuell aus dem Diagramm. Dann versuche ich, das gelöschte Objekt im Diagramm zu finden, und erhalte eine Fehlermeldung (das ist logisch: das Objekt wurde gelöscht, also kann es nicht gefunden werden). Dann versuche ich, den Ankerpunkt des gelöschten OBJ_TEXT-Objekts mit ObjectMove zu verschieben, erhalte aber keinen Fehler.
Frage: Sollte ObjectMove einen Fehler anzeigen, wenn versucht wird, den Ankerpunkt eines gelöschten OBJ_TEXT zu verschieben?
Wer es weiß: Beim Versuch, einen Indikator im Visualizer (Tester) anzuzeigen, erscheint ein Fehler 4014, obwohl kein solcher Fehler auftritt, wenn derselbe Code im Terminalfenster ausgeführt wird.
Der Code lautet wie folgt:
Indic_Handle[Indic_Total-1]=iMA(NULL,0,MA_Period,MA_Shift,MODE_LWMA,PRICE_CLOSE);
if(Indic_Handle[Indic_Total-1]==INVALID_HANDLE)
{Error_Message;return(false);}
if(F_If_Indic_Exist(Indic_Handle[Indic_Total-1])==false) // Проверяем есть ли уже индикатор с таким хендлом. Если нет - добавлем новый индикатор
if(ChartIndicatorAdd(0,0,Indic_Handle[Indic_Total-1])==false)
{Error_Message;return(false);}
Der Befehl "Error_Message" wird durch ein Makro definiert:
#define Error_Message_Exp Alert(__FILE__+": "+__FUNCTION__+": Error at line "+(string)__LINE__+". Last Error code: "+(string)GetLastError())
Bei der Ausführung im Terminal: Der Code funktioniert wie gewünscht, ohne Fehler. Der Indikator wird auf dem Chart gezeichnet, die Variable"Indic_Handle[Indic_Total-1]" erhält einen Handle-Wert.
Aber wenn sie im Tester und/oder im Visualizer ausgeführt werden. Ein Fehler wird in das Protokoll geschrieben:
2014.12.15 21:16:10 Core 1 2014.01.01 00:00:00 Alert: GA_Incl.mqh: F_Offspr_Init: Error at line 149. Last Error code: 4014
(Zeile "149" - ist die Zeile"{Error_Message;return(false);}" unter Zeile "148":"if(ChartIndicatorAdd(0,0,Indic_Handle[Indic_Total-1])==false)".
Der Fehler tritt offensichtlich bei der Ausführung der Funktion "ChartIndicatorAdd" auf, die in der Testerumgebung und in der Terminalumgebung unterschiedlich ausgeführt wird.
Die Dekodierung des Fehlercodes macht dies nicht deutlich:
ERR_FUNCTION_NOT_ALLOWED
4014
Die Systemfunktion darf nicht aufgerufen werden
Im Forum fand ich eine Erwähnung dieses Fehlers in der gleichen Situation durch einen anderen Benutzer, aber seine Frage bleibt unbeantwortet. (https://www.mql5.com/ru/forum/1111/page763#comment_208678)
Ich habe herausgefunden, dass, wenn ich das Programm trotz des Fehlers im Tester weiterlaufen lasse, der gewünschte Indikator auf das Diagramm angewendet wird. Der Indikator-Handle entspricht jedoch nicht dem Wert in der VariablenIndic_Handle[Indic_Total-1]. (Der Indikator selbst wird jedoch nach einigen Ticks erstellt, nachdem der Befehl ChartIndicatorAdd aufgerufen wurde.
Bitte helfen Sie mir
Ich danke Ihnen.
Richtig, es wird nicht gedruckt. Aber es funktioniert. Versuchen Sie, das Ereignis mit Grafiken zu verfolgen.