Leinwand ist cool! - Seite 21

 
Nikolai Semko:

Ja, es gab eine kleine Schwierigkeit. Es wurde korrigiert.

Vielen Dank.

Bitte, haben Sie die letzte Datei erneut erstellt?

Oh, ich verstehe, ja, jetzt ist alles gut!
 
Nikolai Semko:

Zur Veranschaulichung der Geschwindigkeit...

Ändern von zwei Parametern über den Mauszeiger

X - Änderungen des maximalen MA-Zeitraums

Y - Schritt der МА Periodenänderung


Nikolay, nur mal so aus Interesse: Was ist der Sinn solcher Indikatoren? Ich verstehe, dass es ein Beispiel ist, ich verstehe, dass es nicht für den Handel ist, aber ... Der Indikator sollte den Empfang seiner Daten von außen ermöglichen. Ansonsten ist es einfach ein schönes Bild. Und der Anwendungsbereich von Indikatoren ohne deren Daten ist stark eingeschränkt.

Ein Hinweis auf die Entwicklung von Methoden zur Rückgabe von Daten aus solchen Indikatoren wäre interessanter.

 
Artyom Trishkin:

Nikolay, nur mal so aus Interesse: Was ist der Sinn solcher Indikatoren? Ich verstehe, dass es ein Beispiel ist, ich verstehe, dass es nicht für den Handel ist, aber ... Der Indikator sollte es ermöglichen, seine Daten von außen zu empfangen. Ansonsten ist es einfach ein schönes Bild. Und der Anwendungsbereich von Indikatoren ohne deren Daten ist sehr eng.

Ein Hinweis auf die Schaffung von Methoden zur Angabe von Daten aus solchen Indikatoren - das wäre interessanter.

Es ist ein großes Problem, Wege für die Übermittlung von Daten aus den "Kanvas"-Indikatoren zu finden. Ich sehe eine Vielzahl von Varianten.

Außerdem werden für 99,9 Prozent des realen Handels nur die Werte der Null und des ersten Balkens benötigt. Ist es wirklich ein Problem, diese Werte zu übergeben? Was ist das Problem, wenn man Indikatordaten in ein Array oder einen Puffer stellt? Es sind auch Ressourcen verfügbar.

Dieses Beispiel wurde mit einem Ziel vorgeführt: - Es soll gezeigt werden, dass die Implementierung von Indikatoren durch Canvas schnell ist, viel schneller als klassische Methoden. Und es ist eine absolute Flexibilität.

Außerdem stellt sich die große Frage: "Muss ich wirklich Daten aus dem Indikator entnehmen?

Wenn ich einen eigenen Indikator habe, brauche ich den Indikator nur zur Visualisierung. Welchen Sinn hat es, die Indikatorwerte für die Balken außerhalb des Fensters zu berechnen? Ich denke, das ist absolut unnötig. Aber wenn ich die Indikatorwerte für das Algotrading benötige, wäre es dann nicht einfacher, die Indikatorberechnung durch eine Instanz einer Klasse in den Body einer Eule zu integrieren?

 
Nikolai Semko:

Die Einrichtung von Möglichkeiten zur Übermittlung von Daten aus "canva"-Indikatoren ist kein großes Problem. Ich kann mir viele Optionen vorstellen.

Außerdem werden für den realen Handel in 99,9 % der Fälle nur die Null- und die ersten Balkenwerte benötigt. Ist es wirklich ein Problem, diese Werte zu übergeben? Was ist das Problem, wenn man Indikatordaten in ein Array oder einen Puffer stellt? Es sind auch Ressourcen verfügbar.

Dieses Beispiel wurde mit einem Ziel vorgeführt: - Es soll gezeigt werden, dass die Implementierung von Indikatoren durch Canvas schnell ist, viel schneller als klassische Methoden. Und es ist eine absolute Flexibilität.

Außerdem stellt sich die große Frage: "Muss ich wirklich Daten aus dem Indikator entnehmen?

Wenn ich einen eigenen Indikator habe, brauche ich den Indikator nur zur Visualisierung. Welchen Sinn hat es, die Indikatorwerte für die Balken außerhalb des Fensters zu berechnen? Ich denke, das ist absolut unnötig. Aber wenn ich die Indikatorwerte für Algotrading benötige, wäre es dann nicht einfacher, die Indikatorberechnung in den Body der Eule zu integrieren?

Ich stimme zu. Aber es gibt eine Kategorie von Nutzern, die sie auf andere Weise benötigen.

Was aber, wenn der canva-Indikator mehr als 512 Daten liefert? Die Puffer werden in diesem Fall nicht helfen. Und die Benutzer wollen einfach nur Indikatordaten in ihre Programme bekommen. Und sie wollen sie nicht in den Körper des Expert Advisors einbetten (ich werde eine Eule verschonen - lass sie ohne Rasseln fliegen ...). Und sie wollen Daten zu jedem angeforderten Balken erhalten, nicht nur zu den sichtbaren Balken. Und das ist gerechtfertigt. Und das ist nicht nur durch Faulheit und den Wunsch, alles leicht und einfach zu bekommen, begründet, sondern auch durch die Anforderungen von TS.

 
Artyom Trishkin:

