Diskussion zum Artikel "Schrittweiser Leitfaden für Anfänger zum Schreiben eines Expert Advisors in MQL5" - Seite 2

 
georgOBE:

Ich habe den Code 1 : 1 aus dem Artikel downgeloaded, dort lag es "fix und fertig",


zum Artikel: https://www.mql5.com/de/articles/100

zum download: https://www.mql5.com/de/articles/download/100.zip

Solche Fehler erhält man, wenn man die Option strict eingeschaltet hat:

Um alle Fehler vollständig zu kontrollieren, ist es empfehlenswert den strengen Kompilierungsmodus zu verwenden, der mit der folgenden Anweisung festgelegt wird:

#property strict

Dieser Modus vereinfacht die Fehlersuche erheblich.

(aus: https://www.mql5.com/de/articles/1391)

Der Hinweis zeigt Dir, dass der Code nicht 'reagiert' und Dich informiert, wenn und warum die Ausführung von OrderSend fehlgeschlagen ist. das kann fatal erden, wenn Du zB. mit einer neuen Order eine bestehende Position schließen willst, das aber nicht passiert und und nichts und niemand Dir das sagt!

Schau in der Doku. nach, wie eine bessere Version von OrderSend aussehen könnte.

What's New in MQL4
What's New in MQL4
  • docs.mql4.com
Starting from build 600, MQL4 programming language has been completely revised reaching the level of MQL5 - now you can develop trading robots in MQL4/5 using the unified MetaEditor development environment, single style, libraries and debugging tools. MQL4 is popular among automated system developers due to the ease of learning and a huge...
 
#property strict

hat in MQL5 keinerlei Auswirkung und ist obsolete.

Im übrigen ist der Code von Artikel 100 auch nicht grad das gelbe vom Ei.

Die vielen Kommentare sind sehr störend, die Systembibliothek 'Include\Trade\Trade.mqh', wird nicht verwendet.

@georgOBE: falls dir das wirklich wichtig ist schreib ich diesen EA um

 
Otto Pauser:

hat in MQL5 keinerlei Auswirkung und ist obsolete.

Im übrigen ist der Code von Artikel 100 auch nicht grad das gelbe vom Ei.

Die vielen Kommentare sind sehr störend, die Systembibliothek 'Include\Trade\Trade.mqh', wird nicht verwendet.

@georgOBE: falls dir das wirklich wichtig ist schreib ich diesen EA um

Ich habe viele Jahre Software programmiert, leider nie in C++, der Umsteig in MQL5 fällt mir nicht leicht, der Beispiel finde ich sehr funktionell, das wollte ich aus Einstieg verwenden, JA, ich wäre dir sehr sehr dankbar wenn du Dir die Arbeit machst und das FA lauffähig machst 

LG Georg

 
georgOBE:

Ich habe viele Jahre Software programmiert, leider nie in C++, der Umsteig in MQL5 fällt mir nicht leicht, der Beispiel finde ich sehr funktionell, das wollte ich aus Einstieg verwenden, JA, ich wäre dir sehr sehr dankbar wenn du Dir die Arbeit machst und das FA lauffähig machst 

LG Georg

In welcher/welchen Sprachen hast du programmiert?

Ich habe, als alter Pascal-Freak, lange den Einstieg in C nicht geschafft, und auch nicht wollen, aber das lag wohl an den Microsoft Compilern.

MQL5 ist so einfach wie anno dazumals Turbo-Pascal. Delphi war dann natürlich besser.

Ja, ich mach das und stell es dann hier rein.

LG Otto

 
Otto Pauser:

In welcher/welchen Sprachen hast du programmiert?

Ich habe, als alter Pascal-Freak, lange den Einstieg in C nicht geschafft, und auch nicht wollen, aber das lag wohl an den Microsoft Compilern.

MQL5 ist so einfach wie anno dazumals Turbo-Pascal. Delphi war dann natürlich besser.

Ja, ich mach das und stell es dann hier rein.

LG Otto

Hallo Otto,

mit TurboPascal hae ich die ersten Schritte gemacht, ich war jung und cool (oder dumm?:-) ) und wechselte zu Assembler Sprachen, das ist alles 25 Jahre her, privat habe ich mich zuletzt mit PHP, Java, alles um WEB-App-Spachen befasst, dienstlich viele Jahre mit MS-Fox-Pro und habe Datenbank Programm geschrieben, seit über 10 Jahren zurück im Maschinenbau, soviel zum Lebenslauf :)


LG Georg

 
Ms fox pro, ma das waren noch Zeiten 
 

So, ich habe den EA jetzt umgebastelt.

Profitabel ist er natürlich auch nicht, aber zumindes (für mich) lesbar.

Viel Erfolg beim Weitermachen damit.

Dateien:
 
Otto Pauser:

So, ich habe den EA jetzt umgebastelt.

Profitabel ist er natürlich auch nicht, aber zumindes (für mich) lesbar.

Viel Erfolg beim Weitermachen damit.

GANZ GANZ LIEBEN DANK DAFÜR !

Verabschiede mich erstmal in den Notebook-Freien-Urlaub

 

Versuche den neuen Code zu verstehen. Der Code funktioniert erst mal.
Leider öffnet der EA weitere Positionen, wenn schon welche offen sind.
Wo steckt der Fehler?

Danke

 
Mario31415927 #:

Versuche den neuen Code zu verstehen. Der Code funktioniert erst mal.
Leider öffnet der EA weitere Positionen, wenn schon welche offen sind.
Wo steckt der Fehler?

Danke

Weiß ich jetzt nicht - aber versuch es selbst herauszufinden:

  1. Platziere Break-Punkte (F9 oder  DebugBreak()) wenn der EA die neue Position eröffnen würde.
  2. Dann kannst Du im Debug-Fenster die Variablen kontrollieren und erkennen, warum trotz Position eine weitere ...
Grund der Beschwerde: