Fehler, Irrtümer, Fragen - Seite 1937

 
Renat Fatkhullin:
Es tut mir leid, aber ich habe absolut keine Zeit, mich damit zu beschäftigen, jedem einzelnen Anfänger das Programmieren beizubringen. Vor allem, wenn man sieht, dass die Person noch nicht einmal die Grundlagen des Programmierens verstanden hat und triviale Dinge fragt.


Aber ich werde Ihnen die Richtung zeigen:

  1. MQL5-Dokumentation
  2. Codebase
  3. Artikel
  4. Forum (nicht im "Schreib für mich, warum unterrichtest du mich nicht und machst meinen Job?"-Modus)
  5. Freelance (hier können sie es richtig schreiben)
  6. Unabhängige Arbeit mit durchdachter Analyse: "Warum sollte dieser Wrapper langsamer werden und Ressourcen verschwenden, vielleicht optimal umgeschrieben werden?"
  7. Verwendung eines Profilers, der den tatsächlichen Ressourcenverbrauch in jeder Codezeile anzeigt

Danke Renat!

Ich habe mich nicht in Ihnen getäuscht!

Ich schlage vor, das Recht zu erhalten, ME herunterzuladen und mit Ihnen zu kommunizieren, im Wesentlichen durch die LC ein Diplom der höheren Bildung im Bereich der "Programmierer" bieten.

 
Alexey Viktorov:

Ich habe keine Lust, auf diese Weise zu kommunizieren. Anstatt zu versuchen zu verstehen, was gesagt wird, um herauszufinden, was passieren wird, werden unglaubliche Einwände erhoben.

Warum phantasieren Sie? Ich habe Ihre Idee verstanden und bestätigt, dass sie funktioniert, und sie wird einen Effekt haben, wenn die Anfrage nur einmal erfolgt und wenn Sie wissen, wie viele Balken für den EA benötigt werden, um zu funktionieren.

Oder haben Sie vorgeschlagen, die Struktur anders zu verwenden? Dann erklären Sie es bitte, und seien Sie nicht beleidigt!

 
Aleksey Vyazmikin:

Ich schlage vor, dass, um das Recht zu erhalten, ME herunterladen und kommunizieren mit Ihnen im Wesentlichen ein Diplom der Hochschulbildung im Bereich der "Programmierer" durch die LC bieten.

Heh... Ein Universitätsabschluss ist keine Garantie für irgendetwas.

Grundsätzlich kann ich Ihnen diese Variante anbieten (ich habe die Korrektheit des Codes nicht überprüft, nur für Tester, aktuelles Symbol, aktueller Zeitraum):

double iClose(int index)
  {
   double arr[ 1 ];
   return( ( CopyClose(_Symbol,_Period,index,1,arr) == 1 )? arr[ 0 ] : WRONG_VALUE );
  }

Die übrigen Funktionen können Sie analog ausführen.

 
Renat Fatkhullin:
Es tut mir leid, aber ich habe absolut keine Zeit, jedem einzelnen Anfänger das Programmieren beizubringen. Vor allem, wenn man sieht, dass die Person noch nicht einmal die Grundlagen des Programmierens verstanden hat und triviale Dinge fragt.


Aber ich werde Ihnen die Richtung zeigen:

  1. MQL5-Dokumentation
  2. Codebase
  3. Artikel
  4. Forum (nicht im Sinne von "schreibe für mich, warum unterrichtest du mich nicht und machst meine Arbeit")
  5. Freelance (hier können sie es richtig schreiben)
  6. Unabhängige Arbeit mit durchdachter Analyse: "Warum sollte dieser Wrapper langsamer werden und Ressourcen verschwenden, vielleicht optimal umgeschrieben werden?"
  7. Verwendung eines Profilers, der den tatsächlichen Ressourcenverbrauch in jeder Codezeile anzeigt

Warum starten wir nicht einen Thread über die besten (effizientesten) Praktiken der Programmierung direkt auf MT5? So gab es zum Beispiel einen Zweig zur Realisierung von iBarShift. Auch andere Nuancen können gemeinsam verbessert werden. Die Leute wollen im Allgemeinen nicht programmieren lernen, sondern schnell und bequem einen Expert Advisor erstellen - sorry, aber so ist es nun mal. Und der Experte sollte natürlich nicht langsamer werden oder abstürzen. Es wäre toll, wenn man sie wie fertige Ziegelsteine "richtig" zusammensetzen könnte. Denn es gibt überall jede Menge Anleitungen zum Nichtstun. Und es ist nicht immer offensichtlich, was das "Falsche" ist. Wie wäre es mit "der richtige Weg"?

