Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   inludes in EAs (http://www.expert-advisor.com/forum/showthread.php?t=6549)

MA-EA 27.11.19 20:03

inludes in EAs
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo.

Ich will schon seit ner Weile nen EA Vertikale Linien in Charts einfügen lassen. Nach langem Gewurschtel hab ichs anscheinend geschafft, die include dafür in den EA einzubinden. :rolleyes:

Aber beim Kompilieren gibts immer 77 Fehler! :confused: Wie funktioniert der ganze Kram?

ixbone 27.11.19 20:37

Der Fehler ist in der Programmierung! Am #include Kommando wird es ja nicht wirklich liegen...oder doch?

Tja und wie immer: Geh zum Profi und laß dir das coden! Dein Wunsch in allen Ehren es selbst zu machen, aber 77 Kompilierfehler machen eine eindeutige Ansage. Schade um die Zeit die du verbrauchst, da verdienen andere bereits Geld.

Wie sagte ein altgedienter Kaufmann vor vielen Jahren zu mir: Du mußt zuerst Geld investieren um Geld zu verdienen.

traderdoc 27.11.19 20:44

Zitat:

Zitat von MA-EA (Beitrag 43110)
Hallo.

Ich will schon seit ner Weile nen EA Vertikale Linien in Charts einfügen lassen. Nach langem Gewurschtel hab ichs anscheinend geschafft, die include dafür in den EA einzubinden. :rolleyes:

Aber beim Kompilieren gibts immer 77 Fehler! :confused: Wie funktioniert der ganze Kram?

Na dann hast Du es ja doch noch nicht geschafft. Die Datei einzubinden bedarf genau einer Zeile per #include. Aber das ist es ja nicht. Mal davon abgesehen, würde ich das Ganze einfach und herkömmlich lösen und nicht über die Einbindung einer mqh-Datei der Standardbibliothek - wozu?

Mit der Standardbibliothek arbeiten bedarf einer "jahrelangen" Übung im Programmieren. Und das ist jetzt wirklich nicht böse gemeint, aber Du hast uns mehrfach gezeigt, dass selbst elementare Grundlagen bei Dir noch nicht fest sitzen. Deshalb ist diese Progrmmiertechnik noch sehr weit von Deinem Level entfernt. Übe weiter mit den Basics, steigere dann allmählich und nach Jahren wird Dir die Standardbibliothek auch den nötigen Nutzen bringen.

traderdoc

MA-EA 28.11.19 16:10

Zitat:

Zitat von traderdoc (Beitrag 43112)
Mal davon abgesehen, würde ich das Ganze einfach und herkömmlich lösen und nicht über die Einbindung einer mqh-Datei der Standardbibliothek - wozu?

Wie funktioniert es denn ohne include? Das steht nirgendwo beschrieben. Jedenfalls nicht auf deutsch. :(

traderdoc 28.11.19 16:36

Zitat:

Zitat von MA-EA (Beitrag 43116)
Wie funktioniert es denn ohne include? Das steht nirgendwo beschrieben. Jedenfalls nicht auf deutsch. :(

Einfach über ObjectCreate()

traderdoc

ixbone 28.11.19 16:41

Tja, Programmiersprachen sind nun mal in English, ohne, geht das nicht, jetzt wird mir auch klar warum das nicht funktioniert bei dir = möglicherweise könntest du sogar selbst coden (wenn Mathe+Logik vorhanden), aber ohne English geht das natürlich nicht.
Entweder fehlt es an der Fremdsprache und/oder Programmiersprache, da bleibt dir nur Trial+Error (Versuch+Fehler) übrig.

Somit empfehle ich:
- English Kurs, Minimum B1 Stufe
- C/C++ Programmierkurs

MA-EA 29.11.19 21:49

Liste der Anhänge anzeigen (Anzahl: 1)
Hallo.

Also eigentlich hab ich was Einfaches vor: Der EA soll die letzte geschlossene Order suchen und im Chart 2 Vertikale Linien zeichnen. Eine, wo die Order geöffnet wurde, die 2. wo die Order geschlossen wurde. Damit man besser sehn kann, wann er sie geöffnet und geschlossen hat.

Aber so einfach ist es wohl nicht. Gibt zwar keine Fehler, aber auch nicht die erwünschten vertikalen Linien. Es kommt bei allen 4 ObjectCreate die Warnung "implicit conversion from 'string' to 'number".
Code:

for(i=OrdersTotal()-1;i>=0;i--){
  if(OrderSelect(0,SELECT_BY_POS,MODE_HISTORY)){

    if(OrderType()==OP_BUY&&OrderMagicNumber()==Buy_MN&&OrderSymbol()==Symbol()){

//                                            0=MainWin
      ObjectCreate(Symbol(),"Se_buy",OBJ_VLINE,0,OrderOpenTime()  );
      ObjectCreate(Symbol(),"Cl_buy",OBJ_VLINE,0,OrderCloseTime() );}


    if(OrderType()==OP_SELL&&OrderMagicNumber()==Sell_MN&&OrderSymbol()==Symbol()){

//                                            0=MainWin
      ObjectCreate(Symbol(),"Se_sel",OBJ_VLINE,0,OrderOpenTime()  );
      ObjectCreate(Symbol(),"Cl_sel",OBJ_VLINE,0,OrderCloseTime() );} }}

Wähl ich vielleicht den falschen Trade aus? Oder funktioniert das nicht innerhalb einer for-Schleife? Wie gehts richtig? :confused:

traderdoc 29.11.19 23:43

Zitat:

Zitat von MA-EA (Beitrag 43130)
Hallo.

Also eigentlich hab ich was Einfaches vor: Der EA soll die letzte geschlossene Order suchen und im Chart 2 Vertikale Linien zeichnen. Eine, wo die Order geöffnet wurde, die 2. wo die Order geschlossen wurde. Damit man besser sehn kann, wann er sie geöffnet und geschlossen hat.

Aber so einfach ist es wohl nicht. Gibt zwar keine Fehler, aber auch nicht die erwünschten vertikalen Linien. Es kommt bei allen 4 ObjectCreate die Warnung "implicit conversion from 'string' to 'number".
Code:

for(i=OrdersTotal()-1;i>=0;i--){
  if(OrderSelect(0,SELECT_BY_POS,MODE_HISTORY)){

    if(OrderType()==OP_BUY&&OrderMagicNumber()==Buy_MN&&OrderSymbol()==Symbol()){

//                                            0=MainWin
      ObjectCreate(Symbol(),"Se_buy",OBJ_VLINE,0,OrderOpenTime()  );
      ObjectCreate(Symbol(),"Cl_buy",OBJ_VLINE,0,OrderCloseTime() );}


    if(OrderType()==OP_SELL&&OrderMagicNumber()==Sell_MN&&OrderSymbol()==Symbol()){

//                                            0=MainWin
      ObjectCreate(Symbol(),"Se_sel",OBJ_VLINE,0,OrderOpenTime()  );
      ObjectCreate(Symbol(),"Cl_sel",OBJ_VLINE,0,OrderCloseTime() );} }}

Wähl ich vielleicht den falschen Trade aus? Oder funktioniert das nicht innerhalb einer for-Schleife? Wie gehts richtig? :confused:

Ja, es ist wirklich nicht so einfach, wenn man die vielen Tipps von uns einfach nicht beherzigst. Es wäre in der Tat besser, wenn du vorher mal in die Online-Hilfe schaust. Da steht für ObjectCreate() folgendes:

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
);


bzw.

bool ObjectCreate(
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 time2=0, // time of the second anchor point
double price2=0, // price of the second anchor point
datetime time3=0, // time of the third anchor point
double price3=0 // price of the third anchor point
);

Du hast die Wahl zwischen beiden Versionen, aber bei keiner der beiden sehe ich als ersten Parameter das Symbol des Handelsinstrumentes.
Und mal ganz zu schweigen davon, dass man über OrdersTotal() keine einzige historische Order finden wird.

Sorry, aber ich weiss wirklich langsam nicht mehr, was ich noch schreiben soll.

traderdoc

ixbone 29.11.19 23:56

Diese Beratungsresistenz ist zu bewundern!
So ich habe mein Posting wieder gelöscht, traderdoc hat alles bereits erwähnt und es gibt wahrlich nichts mehr dazu zu sagen, das ist Verschwendung von Zeit in reinster Form.


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:23 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum