Diskussion zum Artikel "Zeitreihen in der Bibliothek DoEasy (Teil 36): Objekt der Zeitreihe für alle verwendeten Symbolperioden"

 

Neuer Artikel Zeitreihen in der Bibliothek DoEasy (Teil 36): Objekt der Zeitreihe für alle verwendeten Symbolperioden :

In diesem Artikel werden wir uns überlegen, die Listen der Bar-Objekte für jede verwendete Symbolperiode zu einem einzigen Symbol-Zeitreihen-Objekt zusammenzufassen. Auf diese Weise wird jedes Symbol ein Objekt haben, das die Listen aller verwendeten Symbolzeitreihen-Perioden speichert.

Starten wir den EA im visuellen Modus des Testers auf M5:


Zuerst lädt der Tester historische Daten für alle Zeiträume herunter, dann zeigt der EA die Daten der erstellten Zeitreihen an. Die Nachrichten werden dann an das Journal gesendet, das über das Öffnen neuer Balken auf den erstellten Zeitserien während des Tests informiert.

In dieser Phase der Erstellung der Funktionalität für die Arbeit mit einer Zeitserie mit einem einzigen Symbol funktioniert alles wie vorgesehen.

Autor: Artyom Trishkin

 

Hallo! Ich möchte den Wunsch äußern, dass es möglich wäre, Zeitreihen nicht nur nach der angegebenen Zahl in der Methode timeseries.SyncData(PERIOD_M15,2) zu erstellen, sondern auch nach dem Datum, in dem Feld, in dem die Zahl(2) eingestellt ist. Dies kann nützlich sein, wenn man die Korrelation von 2 oder mehr Instrumenten in der Historie untersucht, z.B. getrennt für einen flachen und einen Trendabschnitt. Und noch etwas, ist es möglich, 2 Methoden in 1 zu kombinieren - timeseries.SyncData(PERIOD_M15,2) und timeseries.Create(PERIOD_M15), und nur timeseries.Create(PERIOD_M15,2) zu schreiben, weil die Erstellung der Zeitreihe selbst die Synchronisierung der Daten zuerst impliziert.

 
Alexander:

Hallo! Ich möchte den Wunsch äußern, dass es möglich wäre, Zeitreihen nicht nur nach der angegebenen Zahl in der Methode timeseries.SyncData(PERIOD_M15,2) zu erstellen, sondern auch nach dem Datum, in dem Feld, in dem die Zahl(2) eingestellt ist. Dies kann nützlich sein, wenn man die Korrelation von 2 oder mehr Instrumenten in der Historie untersucht, z.B. getrennt für einen flachen und einen Trendabschnitt. Und noch etwas, ist es möglich, 2 Methoden in 1 zu kombinieren - timeseries.SyncData(PERIOD_M15,2) und timeseries.Create(PERIOD_M15), und nur timeseries.Create(PERIOD_M15,2) zu schreiben, weil die Erstellung der Zeitreihe selbst die Synchronisierung der Daten zuerst impliziert.

Hallo. Zeitreihen werden immer ab dem Null-Balken (dem Balken ganz rechts im Diagramm - mit dem letzten Datum) im angegebenen Betrag erstellt. Schließlich kann das Programm auch andere als historische Daten benötigen - und auch aktuelle Daten. Und die Erstellung einer Basis ist der teuerste Vorgang. Wenn Sie also zunächst eine Zeitreihe eines weit zurückliegenden Abschnitts erstellen und dann die Zeitreihe bei Bedarf neu erstellen, wird es zu teuer.

Die Bibliothek ermöglicht es Ihnen jedoch, von der einmal erstellten Basis eine beliebige Anzahl von Balken der Zeitreihe in einem beliebigen Zeitintervall zu erhalten. Dazu genügt es, zunächst die vollständige Liste der Balken der Zeitreihe zu erhalten und dann den erforderlichen Abschnitt daraus auszuwählen. Hierfür müssen Sie CSelect() verwenden.

Die Methoden der Synchronisierung und der Erstellung von Zeitreihen sind aus dem Grund getrennt, dass eine Synchronisierung in Indikatoren nicht erwartet werden kann, um den Ablauf nicht zu verlangsamen. Deshalb wird alles separat gemacht - Beispiele für das Erhalten von Daten in Indikatoren werden später folgen - nachdem die gesamte Funktionalität der Arbeit mit Zeitreihen erstellt wurde.

 

Die Verwendung einer Vielzahl von mehrfarbigen Hintergrund- und Textfarben beeinträchtigt die Lesbarkeit von Artikeln. Sie verwirren die Augen und lenken vom Wesentlichen ab. In der Vergangenheit haben die Artikelmoderatoren dies....

 
Sergey Pavlov:

Die Verwendung einer Vielzahl von mehrfarbigen Hintergrund- und Textfarben beeinträchtigt die Lesbarkeit von Artikeln. Sie verwirren die Augen und lenken vom Wesentlichen ab. In der Vergangenheit haben die Artikelmoderatoren dies....

Oft sind die Autoren von Artikeln gezwungen, die Aufmerksamkeit zu erhöhen - vor allem, wenn der Artikel nicht nur informativ, sondern auch lehrreich ist. Und sie müssen dies tun, indem sie das beschriebene Codefragment und seine Beschreibung mit der gleichen Hintergrundfarbe hervorheben. Ich selbst bin nicht sehr erfreut über diese Maßnahme, aber es ist eine Zwangsmaßnahme. Wenn Sie einen Vorschlag haben, wie man zwei Textabschnitte auf andere Weise vergleichen kann, als sie mit der gleichen Hintergrundfarbe hervorzuheben, werde ich mir Ihren Vorschlag gerne anhören.

 

Es gibt 2 Möglichkeiten: statisch und dynamisch.

Statisch: Reduzieren Sie die Größe jedes beschriebenen Codefragments auf einige Zeilen, damit der Kontext der Beschreibung und der Code so weit wie möglich übereinstimmen. Sie müssen nicht die ganze Funktion zeigen, Sie können für jede Nuance einige wichtige Zeilen stehen lassen und den Rest durch eine Ellipse kennzeichnen.

Dynamisch: nur bei MQs verfügbar. Sie können im Publikationseditor Hotspots erstellen, bei deren Überfahren mit dem Mauszeiger die entsprechenden "Anker" im Text (Code) hervorgehoben werden. Wenn sich der Mauszeiger nicht über dem Hotspot befindet, erfolgt keine Hervorhebung. Hotspots werden im Text als schwach unterstrichene Links ohne Farbe gekennzeichnet (auf einigen Websites ist dies der Fall). Wenn es so etwas gäbe, würde es ungefähr die gleichen Aktionen im Layout erfordern, die jetzt eine Hintergrundfärbung erfordern, nur die Schaltfläche in der Werkzeugpalette wäre eine andere. Aber es ist unwahrscheinlich, dass das gemacht wird.

 
Stanislav Korotky:

Es gibt 2 Möglichkeiten: statisch und dynamisch.

Statisch: Reduzieren Sie die Größe jedes beschriebenen Codefragments auf einige Zeilen, damit der Kontext der Beschreibung und der Code so weit wie möglich übereinstimmen. Sie müssen nicht die ganze Funktion zeigen, Sie können für jede Nuance einige wichtige Zeilen stehen lassen und den Rest durch eine Ellipse kennzeichnen.

Dynamisch: nur bei MQs verfügbar. Sie können im Publikationseditor Hotspots erstellen, bei deren Überfahren mit dem Mauszeiger die entsprechenden "Anker" im Text (Code) hervorgehoben werden. Wenn sich der Mauszeiger nicht über dem Hotspot befindet, erfolgt keine Hervorhebung. Hotspots sind im Text als schwach unterstrichene Links ohne Farbe gekennzeichnet (auf einigen Websites ist dies der Fall). Wenn es so etwas gäbe, würde es ungefähr die gleichen Aktionen im Layout erfordern, die jetzt eine Hintergrundfärbung erfordern, nur die Schaltfläche in der Werkzeugpalette wäre eine andere. Aber es ist unwahrscheinlich, dass sie das tun werden.

Ja, die zweite Option ist durchaus vorzuziehen.
Und die erste ist aus dem Grund nicht geeignet, weil viele Anfänger versuchen, gleich im Verlauf des Artikels zu schreiben.
 
Artyom Trishkin:

Und die erste wird nicht funktionieren, weil viele Anfänger versuchen, gleich zu schreiben, wenn der Artikel fortschreitet.

Ganz im Gegenteil. Die erste Option ist im Stil einer sehr langsamen "Schritt-für-Schritt"-Anleitung - sie ist für Anfänger besser geeignet.

 
Stanislav Korotky:

Andersherum. Die erste Option ist im Stil einer sehr langsamen "Schritt-für-Schritt"-Anleitung - sie ist eher für Anfänger geeignet.

Ich habe verstanden, was Sie meinten. Aber dies ist ein Vorschlag, einen Teil des Codes aus der Funktion herauszuschneiden und sich auf den wichtigen Teil zu konzentrieren - und diesen zu beschreiben. Aber dann wird die sichtbare Integrität der Funktion unterbrochen, und das ist schlecht für einen Anfänger - er/sie sollte die gesamte Funktion und die Beschreibung jedes ihrer Teile sehen - was, warum, wofür und weshalb.

 
Artyom Trishkin:

... und das ist schlecht für einen Anfänger - sie müssen die ganze Funktion sehen und eine Beschreibung jedes Teils davon - was, warum, wofür und warum.

Artyom, Ihre "Akzente" in Form von Farbschemata im Text werden Anfängern in der Händlerprogrammierung nicht helfen. Und etwas deutet darauf hin, dass "Anfänger" es sowieso nicht verstehen werden (oder nicht verstehen wollen).

In diesem Fall bin ich auf der Seite der "Anfänger": Wie kann man 100500 Artikel in den Kopf bekommen und sie in seinen Expert Advisors anwenden?

 
Sergey Pavlov:

Artem, Ihre "Akzente" in Form von Farbschemata im Text werden Anfängern unter den Händlern und Programmierern nicht helfen. Und etwas deutet darauf hin, dass "Anfänger" es sowieso nicht verstehen werden (oder nicht verstehen wollen).

In diesem Fall bin ich auf der Seite der "Anfänger": Wie kann man 100500 Artikel in den Kopf bekommen und sie in seinen Expert Advisors anwenden?

Diejenigen jedoch, die es verstehen wollen, schreiben privat mit Fragen - darauf konzentriere ich mich (obwohl ich sie bitte, direkt in der Diskussion der Artikel zu schreiben, aber sie schreiben aus irgendeinem Grund mehr privat - vielleicht ist die Bekanntheit der Frage peinlich, ich weiß es nicht).

Und ich glaube nicht, dass man +100500 Artikel im Kopf haben muss.
Sagen Sie, kennen Sie die Referenz auswendig? Ich weiß es nicht. Und auch nicht beim ersten Mal kann ich den interessanten Punkt darin finden, um mein Gedächtnis aufzufrischen".
Aber ich suche, finde, lese wieder und frische auf. Und ich bin kein Anfänger...
Oder, sagen wir, wie genau erinnern Sie sich an das Lehrbuch von Kovalyov?

Sie müssen sich nicht daran erinnern und es auswendig können. Aber beim Lesen und Wiederlesen, beim Zerlegen und Ordnen im Kopf wird einem etwas klar, das einen Menschen nicht mehr zum Anfänger macht.
Wenn Sie auf den Stil und die Art der Präsentation des Materials in den ersten Artikeln und auf den Stil und die Präsentation in den letzten Artikeln achten, können Sie eine Veränderung feststellen - weniger Wiederkäuen. Gerade wenn eine Person mit dem Lesen beginnt und nicht weiß, wie sie etwas tun soll, kann man zunächst herausfinden, wie. Aber dann lohnt es sich nicht, das Gleiche jedes Mal zu wiederholen.
Und hier ist etwas Neues, das noch nicht beschrieben wurde - hier, warum man die Akzente in Farbe nicht hervorheben sollte.... Wenn es allerdings andere bequeme Möglichkeiten der Akzentuierung gäbe, außer der farblichen Hervorhebung, würde ich sie auf jeden Fall nutzen - ich mag diesen Mischmasch nicht.

Und um es in Ihren EAs zu verwenden, müssen Sie nicht lernen, wie die Bibliothek aufgebaut ist. Es reicht, wenn Sie den Zweck der öffentlichen Methoden und ihre Anwendung in Test-Expert Advisors lesen. Und was nicht klar ist - fragen Sie in der Diskussion der Artikel.
Es ist nur so, dass, wenn Sie von der Beschreibung der Bibliothekserstellung abweichen und tiefer in die Momente ihrer Verwendung gehen, wird es ein ganz anderes Thema sein.
Nach Abschluss der Bibliothekserstellung wird es jedoch ein umfangreiches Referenzmaterial über alle öffentlichen Methoden und Möglichkeiten ihrer Nutzung mit Beispielen geben.