Fehler, Irrtümer, Fragen - Seite 1205

 
ozhiganov:

Alle Broker-Terminals funktionieren nicht mehr, auch das, das ich von dieser Website heruntergeladen habe...

Neustart hilft nicht, Neustart und Neuinstallation auch nicht, alles funktionierte vorher einwandfrei, ich habe nichts auf meinem Computer installiert, ich habe auch nichts auf dem Terminal installiert. nur Einkaufen im Markt.

Nehmen Sie die laufenden Indikatoren und EAs Stück für Stück herunter, um zu sehen, wo das Problem liegt.

Klicken Sie im Fenster mit der Fehlerbeschreibung auf "Details", um die Einzelheiten zu erfahren. Bitte kopieren Sie den vollständigen Text hierher.

 

leer, ohne einen einzigen Indikator und EA-Terminal, die gleiche Sache...

 
Renat:

Erfassen Sie die laufenden Indikatoren und EAs Stück für Stück, um zu sehen, wo das Problem liegt.

Klicken Sie im Fenster mit der Fehlerbeschreibung auf die Schaltfläche "Details", um Einzelheiten zu erfahren. Bitte kopieren Sie den vollständigen Text hierher.

Ich nehme an, Sie wollen es?

Absturz --> 000007FCE8441F4F 48396B10 cmp [rbx+0x10], rbp

000007FCE8441F53 7530 jnz 0x7fce8441f85


000007FCE8441F55 488B03 mov rax, [rbx]

000007FCE8441F58 4C8BCF mov r9, rdi

000007FCE8441F5B 4D8BC7 mov r8, r15

000007FCE8441F5E 8BD6 mov edx, esi

000007FCE8441F60 488BCB mov rcx, rbx


: #021 00000000000011C8 EIP: 0000000000000000 ESP: 00000000000000000000


: #022 0000000000001068 EIP: 000007FCF54245DB ESP: 0000006818CFFAC8

000007FCF54245D1:00000A [000007FCF54245DB] NtYieldExecution (ntdll.dll)

000007FCF5426E50:000833 [000007FCF5427683] RtlUnicodeStringToInteger (ntdll.dll)

000007FCF3681828:00001A [000007FCF3681842] BaseThreadInitThunk(kernel32.dll)

000007FCF54774E8:000021 [000007FCF5477509] RtlVerifyVersionInfo (ntdll.dll)


: #023 000000000000111C EIP: 000007FCF54245DB ESP: 0000006818E5FB18

000007FCF54245D1:00000A [000007FCF54245DB] NtYieldExecution (ntdll.dll)

000007FCF5426E50:000833 [000007FCF5427683] RtlUnicodeStringToInteger (ntdll.dll)

000007FCF3681828:00001A [000007FCF3681842] BaseThreadInitThunk (kernel32.dll)

000007FCF54774E8:000021 [000007FCF5477509] RtlVerifyVersionInfo (ntdll.dll)

 
Ich habe den vollständigen Text in einer privaten Nachricht übermittelt
 

Beim Parsen des vorherigen Beispiels haben wir einen entscheidenden Unterschied zwischen MQL und C++ festgestellt

class A {};
class B : public A {};
class C {
public:
        virtual int g( A* a ) { return ( 1 ); }
        virtual int g( B* b ) { return ( 2 ); } //здесь полное совпадение
};
class D : public C {
public:
        virtual int g( A* a ) { return ( 3 ); }
};
void OnStart()
{
        B* b = new B;
        D* d = new D;
        Print( d.g( b ));
}

In MQL(build 978) ist das Ergebnis: 2 (C::g wird aufgerufen), und in C++ ist das Ergebnis: 3 (D::g wird aufgerufen)

Es stellt sich also heraus, dass MQL einer exakten Typübereinstimmung des Arguments den Vorrang gibt, auch wenn es in einer Basisklasse ist, während C++ der nächstmöglichen Klasse den Vorrang gibt, die vielleicht keine exakte Typübereinstimmung hat, aber eine implizite Typumwandlung haben kann.

