Hallo lieber Daniel,
Ich gratuliere Dir zu diesem tollen System, das Du entwickelt hast.
Ich bin beim Testen deines Systems auf einige Probleme gestoßen und brauche deine Hilfe.
Die erste Sache ist, dass ich die Tick-Daten für einen Monat gespeichert und legte es für Replay. Allerdings, in der 1 Minute TimeFrame für die Wiedergabe in einem Monat mit der Änderung der Pin auf dem Schieberegler, die Anzahl der Kerzen angezeigt stimmt nicht mit der Position der Pin auf dem Schieberegler, ich habe dies in der beigefügten Video gezeigt. Ich habe den Pin bis zum Ende durchgezogen, aber die Kerzen wiederholen sich nur für eine kleine Anzahl von 1-Minuten-Balken (etwa 20 Balken).
Die zweite Sache ist, dass ich dieses System so ändern muss, dass die Art und Weise, wie sich die Balken bewegen, wie bei Strategy Tester ist, d.h. die Position des Stifts stellt die Geschwindigkeit dar, mit der die Balken angezeigt werden, oder ich habe die Möglichkeit, mich Balken für Balken zu bewegen, wie auf der TradingView-Website. Ihr System ist so aufgebaut, dass es wie folgt geändert werden kann: ????
Ich wäre Ihnen dankbar, wenn Sie mich anleiten könnten.
Mit freundlichen Grüßen,
Die zweite Sache ist, dass ich dieses System so ändern muss, dass die Art und Weise, wie sich die Balken bewegen, wie bei Strategy Tester ist, d.h. die Position des Pins stellt die Geschwindigkeit dar, mit der die Balken angezeigt werden, oder ich habe die Möglichkeit, mich Balken für Balken zu bewegen, wie auf der TradingView-Website. Ihr System ist so aufgebaut, dass es wie folgt geändert werden kann: ????
Ich wäre Ihnen dankbar, wenn Sie mich anleiten könnten.
Mit freundlichen Grüßen,
OK, gehen wir in Teilen vor, wie JACK sagen würde...😁👍
Sie sind vielleicht sehr verwirrt über diese Anwendung, oder besser gesagt, Sie erwarten vielleicht, dass diese Anwendung für etwas verwendet wird, wofür sie gar nicht gedacht war. Ich sage nicht, dass sie nicht für etwas Bestimmtes verwendet werden kann, z. B. für einen Strategietester. Aber das war nicht das ursprüngliche Ziel bei der Einführung des Systems.
Zur ersten Frage: Sie haben vielleicht nicht richtig verstanden, wie die Wiedergabe/Simulation abläuft. Vergessen Sie den Schieberegler für einen Moment. Wenn Sie das System abspielen, ruft es die geladenen Daten entweder als Ticks oder Balken ab und zeigt sie als Balken im Diagramm an, basierend auf einer Zeit von 1 Minute. Dies ist unabhängig von der Zeit, die Sie für das Diagramm verwenden möchten. Aus diesem Grund sollten die Daten in der Datei als 1-Minuten-Balken betrachtet werden. Sie sollten die Daten in der Datei nicht als einzelne Daten betrachten. Diese Anwendung sieht das nicht so. Sie interpretiert Balken, auch zweistündige Balken, immer als 1-Minuten-Balken. Immer.
Wenn Sie Balken verwenden, wird die Anwendung dies automatisch bemerken und eine Simulation erstellen, so dass jeder Balken etwa 1 Minute lang ist. Dabei werden so viele Ticks erzeugt, wie nötig sind, damit die Werte korrekt in das Diagramm eingezeichnet werden können. Wenn es sich bei den Daten in der Datei um Ticks handelt, startet das System jeden Tick in dem ungefähren Intervall, das zwischen den Ticks definiert wurde (siehe frühere Artikel, um dies zu verstehen). Dieses Intervall kann von einigen Millisekunden bis zu mehreren Stunden variieren. Dadurch wird jedoch alles, was in diesem Intervall liegt, als Auktion oder Handelsstopp behandelt. Wenn Sie also Daten mit einem Intervall von mehr als einem Tag oder 24 Stunden verwenden, wird die Anwendung höchstwahrscheinlich nicht in der Lage sein, die Balken richtig zu erkennen. Dies ist der Fall, wenn Sie den Schieberegler für die Suche nach einem neuen Studienpunkt verwenden. Aus diesem Grund sollten Sie es vermeiden, Daten mit einer Zeitspanne von mehr als einem Tag zu verwenden.
Denken Sie daran, dass die Anwendung für die Verwendung in einem Zeitraum konzipiert ist, der der Echtzeit entspricht. Mit anderen Worten: kurze Zeiträume. Um lange Zeiträume in die Studie einzugeben. Wenn Sie einen Durchschnittswert oder einen Indikator verwenden müssen, der viele Balken benötigt, um dargestellt zu werden. Sie MÜSSEN die Daten NICHT im Replay oder Simulator verwenden. Sie sollten sie als vorherige Balken verwenden. Dies ist der erste Punkt, den Sie versuchen sollten zu verstehen.
Was die zweite Frage betrifft: Sie stellen sich vor, dass der Schieberegler nach einem bestimmten Punkt sucht. Das tut er in der Tat, aber nicht so, wie Sie es sich wünschen oder vorstellen. Um das besser zu verstehen, werfen Sie einen Blick auf die früheren Artikel, in denen der Schieberegler implementiert wurde. Dort sehen Sie im Detail, wie er tatsächlich nach einer bestimmten Position sucht. Aber in dieser Frage verwechseln Sie die Verwendung des Steuerelements. Sie bringen nämlich auch die Idee auf, dass damit die Geschwindigkeit, mit der die Balken gezeichnet werden, verändert werden könnte. Dies ist jedoch nicht der Fall. Das Plotten, das Sie bemerken, wenn Sie das Steuerelement ziehen und dann die Wiedergabetaste drücken, geschieht mit einer höheren Geschwindigkeit. Es handelt sich dabei um eine von der Anwendung erzeugte Illusion. Sie soll zeigen, wie die Balken bis zu dem Punkt erstellt wurden, an dem Sie den Start der Simulation oder der Wiedergabe angegeben haben, damit Sie Ihre Studie durchführen können.
Mein Vorschlag: Lesen Sie die vorangegangenen Artikel sorgfältig durch, und wenn Sie Fragen haben, stellen Sie sie als Kommentar. So wird es für Sie viel einfacher zu verstehen, was wirklich vor sich geht und wie Sie die Anwendung mit einer guten Benutzererfahrung nutzen können. Wenn Sie Fragen haben, können Sie diese in den Kommentaren stellen ... 😁👍
Okay. Schlüsseln wir es auf, wie JACK sagen würde...😁👍
Vielleicht sind Sie sehr verwirrt über diese Anwendung, oder besser gesagt, vielleicht hoffen Sie, dass diese Anwendung für etwas verwendet wird, wofür sie im Prinzip nicht gedacht war. Ich sage nicht, dass sie nicht für etwas Bestimmtes verwendet werden kann, wie zum Beispiel einen Strategietester. Aber das war nicht das ursprüngliche Ziel, das mit dieser Anwendung verfolgt wurde.
Zur ersten Frage: Vielleicht haben Sie nicht ganz verstanden, wie die Wiedergabe/Simulation ablaufen wird. Vergessen Sie den Schieberegler für einen Moment. Wenn Sie im System auf "Play" drücken, werden die geladenen Daten entweder als Ticks oder als Balken abgerufen und als Balken auf dem Diagramm angezeigt, basierend auf einer Zeit von 1 Minute. Dies ist unabhängig von dem Zeitrahmen, den Sie verwenden möchten. Aus diesem Grund müssen die Daten, die in der Datei enthalten sein müssen, als Balken von 1 Minute betrachtet werden. Sie sollten die Dateidaten nicht als einzelne Daten betrachten. Denn diese Anwendung sieht sie nicht auf diese Weise. Sie interpretiert Balken, auch zweistündige, immer als 1-Minuten-Balken. Immer .
Wenn Sie Balken verwenden, bemerkt die Anwendung dies automatisch und erstellt eine Simulation, so dass jeder der Balken etwa 1 Minute lang ist. Erstellen Sie so viele Ticks wie nötig, damit die Werte im Diagramm korrekt dargestellt werden können. Wenn es sich bei den Daten in der Datei um Ticks handelt, zeichnet das System jeden Tick in dem ungefähren Intervall auf, das zwischen ihnen definiert ist. Zum Verständnis siehe frühere Artikel. Ein solches Intervall kann von einigen Millisekunden bis zu mehreren Stunden reichen. Auf diese Weise wird jedoch alles, was innerhalb dieses Intervalls liegt, entweder als Auktion oder als Trading Hold behandelt. Wenn Sie also Daten mit einem Intervall von mehr als einem Tag, d. h. 24 Stunden, verwenden, ist die Anwendung wahrscheinlich nicht in der Lage, die Balken richtig zu erkennen. Dies ist der Fall, wenn Sie den Schieberegler verwenden, um nach einem neuen Studienpunkt zu suchen. Daher sollte man es vermeiden, Daten mit einer Zeitspanne von mehr als einem Tag zu verwenden.
Denken Sie daran, dass die Anwendung so konzipiert wurde, dass sie in einem Zeitraum verwendet werden kann, der der Echtzeit entspricht. Mit anderen Worten: kurze Zeiträume. Mit langen Zeiträumen in die Studie eingeben. Für den Fall, dass Sie einen Durchschnitt oder einen Indikator verwenden müssen, der viele Balken benötigt, um gezeichnet zu werden. Sie MÜSSEN die Daten NICHT im Replay oder Simulator verwenden. Sie müssen sie als Prebars platzieren. Dies ist der erste Punkt, den Sie versuchen sollten zu verstehen.
Nun zur zweiten Frage: Sie stellen sich vor, dass der Schieberegler nach einem bestimmten Punkt suchen wird. Das tut er auch, aber nicht so, wie Sie es sich vielleicht wünschen oder vorstellen. Um das besser zu verstehen, sehen Sie sich die vorherigen Artikel an, in denen die Steuerung implementiert wurde. Dort sehen Sie im Detail, wie er tatsächlich eine bestimmte Position ansteuert. Aber in dieser Frage verwechseln Sie die Verwendung der Kontrolle. Denn Sie bringen auch die Idee auf, dass er vielleicht dazu dient, die Geschwindigkeit beim Plotten der Balken zu verändern. Dies geschieht jedoch überhaupt nicht. Die Darstellung, die Sie sehen, wenn Sie das Steuerelement ziehen und dann die Wiedergabetaste drücken, erfolgt mit einer höheren Geschwindigkeit. Es handelt sich dabei um eine Illusion, die von der Anwendung erzeugt wird. Um zu zeigen, wie die Balken bis zu dem Punkt erstellt wurden, an dem Sie angegeben haben, dass die Simulation oder Wiedergabe beginnen soll,
Mein Vorschlag ist: Lesen Sie die vorherigen Artikel in Ruhe durch, und wenn Sie Zweifel haben, schreiben Sie sie als Kommentar. Denn dann wird es für Sie viel einfacher zu verstehen, was tatsächlich passiert und wie Sie die Anwendung mit einer guten Benutzererfahrung nutzen können. Alle Fragen könnt ihr in den Kommentaren stellen... 😁👍
Das Ändern der Geschwindigkeit ist sehr einfach. Gehen Sie einfach in die Klasse C_Replay und suchen Sie die Funktion LoopEventOnTime. Dort gibt es einen Sleep-Aufruf. Damit steuern wir die Geschwindigkeit des Plottens, wenn wir uns im Play-Modus befinden. Aber ich glaube, dies wurde in früheren Artikeln bereits ausreichend erklärt.
Das Ändern der Geschwindigkeit ist sehr einfach. Gehen Sie einfach zur Klasse C_Replay und suchen Sie die Funktion LoopEventOnTime. Dort gibt es einen Sleep-Aufruf. Damit steuern wir die Geschwindigkeit des Plottens, wenn wir uns im Spielmodus befinden. Aber ich glaube, das wurde in früheren Artikeln bereits hinreichend erklärt.

