Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 196 1...189190191192193194195196197198199200201202203...247 Neuer Kommentar Alexey Viktorov 2021.01.15 17:37 #1951 fxsaber:Kein Hinweis darauf, woher die Stunde kommt (das gilt auch für mich). Vielleicht hängt es von der Zeitzone ab. Das ist nicht mehr interessant. Nicht erraten. Ich habe Moskau. Mit GMT nicht eine Stunde... Keine anderen Gedanken. Andrey Khatimlianskii 2021.01.22 16:50 #1952 Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien Wie kann man die automatische Fehlerüberwachung im Terminal nutzen? Renat Fatkhullin, 2021.01.22 16:12 Es gibt eine undokumentierte Möglichkeit, die Protokolle mit der Methode Print(NULL) zwangsweise auf die Festplatte zurückzusetzen Bibliotheken: MT4Orders Wie man sich mit Indikatoren: CandleColorCounter fxsaber 2021.01.22 17:26 #1953 Andrey Khatimlianskii: Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien Wie kann man die automatische Fehlerüberwachung im Terminal nutzen? Renat Fatkhullin, 2021.01.22 16:12 Es gibt eine undokumentierte Möglichkeit, Protokolle durch Print(NULL) zwangsweise auf die Festplatte zurückzusetzen Super! Andrey Khatimlianskii 2021.01.23 00:59 #1954 Andrey Khatimlianskii: fxsaber: Super! In der Eile zu teilen, ohne zu prüfen. Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien Wie kann man die automatische Fehlerüberwachung im Terminal nutzen? Andrey Khatimlianskii, 2021.01.23 00:59 Print(NULL); NULL" - Ausdruck vom Typ "void" ist unzulässig Bibliotheken: MT4Orders Indikatoren: Setka (Gitter) Etwas Interessantes Aleksei Beliakov 2021.01.23 02:13 #1955 Andrey Khatimlianskii:In meiner Eile zu teilen, ohne es zu überprüfen. Was passiert, wenn die Zeichenkette zuerst auf Null gesetzt und dann gedruckt wird? fxsaber 2021.02.19 10:36 #1956 Option zum Anzeigen (nicht Aktivieren) des Charts (nur MT5) // Показывает (не активирует) данный чарт. bool ChartShow( const long Chart ) { const bool IsDocked = ChartGetInteger(Chart, CHART_IS_DOCKED); return(ChartSetInteger(Chart, CHART_IS_DOCKED, !IsDocked) && ChartSetInteger(Chart, CHART_IS_DOCKED, IsDocked) && ChartGetInteger(Chart, CHART_WINDOW_HANDLE)); } Beispiel für die Verwendung. // Переключает чарты клавишами клавиатуры '<'/'>'. #define KEY_LEFT2 188 // '<' #define KEY_RIGHT2 190 // '>' int GetExpertCharts( long &Charts[], const string ExpertName = NULL ) { int Amount = 0; for (long Chart = ChartFirst(); Chart != -1; Chart = ChartNext(Chart)) if ((ExpertName == NULL ) || (ChartGetString(Chart, CHART_EXPERT_NAME) == ExpertName)) { Amount = ArrayResize(Charts, Amount + 1, 10); Charts[Amount - 1] = Chart; } return(ArrayResize(Charts, Amount)); } long ChartNextShow( const long Chart, const int Step = 1 ) { long ResChart = Chart; long Charts[]; const int Size = GetExpertCharts(Charts); if ((Size > 1) && (bool)(Step % Size)) for (int i = 0; i < Size; i++) if (Charts[i] == Chart) { ResChart = Charts[(i + ((Step > 0) ? Step : (Size - ((-Step) % Size)))) % Size]; ChartShow(ResChart); // https://www.mql5.com/ru/forum/170952/page196#comment_20841674 break; } return(ResChart); } void OnChartEvent( const int id, const long &lparam, const double&, const string& ) { static long Chart = ChartID(); if (id == CHARTEVENT_KEYDOWN) switch ((int)lparam) { case KEY_LEFT2: Chart = ChartNextShow(Chart, -1); // Показали чарт слева break; case KEY_RIGHT2: Chart = ChartNextShow(Chart); // Показали чарт справа break; } } Leider konnte keine Option zur Kartenaktivierung gefunden werden. Nur Anzeige. fxsaber 2021.02.19 12:32 #1957 Lösung für ein altes Problem. /* // https://www.mql5.com/ru/forum/1111/page2863#comment_18591240 #define VALUE 10 #define MACROS #ifdef MACROS // Нужно VALUE увеличить в два раза. #endif */ // https://www.mql5.com/ru/forum/1111/page2965#comment_20841725 #define MACRO( x, y, z ) enum nn##z { y = x }; #define MACRO2( x, y ) MACRO( x, y, __LINE__ ) // https://www.mql5.com/ru/forum/1111/page2866#comment_18603128 #define VALUE 10 MACRO2(VALUE, VALUE_TMP) // VALUE_TMP - поле enum, поэтому имя не должно повторяться. #undef VALUE #define VALUE (VALUE_TMP * 2) void OnStart() { Print(VALUE); } Diese Option ist besser als diese. #define MACRO3(x, y) const int y = x; MACRO3(VALUE, VALUE_TMP) Eine Variable ist nicht erforderlich. Alle Werte werden zur Kompilierzeit festgelegt. Vielen Dank @A100! Alexey Viktorov 2021.02.19 13:40 #1958 fxsaber:Leider konnte keine Option zur Kartenaktivierung gefunden werden. Nur die Anzeige. Ich verstehe das nicht........., ist es das, was Sie meinen? Es ist ein Drehbuch. ps; Und was ist das? const bool IsDocked = ChartGetInteger(Chart, CHART_IS_DOCKED); Ich kann es in der Dokumentation nicht finden... Dateien: 200.mq5 2 kb fxsaber 2021.02.19 13:51 #1959 Alexey Viktorov:ps; Was ist das? Ich kann es in der Dokumentation nicht finden... Es ist ALT+D auf dem Diagramm. fxsaber 2021.02.19 13:54 #1960 Alexey Viktorov:Ich verstehe das nicht......... Sie darüber sprechen? Es ist ein Drehbuch. Danke, da habe ich etwas übertrieben. Natürlich haben wir oben die Kartenverwaltung, die vorher nicht möglich war. Aber mein Ziel war ein anderes. // Активирует данный чарт. bool ChartActivate( const long Chart ) { return(ChartSetInteger(Chart, CHART_BRING_TO_TOP, true) && ChartGetInteger(Chart, CHART_WINDOW_HANDLE)); } Beispiel für die Verwendung. // Переключает чарты с одним и тем же советником клавишами клавиатуры '<'/'>'. void ChartNextActivate( const int Step = 1, const bool Expert = true ) { long Charts[]; // https://www.mql5.com/ru/forum/170952/page196#comment_20841674 const int Size = GetExpertCharts(Charts, Expert ? ChartGetString(0, CHART_EXPERT_NAME) : NULL); const long Chart = ChartID(); if ((Size > 1) && (bool)(Step % Size)) for (int i = 0; i < Size; i++) if (Charts[i] == Chart) { // https://www.mql5.com/ru/forum/170952/page197#comment_20845067 ChartActivate(Charts[(i + ((Step > 0) ? Step : (Size - ((-Step) % Size)))) % Size]); break; } return; } void OnChartEvent( const int id, const long &lparam, const double&, const string& ) { if (id == CHARTEVENT_KEYDOWN) switch ((int)lparam) { case KEY_LEFT2: ChartNextActivate(-1); break; case KEY_RIGHT2: ChartNextActivate(); break; } } 1...189190191192193194195196197198199200201202203...247 Neuer Kommentar
Kein Hinweis darauf, woher die Stunde kommt (das gilt auch für mich). Vielleicht hängt es von der Zeitzone ab.
Das ist nicht mehr interessant.
Nicht erraten. Ich habe Moskau. Mit GMT nicht eine Stunde... Keine anderen Gedanken.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Wie kann man die automatische Fehlerüberwachung im Terminal nutzen?
Renat Fatkhullin, 2021.01.22 16:12
Andrey Khatimlianskii:
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Wie kann man die automatische Fehlerüberwachung im Terminal nutzen?
Renat Fatkhullin, 2021.01.22 16:12
Super!
Super!
In der Eile zu teilen, ohne zu prüfen.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Wie kann man die automatische Fehlerüberwachung im Terminal nutzen?
Andrey Khatimlianskii, 2021.01.23 00:59
NULL" - Ausdruck vom Typ "void" ist unzulässig
In meiner Eile zu teilen, ohne es zu überprüfen.
Option zum Anzeigen (nicht Aktivieren) des Charts (nur MT5)
Beispiel für die Verwendung.
Leider konnte keine Option zur Kartenaktivierung gefunden werden. Nur Anzeige.
Diese Option ist besser als diese.
Eine Variable ist nicht erforderlich. Alle Werte werden zur Kompilierzeit festgelegt. Vielen Dank @A100!
Leider konnte keine Option zur Kartenaktivierung gefunden werden. Nur die Anzeige.
Ich verstehe das nicht........., ist es das, was Sie meinen? Es ist ein Drehbuch.
ps; Und was ist das?
Ich kann es in der Dokumentation nicht finden...
ps; Was ist das?
Ich kann es in der Dokumentation nicht finden...
Es ist ALT+D auf dem Diagramm.
Ich verstehe das nicht......... Sie darüber sprechen? Es ist ein Drehbuch.
Danke, da habe ich etwas übertrieben. Natürlich haben wir oben die Kartenverwaltung, die vorher nicht möglich war. Aber mein Ziel war ein anderes.
Beispiel für die Verwendung.