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
Oooh, vielen Dank, mit so vielen Informationen kann man so viel erreichen...
Ich stehe kurz vor einer Geschäftsreise und möchte das mir zur Verfügung gestellte Material vertiefen, aber die Codierung... Ich könnte es auch auf einem Blatt Papier machen, das wäre ein gutes Trainingstool...
Mit freundlichen Grüßen, Roman
Dies ist nur ein winziger Bruchteil dessen, was Sie wissen müssen, ein Sandkorn im Meer des Programmcodes. Aber es reicht nicht aus, zu wissen, was man wann und wo einsetzt!
Wenn wir vom Namen des Themas"Robotererstellung" ausgehen, dann müssen Sie eine kostendeckende (profitable oder wie auch immer Sie es nennen wollen) Handelsstrategie haben, und erst dann die MQL5-Programmiersprache studieren.
Übrigens verfügt der MetaEditor des MT5-Terminals über den MQL5-Assistenten, mit dessen Hilfe Sie den Code des vorgefertigten Expert Advisors mit den Modulen der Handelssignale, die ihrerseits auf der Grundlage beliebter Indikatoren erstellt wurden, leicht und ohne Kenntnisse der Programmiersprache erhalten können. Mit Hilfe des MQL5-Assistenten können Sie schnell einen Expert Advisor erstellen und Ihre Strategie testen, wenn diese nur auf Indikatoren basiert. Hier ist der Link zu dem Artikel über den Aufbau eines Handelsroboters mit MQL5 Wizard: https://www.mql5.com/ru/articles/171.
Mit freundlichen Grüßen, Vladimir.
57 und ein bisschen. Und die Antwort auf Ihre Frage nach dem Weg ist bereits bekannt, ich zitiere:
"Roman Zhilin:Nein, es gibt keinen Prozess in der Freiberuflichkeit, den Sie nach Bedarf selbst entwickeln können. Und der einzige, der für meine Fehler verantwortlich gemacht werden kann, bin ich selbst, nicht ein fremder Programmierer. Sie müssen also lernen, lernen, kodieren, stolpern, Ihre Strategien verbessern und wieder lernen".
Mit freundlichen Grüßen, Vladimir.
Eine gute Auswahl, vielen Dank.
Erinnert mich an das Testament von Lenin :) Aber es ist richtig, es ist nie zu spät, etwas zu lernen.
Um zu verstehen, welche Art von Expert Advisor Sie benötigen, sollten Sie zunächst damit beginnen, daran zu arbeiten.
Zwei weitere Schaltflächen zum Schließen einer Position hinzugefügt
... Ich verstehe immer noch nicht den Sinn der ständigen Phrase, die mit dem Wort"Rückkehr" beginnt.
Wer kehrt zurück, zu wem kehrt er zurück, wohin kehrt er zurück, warum kehrt er zurück? Ich kann es immer noch nicht herausfinden...
Vielleicht kann ich das erklären.
Angenommen, Sie haben ein Symbol (z.B. EUR/USD), das auf dem Bildschirm schwankt, und ein Programm/Advisor/Roboter läuft im Terminal. Der Roboter führt den Code aus, den Sie in ihn eingegeben haben. Und dieser Code enthält diese Zeichenfolgen:
"orderSelect" ist eine Handelsfunktion, sie wählt einen bereits geöffneten Auftrag für die weitere Arbeit mit ihm aus.//In diesem Beispiel wird bei einer fehlgeschlagenen Auftragsauswahl (...==false) die weitere Ausführung der Funktion " if " durch den Befehl "break" unterbrochen.
Nächste. Wir haben den Auftrag mit der Handelsfunktion OrderSelect ausgewählt. Jetzt arbeiten wir damit, mit einer bestimmten Reihenfolge. Der Einfachheit halber gehen wir davon aus, dass wir nur zwei offene Aufträge haben.
Als Nächstes geben wir eine Variable OpenPrice [double type] ein und weisen ihr den Wert des Preises zu, zu dem die von uns ausgewählte Order eröffnet wurde (Codeabschnitt OpenPrice=OrderOpenPrice(); )
HIER ist eine Erklärung für Sie, was die RETURN eines Parameters bedeutet. Die Funktion OrderOpenPrice gibt den Wert des aktuellen Instrumentenpreises zurück . Das heißt, nachdem das Programm den aktuellen Preis vom Server angefordert hat, gibt es den Wert dieses Preises an Sie zurück und weist diesen Wert einer Variablen zu.
MACD-Indikator hinzugefügt
MACD-Indikator hinzugefügt
Die Grundlagen sind vorhanden - jetzt liegt es an Ihnen
Vielleicht kann ich das erklären.
Nehmen wir an, Sie haben derzeit ein Symbol (z.B. EUR/USD), das auf Ihrem Bildschirm schwankt, und ein Programm/Advisor/Roboter läuft im Terminal. Der Roboter führt den Code aus, den Sie in ihn eingegeben haben. Und dieser Code enthält diese Zeichenfolgen:
"orderSelect" ist eine Handelsfunktion, sie wählt einen bereits geöffneten Auftrag für die weitere Arbeit mit ihm aus.//In diesem Beispiel wird bei einer fehlgeschlagenen Auftragsauswahl (...==false) die weitere Ausführung der Funktion " if " durch den Befehl "break" unterbrochen.
Nächste. Wir haben den Auftrag mit der Handelsfunktion OrderSelect ausgewählt. Jetzt arbeiten wir damit, mit einer bestimmten Reihenfolge. Der Einfachheit halber gehen wir davon aus, dass wir nur zwei offene Aufträge haben.
Als Nächstes geben wir eine Variable OpenPrice [double type] ein und weisen ihr den Wert des Preises zu, zu dem die von uns ausgewählte Order eröffnet wurde (Codeabschnitt OpenPrice=OrderOpenPrice(); )
HIER ist eine Erklärung für Sie, was die RETURN eines Parameters bedeutet. Die Funktion OrderOpenPrice gibt den Wert des aktuellen Instrumentenpreises zurück . Das heißt, nachdem das Programm den aktuellen Preis vom Server angefordert hat, hat es den Wert dieses Preises an Sie zurückgegeben und diesen Wert einer Variablen zugewiesen.
Ich danke Ihnen für Ihre Klarstellung. Ich hoffe, dass es Roman auch bei der Beherrschung der Programmiersprache helfen wird.
Mit freundlichen Grüßen, Vladimir.
Hallo! Vielleicht kann mir ja auch jemand helfen...
Ich befasse mich derzeit mit Mechanismen zum Öffnen und Schließen von Aufträgen und bin auf ein Problem beim Schließen offener Positionen gestoßen.
Der Code ist einfach. Die Idee des Algorithmus ist es, den MA (gleitenden Durchschnitt) mit einer Periode von 100 auf dem Chart zu zeichnen. Wenn die vorherige Kerze [1] oberhalb des MA eröffnet und unterhalb des MA geschlossen hat , eröffnet die nächste Kerze [0] einen VERKAUFsauftrag.
//(Die Kaufbedingungen sind umgekehrt. Ich erkläre sie nicht)
Für die Schließung des Auftrags müssen folgende Bedingungen erfüllt sein: Der aktuelle Kurs ist vom Eröffnungskurs des Auftrags über den festgelegten Wert von Punkten, zum Beispiel 40, gestiegen.
Beispiel: Ein Lot wird bei Bid= 1,20045 eröffnet, es sollte bei Ask= 1,20005 schließen.
Der Code für das Öffnen und Schließen ist in 2 entsprechende Funktionen gepackt, die ihrerseits mit der Funktion OnTick() aufgerufen werden. Eigentlich sollte bei jedem Tick die Schließungsbedingung geprüft werden, aber tatsächlich kann der Preis unter das angegebene Niveau (Schließungsniveau) fallen, aber der Auftrag wird nicht geschlossen. Screenshots und Code sind beigefügt.
Hallo! Vielleicht kann mir ja auch jemand helfen...
Ich befasse mich derzeit mit Mechanismen zum Öffnen und Schließen von Aufträgen und bin auf ein Problem beim Schließen offener Positionen gestoßen.
Der Code ist einfach. Die Idee des Algorithmus ist es, den MA (gleitenden Durchschnitt) mit einer Periode von 100 auf dem Chart zu zeichnen. Wenn die vorherige Kerze [1] oberhalb des MA eröffnet und unterhalb des MA geschlossen hat , eröffnet die nächste Kerze [0] einen VERKAUFsauftrag.
//(Die Kaufbedingungen sind umgekehrt. Ich erkläre sie nicht)
Für die Schließung des Auftrags müssen folgende Bedingungen erfüllt sein: Der aktuelle Kurs ist vom Eröffnungskurs des Auftrags über den festgelegten Wert von Punkten, zum Beispiel 40, gestiegen.
Beispiel: Ein Lot wird bei Bid= 1,20045 eröffnet, es sollte bei Ask= 1,20005 schließen.
Der Code für das Öffnen und Schließen ist in 2 entsprechende Funktionen gepackt, die ihrerseits mit der Funktion OnTick() aufgerufen werden. Eigentlich sollte bei jedem Tick die Schließungsbedingung geprüft werden, aber tatsächlich kann der Preis unter das angegebene Niveau (Schließungsniveau) fallen, aber der Auftrag wird nicht geschlossen. Ich füge die Bildschirmfotos und den Code bei.
Es gibt einen Forumsbeitrag unter https://www.mql5.com/ru/forum/160683/page767#comment_10725713.
Dort bekommen Sie vielleicht schneller Hilfe.
Mit freundlichen Grüßen, Vladimir.