Warum gibt es KEINEN vollständigen EA in der Code-Basis?

 

IMO, scheint es keine vollständige EA innerhalb der mql4.com's Code-Basis oder Artikel für diese Angelegenheit der Tat. Es scheint immer etwas zu fehlen. Ich werde die Definition direkt aus der Quelle verwenden, die viele Leute empfehlen, um mql4 zu programmieren; das Buch. Zusätzlich dazu füge ich Folgendes hinzu. Dies tut-Nicht berücksichtigen, ob es profitabel ist oder nicht.

- Broker's Digit Recognizing (5-Punkte vs 4-Punkte und Jpy vs andere)

- Angemessene Money Management Optionen (Martingale allein zählt nicht)

- Richtige Magic# Identifikation (wenn orderTotals==0 nicht zählt)

- Angemessene Symbol-Differenzierung (vielleicht weil die meisten für 1 Symbol & Zeitrahmen sind?)

- Es gibt fast immer KEINEN Order-Accounting-Prozess (Diese 1 ist ein wenig verständlich)

- Ereignisverfolgung ist nicht vorhanden (Sie wollen nicht wissen, wann der SL getroffen wurde?)

- Pre-Checks für TradeContexBusy noch für jede Kommunikation mit Server ist Un-found.

- Disaster Recovery, (ist das nur ein Mythos, von dem man im Forum liest?)

- Ecn vs Dealing Desk OrderSend Compatible (Sl und Tp nicht mit OrderSend senden)

Für das Alter dieses Forums und von mql4 selbst würde ich annehmen, dass jemand inzwischen einen kompletten EA mit all den "was die meisten als" Standardfunktionen eines normalen Programms ansehen würden, gepostet hätte. Ist dies eine zu schwierige Aufgabe? Zuallererst gebe ich Meta-Quotes die Schuld (Ich liebe euch Meta-Quotes!!). Aber ich denke, es ist an der Zeit, dass Sie einen vollständigen EA gemäß der Definition im Buch veröffentlichen.

Ok!!! Bevor die Leute jetzt anfangen, mich mit den "Warum machst du das nicht?"-Antworten anzugreifen, was angesichts der Stimmung in diesem Beitrag verständlich wäre. Tatsache ist, dass ich an einem solchen EA für die Code-Basis arbeite. Nun Wahrheit ist 1. Ich tue es für mein eigenes Lernen. Aber wie kommt es, dass niemand dies zuvor getan hat?

Nochmals, vielleicht habe ich einen solchen EA übersehen. Wenn mir also jemand einen Link zu einem solchen EA geben könnte, wäre ich dankbar. Außerdem bin ich auf der Suche nach einer vollständigen Liste der Standard-Dinge, die in einem vollständigen Programm für Live-Konten bereit zu berücksichtigen sind. Don't care much für Bullet-Proofing jeden Broker und Instrument da draußen, sondern würde wie ein Brain-Storm mit diesem Thread auf Standard-Inhalte Ihrer Meinung nach.

[Deleted]  

Es ist wahr, dass nicht alle in einem Code Base EA abgedeckt sind.

Das neue MACD-Beispiel ist für Voll-/Sub-Pip-Konten sowie ECN/STP-Broker aktualisiert.

Re die anderen Punkte:-

- Proper Money Management Options - Meinungen variieren und dies kann sehr komplex werden

- Proper Magic# Identification (wenn orderTotals==0 nicht zählt) - siehe dieses Beispiel

- Pre-Checks für TradeContexBusy noch für jede Kommunikation mit dem Server ist Un-found - Ich glaube, es gibt Threads über den Umgang mit Order Channel Fehler

Die anderen Punkte sind von Interesse für die Programmierer, die ein System zum Laufen gebracht haben & normalerweise werden sie dann ihre eigenen definieren & programmieren?

Die meisten freundlichen Neulinge und EA-Programmierer auf mittlerem Niveau wären mit dem Umfang eines kompletten kommerziellen EAs überfordert...

Aber... du kannst jederzeit einen posten :)

-BB-

[Gelöscht]  
ubzen:

Ok!! Bevor die Leute jetzt anfangen, mich mit den "Warum machst du das nicht?"-Antworten anzugreifen, was angesichts der Stimmung in diesem Beitrag verständlich wäre. Die Tatsache ist, ich bin auf eine solche EA für die Code-Basis arbeiten. Nun Wahrheit ist 1. Ich tue es für mein eigenes Lernen. Aber wieso hat das noch niemand gemacht?

Viel Unterstützung (moralisch :P) und Wertschätzung.

Die Fähigkeiten, einen komplett stabilen EA zu schreiben, der zum Live-Trading fähig ist und alles beinhaltet, was du aufgezeigt hast, sind meiner Meinung nach die Fähigkeiten, für die man bezahlen muss. Es sieht also so aus, als wären das die verborgenen kleinen Geheimnisse der Coding-Meister :)

Wenn Sie Ihren Code posten, sollte sich die Qualität der mql4-Codierung durch die Masse mit der Zeit verbessern, aber die Qualität der Forenbeiträge sollte im Allgemeinen abnehmen (wir werden alle einen Link zu Ihrem Code als Referenz verwenden :P)

Ich freue mich darauf.

 

All diese Dinge sollten wirklich Teil der offiziellen API sein. Zum Beispiel Dinge wie das Problem mit dem Handelskontext oder generell die unglaublich umständliche Handhabung von Aufträgen, die magischen Zahlen usw., das Fehlen von Handlern für Handelsereignisse oder zumindest eine einfache API zur einfachen Abfrage einer gefilterten und sortierten Liste von historischen Ereignissen und solche Dinge. Die Leute haben ganze Bibliotheken geschrieben, um alle (oder Teile) der Low-Level-MT4-API in etwas Hochwertigeres, leichter zu Benutzendes zu verpacken, und jeder von ihnen unterhält seine ganz eigene private Version/Implementierung einer solchen Sache.

Dank der merkwürdigen Firmenpolitik von Metaquotes und ihrer feindseligen Haltung gegenüber den Endnutzern und EA-Entwicklern scheint es fast unmöglich zu sein (und niemand wird motiviert sein, es zu versuchen), eine Art konstruktiven Community-Prozess zu etablieren (oder zumindest eine Art konstruktiven Dialog mit MQ zu führen), um eine solche API zu diskutieren und zu vereinbaren und gemeinsam Verbesserungen zu diskutieren und beizutragen. Aber eine solche API wäre absolut notwendig und sollte Teil jeder Standard-MT4-Installation sein und der offiziell empfohlene Weg, um auf die Funktionalität zuzugreifen.

[Deleted]  

> Dank der seltsamen Metaquotes-Unternehmenspolitik...

Ich denke, es ist eine Frage der Zeit, des Aufwands und des Risikos gegenüber der Belohnung.

So wie die Dinge stehen, kann MT einige Codes veröffentlichen und sagen, dass dies nur Beispiele sind und es in Ihrer Verantwortung liegt, ob Sie sie ausführen oder nicht.

Wenn MT (oder andere) eine Bibliothek als endgültigen Code für die Auftragsabwicklung veröffentlichen, kann es sein, dass sie einen Fehler enthält, dass sich die Marktbedingungen ändern oder dass sich das serverseitige Verhalten ändert, was schwerwiegende Auswirkungen auf die Haftung haben könnte.

Selbst eine API auf höherer Ebene birgt ein gewisses Risiko, da der Devisenmarkt ein rauer Ort mit vielen, vielen Variablen ist.

Microsoft kann eine Version von Office veröffentlichen und nach und nach Updates herausgeben - aber bei Handelssoftware gibt es keine zweite Chance

> Die Leute haben ganze Bibliotheken geschrieben... jeder von ihnen pflegt seine ganz eigene private Version/Implementierung einer solchen Sache...

Nun, das ist irgendwie verständlich, wenn man die Zeit, den Aufwand, die Entschlossenheit und das (verlorene) Geld bedenkt, die nötig sind, um diese Dinge zu entwickeln...

