Fehler, Irrtümer, Fragen - Seite 1520
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
Es gibt noch keinen anderen Weg.
Wir haben diskutiert, einen neuen Exit-Befehl einzuführen, der das Programm sofort beendet, aber hier gibt es noch ungelöste Probleme
Das ist sehr schade. Ja, ein exit() wie in C++ wäre schön. Heutzutage ist es ziemlich problematisch, die Antwort von verschachtelten Funktionen in die aufrufende Funktion zu ziehen. Und es gibt keine Universalbibliotheken.
Alternativ können Sie eine separate Funktion zum Löschen aller Objekte des Programms erstellen und diese aufrufen, wenn die Bedingung zum Löschen des Programms aus dem Terminal erfüllt ist, gefolgt vonExpertRemove(), in diesem Fall sollte alles schneller erledigt werden... wenn auch nicht mit Sicherheit :)
Wie ich bereits geschrieben habe und in einem Artikel auf dieser Website vorgeschlagen wurde, können Sie im Falle eines Fehlers in einer tief verschachtelten Funktion die Division durch 0 aufrufen oder das Array verlassen. Aber es ist nicht schön.
Ja, und es geht nicht nur um OOP (soweit ich es verstanden habe, meinen Sie es). Ganz einfach: Wenn ein Fehler nicht behoben werden kann, wird das Programm abgebrochen.
Hält an, aber nicht sofort
Ich verstehe nicht, ist es richtig, mit ExpertRemove() in Indikatoren zu arbeiten oder nicht?
Ich denke, es gibt eine Funktion für Indikatoren, oder sie ist nicht mehr relevant.
ChartIndicatorDelete();
Ich verstehe nicht, ist es richtig, mit ExpertRemove() in Indikatoren zu arbeiten oder nicht?
Nein. ExpertRemove() wird in den Indikatoren überlagert.
"Hält an, aber nicht sofort" wird über ExpertRemove im Allgemeinen gesagt. Diese Funktion unterbricht den Programmablauf nicht.
Nein. ExpertRemove() wird in den Indikatoren überlagert.
"Hält an, aber nicht sofort" wird über ExpertRemove im Allgemeinen gesagt. Diese Funktion unterbricht den Betrieb des Programms nicht.
Bitte nennen Sie ein Beispiel. Geben Sie den Quellcode des Indikators an, um das Problem zu veranschaulichen
Gleichzeitig sagt die Hilfe der IsStopped-Funktion, dass der Programmablauf nach 3 Sekunden gestoppt wird, wenn ein Befehl zum Beenden eines mql-Programms vorliegt.
Und wenn while(true) durch while(!IsStopped()) ersetzt wird, wird der Indikator erfolgreich beendet, wenn er aus dem Diagramm entfernt wird.
Ein lustiger Grund für den internen Compilerfehler (Funktion, die im Indikator verwendet wird):
void SaveData ( uint handle_, int wrdata_, int interv_, string dpath_, int tmode_, int tmult_, long ctime_, long& ltime_ )
{
int ierr, wrtint;
// ----
if ( interv_ > 0 ) // Arbeitsmodus
{
if ( MQLInfoInteger ( MQL_TESTER ) == 0 ) { wrtint = interv_; } // spielt keine Rolle
sonst{ wrtint = interv_ * tmult_; } // spielt keine Rolle
//
if ( ( ctime_ - ltime_ ) >= ( wrtint * 60 ) ) // wenn diese Zeile auskommentiert wird, verschwindet der Fehler
{
// etwas Code zum Speichern der Daten ... hat keine Bedeutung - getestet
//
ltime_ = ctime_; // spielt im Allgemeinen auch keine Rolle
} // wenn ( ( ctime_ - ltime_ ) >= ( wrtint * 60 )
} // wenn ( interv_ > 0 )
// ----
Rückkehr;
} // void SaveData
(Entschuldigung, ich habe die SRC-Schaltfläche absichtlich nicht verwendet, weil ich damit nicht die erforderlichen Textteile auswählen kann)
Die Lösung liegt auf der Hand, aber Sie sollten zustimmen, dass es sich um eine ziemlich lustige Panne handelt. :)))
Ein Maklerunternehmen hat eine Provision von 16x2 Dollar für einen Umsatz von 1 Million. Sie haben offenbar in den Servereinstellungen eine Provision von 16 Dollar eingestellt. Und nun wird während des Tests auf ihrem Server die Provision 16x2 von jeder Transaktion abgezogen, unabhängig von ihrer Losgröße, d.h. ein angemessener Test kann nur mit 10 Losen durchgeführt werden.
Liegt es an ihren mangelnden Fähigkeiten beim Einrichten von Servern oder an einer echten Einschränkung von MT5? Was genau kann ich ihnen raten, auf den Servern zu tun, damit die Provision im Tester korrekt verarbeitet wird?