Fehler, Irrtümer, Fragen - Seite 1572

 

MT4/950/32. Verlust von Ziffern beim Profilwechsel

Wenn ich das Profil über das Symbol in der Symbolleiste ändere, verliere ich sofort die Ziffern auf der Preisskala (Bild links). Wenn Sie dann das Diagramm durch Auswahl einer anderen Registerkarte ändern, werden die Ziffern wiederhergestellt (siehe Abbildung rechts). Windows 8.1/32. Auflösung 1024x768, ich habe auch 1280x1024 versucht. Die Skala beträgt 125 %. Bei 4 Zeichen ging eine Ziffer verloren, bei fünf Zeichen zwei.

Es muss angefangen haben, nachdem ich die Schriftgröße in MT4 auf MT5 erhöht hatte.

 

CHART_SHIFT_SIZE funktioniert nicht mit Trend

void OnStart()
{
        ::ChartSetInteger( 0, CHART_SHIFT, true );
        for ( int i = 50; i >= 10; i-- )
        {
                ::ChartSetDouble( 0, CHART_SHIFT_SIZE, (double)i );
                ::ChartRedraw();
                ::Sleep( 100 );
        }
}
Dynamik wie in test391.ex5 wurde erwartet
Dateien:
Test391.ex5  5 kb
 

Ich kann meine Dateien nicht über den MT4-Editor aus dem Warehouse herunterladen - ich erhalte eine Fehlermeldung

2016.05.05 15:11:05.427 Storage failed to read http data (storage.mql5.com:443 read failed [12152])
 
Karputov Vladimir:

Ich kann meine Dateien nichtüber den MT4-Editor aus dem Warehouse herunterladen - ich erhalte eine Fehlermeldung

Und der Fehler tritt nur bei einem Editor auf. Auf dem gleichen Computer in einem anderen Ordner MT4 und seine Editor leicht aus dem Laden die Codes heruntergeladen.
 
Liebe Entwickler, bitte führt einen Namespace wie in C-Sprachen ein.
 

Wie lange soll es noch so weitergehen, dass bei jeder Aktualisierung des Builds der Code nicht mehr kompiliert wird! Und wenn er doch kompiliert wird, funktioniert er nicht mehr auf dieselbe Weise (was noch schlimmer ist). Wer braucht schon eine solche Programmiersprache?

Ich bewundere A100s Geduld, während er diese Fehler genauestens unter die Lupe nimmt, so sehr bin ich angewidert.

Jemand schlug oben vor, dass A100 Tests erstellen sollte, um den Compiler zu überprüfen, aber es ist lustig, dass es die Benutzer sind, die sich mit diesem Problem befassen müssen, nicht die Compiler-Entwickler.

Das Wichtigste ist, dass all dies eine Heidenarbeit ist: Jahrelange Arbeit eines Teams von Programmierern (und damit eine Menge Geld) und jahrelange Arbeit der Benutzer, die ihren Code mehrmals umschreiben müssen, und wofür das alles?Das Rad namens "C++-Compiler" (mit leichten Änderungen) neu zu erfinden, anstatt einfach einen Open-Source-Compiler zu verwenden (oder sogar einen zu kaufen) und ihn in ein paar Monaten an die eigenen Bedürfnisse anzupassen.

Aber nein, einfache Wege sind nichts für uns... Viel wichtiger ist es, stolz darauf zu sein, dass wir selbst einen guten Schnurrbart haben, und mit jedem neuen Bau können wir unser Fahrrad Stück für Stück nachbauen.


Und wo wir gerade bei konkreten Dingen sind, ich unterstütze die Idee von A100 bezüglich der Möglichkeit, die Optimierung abzuschalten, zum Beispiel, um Debug- und Release-Modi wie in vielen echten Compilern zu machen.

Ich persönlich bleibe wegen dieser von Ihnen gepriesenen Optimierung bei Build 1159, weil sich meine Projekte damit in 2 Sekunden kompilieren lassen und mit späteren Builds in 20 Sekunden. Eine kleine Leistungssteigerung bringt nichts, denn die meiste Zeit verbringe ich mit Entwicklung und Programmbearbeitung.

 
Alexey Navoykov:

