Fehler, Irrtümer, Fragen - Seite 1203

 

Auf echten Börsenservern sind die Volumina natürlich getrennt für Verkauf und Kauf.

Auf Test-Börsenservern (nicht zu verwechseln mit Forex) stammen die Kurse oft von einem völlig anderen Test-Simulationssystem, und die "Demo-Server" der Börse sollten niemals für Analysen verwendet werden.

 

Fehler bei der Ausführung: Falsches Casting von Zeigern (Build 977, aber das passierte auch schon vorher ab und zu)

//AAA15.mq5
#define  PF              Print( __FUNCTION__ );
#define  PFI( i )        Print( __FUNCTION__, " ", i );
class A { public:
};
class R { public:
        void y( A* a )          { PF  ((B *)a).g( 1 ); }
};
class L : public R { public:
        void y( A* a )          { PF  ((B *)a).g( 2 ); }
};
class B : public A { public:
        virtual void g( R* r )  { PF  r.y( GetPointer( this ) ); delete( r ); }
        virtual void g( int i ) { PFI( i ) }
};
class C : public B { public:
        virtual void g( int i ) { PFI( i ) }
};
#import "AAA17.ex5"
        C *f();
#import "AAA16.ex5"
        void h();
        R *w();
#import
#ifndef  HEADER
void OnStart()
{
        f().g( w() );
        h();
}
#endif
//AAA16.mq5
#property library
#define  HEADER
#include "AAA15.mq5"
void h() export { PF  f().g( w()); }
R *w()   export { PF  return new L(); }
//AAA17.mq5
#property library
#define  HEADER
#include "AAA15.mq5"
class X { public:
        X()           { PF  c = new C(); }
        virtual ~X()  { PF  delete( c ); }
        C *c;
};
static X x;
C *f() export { PF  return ( x.c ); }