-BB-

 

Das Gleiche passiert in fast jedem Industriezweig. Es gibt Bücher über Management, Mathematik, Psychologie usw., aber es gibt keine definitive Methode, etwas zu tun. Es läuft darauf hinaus, dass der Profi sagt: "Es funktioniert genau so, wie Sie es definiert haben", und der Hobbyist sagt: "Es funktioniert mit meinem Broker, mehr brauche ich nicht".

 

@forexCoder: ... Wenn Sie Ihren Code posten, sollte sich die Qualität der mql4-Codierung durch die Masse mit der Zeit verbessern, aber die Qualität der Forenbeiträge sollte im Allgemeinen abnehmen (wir werden alle einen Link zu Ihrem Code als Referenz verwenden :P)...

Danke für die Unterstützung ;). Allerdings wird es nicht so großartig sein. Es gibt viel bessere Beispiele für einzelne Aufgaben, die über das ganze Forum verstreut sind. Was ich meine, sind Segmente, die viel kleiner sind als eine bestimmte Include-Datei oder eine Library-Datei, die z.B. OrderReliable behandelt. Mein ursprünglicher Entwurf sieht vor, den EA in einer einzigen Datei zu belassen (ohne Include- oder Library-Dateien). Aber warten Sie nicht zu lange, denn ich werde bereits von anderen Projekten abgelenkt. Aber ich werde dies als ein lohnenswertes Ziel behalten.

@General> Leute haben ganze Bibliotheken geschrieben... jeder von ihnen pflegt seine ganz eigene private Version/Implementierung von so etwas...

Ja, in der Tat sehr wahr. Jeder anständige Programmierer hat seine eigene Version von allem. Beispiel Fehlerbehandlung und Geldverwaltung. Warum konnte MT nicht eine Funktion erstellen, die eine Lot-Size zurückgibt, wenn ich ihr einen StopLoss-Kurs und ein prozentuales Risiko übergeben habe. Oder einen StopLoss-Kurs zurückgibt, wenn ich Lots-Size und Risiko angebe. Aber nein, jeder muss seinen eigenen Geschmack haben und seine eigene Fehlerprüfung durchführen, wenn er genug freie Marge hat.

Ja, ich weiß, MT kann nicht alles abdecken. Aber es wäre schön, wenn sie bessere Beispiele setzen würden. Sogar kommerzielle EA's haben viel Kritik von diesem Forum bekommen, weil sie in der Regel nicht mit anderen EA's kompatibel waren ... jetzt aber ändern die meisten von ihnen ihre Wege. Ich wette, die meisten dieser Entwickler sahen sich den alten MACD Simple an und machten sich keine Sorgen, er entspricht den MT-Standards. Ich kann kaum irgendwelche Codes aus der Code-Basis laufen, ohne einen Fehler 130, 131, oder ändern error# 1.

 
ubzen:
Für das Alter dieses Forums und mql4 selbst, würde ich davon ausgehen, jemand würde eine komplette EA mit allen "was die meisten betrachten würde" Standard-Funktionen eines normalen Programms durch diese Zeit gepostet haben.
Hier ist meiner ohne die eigentliche Handelslogik.
Dateien:
whrea.mq4  65 kb
 

Was ist mit dem im mql4-Buch beschriebenen EA? Es hat die meisten der Funktionen, die Sie benötigen würden, um Buchhaltung Funktion, Ereignisse Management-Funktion, Fehlerbehandlung Funktion usw. Ive nie tatsächlich kompiliert, dass EA, um zu sehen, ob es richtig funktioniert oder nicht ich könnte das später tun

[Gelöscht]  
WHRoeder:
Hier ist meine ohne die eigentliche Handelslogik.


Kumpel, das ist großartig!!! Es ist eine verdammte Goldmine an nützlichem Code!!!!

 
WHRoeder:
Hier ist meine ohne die eigentliche Handelslogik.
Danke WHRoeder. Das ist genau das, wovon ich spreche. Ich werde es als eine gute Vorlage für ein normales Programm verwenden.