Diskussion zum Artikel "Projekte helfen beim Entwickeln profitabler Handelsroboter! Zumindest scheint es so" - Seite 2
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
In einem Projekt kann es nur eine einzige kompilierte Hauptdatei geben. Alle anderen Quellen können als Include-Dateien dienen.
Sie können EX5-Dateien als Ressourcen in das Projekt aufnehmen, z. B. kompilierte Indikatoren.
Und wie bindet man einen benutzerdefinierten Indikator in das EA-Projekt ein? (nicht als Ressource, sondern so, dass bearbeitbarer Code verfügbar ist).
Wie kann man einen benutzerdefinierten Indikator in das EA-Projekt aufnehmen? (nicht als Ressource, sondern so, dass der bearbeitbare Code verfügbar ist)
Es gibt keine solche Möglichkeit. Der Indikator kann außerhalb des Projektordners liegen, Sie müssen den Pfad zu ihm korrekt angeben, wie in der Ankündigung des 2485-Builds angegeben.
Es gibt keine solche Möglichkeit. Der Indikator kann außerhalb des Projektordners liegen, Sie müssen den Pfad dazu korrekt angeben, wie in der Ankündigung des 2485-Builds angegeben.
Klarstellung: "jetzt gibt es keine solche Möglichkeit"? Das heißt, die Regeln für die Projekterstellung sind strenger geworden?
Klarstellung: "Jetzt gibt es diese Möglichkeit nicht mehr"? Die Regeln für die Erstellung eines Projekts sind also strenger geworden?
Das war schon immer so
So ist es immer gewesen
Mein Projekt wurde vor langer Zeit erstellt: Es enthielt sowohl einen Indikator als auch einen Expert Advisor - zum Zeitpunkt der Veröffentlichung war alles in Ordnung. Sowohl der Indikator als auch der Expert Advisor befanden sich in einem Ordner "Gemeinsames Projekt".
Im Jahr 2485 funktionierte es nicht mehr.
Nun, ich habe den Indikator in einen separaten Ordner verschoben - außerhalb von Shared Projets: (natürlich habe ich ihn an einem neuen Ort kompiliert).
[data folder]\MQL5\Indikatoren\AlligatorAndStochastic histogram\AlligatorAndStochastic histogram.mq5
Ich habe den Pfad in den Expert Advisor geschrieben.
Ich greife vermeintlich auf den Ordner Indicators\AlligatorAndStochastic histogram\AlligatorAndStochastic histogram zu.
Aber ich bekomme eine Fehlermeldung:
Aber die Datei ist definitiv da:
Was sind diese Wunder?
Lassen Sie mich wiederholen: die Variante (zuvor arbeiten) - es ist ein Expert Advisor und ein Indikator in das Projekt zusammen
Heute am 2485 fing es an, einen Fehler zu erzeugen - Datei nicht gefunden.
Nach vielen Experimenten habe ich den Indikator außerhalb von Shared Projects in einen separaten Ordner verschoben. Kein Ergebnis
Ich habe den Ordner gelöscht. Habe alle Änderungen am Projekt zurückgenommen (d.h. jetzt sind wieder sowohl COUNTER als auch INDICATOR im selben Ordner) - und oh Wunder: das Debugging über die Historie begann:
Wer möchte das Projekt 'AlligatorAndStochastic' überprüfen?
Das Thema des Artikels ist ziemlich wichtig, aber der Artikel selbst ist eine leere Werbung, die sich auf das ultimative Ziel des Aufbaus profitabler EAs konzentriert, aber überhaupt nicht die angewandten Aspekte der Nutzung der Projekte-Funktionalität zur Organisation der Interaktion zwischen den Teilnehmern bei der Arbeit an komplexen EAs berücksichtigt.
Tatsächlich ist die aktuelle Funktionalität von MQL-Projects sehr dürftig und im Wesentlichen ungeeignet für die Organisation von Projekten. Deshalb wählen viele prominente Forumsmitglieder Github, um ihre öffentlichen und privaten Projekte zu hosten (z.B. ist Vasily Sokolovs PublicMqlProjects Repository ziemlich berühmt).
Kürzlich habe ich bei Freelance einzelne grafische Komponenten für meinen Experten(SixPanels) in Auftrag gegeben, weil ich die Arbeit parallelisieren wollte - um mich selbst auf die zentrale Funktionalität zu konzentrieren und die Gui-Erstellung auszulagern, d.h. die Projektinteraktion mit einem der Entwickler zu organisieren. Um mein eigenes Know-How einzusparen, erforderte es jedoch von mir und vom Kunden zahlreiche unproduktive Arbeitseinsätze:
- Ich musste eine ganze Reihe leerer Klassen erstellen, die die Arbeit realer Klassen emulieren,
- der Kunde musste im Zuge der Implementierung einen Teil dieser Klassen neu schreiben, was ohne Synchronisation mit meiner laufenden Entwicklung des zentralen Teils von EA geschah,
.- Als Ergebnis der Auftragserfüllung musste ich die Wiedereingliederung von GUI-Komponenten in meinen Code vornehmen, indem ich Änderungen im Code der GUI-Komponenten vornahm.
Darüber hinaus muss ich, um den 2. Auftrag zu aktivieren, zusätzlich Nachrüstungen von ungültigen Klassen im Code der integrierten Gui-Komponenten vornehmen.
Da ich heute einen freien Tag habe, habe ich beschlossen, das Thema der Unzulänglichkeiten der MT5.Projects-Funktionalität ausführlicher zu behandeln, und zwar sowohl im Hinblick auf meine jüngsten Erfahrungen in der verteilten Entwicklung als auch auf meine berufliche Erfahrung im Management von IT-Projekten.
Die im Folgenden beschriebenen Unzulänglichkeiten der MQL-Projektfunktionalität sind bedingt in 2 Teile unterteilt:
A. Unzulänglichkeiten der aktuellen Funktionalität in Bezug auf die Organisation und Wartung von Projekten
B. Nachteile der aktuellen Funktionalität in Bezug auf die Integration in das MQL5.com-Ökosystem
А. Nachteile der derzeitigen Funktionalität von MQL-Projekten in Bezug auf die Projektorganisation und -pflege
Nachteile, aufgrund derer die Teilnehmer jetzt Github anstelle von MT5.Projects wählen1.Unvollständige Rollenstruktur, ohne die Möglichkeit, einzelnen Teilnehmern Zugang zu einzelnen Projektkatalogen zu gewähren
Anwendungsfall 1: Beauftragung eines bezahlten Freelancers, um einen Teil der Arbeit in einem größeren Projekt auszuführen
Anwendungsfall2: Verteilung der Arbeit zwischen Entwicklern zum Zweck des Schutzes
Wie kann man den Nachteil beseitigen: Erstellen Sie eine Zugangsverteilung auf der Ebene einzelner Projektkataloge und erweitern Sie die aktuelle Zugangsstruktur auf Folgendes.Eigentümer (Vollzugriff auf Ebene des Gesamtprojekts + Teilnehmerverwaltung) , Teilnehmer (Vollzugriff auf Ebene des Gesamtprojekts), Entwickler (Vollzugriff auf Ebene des Stammverzeichnisses und einzelner Unterverzeichnisse) , Beobachter (Sichtzugriff auf Ebene des Gesamtprojekts); ohne Vergabe von Zugriffsrechten hat ein Teilnehmer mit der Rolle Entwickler keinen Zugriff auf alle Unterverzeichnisse.
2.Keine Aufgabenplanungs- und -zuweisungsfunktion
Anwendungsfall 1: Erfordert die Festlegung einer Liste von durchzuführenden Aufgaben und die Zuweisung von Aufgaben an Teilnehmer
Anwendungsfall 2: Erfordert die Erstellung einer geordneten Struktur von Aufgaben, die während des Projekts zu erledigen sind
Anwendungsfall 2: Notwendigkeit der Berücksichtigung von Feiertagen und Zeiten der Inaktivität von Teilnehmern
Behebung des Mangels: Parallel zum SVN-Cloud-Speicher und Dateiversionierungssystem das Jira-Serversystem einführen und einige seiner Komponenten in MetaEditor integrieren, insbesondere Komponenten wie Aufgaben und Boards; d. h. im Wesentlichen ein MQL-Projekt erstellen.d.h. im Wesentlichen sollte die Erstellung eines MQL-Projekts in MetaEditor sowohl zur Zuweisung von Dateispeicherplatz in SVN als auch zur automatischen Registrierung des neuen Projekts im Jira-System führen.
3.Es gibt keine Funktionalität, um mehrere mq5 innerhalb eines Projekts auszuführen/zu kompilieren
Anwendungsfall 1: Parallele Entwicklung in verschiedenen Klassen ist erforderlich; für die Bequemlichkeit des Testens erstellt jeder Entwickler eine Kopie der primären Klasse des Programms, wobei er die Referenzen auf die verschachtelten Klassen, die er verfeinert, ändert; um das Testen zu beschleunigen, führt jeder seine eigene Instanz der primären Klasse des Programms aus.
Anwendungsfall 2: Um Threads auf Prozessorkerne zu verteilen, entwickeln Sie einen verteilten Expert Advisor, dessen einzelne Teile über ein System von Ereignissen oder gemeinsamen Dateien miteinander kommunizieren;
z.B. habe ich jetzt einen Expert Advisor aus 2 Komponenten: Das Back-End des Telegram-Bots arbeitet als unabhängiger Experte auf einem Chart, analysiert Befehle und leitet sie über Events an den Core weiter, der als Expert Advisor auf dem anderen Chart desselben Symbols läuft (+ ich plane, ein 3x-Element hinzuzufügen, das als Service arbeitet und Daten aus externen Quellen liefert), und beide Komponenten greifen auf dieselben Bibliotheken zurück und sind im Grunde ein Projekt.
Wie man den Nachteil beseitigt: innerhalb der Projektstruktur einen Zeiger zu machen, welche .mq5-Datei kompiliert wird, der auf der Ebene jedes Projektteilnehmers eingestellt werden kann; wenn es mehr als 2 .mq5-Dateien gibt, die innerhalb des Projekts verschachtelt sind, erlaubt MetaEditor auf der Projektebene, die vom Teilnehmer kompilierte Datei zu ändern.
4.Es gibt keine Funktionalität der integrierten Entwicklung in Bezug auf Indikatoren
Anwendungsfall 1: Externe Indikatoren sind oft der wichtigste Teil von Expert Advisors, da sie sowohl Berechnungsfunktionen als auch die Visualisierung auf Charts übernehmen.
Anwendungsfall 2: Indikatoren ermöglichen die Parallelisierung von Berechnungen innerhalb des Indikatorflusses.
Die Funktionalität funktionierte früher, wurde aber aus irgendeinem Grund in der neuesten Version von MetaEditor entfernt.
Grundsätzlich in den obigen Beiträgen beschrieben, und ich glaube, dass das Thema nicht gesondert kommentiert werden muss.
So beheben Sie den Fehler: Stellen Sie die Funktionalität des Aufrufs im Expert Advisor wieder her und arbeiten Sie mit iCustom-Indikatoren, die in den Unterverzeichnissen des Projekts enthalten sind.
5.Es gibt keine Funktionalität zur Unterstützung der parallelen Arbeit an verschiedenen Versionen des Projekts (auch bekannt als DevOps)
Anwendungsfall 1: Es muss sichergestellt werden, dass verschiedene Teilnehmer in verschiedenen Phasen am Projekt arbeiten, um die Freigabe zu beschleunigen.
Anwendungsfall 2: In einer Situation, in der der Expert Advisor bereits von den Teilnehmern für den Handel auf realen Konten verwendet wird, ist es erforderlich, Releases mit qualitativ hochwertigen Tests bereitzustellen.
Wie lässt sich dieser Nachteil beseitigen: Erstellung einer Mindeststruktur von Projektversionen: DEV, TEST, PROD; zunächst wird das Projekt als DEV erstellt, dann kann ein Teilnehmer mit der Rolle des Eigentümers die TEST-Ausgabe erstellen, dann die PROD-Ausgabe; während der Arbeit mit dem Projekt kann jeder Teilnehmer die Version wechseln, indem er sie in den Projekteigenschaften einstellt und zur Arbeit an der vorherigen Ausgabe zurückkehrt; ein Teilnehmer mit der Rolle des Eigentümers kann die TEST/PROD-Ausgaben aktualisieren, während das System die "Zustimmung" aller Teilnehmer mit der Rolle des Eigentümers erfordert.
В. Unzulänglichkeiten der derzeitigen Funktionalität von MQL-Projekten im Hinblick auf die Integration in das MQL5.com-Ökosystem
Unzulänglichkeiten, die eine breite Nutzung innerhalb des MQL5.com-Ökosystems verhindern.Tatsächlich ist die derzeitige Funktionalität von MQL-Projekten überhaupt nicht mit dem Ökosystem verbunden, so dass es darum geht, die wichtigsten Verbindungen herzustellen.
Das Hauptziel ist in diesem Fall sowohl die Entwicklung des MQL5.com-Ökosystems als auch, in einigen Fällen, eine zusätzliche Monetarisierung für das MQ-Unternehmen.
6.Verbindung mit dem Bereich Freiberufler (1): Es gibt kein Register für gemeinsame Anfragen, um Teilnehmer zu finden.
Anwendungsfall 1: Es ist notwendig, potenzielle Projektteilnehmer mit den erforderlichen Fähigkeiten zu finden, es ist notwendig, die Erfahrung potenzieller Partner zu verstehen.
Anwendungsfall 2: Es ist notwendig, die Liste potenzieller Projekte zu prüfen, an denen es interessant wäre, teilzunehmen.
Wie kann der Mangel behoben werden: Schaffung eines Unterabschnitts "Project Board" innerhalb der Rubrik Freelance, in dem die Anfragen der Organisatoren zur Suche nach Teilnehmern angezeigt werden (implizite kostenlose Teilnahme an der Durchführung von Projekten), mit dem gemeinsamen Recht zur Nutzung des Endergebnisses.
P.S.: jetzt in einer bestimmten Form der Zusammenarbeit kommt auf Kosten der Diskussionen auf dem Forum in Form von separaten Themen "Ich werde einen Berater kostenlos schreiben", etc, aber in der Tat ist es nicht in irgendeiner Weise um das Projekt functioon organisiert, und ziemlich oft die Diskussion verwandelt sich in eine Art von Scrum und Überschwemmung. Die Organisation des Projektausschusses wird es ermöglichen, diese Aktivität mit der Projektfunktionalität zu verbinden.
7Verbindung zu Freelance (2): Es gibt keine Möglichkeit, ein Projekt als gemeinsamen Auftrag zu gestalten
Anwendungsfall 1: Mehrere Teilnehmer müssen für die Erstellung einer neuen Funktionalität unter Einbeziehung eines externen Entwicklers von Freelance bezahlen.
Wie kann der Nachteil beseitigt werden: Erstellen einer Registerkarte "Freelance-Aufträge" im Projekt, auf der Anfragen mit Budget für Freelance registriert werden können; nach Auswahl eines Entwicklers erhält dieser Teilnehmer mit der Rolle "Entwickler" Zugang zum Projekt, dessen vertragliche Zugänge von Teilnehmern mit der Rolle Eigentümer festgelegt werden.
Monetarisierung (für MQ): Erhöhung der Komplexität von gemeinsamen Aufträgen, potenzielle Erhöhung der durchschnittlichen Prüfung von Aufträgen.
8Verknüpfung mit dem Markt (1): Es gibt keine Möglichkeit, die Projektergebnisse zum Verkauf anzubieten und eine automatische Gewinnbeteiligung zu erhalten
Anwendungsfall 1: Nach Abschluss des Projekts beschließen die Teilnehmer, den Expert Advisor/das Dienstprogramm auf dem Markt zu veröffentlichen, und benötigen die Funktionalität der Gewinnbeteiligung in dem im Projekt festgelegten Verhältnis.
So beseitigen Sie den Nachteil: Erstellen Sie eine Registerkarte "Freelance-Aufträge" im Projekt, in der Sie Anfragen mit einem Budget für Freelance registrieren können; nach der Auswahl eines Entwicklers erhält dieser Teilnehmer Zugriff auf das Projekt mit der Rolle
9.Link zum Abschnitt "Artikel"
Anwendungsfall 1: Nach der Veröffentlichung einer Artikelserie mit einer nützlichen Bibliothek verliert der Autor das Interesse an der Entwicklung dieser Bibliothek, die Community hat keine Werkzeuge für die organisierte Unterstützung/Entwicklung der Produkte; MQ-Gelder, die an die Autoren der Artikelserie gezahlt wurden, verpuffen im Sand (d.h. der Effekt ist für 1-2 Jahre nach der Veröffentlichung verloren); Beispiele sind "Universal Trading Expert" (V. Sokolov), "Easy & Fast GUI Library" (A. Kazharsky), die von den Autoren der Artikelserie veröffentlicht wurden. Kazharsky), die von ihren Autoren aufgegeben/vergessen wurden.
Wie kann man den Nachteil beseitigen: für alle Autoren, die ihre Bibliothek in einer Reihe von Artikeln entwickeln, eine obligatorische Anforderung festlegen, die Bibliothek in Form eines öffentlichen Projekts zu veröffentlichen; in diesem Fall sollte ab dem 3. Artikel eine zusätzliche Anforderung festgelegt werden, in diesem Projekt +1 Mitglied der mql-Gemeinschaft mit der Rolle des Eigentümers vor jedem nachfolgenden Artikel oder +3 Mitglieder mit der Rolle des Eigentümers vor jedem nachfolgenden Artikel aufzunehmen. Artikel oder +3 Teilnehmer mit der Rolle des Teilnehmers.
P.S. D.h. im Wesentlichen - wenn die Veröffentlichungen der Autoren keine Resonanz bei den Teilnehmern der mql-Gemeinschaft in Form von Personen finden, die Miteigentümer des Projekts werden und es weiterentwickeln wollen, dann ist diese Bibliothek für die Gemeinschaft nicht interessant und ihre Entwicklung durch Artikel ist nicht finanzierungspflichtig. Sollen die Autoren sie doch in der Codebase veröffentlichen, und das war's.
10 .Verknüpfung mit der MQ-Messaging-Funktionalität
Anwendungsfall 1: Nachdem Sie Teilnehmer versammelt haben, müssen Sie eine Diskussion organisieren, die jetzt meistens in Telegram oder WhatsApp stattfindet, d. h. außerhalb des MQL5-Ökosystems.com
So beseitigen Sie diesen Nachteil: Erstellen Sie in den Projekteinstellungen ein Kontrollkästchen, um einen geschlossenen Kanal im MQ-Kommunikationssystem zu öffnen, der mit dem Projekt verbunden ist und zu dem die Projektteilnehmer automatisch hinzugefügt werden.
Ohne die Beseitigung der oben genannten Nachteile ist jede Aufregung wie dieser Artikel nur leere Phrasen. Sie werden weder zur Popularität der aktuellen Funktionalität der Projekte noch zur Monetarisierung von MQ führen.
Was jetzt im Rahmen von MQL-Projekten getan wird, kann nur als ein erster, grundlegender Schritt betrachtet werden.
Um die Funktionalität von MQL-Projekten auf ein neues Niveau der Integration in das MQL5.com-Ökosystem zu bringen, müssen die oben genannten Mängel beseitigt werden.