Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1209

 
Oleg:

Liebe Kolleginnen und Kollegen, bitte teilen Sie uns mit, warum der Ton aufhört zu spielen, wenn die gewünschte Kerzenlautstärke erreicht ist.

Die Tondatei befindet sich im Ordner SOUNDS. Wenn ich den Alarm einstelle, wird die Datei normal abgespielt, aber der Indikator gibt keinen Ton von sich.

Oder brauchen Sie einen speziellen Ordner mit Sounds für Indikatoren?


/---- Die Hauptschleife der Indikatorberechnung

for(bar=limit; bar>=0 && !IsStopped(); bar--)
{
Range=(high[bar]-low[bar])/_Point;
IndBuffer[bar]=Range;

if(Range<5)
{
if (prev_calculated > 0 && Flag==0)
{
Flag=1;
}
}
if(Bereich>=Schwellenwert){
clr=0;
if (prev_calculated > 0 && Flag==1 )
{
Flag=0;

PlaySound("zummer");


}
}

for(bar=limit; bar>=0 && !IsStopped(); bar--)
{
  Range=(high[bar]-low[bar])/_Point;
  IndBuffer[bar]=Range;

  if(Range<5)
  {
    if (prev_calculated > 0 && Flag==0)
    {
      Flag=1;
    }
  }

  if(Range>=Threshold) {
    clr=0;
    if (prev_calculated > 0 && Flag==1 )
    {
      Flag=0;
      ResetLastError();
      PlaySound("zummer");
      Print(__FUNCTION__, " Error #", GetLastError());
    }
  }
}



Und posten Sie hier, welchen Fehler er ausgibt.

 
Иван:
Hallo. Frage: Wie berechnet der Tester die Ergebnisse für geschlossene Positionen in MT4, wenn mit Crosses (Paare ohne $) im Tester gearbeitet wird, wenn das Konto, auf dem die Tests durchgeführt werden, ein Dollarkonto ist? Nimmt der Prüfer für die Neuberechnung der Positionssummen in Dollar den Wechselkurs der Basiswährung des Kreuzes zum Dollar zum aktuellen Zeitpunkt oder zum Zeitpunkt des geprüften Intervalls? Ich habe den starken Verdacht, dass dies zum jetzigen Zeitpunkt der Fall ist. Wenn ja, ist es dann nicht möglich, sie zum Zeitpunkt des Intervalls zählen zu lassen?

Taras Slobodyanik:

Lesen Sie den MODE_TICKVALUE für jeden Tick selbst.

Nun, sagen wir, es zählt. Aber wie kann der Prüfer "aufgefordert" werden, in der Ergebnistabelle den von mir berechneten Wert und nicht seine gebogene Berechnung anzuzeigen?
 
Mihail Matkovskij:

Sehen Sie sich das Beispielhttps://www.mql5.com/ru/forum/160683/page1208#comment_17279150 genau an. Sie finden dort nichts...?

Dies ist die Funktion:

Sie sollten ein wenig vorsichtiger sein!

Vielleicht haben wir uns nicht verstanden, oder ich habe meine Frage nicht richtig formuliert, aber.... ich habe mir die Liste aller Funktionen in der MQL4-Referenz und in der MQL5-Referenz genau angesehen

Ich habe die Funktion nicht gefunden

searshValue(double & array2D[2][], const int _len, const int _index, const double _value)

Ich habe keine gefunden. Ich habe mir das Beispiel in Ihrem Link angesehen. Ich habe den Code mit unbekannter Funktion gesehen. Aber ich habe keine Antwort auf meine Frage gefunden, aus welcher Sprache diese Funktion stammt. Wenn es in MQL4 undMQL5 wäre, würde es in der Liste der Funktionen in den jeweiligen Verzeichnissen stehen, denke ich.

Und dann nahm ich an, dass es sich um eine benutzerdefinierte Funktion handelt. Aber in Kovalevs Artikel steht, dass die Berechnungen der benutzerdefinierten Funktion außerhalb der unteren Grenzen von start()
durchgeführt werden. Und ich habe auch gelesen, dass man beim Schreiben von Code in MT Funktionen aus anderen Sprachen verwenden kann, nicht nur MQL4 und MQL5 .

Variablen mit der Kennung CONST werden als Parameter dieser Funktion aufgeführt. Ich bin inMQL4 noch nie darauf gestoßenund es hat mich auch verwirrt.
Ich weiß, dass sich Ihre Programmierkenntnisse um viele Größenordnungen von meinen unterscheiden. Ich stehe erst am Anfang des Verstehens. Ich bitte Sie, mich nicht streng zu beurteilen und Nachsicht mit mir zu üben, wenn ich langsam bin und dumme Fragen stelle. Ich wäre Ihnen dankbar, wenn Sie mir einige Links zu Informationen schicken könnten, die ich brauche, oder mir sagen, wo ich sie lesen kann.

Eine weitere Sache.... Ich habe einen neuen EA erstellt, den ersten Code kopiert, den Sie mir geschickt haben, und den Code ohne Fehler kompiliert. Ich habe keine Änderungen daran vorgenommen ... Ich war sehr überrascht, dass die Print()-Funktion im Hauptbuch fehlte, nachdem ich den EA im Testprogramm ausgeführt hatte. Sie wurde in unserem EA zwar schon oft ausgeführt.
Nochmals vielen Dank für die informative Unterstützung und die wertvollen Informationen.

 
ANDREY:

Vielleicht haben wir uns nicht verstanden, oder ich habe die Frage nicht richtig formuliert, aber.... ich habe mir die Liste aller Funktionen im Handbuch genau angesehen.. .

Andrey, denke nicht, dass ich dich hart verurteile. Wenn Sie nicht wissen, woher eine Funktion kommt, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Nach Alt+G Definition verschieben". Und es muss Ihnen nicht peinlich sein, wenn Sie etwas nicht wissen. Das ist normal.

Wie man das Programmieren lernt. Dazu müssen Sie die Frage beantworten: Wozu dient es? Wenn es um die Erstellung von Handelsrobotern und technischen Analyseprogrammen geht, gibt es nur relevante Beispiele, Lektionen und Artikel in MQL. Vielleicht sogar Bücher. Aber als ichmich mit MQL vertraut gemacht habe, habe ich es ganz gut gelernt, also habe ich keine Bücher gelesen, sondern nur die Dokumentation. Ich rate Ihnen, zunächst zu verstehen, was das Programm ist. Beginnen Sie dazu mit dem Studium des MQL-Ereignismodells: https://docs.mql4.com/ru/basis/function/events. Dies ist ein Basismodell. Wenn Sie es beherrschen, können Sie leicht weitergehen. Vielleicht hilft Ihnen das hier: Getting Started with MQL5: Writing a Simple Expert Advisor and Indicator(ich habe die Suchmaschine benutzt). Mehr:Die Grundlagen der Sprache. Insbesondere:Funktionsaufruf undParameterübergabe(wo Sie Fragen haben). Wenn Sie während des Studiums Fragen haben (und die wird es geben), können Sie die Google-Suche oder YouTube nutzen. Oder stellen Sie hier Fragen.Idealerweise wäre es gut, C++ zu lernen. Wenn Sie etwas über Syntax googeln, können Sie auch "C++" hinzufügen.

Функции обработки событий - Функции - Основы языка - Справочник MQL4
Функции обработки событий - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
В языке MQL4 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL4: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
 
Mihail Matkovskij:

Andrej, glaube nicht, dass ich dich zu hart verurteile. Wenn Sie nicht wissen, woher diese oder jene Funktion stammt, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Gehe zu Alt+G Definition". Und es muss Ihnen nicht peinlich sein, wenn Sie etwas nicht wissen. Das ist normal.

Wie man das Programmieren lernt. Dazu müssen Sie die Frage beantworten: Wozu dient es? Wenn es um die Erstellung von Handelsrobotern und technischen Analyseprogrammen geht, gibt es nur relevante Beispiele, Lektionen und Artikel in MQL. Vielleicht sogar Bücher. Aber als ichmich mit MQL vertraut gemacht habe, habe ich es ganz gut gelernt, also habe ich keine Bücher gelesen, sondern nur die Dokumentation. Ich rate Ihnen, zunächst zu verstehen, was das Programm ist. Beginnen Sie dazu mit dem Studium des MQL-Ereignismodells: https://docs.mql4.com/ru/basis/function/events. Dies ist ein Basismodell. Wenn Sie sie beherrschen, können Sie problemlos weiterarbeiten. Vielleicht hilft Ihnen das hier: Getting Started with MQL5: Writing a Simple Expert Advisor and Indicator(ich habe die Suchmaschine benutzt). Mehr:Die Grundlagen der Sprache. Insbesondere:Funktionsaufruf undParameterübergabe(wo Sie Fragen haben). Wenn Sie während des Studiums Fragen haben (und die wird es geben), können Sie die Google-Suche oder YouTube nutzen.Im Idealfall wäre es gut, C++ zu lernen. Wenn Sie etwas über Syntax googeln, können Sie auch "C++" hinzufügen.

Vielen Dank für die Ratschläge und Hinweise. Für mich begann alles, als ich vor einigen Jahren einen kostenlosen Forex-Kurs bei Teletrade in Moskau besuchte, weil ich nichts zu tun hatte und mein Geld irgendwo anlegen wollte. Aber nachdem ich den Kurs abgeschlossen hatte, wurde mir sofort klar, dass man bei unüberlegtem Handel garantiert Geld verliert... auch trotz gelegentlicher Siege. Deshalb habe ich mir fest vorgenommen, erst dann mit meinem eigenen Geld zu spielen, wenn ich ein System habe, und vor meinem Abschluss besaß ich nicht einmal einen PC. Ich bin keine Mathematikerin. Seit ich einen Computer gekauft und gelernt habe, damit zu spielen, kann ich mich nicht mehr von meinem Computer und MT4 trennen. Ich beobachte mich selbst und kann nicht verstehen, woher dieses unwiderstehliche und irrationale Verlangen kommt. Ich glaube nicht, dass es nur am Geld liegt. Ich habe kein Problem mit Geld. Ich arbeite nicht, und ich habe alle Zeit der Welt. Und ich brauche etwas, das mich beschäftigt, damit es sich nicht zu lange hinzieht. Ich habe festgestellt, dass die Zeit beim Studium von Forex und Programmierung schnell und unmerklich vergeht. Nach Abschluss des Kurses habe ich lange gebraucht, um den Computer zu beherrschen, und gleichzeitig habe ich auf MT-Charts gestarrt und versucht zu verstehen, wie und warum sich der Preis in die eine oder andere Richtung bewegt. Man kann sagen, dass mich das Horoskop fasziniert und verzaubert hat, und es hat eine starke Dominanz in meinem Gehirn erzeugt. Als ich meine Kenntnisse über den Computer, das Internet und den Devisenhandel vertiefte, erfuhr ich vom algorithmischen Handel und beschloss, mich darüber zu informieren. Und es hat mich so in seinen Bann gezogen, dass ich mit Hilfe von Kovalevs Tutorial sogar ein wenig programmieren gelernt habe. Je mehr ich den Stoff des Buches verstand und versuchte, ihn beim Programmieren anzuwenden, desto mehr verschiedene Gedanken kamen mir, die ich versuchte zu programmieren. Aber vor einigen Monaten habe ich ganz unerwartet und zufällig ein Muster gesehen, das sehr deutlich auf den Paaren EUR-USD und FUNT-DOLLAR erscheint. Es ist mir gelungen, dieses Muster zu kodieren. Und der Expert Advisor mit diesem Code im Tester zeichnet seit 2008 ein Gleichgewichtsdiagramm im Tester, das sich ständig mit akzeptablen Drawdowns nach oben bewegt. Dies war ein zusätzlicher und starker Impuls für mich, mich mehr für die MQL4-Programmierung zu begeistern. Zurzeit beherrsche ich es noch nicht gut genug, um mit dem Studium von MQL5 zu beginnen.

Nochmals vielen Dank für die Links und Ihre Kommentare.

Dies ist ein Gleichgewichtsdiagramm

Ich habe einige Ideen, wie man dieses Diagramm optimieren kann. Aber ich habe noch nicht genug Erfahrung, um sie alle zu programmieren.

 
ANDREY:

Wenn Sie MQL4 lernen und zu MQL5 übergehen, wird es Sie noch mehr anziehen... :)

 
Mihail Matkovskij:

Wenn Sie MQL4 lernen und zu MQL5 übergehen, wird es Sie noch mehr anziehen... :)

Mal sehen, wie schnell das geht...

 
Mihail Matkovskij:

Wenn Sie nicht wissen, woher eine Funktion kommt, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Gehe zu Alt+G Definition". Und es muss Ihnen nicht peinlich sein, wenn Sie etwas nicht wissen. Das ist in Ordnung.

Das ist für mich ein wertvoller Menüpunkt. Und ich habe mich sehr gefreut, von Ihnen über das Programm und seine Funktionalität zu hören. Aber aus irgendeinem Grund funktioniert dieser Artikel bei mir nicht. Ich habe verschiedene Optionen ausprobiert.

Bewegen Sie den Mauszeiger über die Funktion (an der Stelle vor der Klammer) und klicken Sie mit der rechten Maustaste. Das Kontextmenü "Gehe zu Alt+G" ist aktiv. Ich klicke darauf, aber nichts passiert. Wenn ich Alt+G auf Englisch und in Großbuchstaben drücke , passiert nichts.

Ich denke, ich sollte in die Hilfe gehen, oder besser gesagt an die Stelle, wo die Funktion mit der rechten Maustaste beschrieben wird.
Ich habe MT-4 build 1260
Ich habe die MetaEditor-Hilfe gelesen, konnte aber nichts über diese Funktion finden. Und dieser Artikel ist für mich sehr wertvoll. Vielleicht fehlen einige Einstellungen im MetaEditor?
Ich wäre Ihnen dankbar, wenn Sie mir Ihre Meinung dazu mitteilen könnten, warum dieser Artikel bei mir nicht funktioniert.

Dies ist die Symbolleiste meines MetaEditors. Viele der Schaltflächen sind nicht aktiv. Könnte es sich um einen dieser Knöpfe handeln?


 
ANDREY:

Vielen Dank für die Ratschläge und Tipps. Für mich begann alles, als ich vor ein paar Jahren einen kostenlosen Forex-Kurs bei Teletrade in Moskau belegte, weil ich nichts zu tun hatte und mein Geld irgendwo anlegen wollte. Aber nachdem ich den Kurs abgeschlossen hatte, wurde mir sofort klar, dass man bei unüberlegtem Handel garantiert Geld verliert... auch trotz gelegentlicher Siege. Deshalb habe ich mir fest vorgenommen, erst dann mit meinem eigenen Geld zu spielen, wenn ich ein System habe, und vor meinem Abschluss besaß ich nicht einmal einen PC. Ich bin keine Mathematikerin. Seit ich einen Computer gekauft und MT4 in Betrieb genommen habe, kann ich mich bis heute nicht von meinem Computer und MT4 losreißen. Ich beobachte mich selbst und kann nicht verstehen, woher dieses unwiderstehliche und irrationale Verlangen kommt. Ich glaube nicht, dass es nur am Geld liegt. Ich habe kein Problem mit Geld. Ich arbeite nicht, und ich habe alle Zeit der Welt. Und ich brauche etwas, das mich beschäftigt, damit es sich nicht zu lange hinzieht. Mir ist aufgefallen, dass die Zeit beim Studium von Forex und Programmierung schnell und unmerklich vergeht. Nachdem ich den Kurs abgeschlossen hatte, brauchte ich lange, um den Computer zu beherrschen, und gleichzeitig starrte ich auf MT-Charts und versuchte zu verstehen, wie und warum sich der Preis in die eine oder andere Richtung bewegt. Man kann sagen, dass mich das Horoskop fasziniert und verzaubert hat, und es hat eine starke Dominanz in meinem Gehirn erzeugt. Als ich meine Kenntnisse über den Computer, das Internet und den Devisenhandel vertiefte, erfuhr ich vom algorithmischen Handel und beschloss, mich darüber zu informieren. Und es hat mich so sehr in den Bann gezogen, dass ich durch Kovalevs Tutorium sogar ein wenig Programmieren gelernt habe. Je mehr ich den Stoff des Buches verstand und versuchte, ihn beim Programmieren anzuwenden, desto mehr verschiedene Gedanken kamen mir, die ich zu kodieren versuchte. Aber vor einigen Monaten habe ich ganz unerwartet und zufällig ein Muster gesehen, das sehr deutlich auf den Paaren EUR-USD und FUNT-DOLLAR erscheint. Es ist mir gelungen, dieses Muster zu kodieren. Und der Expert Advisor mit diesem Code im Tester zeichnet seit 2008 ein Gleichgewichtsdiagramm im Tester, das sich ständig mit akzeptablen Drawdowns nach oben bewegt. Dies war ein zusätzlicher und starker Impuls für mich, mich mehr für die MQL4-Programmierung zu begeistern. Zurzeit beherrsche ich es noch nicht gut genug, um mit dem Studium von MQL5 zu beginnen.

