Ich bin völlig verloren - Seite 2

 
zortharg: Ich habe niemanden gebeten, etwas von kommerziellem Wert für mich zu produzieren. Ich verlange auch nicht, dass jemand "meine Methode FÜR michprogrammiert ", WHRoeder. Ich brauche nur einen Anfangspunkt.
  1. Es hörte sich so an, als würdest du das tun.
    zortharg: Ich habe gefragt, ob jemand eine schreiben würde.
  2. Ich habe Ihnen drei Links für den Anfang gegeben: Lernen Sie zu programmieren - viele Ansatzpunkte.
 
zortharg:

Ich habe niemanden gebeten, etwas von kommerziellem Wert für mich zu produzieren. Ich verlange nicht, dass jemand "meine Methode FÜR mich programmiert", WHRoeder. Ich brauche nur einen Ansatzpunkt. Vielleicht kann ich aus dem Link, den Sie unter "Suche" angegeben haben, etwas herausfinden, aber ich hätte wirklich gerne ein einfaches "das ist es, was benötigt wird". Ich weiß nicht, wie das Programm eigentlich aussehen sollte. Ich weiß nicht, was unbedingt notwendig ist, um es zu erstellen. Wenn ich versuche, es selbst zu machen, ohne einen Anhaltspunkt zu haben, werde ich nur Compilerfehler bekommen, weil ich nicht einmal weiß, was fehlt.


Schauen Sie hier
 

Ich stehe kurz davor, die Teile zusammenzusetzen. Aber ich bin noch nicht ganz am Ziel. Es gibt Dinge, die keinen Sinn ergeben. Zum Beispiel:

https://docs.mql4.com/array/ArrayCopySeries

Das ergibt keinen Sinn. Was ist, wenn das Array, das ich deklariert habe, nicht die gleiche Größe hat? Das ist im Grunde garantiert NICHT der Fall. Ich möchte nicht über das Ende des Arrays hinausgehen, so dass ich das Array als größer deklarieren kann, als ich DENKE, dass es jemals sein wird, aber was ist, wenn es jemals größer ist? Und was ist, wenn es kleiner ist? Wenn "array" mehr Einträge hat als die Währungsdaten, werden dann die verbleibenden mit 0 gefüllt? Und was passiert bei doppelt indizierten Arrays? Nehmen wir zum Beispiel an, ich deklariere das Array mit der Größe [16384][6] und die Daten, die ich in [0:16383,0] kopieren möchte, haben die Länge 3000. Wie würde ich das tun? Müsste ich eine weitere Array-Variable auf die Währungsdaten setzen, die eine einfach indizierte Variable wäre (nur mit der Größe 16384, nicht mit der Größe 16384 x 6), und dann würden die ersten 3000 Einträge mit den Währungsdaten und die Einträge 3000 bis 16383 mit 0 geschrieben werden, und dann liegt es an mir, den Inhalt der temporären Variablen in das Array der Größe [16384][6] zu verschieben? Das ist das Rätsel, vor dem ich im Moment stehe.

 
zortharg:

Ich stehe kurz davor, die Teile zusammenzufügen. Aber ich bin noch nicht ganz am Ziel. Es gibt Dinge, die keinen Sinn ergeben. Zum Beispiel:

https://docs.mql4.com/array/ArrayCopySeries

Das macht keinen Sinn. Was ist, wenn das von mir deklarierte Array nicht die gleiche Größe hat? Das ist im Grunde garantiert NICHT der Fall. Ich möchte nicht über das Ende des Arrays hinausgehen, so dass ich das Array größer deklarieren kann, als ich DENKE, dass es jemals sein wird, aber was ist, wenn es jemals größer ist? Und was ist, wenn es kleiner ist? Wenn "array" mehr Einträge hat als die Währungsdaten, werden dann die verbleibenden mit 0 gefüllt? Und was passiert bei doppelt indizierten Arrays? Nehmen wir zum Beispiel an, ich deklariere das Array mit der Größe [16384][6] und die Daten, die ich in [0:16383,0] kopieren möchte, haben die Länge 3000. Wie würde ich das tun? Müsste ich eine weitere Array-Variable auf die Währungsdaten setzen, die eine einfach indizierte Variable wäre (nur mit der Größe 16384, nicht mit der Größe 16384 x 6), und dann würden die ersten 3000 Einträge mit den Währungsdaten und die Einträge 3000 bis 16383 mit 0 geschrieben werden, und dann liegt es an mir, den Inhalt der temporären Variablen in das Array der Größe [16384][6] zu verschieben? Das ist das Rätsel, vor dem ich im Moment stehe.

Ich denke, Sie sollten die Docs noch einmal lesen. Dort steht, und ich zitiere: "Es gibtkeine wirkliche Speicherzuweisung für das Datenarray und es wird nichts kopiert."

Es wird nur eine Referenz gesetzt, so dass Sie die Größe des Ziel-Arrays nicht festlegen müssen. Sie deklarieren es einfach. Schauen Sie sich noch einmal das Beispiel in den Dokumenten an. Es gibt keine Größe in der Deklaration.

