Fehler, Irrtümer, Fragen - Seite 2286

 
Ilyas:

Danke für die Nachricht,

Was soll ich damit machen?

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Fehler, Irrtümer, Fragen

A100, 2018.09.01 15:25

Ausführungsfehler: Kann 'g' in 'Test2.ex5' nicht finden

//Test.mqh
class A {};
//Test1.mq5
#include "Test.mqh"
#import "Test2.ex5"
        void g( A* );
#import
void OnStart()
{
        A  a[1];
        ArrayPrint( a ); //(*)
        g(&a[0]);
}
//Test2.mq5
#property library
#include "Test.mqh"
void g( A* ) export {}

Und wenn Sie die Zeile mit (*) in Test1.mq5 entfernen, ist alles in Ordnung. Wie wirkt sich das aus? Baujahr 1881\32

Es ist nicht der übliche Kompilierfehler - das Programm startet nicht (und ArrayPrint ist nur als Beispiel da - Sie können es durch eine andere geeignete Funktion ersetzen)

Schließlich wurde dieser Fehler bereits vor einem Jahr entdeckt... Das Problem wurde mehrmals behoben, tauchte aber immer wieder auf. Und auch hier funktioniert es nichthttps://www.mql5.com/ru/forum/1111/page2131#comment_6575893

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.08.30
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
fxsaber:

Welcher Ordner des Terminals via mklink soll auf die RAMdisk gelegt werden, damit die Daten aus dem Speicher und nicht von der SSD gelesen/geschrieben werden? Ich bin bereit, Daten darüber zu liefern, wie viel Geschwindigkeitssteigerung dies bei der Optimierung bringt.

Tester-Ordner auf 5GbRAMDisk verschoben und im MT5-Verzeichnis durchgeführt

mklink /j Tester z:\Tester


Die SSD schläft jetzt friedlich, die Optimierung ist ~1,5 Mal schneller (nach Augenmaß), und das kostenlos!

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

fxsaber, 2017.01.26 17:33

Da das Optimierungsmodell agentenbasiert ist, was hindert Sie daran, einen einzelnen Lauf zu implementieren, der den Optimierer bereits durchlaufen hat und noch nicht abgeschlossen ist?

Zum Beispiel die Optimierung. Es bleiben noch ein paar Stunden. Aber ich sehe bereits interessante Ergebnisse. Ich möchte einige gute Einzelergebnisse sehen, um sie im Backtester laufen zu lassen. Gleichzeitig darf man aber nicht aufhören zu optimieren (dies gilt insbesondere für GAs). Ist es in dieser Situation möglich, einen der lokalen Agenten freizugeben und ihm einen einzelnen Lauf zu senden? Und dann fahren Sie fort, diesen Agenten mit Optimierungspaketen zu laden.

Jetzt werden die Studien gestoppt, bis der Optimierer fertig ist. Und das dauert manchmal sehr lange.

Relevant, trotz ausgezeichneter Caches. Bitte öffnen Sie das Format der opt-Dateien.

Ein Beispiel: Warum brauche ich es? Hier habe ich die Ergebnisse der Rentabilitätsoptimierung (PF) aufgelistet

Schauen Sie sich die Zahl der Abschlüsse an - sie ist statistisch gesehen bedeutungslos: weniger als 30. Aber ihr PF ist unübertroffen und es gibt Hunderte/Tausende dieser Ergebnisse. Warum steht dieser Müll dann in der Tabelle?

Wäre das Opt-Format offen, könnte dieser Müll automatisch gelöscht werden, so dass nur interessante, mehr oder weniger statistisch signifikante Ergebnisse übrig blieben.

Was kann man über die benutzerdefinierte Sortierung nach mehreren Kriterien gleichzeitig sagen, usw.


ZZY Es soll möglich sein, die opt-Dateien nicht nur zu lesen, sondern auch selbst zu schreiben. Und dann an den Prüfer weitergeben, da es bereits implementiert ist