Nochmals vielen Dank für die Links und dafür, dass Sie mich auf den richtigen Weg gebracht haben.

Dies ist ein Gleichgewichtsdiagramm

Ich habe einige Ideen, wie man dieses Diagramm optimieren kann. Aber mir fehlt noch die Erfahrung, um sie gründlich zu kodifizieren.

Das Wichtigste für einen Programmierer ist, dass er in der Lage ist, eine Aufgabe zu stellen und Wege zu finden, sie zu lösen. Und das macht eine mathematische Denkweise aus. Wenn Sie Ihre Denkweise ändern können, so Gott will.

Und wenn Sie versuchen, in mql4 zu schreiben, werden immer in der Dokumentation mql5 suchen, um Ähnlichkeiten in den Sprachen zu finden, dann bedenken Sie, dass mit mql4 behandelt Sie bereits mit mql5 behandelt haben. Die Sprachen sind sich so ähnlich, dass es einfacher ist, die Unterschiede aufzulisten als die Gemeinsamkeiten.

Das Lehrbuch von Kovalev wurde vor so langer Zeit geschrieben, dass man in den meisten Fällen, bevor man etwas schreibt, moderne Methoden finden muss, auch wenn die in den Beispielen des Lehrbuchs verwendeten Methoden noch einige Zeit funktionieren werden.