datetime daytimes[];
ArrayCopySeries(daytimes,MODE_TIME,Symbol(),PERIOD_D1);
 

Ich muss also die historischen Kurse einzeln mit iclose herunterladen? https://docs.mql4.com/series/iClose Das Problem dabei ist, dass sich die Daten aktualisieren können, während ich gerade dabei bin, sie herunterzuladen. Es wäre sehr schön, wenn man das Ganze als Block herunterladen könnte. Ich vermute, ich kann die Zeit mit iTime herunterladen und DANN iclose verwenden und DANN iTime wieder auf dem gleichen Index verwenden und wenn es sich geändert hat, dann hat es ein neues Taktzeitintervall begonnen und ich muss eine Indexnummer zurückgehen. Verstehe ich das richtig oder gibt es etwas, das ich nicht verstehe?

 

Ich glaube, wir sprechen nicht die gleiche Sprache. Zuerst fragen Sie nach der Funktion ArrayCopySeries, jetzt wollen Sie alle Daten über iClose herunterladen.

Es ist nicht nötig, alle Daten herunterzuladen - sie stehen Ihnen immer zur Verfügung, wann immer Sie sie brauchen.

Was versuchen Sie zu tun?

Warum müssen Sie alle Daten in einem Array in ein anderes Array kopieren, wenn Sie bereits vom ersten Array aus vollständig darauf zugreifen können?

Versuchen Sie, die Informationen an eine externe DLL zur Verarbeitung weiterzugeben? Wenn ja, dann sollten Sie die Funktion "CopyRates" verwenden - https://www.mql5.com/en/docs/series/copyrates

In allen anderen Fällen müssen Sie nicht alle Daten herunterladen. Sie sind bereits über die normalen Methoden zugänglich.

 

Ich habe beschlossen, Ihren ersten Beitrag noch einmal im Detail zu lesen, um zu sehen, was Sie zu erreichen versuchen, und stellte fest, dass Sie es völlig falsch angehen.

Sie müssen nicht all diese Daten in den Arbeitsspeicher herunterladen, wie Sie es erklärt haben. Das hat die MetaTrader-Umgebung bereits für Sie getan. Alles, was Sie tun müssen, ist, auf normale Weise darauf zuzugreifen.

Ich schlage vor, dass Sie sich die vielen Beispiel-EAs hier auf der Website in der Codebase oder das Einführungsbuch zur MQL4-Programmierung, ebenfalls hier auf dieser Website, ansehen.

Lesen Sie auch die verschiedenen Artikel, die erklären, wie man an das Schreiben eines EA herangehen kann:

Auf diese Weise können Sie lernen, wie es gemacht wird, anstatt zu versuchen, "das Rad neu zu erfinden".

 

Niemand hat mir einen CLUE gegeben, wie man etwas zu tun, sie sagen mir, um es herauszufinden, für mich oder jemand anderes zu bezahlen, es zu tun, lesen Sie die ersten paar Beiträge dieses Threads und Sie werden sehen, dass. Die Dreistigkeit der Leute in diesem Forum! Sie weigern sich, mir etwas zu sagen, und dann machen sie sich über mich lustig, weil ich die "normalen Methoden" noch nicht kenne. Oh DO TELL! Aber das klingt verdächtig nicht gerade ideal. Was ich versuche, ist, die Daten des Devisenmarktes in den Arbeitsspeicher meines Computers herunterzuladen, Berechnungen damit durchzuführen und meinen Computer dann Kauf- und Verkaufsaufträge für den Handel auf dem Devisenmarkt hochladen zu lassen. Das ist es, was ich tun möchte. Wenn es nicht mein Computer ist, der die Berechnungen durchführt, was würde dann die Berechnungen überhaupt durchführen? Ein entfernter Computer? Ich kann nicht jedes Mal, wenn ich auf einen historischen Kurs zugreifen möchte, Daten über das Internet senden und empfangen. Wenn ich im Laufe der Berechnungen 1000 Mal auf diesen Kurs zugreifen möchte, würde die Zeit, die für den Zugriff benötigt wird, die Berechnungen um einen Faktor von Tausenden oder Millionen verlangsamen. Das ist ein Grund, warum es in der Computerarchitektur RAM gibt, Lese- und Schreibvorgänge auf der Festplatte dauern viel länger. Ich muss die Daten in einem Array auf meinem Computer speichern, denn jedes Mal, wenn ich auf eine bestimmte Information zugreifen möchte, ist eine Anfrage über das Internet erforderlich.

Welche Vorstellung haben Sie davon, was ein Handelsroboter tun soll?

 
zortharg:

Niemand hat mir einen KLAREN Hinweis gegeben, wie ich etwas zu tun habe, sie sagen mir, ich solle es selbst herausfinden oder jemand anderen dafür bezahlen, lesen Sie die ersten paar Beiträge dieses Threads und Sie werden das sehen. Die Dreistigkeit der Leute in diesem Forum! Sie weigern sich, mir etwas zu sagen, und dann machen sie sich über mich lustig, weil ich die "normalen Methoden" noch nicht kenne. Oh DO TELL! Aber das klingt verdächtig nicht gerade ideal. Was ich versuche, ist, die Daten des Devisenmarktes in den Arbeitsspeicher meines Computers herunterzuladen, Berechnungen damit durchzuführen und meinen Computer dann Kauf- und Verkaufsaufträge für den Handel auf dem Devisenmarkt hochladen zu lassen. Das ist es, was ich tun möchte. Wenn es nicht mein Computer ist, der die Berechnungen durchführt, was würde dann die Berechnungen überhaupt durchführen? Ein entfernter Computer? Ich kann nicht jedes Mal, wenn ich auf einen historischen Kurs zugreifen möchte, Daten über das Internet senden und empfangen. Wenn ich im Laufe der Berechnungen 1000 Mal auf diesen Kurs zugreifen möchte, würde die Zeit, die für den Zugriff benötigt wird, die Berechnungen um einen Faktor von Tausenden oder Millionen verlangsamen. Das ist ein Grund, warum es in der Computerarchitektur RAM gibt, Lese- und Schreibvorgänge auf der Festplatte dauern viel länger. Ich muss die Daten in einem Array auf meinem Computer speichern, denn jedes Mal, wenn ich auf eine bestimmte Information zugreifen möchte, ist eine Anfrage über das Internet erforderlich.

Welche Vorstellung haben Sie davon, was ein Handelsroboter tun soll?

So funktioniert die MetaTrader- und MQL-Umgebung nicht! Wie ich schon sagte! Laden Sie die Daten nicht erneut in den Arbeitsspeicher herunter, denn das ist bereits für Sie erledigt worden. Hören Sie auf zu versuchen, uns beizubringen, wie man in MQL4 programmiert. Sie sind derjenige, der seine vorgefassten Meinungen darüber, wie der Code zu schreiben ist, beiseite legen und zuerst lernen muss, welche Werkzeuge und welche Umgebung Ihnen zur Verfügung stehen.

Wenn Sie nicht wollen, dass man Sie ausschimpft, dann seien Sie nicht faul und lesen Sie die Dokumentation (von Anfang bis Ende). Auf dieser Website finden Sie viele Links zu Dokumentationen und Codebeispielen.

Als ich anfing, bat ich nicht um Hilfe, ohne mich vorher mit der Umgebung vertraut gemacht zu haben. Ich habe mir die Zeit genommen, das Buch, die Dokumentation und die vielen, vielen, vielen Beispiele auf dieser Website zu lesen und zu lernen, wie man es macht.

Sie sind kein Baby und müssen nicht mit dem Löffel gefüttert werden. Lernen Sie, indem Sie die völlig KOSTENLOSE Dokumentation hier und auf vielen anderen Seiten lesen. Sie können sich sogar Bücher darüber kaufen, wie man einen EA in MQL4 oder MQL5 schreibt (zum Beispiel Expert Advisor Programming von Andrew R. Young).

Wenn Sie jedoch einen Lehrer suchen, dann ist das etwas anderes. Normalerweise zahlen Sie für die Dienste eines "persönlichen Trainers". Sind Sie bereit, dafür zu bezahlen? Ich bin sicher, dass viele eine solche Anfrage in der Rubrik Jobs(https://www.mql5.com/en/job) akzeptieren würden.

Der allererste, der hier einen Kommentar für Sie abgegeben hat, war "ubzen", und das allererste, was er tat, war, Ihnen zu empfehlen, zunächst das "Einführungsbuch" und die "Referenzdokumentation" zu lesen, da Sie behaupteten, Sie seien bereits ein guter Programmierer in anderen Sprachen. EIN SEHR GUTER RAT!

Und noch etwas: Hätten Sie Ihre kleinen grauen Zellen benutzt und eine Suche hier im Artikelbereich durchgeführt, hätten Sie diesen sehr alten, aber immer noch gültigen Artikel gefunden:

Also, hören Sie auf, sich zu beschweren und faul zu sein, und machen Sie Ihren "Research"-Teil von R&D. Damit sind Sie doch vertraut, oder?

 
zortharg:

Niemand hat mir einen WUNSCH gegeben, wie ich etwas tun soll, sie sagen mir, ich solle es selbst herausfinden oder jemand anderen dafür bezahlen, lesen Sie die ersten paar Beiträge dieses Threads und Sie werden das sehen. Die Dreistigkeit der Leute in diesem Forum! Sie weigern sich, mir etwas zu sagen, und dann machen sie sich über mich lustig, weil ich die "normalen Methoden" noch nicht kenne. Oh DO TELL! Aber das klingt verdächtig nicht gerade ideal.

Warum sollten sie dir helfen ? wie kommst du darauf, dass sie dir gegenüber irgendeine Verpflichtung haben ? sie sind doch nur User wie du . . wem haben Sie in diesem Forum geholfen ?