Ich persönlich bin wegen dieser von Ihnen gepriesenen Optimierung immer noch auf Build 1159, weil meine Projekte dort in 2 Sekunden kompiliert werden und in späteren Builds in 20 Sekunden. Eine kleine Leistungssteigerung bringt mir nichts, denn die meiste Zeit verbringe ich mit der Entwicklung und der Bearbeitung von Programmen.

Ein Projekt mit 100 KB Quellcode wird bei 1325 Builds in weniger als einer Sekunde kompiliert. Solides OOP, viele virtuelle Funktionen und Überladungen, Templates, Zeiger, Const-Modifier (wo immer möglich). Keine DLL und OpenCL.

Ich würde gerne den Grund für Ihre Verzögerungen herausfinden. Vielleicht ist es eine Konstante, die dem Compiler hilft, schnell zu optimieren. Ich habe noch nie Verzögerungen erlebt. Bitte stellen Sie mir den Quellcode von kodobase zur Verfügung, der das System verlangsamt.

Über Ihr eigenes Fahrrad in Form eines Compilers. Die Übernahme eines fremden Projekts zur Überarbeitung hat Vor- und Nachteile. Ich denke, nach Abwägung aller Vor- und Nachteile hätte ich mich anfangs für mein eigenes Fahrrad entschieden. Als eine solche Entscheidung getroffen wurde, dachte natürlich niemand daran, dass es einen derartigen Angriff auf das Timing und die Fähigkeiten der Sprache/des Compilers geben würde. Eine gewisse Überschätzung ihrer Fähigkeiten oder vielleicht eine Unterschätzung der Komplexität der Aufgabe. Natürlich wurde eine Menge Geld in die Entwicklung des Fahrrads investiert.

 
Anton Zverev:

Ich würde gerne den Grund für Ihre Verzögerungen herausfinden. Vielleicht ist es eine Konstante, die dem Compiler hilft, schnell zu optimieren. Ich habe noch nie Verzögerungen erlebt. Bitte, bitte, geben Sie mir einen Quellcode von kodobase, der sich verlangsamt.

Wahrscheinlich hat es gigantische Funktionen in Form von Textspulen.

Der Optimierer muss solche Codefragmente immer wieder überprüfen und verbessern. Es reicht aus, die Größe der Funktionen zu verringern, damit der Optimierer die Geschwindigkeit drastisch erhöht.

Sie sollten auf jeden Fall zu den neuesten Builds wechseln, da wir sowohl die Qualität als auch die Geschwindigkeit ständig verbessern.

 
Renat Fatkhullin:

Sie wird wahrscheinlich riesige Funktionen in Form von Textspulen haben.

Ein Optimierer muss viele Durchgänge an solchen Teilen vornehmen und den Code immer wieder verbessern. Es reicht aus, die Größe der Funktionen zu reduzieren, damit der Optimierer die Geschwindigkeit drastisch erhöht.

Sie sollten auf jeden Fall zu den neuesten Builds wechseln, da wir sowohl die Qualität als auch die Geschwindigkeit ständig verbessern.

Wahrscheinlich handelt es sich auch um Textfragmente. Ich zumindest habe keine.

Ich habe einmal von Gewinnern internationaler Programmierolympiaden gehört, dass Funktionen maximal 20 Zeilen lang sein sollten (bedingt). Wenn mehr, dann architektonisch/algorithmisch nicht optimal.

Wenn man sich die Quellen von Roman Yelizarov ansieht, findet man eine große Anzahl von einfachen Funktionen mit wilder Verschachtelung. Und fast alle von ihnen sind bis zu fünf Zeilen lang. Ich selbst bin eine Raupe im Vergleich zu diesem intellektuellen Klumpen.... Deshalb ist es nicht so cool geworden, egal wie sehr ich mich damals bemüht habe.

Роман Елизаров
Роман Елизаров
  • www.lektorium.tv
Занимается профессиональной разработкой ПО для биржевой и брокерской деятельности более 12 лет. Координатор группы проектов в компании Devexperts, участвует в разработке торговой платформы thinkorswim. Эксперт по...
 

Wenn Sie den Mauszeiger über überlappende Objekte bewegen, wird die Beschreibung des Hintergrundobjekts anstelle des obersten Objekts angezeigt. Dies wird bei OBJ_EVENT-Objekten ausgeprägt. Ich sehe rot, aber die Beschreibung ist von blau.