Dieser Artikel kann sehr hilfreich sein, nicht nur um auf mql5 umzusteigen, sondern auch um den Unterschied zwischen dem von Sergei Kovalev beschriebenen mql4 und dem modernen mql4 zu verstehen
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 
Alexey Viktorov:

Das Wichtigste für einen Programmierer ist die Fähigkeit, ein Problem zu stellen und Wege zu seiner Lösung zu finden. Und das ist es, was eine mathematische Denkweise ausmacht. Wenn es Ihnen gelingt, Ihre Einstellung zu ändern, dann möge Gott Ihnen helfen.

Und wenn Sie versuchen, in mql4 zu schreiben, werden immer in der Dokumentation mql5 suchen, um Ähnlichkeiten in den Sprachen zu finden, dann bedenken Sie, dass mit mql4 behandelt Sie bereits mit mql5 behandelt haben. Die Sprachen sind sich so ähnlich, dass es einfacher ist, die Unterschiede aufzulisten als die Gemeinsamkeiten.

Das Lehrbuch von Kovalev wurde vor so langer Zeit geschrieben, dass man in den meisten Fällen, bevor man etwas schreibt, moderne Methoden finden muss, auch wenn die in den Beispielen des Lehrbuchs verwendeten Methoden noch einige Zeit funktionieren werden.

Vielen Dank für die wertvollen Informationen.

Was die mathematische Denkweise betrifft. Da ich von Grund auf neu bin .... wenn auch zu lang .... Ich bin mit Kovalevs Lehrbuch einigermaßen vertraut und habe sogar gelernt, primitiven Code zu schreiben, der sich fehlerfrei kompilieren lässt, und habe sogar etwas Ähnliches wie "Gral" programmiert ..... , was bedeutet, dass sich meine Denkweise in die Richtung ändert, die ich brauche..... , wie es mir scheint.
Bitte sagen Sie mir, ob es in Ordnung ist ... Können Sie MQL5-Funktionen in MetaEditor 4 ausführen?

Dankeschön

Grund der Beschwerde: