Diskussion zum Artikel "Einen handelnden Expert Advisor von Grund auf neu entwickeln (Teil 19): Neues Auftragssystem (II)"

 

Neuer Artikel Einen handelnden Expert Advisor von Grund auf neu entwickeln (Teil 19): Neues Auftragssystem (II) :

In diesem Artikel werden wir ein grafisches Ordnungssystem vom Typ „Schau, was passiert“ entwickeln. Bitte beachten Sie, dass wir dieses Mal nicht bei Null anfangen, sondern das bestehende System modifizieren, indem wir weitere Objekte und Ereignisse in den Chart des von uns gehandelten Vermögenswerts einfügen.

Wenn Sie denken, dass dies nicht einfach zu implementieren ist, sehen Sie sich den folgenden Code-Teil der Klasse C_HLineTrade an:

inline void SetLineOrder(ulong ticket, double price, eHLineTrade hl, bool select)
{
        string sz0 = def_NameHLineTrade + (string)hl + (string)ticket, sz1;
                                
        ObjectCreate(Terminal.Get_ID(), sz0, OBJ_HLINE, 0, 0, 0);

//... The rest of the code.... 

Der hervorgehobene Teil zeigt genau, dass wir so viele horizontale Linien erstellen können, wie wir wollen, und dass sie völlig unabhängig voneinander Ereignisse empfangen. Alles, was wir tun müssen, ist, Ereignisse zu implementieren, die auf dem Namen basieren, den jede der Zeilen haben wird, da die Namen eindeutig sein werden. Die MetaTrader 5-Plattform kümmert sich um den Rest. Das Ergebnis sieht dann etwa so aus:


Obwohl dies bereits als ideal erscheint, wird diese Modellierung nicht ausreichen, um das wirklich benötigte Ergebnis zu erzielen. Die Idee kann umgesetzt werden. Die derzeit im EA verfügbare Datenmodellierung ist jedoch nicht ideal, da wir nicht eine unbegrenzte Anzahl von Objekten auf der Grundlage eines Namens haben können. Wir müssen einige Änderungen vornehmen, die eine ziemlich tiefgreifende Codeänderung erfordern.

Autor: Daniel Jose