Ich stimme zu. Aber es gibt eine Kategorie von Nutzern, die es anders brauchen.

Was geschieht, wenn die vom Canvas-Indikator zurückgegebenen Daten 512 überschreiten? Die Puffer werden in diesem Fall nicht helfen. Und die Benutzer wollen einfach nur Indikatordaten in ihre Programme bekommen. Und sie wollen nicht, um sie in den Körper des Expert Advisor (Ich werde eine Eule zu schonen - lassen Sie es fliegen, ohne Rasseln in der ...) einzubetten. Und sie wollen Daten zu jedem angeforderten Balken erhalten, nicht nur zu den sichtbaren Balken. Und das ist gerechtfertigt. Und das ist nicht nur durch Faulheit und den Wunsch, alles leicht und einfach zu bekommen, gerechtfertigt, sondern auch durch die Anforderungen von TS.

Wenn es sich um die große Mehrheit der Nutzer handelt, die keine Programmierer sind, brauchen sie entweder die Eule oder den Indikator. Sie brauchen keinen Indikator für die Eule.

Ich habe nur einige Informationen zum Nachdenken gegeben, ich will nichts aufzwingen. Lassen Sie die Programmierer selbst entscheiden, was sinnvoll ist und was nicht. Ich persönlich bezweifle jedoch, dass ich die iCustom-Funktion in meinen EAs verwenden werde.

 
Nikolai Semko:

Die Einrichtung von Möglichkeiten zur Übermittlung von Daten aus "canva"-Indikatoren ist kein großes Problem. Ich kann mir viele Optionen vorstellen.

Außerdem werden für den realen Handel in 99,9 % der Fälle nur die Null- und die ersten Balkenwerte benötigt. Ist es wirklich ein Problem, diese Werte zu übergeben? Was ist das Problem, wenn man Indikatordaten in ein Array oder einen Puffer stellt? Es sind auch Ressourcen verfügbar.

Dieses Beispiel wurde mit einem Ziel vorgeführt: - Es soll gezeigt werden, dass die Implementierung von Indikatoren durch Canvas schnell ist, viel schneller als klassische Methoden. Und es ist eine absolute Flexibilität.

Außerdem stellt sich die große Frage: "Muss ich wirklich Daten aus dem Indikator entnehmen?

Wenn ich einen eigenen Indikator habe, brauche ich den Indikator nur zur Visualisierung. Welchen Sinn hat es, die Indikatorwerte für die Balken außerhalb des Fensters zu berechnen? Ich denke, das ist absolut unnötig. Wenn ich die Indikatorwerte für das Algotrading benötige, ist es dann nicht so einfach, die Indikatorberechnung durch die Instanz der Klasse in den Body der Eule zu integrieren?

Meiner Meinung nach sollten die Indikatoren auch über eine Instanz der Klasse geschrieben werden. Dann wird es möglich sein, einen Indikator oder einen Expert Advisor zu erstellen, indem man sich auf diese Klasse bezieht. Ich habe eine solche Klasse in meiner Sammlung. Es hat mir sehr gut gefallen.

 
Nikolai Semko:

Zur Veranschaulichung der Geschwindigkeit...

Ändern von zwei Parametern über den Mauszeiger

X - Änderungen des maximalen MA-Zeitraums

Y - Schritt der Periode von MA


Gut gemacht, Nikolay. Gut gemacht.

 
Alexey Viktorov:

Meiner Meinung nach sollten die Indikatoren auch über eine Instanz der Klasse geschrieben werden. Dann wird es möglich sein, einen Indikator oder einen Expert Advisor zu erstellen, indem man sich auf diese Klasse bezieht. Ich habe eine solche Klasse in meiner Sammlung. Es hat mir sehr gut gefallen.

Ich stimme zu.
 
Ein weiterer netter Bonus bei der Verwendung von Canva-Indikatoren ist übrigens die Tatsache, dass der Code nahezu plattformübergreifend ist.
 
Реter Konow:

Gut gemacht, Nikolai. Gut gemacht.

Beachten Sie, Peter, wie ich einen Mehrfarbverlauf mit 6 Farben implementiert habe.

uint Grad(double p)
  {
   static uint Col[6]={0xFFFF0000,0xFFFF00FF,0xFF0000FF,0xFF00FFFF,0xFF00FF00,0xFFFFFF00};
   p=p*5;
   int n=(int)p;
   if(n==5) return Col[5];
   double k=1-p+(int)p;
   argb c1,c2;
   c1.clr=Col[n];
   c2.clr=Col[n+1];
   return ARGB(255,c2.c[0]+uchar(k*((int)c1.c[0]-(int)c2.c[0])+0.5),
               c2.c[1]+uchar(k*((int)c1.c[1]-(int)c2.c[1])+0.5),
               c2.c[2]+uchar(k*((int)c1.c[2]-(int)c2.c[2])+0.5));
  }

Wobei p von 0 auf 1 wechselt.

ZS Aber es gibt ein Problem mit der äußersten Farbe, das ich noch nicht beheben konnte.