Die Dokumentation ist in vielerlei Hinsicht ziemlich minimalistisch.

Die Codebase ist ein großer Haufen, den man tagelang bewusst und intelligent durchwühlen muss, um den richtigen Code zu finden.

Artikel - in der Regel die Autoren und hochspezialisierte, mehr in den Handel als die Programmierung (doch die Richtung der Ressource muss berücksichtigt werden), und diejenigen, die über die Programmierung sind - meist über die Gimmicks.

Hier befindet sich das Forum. Sie stellen hier Fragen und wir schicken sie an... auch hier.

Die Freiberuflichkeit ist keine Garantie für beste Praktiken oder Ausbildung.

Selbstständige Tätigkeit, auch mit einem Profiler - natürlich vorhanden, aber nicht genug Zeit für alles. Etwas, das ich in Form von vorgefertigten Bausteinen nehmen möchte.

 
Aleksey Vyazmikin:

Ich schlage vor, dass Sie, um ME herunterladen und mit Ihnen über die Vorzüge kommunizieren zu dürfen, einen Abschluss in Programmierung über das LC vorlegen sollten.

Man braucht kein Diplom, um zu kommunizieren, aber man braucht eines, um zu sagen: "Und wo ist die gelobte Geschwindigkeit von MT5?".

Man hat Sie mehrfach auf Ihre Fehler hingewiesen, aber stattdessen fahren Sie fort, die Linie des "Ich habe ein Recht darauf, es nicht zu wissen, lehren Sie mich sieben!" zu beugen.
 
Alexey Kozitsyn:

Heh... Ein Universitätsabschluss ist keine Garantie für irgendetwas.

Grundsätzlich kann ich Ihnen diese Variante anbieten (ich habe die Korrektheit des Codes nicht überprüft, nur für Tester, aktuelles Symbol, aktueller Zeitraum):

Die anderen Funktionen können Sie in Analogie dazu ausführen.

Ich danke Ihnen! Ich werde versuchen, mich an Ihr Rezept zu halten.

Was das Diplom betrifft, so stimme ich zu, aber es gibt Branchen, in denen man ohne es nicht arbeiten kann - zum Beispiel, um als Vertreter für CAS-Fälle vor Gericht aufzutreten. Auf diese Weise können die Entwickler jedoch keine Zeit mit Händlern verschwenden, sondern die Aufmerksamkeit auf die Programmierer lenken und als Produkt eine höhere Position in der Rangliste der Programmiersprachen einnehmen.

 
Stanislav Korotky:

Warum starten wir nicht einen Thread über die besten (effektivsten) Praktiken bei der Programmierung direkt für MT5? So gab es zum Beispiel einen Zweig zur Implementierung von iBarShift. Auch andere Nuancen können gemeinsam verbessert werden. Die Leute wollen im Allgemeinen nicht programmieren lernen, sondern schnell und bequem einen Expert Advisor erstellen - sorry, aber so ist es nun mal. Und der Experte sollte natürlich nicht langsamer werden oder abstürzen. Wenn man sie wie fertige Ziegelsteine "richtig" zusammensetzen könnte, wäre das großartig. Denn es gibt allerlei, was nicht in Ordnung ist, überall. Und es ist nicht immer offensichtlich, was das "Falsche" ist. Wie wäre es mit "der richtige Weg"?

Die Dokumentation ist in vielerlei Hinsicht ziemlich minimalistisch.

Die Codebase ist ein großer Haufen, den man tagelang bewusst und intelligent durchwühlen muss, um den richtigen Code zu finden.

Artikel - in der Regel die Autoren und hochspezialisierte, mehr in den Handel als die Programmierung (doch die Richtung der Ressource muss berücksichtigt werden), und diejenigen, die über die Programmierung sind - meist über die Gimmicks.

Hier befindet sich das Forum. Sie stellen hier Fragen und wir schicken sie an... auch hier.

Die Freiberuflichkeit ist keine Garantie für beste Praktiken oder Ausbildung.

Selbstständige Tätigkeit, auch mit einem Profiler - natürlich vorhanden, aber nicht genug Zeit für alles. Einige Dinge möchte ich in Form von fertigen Ziegelsteinen mitnehmen.

Ich stimme Ihnen vollkommen zu!

Ich werde zurechtgewiesen, weil ich es "falsch" mache, und an den Ort geschickt, an dem ich es gelernt habe...

 
Renat Fatkhullin:

Man braucht kein Diplom, um sich mitzuteilen, aber man braucht eines, um zu sagen: "Und wo bleibt die gelobte Geschwindigkeit von MT5?".

Man hat Sie mehrfach auf Ihre Fehler hingewiesen, aber stattdessen biegen Sie immer wieder die Linie des "Ich habe das Recht, es nicht zu wissen, bringen Sie mir sieben bei!".

Die Emotionen wurden nicht gelöscht - ich habe sie gemeldet, in der Hoffnung auf Hilfe!

Ich will mich irren, ich bin bereit, den Code zu ändern, aber ich will glauben, dass nicht alles umsonst sein wird!

Ich stimme nicht mit Ihnen überein, dass ich behaupte: "Ich habe ein Recht darauf, nichts zu wissen, lehren Sie mich sieben!" - in Bezug auf die Lehrverpflichtung - ich persönlich habe von Ihnen als Experte Hilfe und konkrete Ratschläge erwartet, wie die Dinge zu tun sind.

Jeder Autor der Methode, die ich betrachten und versuchen, die aus diesem Thread folgt und für die sie "Danke!".


 
Aleksey Vyazmikin:

Sie wurden bereits zu einer fertigen Lösung beraten -https://www.mql5.com/ru/code/18305

Je nach Ihren Anforderungen:

Ich habe Schleifen in meinem Code, der Umfang der Berechnungen ist möglicherweise nicht im Voraus bekannt.

Ich habe Zyklen in meinem Code und der Umfang der Berechnungen ist möglicherweise unbekannt.

Высокопроизводительная библиотека iTimeSeries
Высокопроизводительная библиотека iTimeSeries
  • Stimmen: 20
  • 2017.05.25
  • nicholishen
  • www.mql5.com
Эта библиотека предоставляет молниеносный доступ к таймсериям для реализации привычных методов MQL4 (например, iBarShift) в чувствительных к задержкам приложениях на MQL5.
 
Alexey Kozitsyn:

Grundsätzlich kann ich Ihnen diese Variante anbieten (ich habe die Korrektheit des Codes nicht geprüft, nur für den Tester, aktuelles Symbol, aktueller Zeitraum):

Sie können andere Funktionen in Analogie dazu ausführen.

Versuchen Sie Ihre Variante - innerhalb der Fehlermarge ändern

War:
2017.07.21 17:23:20.046 Core 1 Si-9.17,M1: 107509 Ticks, 35385 Balken erzeugt. Die Umgebung wurde um 0:00:00.032 synchronisiert. Test bestanden in 0:02:52.037 (einschließlich Ticks Vorverarbeitung 0:00:00.031).
2017.07.21 17:23:20.046 Core 1 Si-9.17,M1: Gesamtzeit von der Anmeldung bis zum Beenden des Tests 0:02:52.069 (einschließlich 0:00:00.032 für die Synchronisierung der Verlaufsdaten)
2017.07.21 17:23:20.046 Core 1 351 Mb Speicher verwendet, davon 32 Mb History-Daten, 64 Mb Tick-Daten

Wurde mit Ihrem Code
2017.07.21 17:27:37.393 Core 1 Si-9.17,M1: 107509 Ticks, 35385 Balken erzeugt. Die Umgebung wurde um 0:00:00.031 synchronisiert. Test bestanden in 0:02:58.013 (einschließlich Ticks Vorverarbeitung 0:00:00.031).
2017.07.21 17:27:37.393 Core 1 Si-9.17,M1: Gesamtzeit von der Anmeldung bis zum Beenden des Tests 0:02:58.044 (einschließlich 0:00:00.031 für die Synchronisierung der Verlaufsdaten)
2017.07.21 17:27:37.393 Core 1 352 Mb Speicher verwendet, davon 32 Mb History-Daten, 64 Mb Tick-Daten

MT4
2017.07.21 17:27:57.070 RUBRUR,M1: 225314 Tick-Ereignisse (35701 Takte, 231783 Taktzustände) verarbeitet in 0:00:04.306 (Gesamtzeit 0:00:11.357)