Wenn Sie etwas verschieben (z.B. Deklarationen vertauschen #import) oder 2 Dateien anstelle von 3 machen oder h()-Aufrufe entfernen - dann treten statt der angegebenen Fehler andere Fehler auf

Wenn Sie den obigen Code neu zusammensetzen, wird er am Ende R::y statt L::y aufrufen

In einer komplexeren Version werden einige gängige Funktionen aus Modulen vor (!) statischen Konstruktoren selbst aufgerufen (so wie im obigen Beispiel f() vor X::X aufgerufen wird, das wiederum korrekt vor OnStart aufgerufen wird). Ich werde versuchen, ein Beispiel anzuführen, aber es gibt riesige Dateien. Aber manchmal funktioniert es richtig, so dass der Fehler nicht bei mir liegt, weil die Reihenfolge der Objekterzeugung durch den Compiler selbst definiert ist und ich sie nicht ändern kann

 

Ich habe auch festgestellt, dass, wenn das Hauptmodul (OnStart) unwesentlich geändert wird (eine Variable oder Print hinzufügen), es oft nicht startet, bis alle verwendeten ex5-Module neu kompiliert sind. Dabei teilt die Meldung in Experts mit, dass in einem der ex5-Non-Core-Module eine Funktion fehlt, von der bekannt ist, dass sie vorhanden ist (und die sich nach der Neukompilierung aller Module als funktionsfähig erweist).

Und experimentell wurde festgestellt, dass Funktionen, die vor (!) statischen Konstruktoren aufgerufen werden, genau von dieser Funktion aufgerufen werden (die MT nicht regelmäßig findet)

 
Liebe Programmierer, wer kann mich beraten, wie ich einen EA für den Markt vorbereite? Sie können mich persönlich und/oder hier anschreiben.
 
yosuf:
Liebe Programmierer, wer kann mich beraten, wie ich einen EA für den Markt vorbereite? Ich kann das persönlich und/oder hier tun.
Sie können ein eigenes Thema eröffnen und die Frage darin diskutieren.
 
Heute gab es eine seltsame Panne mit MT4: Das Demokonto auf dem MetaQuotes-Demo-Server im "Navigator" des Terminals wurde plötzlich in die Liste eines anderen Brokers verschoben. Ich musste dieses Konto aus dem Terminal löschen und es dann erneut eingeben.
 
Renat:

Auf echten Börsenservern sind die Volumina natürlich getrennt für Verkauf und Kauf.

Auf Test-Börsenservern (nicht zu verwechseln mit Forex) stammen die Kurse oft aus einem ganz anderen Test-Simulationssystem und die "Demo-Server" der Börse sollten keinesfalls zur Analyse verwendet werden.

Renat,

Ich danke Ihnen!

 
Renat:
А время было торговым? Лучше всего обратиться в службу поддержки брокера.
Время торговое, тики тикают. К брокеру обратился. Они ответили, что российские CFD - индикативы. Почему они отображаются в терминале черным, они не знают.
Im Allgemeinen hat die Fortsetzung der Forschung zu folgenden Ergebnissen geführt. Wenn Sie den Mauszeiger über die Ticker in der Marktübersicht bewegen, erscheint ein Tooltip, in dem für graue Symbole Handel: Nein. Aber für russische CFD, die in schwarzer Farbe angezeigt werden, wird Handel: Schließen angezeigt (noch einmal sollte beachtet werden, dass die Zeit gehandelt wird und die Ticks auf dem Symbol in diesem Moment kommen). Daraus schließe ich, dass der Broker mehrere Stufen von Handelssperren hat, von denen nur einige (oder sogar nur eine) grau markiert sind, und alle anderen in einem gemeinsamen Stapel mit aktiven Symbolen aufgehäuft sind, da sie in schwarz angezeigt werden.
 
marketeer:
Wie auch immer, weitere Nachforschungen ergaben diese Ergebnisse. Wenn Sie den Mauszeiger über die Ticker in der Marktübersicht bewegen, erscheint ein Tooltip, in dem für die grauen Symbole Trade: No steht. Aber für die russischen CFD, die in schwarzer Farbe angezeigt werden, wird Trade: Close angezeigt (auch hier ist zu beachten, dass die Zeit gehandelt wird und die Ticks auf dem Symbol in diesem Moment kommen). Daraus schließe ich, dass der Broker mehrere Stufen von Handelssperren hat, von denen nur einige (oder sogar nur eine) grau markiert sind, und alle anderen in einem gemeinsamen Stapel mit aktiven Symbolen aufgehäuft sind, da sie in schwarz angezeigt werden.

Es wurde eine Frage zur Farbgebung der Figuren gestellt.

Hier ist die Antwort speziell auf die Farbgebung auf dem MQ^-Demoserver

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Einfärbung in Market Watch

barabashkakvn, 2014.05.12 18:55

Hier die Antwort vom Service Desk: "Auf unserem Server hat die Hintergrundfarbe des Symbols im Grunde keine Bedeutung.

Wenn wir speziell über die Schriftfarbe im Symbolnamen sprechen: Grau bedeutet, dass der Handel mit dem Symbol deaktiviert ist, Schwarz bedeutet, dass der Handel erlaubt ist.

D.h. um die Hintergrundfarbe des Symbols zu entziffern, müssen Sie sich an Ihren Broker wenden, und es gibt keinen einheitlichen Standard für die Farbgebung.

Aber ich verspreche, das zu ändern:

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Farben in der Marktübersicht

Renat, 2014.05.13 12:37

Der Farbwahnsinn hätte schon vor langer Zeit beseitigt werden müssen.

Wir werden einen Befehl zum Zurücksetzen der Farbe und neue Befehle zum Gruppieren und Sortieren von Instrumenten im Fenster hinzufügen.

Es gibt ein radikales Upgrade der Befehlssysteme, Menüs und Schnittstellen in MT4/MT5 und es wird eine Beta vor der iFX EXPO am 25. Mai geben. Im Allgemeinen werden die neuen Gebäude den Händlern erstaunliche Möglichkeiten bieten.


 
barabashkakvn:

Es wurde eine Frage zur Farbgebung der Zeichen gestellt.

Hier ist die Antwort speziell auf die Farbgebung auf dem MQ^-Demoserver

Und hier ist ein Versprechen, es zu beheben:


Möglicherweise. Aber in Wirklichkeit ist es noch nicht sehr praktisch, da die Benutzeroberfläche irreführend ist. Ich warte auf Verbesserungen.