Diskussion zum Artikel "Nutzerdefinierte Symbole: Praktische Grundlagen" - Seite 2

 
Nikolai Semko:

Diese Lösung erhebt nicht den Anspruch, besonders vielfältig zu sein, sondern soll nur die Aussage widerlegen, dass es nicht möglich ist, Indikatoren in einem Diagramm mit einem nicht standardmäßigen Taktschema zu verwenden .

Sie widerlegt sie nicht )

Man kann zum Beispiel keine Castum-Indikatoren auf diese Weise anwenden. Man kann nichts nach Hoch/Tief bauen.


Nikolai Semko:

Ich wiederhole - es gibt fortgeschrittenere Lösungen (wenn auch viel komplizierter), die bereits den Anspruch erheben können, "die ganze Vielfalt" abzudecken.

Merkwürdig.

 
Nikolai Semko:

Nun, warum so kategorisch. Sie können auf der Leinwand zeichnen, die Werte in den Indikatorpuffer schreiben und andere Indikatoren zum Preis "Daten des vorherigen Indikators" anwenden. Und das ist nur eine der primitivsten Varianten. Es gibt noch andere, fortgeschrittenere Varianten.

Dies ist eine begrenzte Lösung, die zusätzliche, völlig unnötige Kodierung erfordert. Verwechseln Sie nicht Fliegen mit Koteletts: Kanvas ist eine Visualisierungstechnologie, keine Organisation von seriellen Datenstrukturen. Verwenden Sie jedes Werkzeug für den vorgesehenen Zweck. Der Wunsch, Ihre Arbeit mit Kanvas bekannt zu machen, ist verständlich, aber im Kontext der gestellten Aufgabe unwirksam. Es wurde hier bereits über Indikatoren gesprochen, die auf verschiedenen Arten von Preisen basieren. Canvas kann nicht für Expert Advisors und Skripte ohne unnötige Ebenen verwendet werden. Also hacken Sie nicht auf meinen Worten herum, sie sind viel näher an der Realität als Ihre.

 
Andrey Khatimlianskii:

Das widerlegt sie nicht)

So kann man zum Beispiel keine Castum-Indikatoren verwenden. Man kann nichts auf Hoch/Tief aufbauen.

Doch, das kann man. Ich würde es beweisen, denn ich weiß, wie man es macht, ohne "vorherige Indikatordaten" zu verwenden, aber ich habe keine Zeit, es zu implementieren.

Als einfachere Option kann der Preis (z. B. Hoch/Tief) auf dem empfangenden Kanvas-Indikator anstelle des skizzierten Indikators ausgewählt werden, indem man z. B. in den Eingabeparametern den Preistyp eines einzelnen Puffers hinzufügt:

input ENUM_APPLIED_PRICE PriceType=PRICE_MEDIAN; // цена для расчета буфера

Ja, es wird weniger Flexibilität geben, weil dieser Preis auf alle Indikatoren angewendet wird, die diesen Puffer für die Berechnung verwenden. Aber es ist eine schnelle und einfache Lösung.

Stanislav Korotky:

Dies ist eine begrenzte Lösung, die zusätzliche, völlig unnötige Kodierung erfordert. Verwechseln Sie nicht Fliegen mit Koteletts: Kanvas ist eine Visualisierungstechnologie, keine Organisation von seriellen Datenstrukturen. Verwenden Sie jedes Werkzeug für den vorgesehenen Zweck. Der Wunsch, Ihre Arbeit mit Kanvas bekannt zu machen, ist verständlich, aber im Kontext der gestellten Aufgabe unwirksam. Es wurde hier bereits über Indikatoren gesprochen, die auf verschiedenen Arten von Preisen basieren. Canvas kann nicht für Expert Advisors und Skripte ohne unnötige Ebenen verwendet werden. Also hacken Sie nicht auf meinen Worten herum, sie sind viel näher an der Realität als Ihre.

Selbst eine solche begrenzte Lösung deckt 80 % der Bedürfnisse von Benutzern ab, die Implementierungen mit nicht standardmäßigem Zeitschema (zweite Balken, Renko usw.) benötigen, und überschneidet sich in einigen Punkten mit den in Ihrem Artikel vorgeschlagenen Lösungen.

Und ich habe nicht gesagt, dass Kanvas eine Organisation von Datenstrukturen ist.
Kanvas ist ein Datenvisualisierungstool, das in Kombination mit verschiedenen Technologien, einschließlich benutzerdefinierten Symbolen, sehr nützlich ist und neue Möglichkeiten für deren Anwendung eröffnet.

Sie schreiben zum Beispiel, "dass die Balkenzeiten in einem Tick-Bar-Diagramm fiktiv sind". Wenden Sie ChartSetInteger(0,CHART_SHOW,0,false) auf Ihr Diagramm an und zeichnen Sie die Balken und Skalen neu (als Referenz - die Zeit für die Bildung eines solchen Rahmens mit allen Balken und Skalen beträgt 1-2 Millisekunden) und Sie werden kein fiktives Diagramm haben. Deshalb sollten Sie sie mischen. Ah, richtig - das ist "zusätzliche Kodierung". Tut mir leid. Aber es hätte mich 2-3 Stunden gekostet, da die Daten bereits generiert sind. (Dass es überhaupt nicht kompliziert ist, sehen Sie benutzerdefinierten Indikator (der sich übrigens nicht auf dem Kanvas befindet, sondern ein Buffer-Indikator ist) nur gezeigt, um die Möglichkeit zu demonstrieren, einen benutzerdefinierten Indikator auf dem Kanvas Single-Buffer-Indikator zu skizzieren, weil mir nichts Bequemeres und Anschaulicheres einfiel.

Ich verstehe die Unzufriedenheit über "zusätzliche Kodierung" und "zusätzliche Ebenen" nicht. Kreative Lösungen lassen sich nicht ohne "unnötige Kodierung" erreichen.

Natürlich ist es fair, darauf hinzuweisen, dass es Programmierer und Algorithmenentwickler gibt, und dass es zwischen ihnen eine Kluft in der Herangehensweise an die Programmierung gibt. Es gibt viele gute Programmierer und nur wenige gute Algorithmenentwickler.


 
Wer möchte, kann einen Artikel mit einer Demonstration der Chart-Implementierung auf einem Kanvas schreiben, auf dem Sie Indikatoren, Experten, Skripte ausführen können. Im Prinzip ist es wünschenswert, Tests/Optimierung zu verbinden. Natürlich lässt sich das alles auf die eine oder andere Weise schrauben (nicht in 2-3 Stunden), aber es gibt bequemere geeignete Tools. Noch einmal: Leinwände sind eine hochspezialisierte Technik zur Visualisierung. Jeder Versuch, ihr Funktionen zuzuweisen, die ihr nicht eigen sind, wird zu einem Haufen von Schichten führen, die die Terminal-API duplizieren werden. Hier bestimmt jeder für sich selbst, welches Verhältnis von Arbeit und "Kreativität" optimal ist. Überflüssige Kodierung ist eben überflüssige Kodierung, das heißt, man kann den gleichen Effekt auch ohne sie erreichen.
 

Der Artikel ist interessant, ich danke Ihnen.

Allerdings habe ich nicht verstanden, ob es einen Expert Advisor in der Anwendung, die auf realen Ticks des angegebenen Symbols arbeitet und nimmt Daten aus dem Tick-Chart. Wird der EA automatisch im Tester erstellt oder muss ich vorher ein benutzerdefiniertes Symbol erstellen?

 
Aleksey Vyazmikin:

Der Artikel ist interessant, vielen Dank.

Allerdings habe ich nicht verstanden, ob es einen Expert Advisor in der Anwendung, die auf realen Ticks des angegebenen Symbols arbeitet und nimmt Daten aus dem Tick-Chart. Wird der EA automatisch im Tester erstellt oder muss ich vorher ein benutzerdefiniertes Symbol erstellen?

Der Artikel bietet mehrere Varianten von Generatoren für benutzerdefinierte Symbole und ein paar Varianten für den Handel mit realen Symbolen, die durch Signale für das benutzerdefinierte Symbol gesteuert werden. Ich denke, alles ist dem Artikel beigefügt. Natürlich können Sie auch Ihr eigenes benutzerdefiniertes Symbol erstellen und verwenden.

 
Stanislav Korotky:

Der Artikel bietet mehrere Varianten von benutzerdefinierten Symbol-Generatoren und ein paar Varianten des Handels auf reale Symbole durch Signale auf dem benutzerdefinierten Symbol gesteuert. Ich denke, alles ist dem Artikel beigefügt. Natürlich können Sie Ihr eigenes benutzerdefiniertes Symbol generieren und verwenden.

Ich habe es noch nicht herausgefunden. Muss ich den Code meines Expert Advisors erheblich ändern, um auf Ticks zu handeln, wie auf einfachen Bars?

Ich habe einen Fehler erhalten - das Tick-Chart funktioniert nicht mehr:

2020.11.25 10:27:14.843 Ticks2Bars (Si-12.20,H1)        Ticks start at 2020.11.25 10:26:06'523
2020.11.25 10:27:14.895 Ticks2Bars (Si-12.20,H1)        Buffer filled in for Si-12.20_ticks
2020.11.25 12:09:41.305 Ticks2Bars (Si-12.20,H1)        Rates deleted: 1001
2020.11.25 12:09:41.337 Ticks2Bars (Si-12.20,H1)        Ticks deleted: 1
2020.11.25 12:09:42.350 Ticks2Bars (Si-12.20,H1)        Remaining ticks: 0
2020.11.25 12:09:42.354 Ticks2Bars (Si-12.20,H1)        Ticks start at 2020.11.25 12:09:06'133
2020.11.25 12:09:42.356 Ticks2Bars (Si-12.20,H1)        Buffer filled in for Si-12.20_ticks
2020.11.25 12:10:05.656 Ticks2Bars (Si-12.20,H1)        Rates deleted: 1001
2020.11.25 12:10:05.656 Ticks2Bars (Si-12.20,H1)        Ticks deleted: 0
2020.11.25 12:10:06.657 Ticks2Bars (Si-12.20,H1)        Remaining ticks: 0
2020.11.25 12:10:06.657 Ticks2Bars (Si-12.20,H1)        Ticks start at 2020.11.25 12:09:50'685
2020.11.25 12:10:06.659 Ticks2Bars (Si-12.20,H1)        Buffer filled in for Si-12.20_ticks
2020.11.25 14:47:14.285 Ticks2Bars (Si-12.20,H1)        Not shifted: 0
 
Aleksey Vyazmikin:

Ich habe es noch nicht herausgefunden. Muss ich den Code meines EA erheblich ändern, um auf Ticks wie auf einfache Bars zu handeln?

Ich habe einen Fehler - das Tick-Chart funktioniert nicht mehr:

Im Idealfall, wenn Ticks zu Balken eines benutzerdefinierten Symbols geworden sind, muss der Expert Advisor überhaupt nicht bearbeitet werden, damit er im Tester funktioniert.

Und ja, benutzerdefinierte Symbole sind sehr kapriziös. Von Zeit zu Zeit sollten Sie nach Möglichkeiten suchen, sie "aufzumuntern", am besten automatisch.

 
Hallo, kann ich das zum Testen in MQ4 verwenden?
 
Eustorgio Trentino:
Hallo, kann ich dies zum Testen in MQ4 verwenden?

Nein, benutzerdefinierte Symbole werden nur von MT5 unterstützt.