Fehler, Irrtümer, Fragen - Seite 2590
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Können Sie mir sagen, was der Grund für den Fehler [Too many trade requests] beim zweiten Aufruf der OrderSend-Routine (nach dem Start des Terminals) sein könnte?
Ich habe mir die Protokolle von Montag bis Donnerstag angesehen. Ich habe überall dasselbe gesehen: Die erste Limit-Order wird erfolgreich gesendet und alle weiteren Orders kommen mit dem Fehler [Too many trade requests] zurück. Dann beginnen sie zu vergehen. Die einzige kriminelle Handlung ist der häufige Aufruf von CopyTickRange in OnInit().
BCS Broker MetaTrader 5 Terminal x64 build 2170 gestartet
@Ilyas
Von dll, Zeiger auf String const wchar_t* kopiert einen geraden String, mit diesen Parametern
wcsncpy( out, data, wcslen(data) * 2 );
Mit diesen Parametern ist es natürlich undicht.
Aber die Zeichenkette wird gerade, kein einziges zusätzliches Zeichen rutscht durch.
Und nach Beendigung des Programms zeigt das Expert Advisor-Protokoll eine Meldung an
Und es gibt einen solchen Test.
Sie zeigt Folgendes
Das Char-Zeichen ' ' gibt zwei Bytes statt einem zurück. Wahrscheinlich, weil es in Unicode geschrieben ist.
Und die Zeichenkette gibt im Vergleich zu wchar_t zwölf Bytes statt zwei Bytes zurück.
Vielleicht verzerrt die Ausrichtung des oberen Typs irgendwo die Größe der Saite?
@Ilyas
Von dll, Zeiger auf String const wchar_t* kopiert einen geraden String, mit diesen Parametern
Mit diesen Parametern ist es natürlich undicht.
Aber die Zeichenkette erweist sich als gerade, kein einziges zusätzliches Zeichen rutscht durch.
Und nach Beendigung des Programms zeigt das Expert Advisor-Protokoll eine Meldung an
Und es gibt einen solchen Test.
Sie zeigt Folgendes
Das Char-Zeichen ' ' gibt zwei Bytes statt einem zurück. Wahrscheinlich, weil es in Unicode geschrieben ist.
Und die Zeichenkette gibt im Vergleich zu wchar_t zwölf Bytes statt zwei Bytes zurück.
Vielleicht verzerrt die Ausrichtung des oberen Typs irgendwo die Größe der Saite?
@Ilyas
Aus der DLL kopiert der Zeiger const wchar_t* string eine einfache Zeichenkette mit den folgenden Parametern
Mit diesen Parametern ist es natürlich undicht.
Aber die Zeichenkette ist gerade, und es fehlt kein Zeichen mehr.
Und nach Beendigung des Programms zeigt das Expert Advisor-Protokoll eine Meldung an
Und es gibt einen solchen Test.
Sie zeigt Folgendes
Das Char-Zeichen ' ' gibt zwei Bytes statt einem zurück. Wahrscheinlich, weil es in Unicode geschrieben ist.
Und die Zeichenkette gibt im Vergleich zu wchar_t zwölf Bytes statt zwei Bytes zurück.
Vielleicht verzerrt die Ausrichtung des oberen Typs irgendwo die Größe der Saite?
1. in MQL nur Unicode, deshalb ist die Zeichengröße 2 Bytes
2. String ist eine Struktur (4 Byte Puffergröße und 8 Byte Zeigergröße)
Die Kopie in die Zeichenkette sollte sein
Wenn dies nicht funktioniert, muss der Fehler an anderer Stelle gefunden werden
Hallo zusammen, es scheint, dass die Funktion ResourceReadImage() nicht richtig funktioniert, wenn man Daten aus BMP-Dateien erhält! Ich habe ein Skript erstellt, um ein Bild als Hintergrund auf die Leinwand zu zeichnen. Wenn wir ein Bild aus einer Datei auf der Festplatte herausnehmen und es einfach auf der Leinwand ausfüllen, funktioniert alles gut, aber wenn wir Pixel aus der BMP-Ressource herausnehmen, die sich in der ex5-Datei selbst befindet, indem wir die Funktion ResourceReadImage() verwenden, sieht das resultierende Bild wie ein winziger und stark vergrößerter Ausschnitt des Quellbildes aus. Was ist der Grund dafür?
Der Kopierpunktzyklus ist falsch, ersetzen Sie ihn durch
Und diese Frage - wie eine Liste von Eingabevariablen zu erhalten, die gleiche wie kommt inFrameInputs() Funktion, aber nur in einem Durchgang, ohne Optimierung?
Ja, vor kurzem war eine solche Frage aufgetaucht, ich habe sie irgendwie aus den Augen verloren, und jetzt habe ich selbst eine solche Aufgabe (ich möchte automatisch Set-Dateien erstellen).
In welche Richtung soll gegraben werden? Und wenn sich jemand an diese Diskussion erinnert - wo ist sie (ich kann sie nicht finden)?
Natürlich könnte ich in jedem Expert Advisor eine Funktion schreiben, die eine solche Liste erstellt, aber es wäre besser, eine universelle Bibliotheksfunktion zu haben.Sie könnten natürlich in jedem EA eine einzelne Funktion schreiben, die eine solche Liste erstellt, aber eine universelle Bibliotheksfunktion wäre besser.
Schauen Sie hier nach.
Schauen Sie hier nach.
Das ist richtig, das ist es!
Ich danke Ihnen vielmals.
1. in MQL nur Unicode, deshalb ist die Zeichengröße 2 Bytes
2. String ist eine Struktur (4 Byte Puffergröße und 8 Byte Zeigergröße)
Die Kopie in die Zeichenkette sollte sein
Wenn dies nicht funktioniert, muss der Fehler an anderer Stelle gesucht werden
Und was passiert, wenn die Größe der zu kopierenden Zeichenfolge größer oder kleiner ist als die Größe des zugewiesenen Puffers?