Diskussion zum Artikel "Die Behandlung der Ergebnisse der Optimierung mit einem grafischen Interface"
В качестве строкового параметра во фрейм будет передаваться перечисление символов через разделитель ','. Изначально предполагалось сохранять данные во фрейм, как полный отчёт в строковом массиве. Но на текущий момент строковые массивы нельзя передавать во фрейм. При попытке передать в функцию FrameAdd() массив строкового типа при компиляции выйдет соообщение об ошибке: строковые массивы и структуры, содержащие объекты, не допускаются.
String-Arrays und Strukturen, die Objekte enthalten, sind nicht erlaubt.
Eine andere Möglichkeit besteht darin, den Bericht in eine Datei zu schreiben und sie auf den Frame zu übertragen. Aber auch diese Option ist für uns nicht geeignet: Wir müssten die Ergebnisse zu oft auf die Festplatte schreiben.
Es gibt auch eine solche Möglichkeit, Strings und andere Dinge zu übertragen.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
fxsaber, 2017.07.19 12:16 AM.
Beispiel einer praktischen Anwendung in Report-bible
Senden eines Frames mit unterschiedlichen Daten
string Str; REPORT::ToString(Str); double Balance[]; REPORT::GetBalanceHistory(Balance); #ifdef __TYPETOBYTES__ CONTAINER<uchar> Container; Container[0] = Str; // den Berichtsstring in den Container legen Container[1] = Balance; // Hinzufügen eines doppelten Arrays mit der Historie der Saldenänderungen zum Container ::FrameAdd(NULL, 0, ::AccountInfoDouble(ACCOUNT_BALANCE), Container.Data); // Senden eines Rahmens mit String-Bericht und Saldo-Array #else // __TYPETOBYTES__
Empfangen eines Frames mit abweichenden Daten
CONTAINER<uchar> Container; while (::FrameNext(Pass, Name, ID, Value, Container.Data)) { string Str; Container[0].Get(Str); // Abrufen der Berichtszeichenfolge aus dem Rahmen double Balance[]; Container[1].Get(Balance); // Abrufen des entsprechenden Double-Arrays aus dem Rahmen // .....
Es gibt auch eine Option zur Übergabe von Strings und ähnlichem
Das ist eine interessante Option. Ich danke Ihnen.
Каждый раз, когда пользователь выделяет строку в таблице, график мультисимвольных балансов обновляется на вкладке Balance:
2 zusätzliche Klicks für den Wechsel zur und von der Registerkarte "Diagramme" loswerden, indem die Diagramme im selben Fenster angezeigt werden?
Und mit den Auf-/Ab-Tasten durch die Tabellenzeilen navigieren und sofort die entsprechenden Kurven abrufen?
Ersparen Sie sich 2 zusätzliche Klicks für das Wechseln zur und von der Registerkarte "Charts", indem Sie die Charts in dasselbe Fenster legen?
Und mit den Auf-/Ab-Tasten durch die Tabellenzeilen navigieren und sofort die entsprechenden Kurven abrufen?
Solche hervorragenden Lösungen fehlen im Standard-Optimierer.
1. 2 zusätzliche Klicks für den Wechsel zur und von der Registerkarte "Diagramme" loswerden, indem die Diagramme in dasselbe Fenster gestellt werden?
2. und sich mit den Auf-/Ab-Tasten durch die Tabellenzeilen bewegen und sofort die entsprechenden Kurven erhalten?
Ich bereite gerade Material für einen weiteren Artikel zu diesem Thema vor. Den ersten Punkt werde ich berücksichtigen, aber den zweiten noch nicht, da ich nicht vorhabe, in naher Zukunft zur GUI-Bibliothek zurückzukehren.
Eine zweite habe ich noch nicht, da ich nicht vorhabe, in naher Zukunft zur GUI-Bibliothek zurückzukehren.
Sie muss nicht in die Bibliothek eingebaut werden, sondern ist nur eine praktische Zusatzfunktion.
Sie muss nicht in die Bibliothek integriert werden, sondern ist nur eine praktische Zusatzfunktion.
Ich werde sehen, was ich tun kann.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel Die Behandlung der Ergebnisse der Optimierung mit einem grafischen Interface :
Dies ist eine Fortsetzung der Idee der Verarbeitung und Analyse von Optimierungsergebnissen. Diesmal geht es darum, die 100 besten Optimierungsergebnisse auszuwählen und in einer GUI-Tabelle darzustellen. Der Benutzer kann eine Zeile in der Optimierungsergebnistabelle auswählen und erhält ein Saldo mehrerer Symbole und eine Drawdown-Grafik auf einer eigenen Seite.
Deshalb habe ich beschlossen, alle notwendigen Daten in einem Array zu sammeln und dann die Daten auf Basis der in den Rahmenparametern enthaltenen Schlüssel zu extrahieren. Statistische Variablen werden am Anfang des Arrays enthalten sein. Es folgen der Gesamtsaldo und separate Saldenwerte pro Symbol. Am Ende befinden sich die Drawdowns auf zwei Achsen getrennt voneinander.
Das folgende Schema zeigt die Reihenfolge der gepackten Daten im Array. Eine Variante mit zwei Symbolen wird gezeigt, um das Schema kurz genug zu halten.
Abb. 1. Reihenfolge der Datenanordnung im Array.
Autor: Anatoli Kazharski