Dabei werden alle Vorteile der grafischen Benutzeroberfläche des Testers für einen müllfreien Cache genutzt. Öffnen Sie dazu einfach das Opt-Format.

 

Optimierungsergebnisse können nach verschiedenen Kriterien sortiert werden

MT5 verfügt bereits über einen Mechanismus zur Angabe von Textformeln für sogenannte Formel-Synthetics.

Ich schlage vor, denselben Mechanismus der Textformeln zu verwenden, um beliebige Sortierkriterien festzulegen.

 
Slava:

"Alles wurde bereits vor Ihnen gestohlen".

Zu Beginn des Tages, volles Häkchen. Dann Bid und/oder Ask und/oder Flipper Full, alles andere in Inkrementen, falls verfügbar. Der Durchschnitt liegt bei 10 Byte pro Tick.

Da der Zugriff auf Ticks streng sequentiell erfolgt, ist es kein Problem, einen schnellen Zugriff auf jedes Element des Arrays zu organisieren

Ja, wirklich. Großartig!
Zugegeben, ich habe nur über die Bars recherchiert. Und kam zu dem voreiligen Schluss, dass es sich bei den Tics um die gleiche Situation handelt. Ich habe mich geirrt.
Aber dann ist es seltsam - warum werden die Riegel praktisch unverpackt aufbewahrt?

Das lässt sich leicht überprüfen: Schauen Sie sich die Dateigröße von hcc für ein beliebiges Jahr an, und zählen Sie dann die Anzahl der Balken für dieses Jahr mit der Funktion Balken. Sie beträgt ~42,2 Bytes pro 1-Minuten-Takt. Das sind weniger als 60, aber eindeutig überflüssig.

 
fxsaber:

Tester-Ordner auf 5GbRAMDisk verschoben und im MT5-Verzeichnis durchgeführt


Die SSD schläft jetzt friedlich, die Optimierung ist ~1,5 Mal (nach Augenmaß) schneller, kostenlos!

Wow, was für eine einfache und unerwartete Lösung.
Fantastisch! und Bravo!

 

ein merkwürdiger Fehler in der 1881er Version vom 9. Juli.

Ich habe es nicht sofort verstanden.

Ich minimierte das Terminalfenster, stellte alle Parameter ein und gab eine Einzahlung von 100 Dollar ein.

Ich öffnete das Fenster im Vollbildmodus und drückte auf Start. Eine Stunde nach der Optimierung.... Nach einer Stunde erfuhr ich, dass es nicht 100 Dollar, sondern 10.000 Dollar waren.


Wenn ich das Terminal auf den Vollbildschirm erweitere, wird das Feld "Deposit" auf seine Standardwerte zurückgesetzt!




Der gleiche Fehler tritt auch auf, wenn die Optimierung bereits läuft


 
Kommentare, die für dieses Thema nicht relevant sind, wurden in die Rubrik "FAQ zum Signaldienst" verschoben.
 
fxsaber:
Ein großer Wunsch des Testers ist es, nach Bid/Ask zu schließen, wenn der letzte bekannte Wert Null ist.

In dem Video

Aktieninstrument auf echten Ticks. Die Balken werden nach Gebot erstellt, keine Finanzdaten, BUY-Position eröffnet. Es ist klar ersichtlich, dass der aktuelle Preis für die Schließung der Position

PositionGetDouble(POSITION_PRICE_CURRENT)

immer gleich Null ist, obwohl sich das Gebot erheblich ändert. Wie können wir dem Tester erklären, dass das Aktiensymbol die BUY-Position mit Bid schließen sollte? Jetzt wird nicht einmal mehr das Eigenkapital berechnet.

 
Jedes Mal, wenn ich einen einzelnen Lauf durchführe, beginnt er mit diesem Eintrag
Core 1  MetaTester 5 forced to stop

Was ist der Grund dafür?


Jeder einzelne Lauf endet mit ExpertRemove.