Bitte prüfen Sie die Ergebnisse auf neueren C++-Compilern und entscheiden Sie sich, wenn sich der Unterschied bestätigt, zu Vereinheitlichungszwecken vorzugsweise für C++.

 
ozhiganov:
Ich habe Ihnen den vollständigen Text in einer privaten Nachricht geschickt.
Vielen Dank, wir werden uns das ansehen.
 

Sind der Kopierkonstruktor und der Zuweisungsoperator überhaupt für die Zukunft geplant?

Basisklasse A hat 15 Felder, sie hat zwei Nachkommen B und C - jeder hat +5 weitere Felder.

Und der Rest ist eine 20-minütige Suche.

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

A100, 2014.08.29 16:28

Fehler bei der Ausgabe über Print(...)

void OnStart()
{
        const int n = 300;
        Print( "n=", n );
        for ( int i = 0; i < n; i++ )
        {
                Print( i );
                if ( i == 0 )
                        Sleep( 2000 );
        }
}

beim Drucken wird der erste Teil der Ausgabe von 1 bis 53 übersprungen (jedes Mal ein anderer Teil - kein klares Muster), manchmal wird in der Mitte übersprungen

druckt dann bis zu 299 ohne Aussetzer

Wenn Sie etwas Zeit haben, versuchen Sie bitte, es auszuführen, und schreiben Sie mir, wenn es irgendwelche Ausfälle in der Ausgabe gibt. Wenn keine Übersprünge - versuchen Sie, n zu erhöhen (ich habe bei n >= 300 mit dem Überspringen begonnen) und/oder entfernen Sie

        if ( i == 0 )
                Sleep( 2000 );

Auf Anfrage #1060016 | 2014.08.29 16:30https://www.mql5.com/ru/users/A100/servicedesk/closed/14774

Es ist eine Frage aufgetaucht: "Wie informiere ich über einen Druckfehler?" - Die einfachste Option ist eine einzelne Zeile mit einer Ellipse anstelle der übersprungenen Zeilen

Wenn der Benutzer diese Zeile sieht, versteht er, dass es Auslassungen gibt und er sich auf die .log-Datei beziehen muss (Zeilennummern sind nicht erforderlich - nur als Beispiel)
 
A100:

Beim Parsen des vorherigen Beispiels haben wir einen entscheidenden Unterschied zwischen MQL und C++ festgestellt

In MQL(build 978) ist das Ergebnis: 2 (C::g wird aufgerufen), und in C++ ist das Ergebnis: 3 (D::g wird aufgerufen)

Es stellt sich also heraus, dass MQL einer exakten Typübereinstimmung des Arguments den Vorrang gibt, auch wenn es in einer Basisklasse ist, während C++ der nächstmöglichen Klasse den Vorrang gibt, die vielleicht keine exakte Typübereinstimmung hat, aber eine implizite Typumwandlung haben kann.

Bitte prüfen Sie die Ergebnisse auf neueren C++-Compilern und entscheiden Sie sich, wenn sich der Unterschied bestätigt, zu Vereinheitlichungszwecken vorzugsweise für C++.

Das ist richtig. Eine exakte Übereinstimmung hat Vorrang. Und das ist auch richtig so.

Warum brauchen wir eine solche Vereinheitlichung? Vereinheitlichung der Bearbeitung von nicht ordnungsgemäß konzipierten Programmen

 
ALXIMIKS:

Sind der Kopierkonstruktor und der Zuweisungsoperator überhaupt für die Zukunft geplant?

Basisklasse A hat 15 Felder, sie hat zwei Nachkommen B und C - jeder hat +5 weitere Felder.

Und der Rest ist eine 20-minütige Suche.

Ja, das werden wir, aber in naher Zukunft ist das noch nicht geplant.