- 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 Entwicklung eines Replay Systems — Marktsimulation (Teil 23): FOREX (IV) :
Jetzt erfolgt die Erstellung an der gleichen Stelle, an der wir die Ticks in Balken umgewandelt haben. Wenn also bei der Konvertierung etwas schief geht, werden wir den Fehler sofort bemerken. Dies liegt daran, dass derselbe Code, der die 1-Minuten-Balken während des schnellen Vorlaufs auf dem Chart platziert, auch für das Positionierungssystem verwendet wird, um die Balken während der normalen Performance zu platzieren. Mit anderen Worten: Der Code, der für diese Aufgabe zuständig ist, wird nirgendwo anders dupliziert. Auf diese Weise erhalten wir ein viel besseres System sowohl für die Instandhaltung als auch für die Verbesserung.
Im vorigen Artikel „Entwicklung eines Wiedergabesystems — Marktsimulation (Teil 22): FOREX (III)“ haben wir einige Änderungen am System vorgenommen, um den Simulator in die Lage zu versetzen, Informationen auf der Grundlage der Bid-Preise und nicht nur auf der Grundlage der letzten Preise oder Last zu generieren. Aber diese Änderungen haben mich nicht zufrieden gestellt, und der Grund dafür ist einfach: Wir duplizieren den Code, und das passt mir überhaupt nicht.
Da der Code für den Artikel aber schon fertig war und der Artikel fast fertig war, habe ich alles so gelassen, wie es war, aber das hat mich wirklich gestört. Es macht keinen Sinn, dass der Code in manchen Situationen funktioniert und in anderen nicht. Selbst beim Debuggen des Codes und beim Versuch, die Ursache des Fehlers zu finden, konnte ich ihn nicht finden. Aber nachdem ich den Code einen Moment lang in Ruhe gelassen und mir das Flussdiagramm des Systems angesehen hatte (ja, man sollte immer versuchen, ein Flussdiagramm zu verwenden, um die Programmierung zu beschleunigen), stellte ich fest, dass ich einige Änderungen vornehmen konnte, um Code-Duplikationen zu vermeiden. Und zu allem Übel wurde der Code auch noch verdoppelt. Dadurch entstand ein Problem, das ich nicht lösen konnte. Aber es gibt eine Lösung, und wir werden diesen Artikel mit einer Lösung für dieses Problem beginnen, da sein Vorhandensein es unmöglich machen kann, Simulatorcode für die Arbeit mit Devisenmarktdaten korrekt zu schreiben.
Autor: Daniel Jose