Thema: Frage zu OOP
Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 17.02.17
Trader6666 Trader6666 ist offline
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard Frage zu OOP

Guten Morgen,

vorab, ich bin kein Informatiker, ich bin aus Spaß an der Freude am Skripten im MT4 hängen geblieben , "richtiges" programmieren ist dann wohl doch noch einige Levels höher angesiedelt, soweit mein Eindruck richtig ist

ich versuche mich gerade in der OOP. Das Thema is echt spannend und sich ein
abstraktes Denken anzueignen ist wirklich tricky, die Klassen machen einem Laien echt das leben schwer Wenn iwas durcheinander bringe , korrgiert mich bitte ruhig!!!

Ok soweit ich verstanden habe werden in der ChartObject.mqh. welche von der Object.mqh erbt, alle Atribute hinterlegt, die man dann, wenn Sie im Chart sichtbar/erstellt sind, abfragen kann.

Code:
//+------------------------------------------------------------------+
//| Create object "Fibonacci Fan"                                    |
//+------------------------------------------------------------------+
bool CChartObjectFiboFan::Create(long chart_id,const string name,const int window,
                                 const datetime time1,const double price1,
                                 const datetime time2,const double price2)
  {
   if(!ObjectCreate(chart_id,name,OBJ_FIBOFAN,window,time1,price1,time2,price2))
      return(false);
   if(!Attach(chart_id,name,window,2))
      return(false);
   Selectable(false);
   Hidden(true);
//--- successful
   return(true);
  }
dieser Bereich ist wohl einer der Ausgabebefehle zum "befüllen" der Objekte mit den jeweils hinterlegen Eigenschaften, wenn wir im Skript die ObjectCreate(....) funktion korrekt nutzen....

Jetzt meine Frage:

Gibt es die Möglichkeit ein eigenes Objekt in MT4 zu integrieren???
Wenn ich ein eigenes Objekt erstellen möchte, was im Chart auch als ein Objekt angesehen werden soll( klar besteht ein Objekt idR. aus vielen kleinen Objekten, das is mir bewusst ) muss ich es ja selber schreiben in einer Datei.

Mit integrieren meine ich , dass ich es über die ObjectCreate() Methode erstellen kann .
Code:
bool  ObjectCreate( 
   long          chart_id,      // chart ID 
   string        object_name,   // object name 
   ENUM_OBJECT   object_type,   // object type 
   int           sub_window,    // window index 
   datetime      time1,         // time of the first anchor point 
   double        price1,        // price of the first anchor point 
   ... 
   datetime      timeN=0,       // time of the N-th anchor point 
   double        priceN=0       // price of the N-th anchor point 
   );
Dort wird ja auch dann der ENUM_ObjectType abgefragt, find nur die Datei nicht , wo ich meinen Objekttypen ergänzen kann wenn das ned möglich ist, hat einer vllt paar hilfreiche Ratschläge wie ich das angehen kann?!? Oder reicht es einfach den Typen selber zu deklarieren (als enum versteht sich)???? Einzelnde Objekte erstellen, sie verschieben/verändern alles kein problem, aber ich möchte gerne lernen dynamisch zu programieren und ned "local" , das spart ja um einiges an Codezeilen..... Wäre klasse wenn mir jem helfen könnte.

LG Trader6666