Beliebte Beiträge

Tipp Der Redaktion - 2019

MQL4: Schreiben eines Beraters für den Handel mit vorgegebenen Mustern

Hallo allerseits!

Sicherlich haben viele von Ihnen oft bemerkt, dass die Charts eines bestimmten Währungspaares in regelmäßigen Abständen ihre Bewegungen wiederholen. Tatsächlich ist dies in den meisten Fällen nur ein vorübergehendes Phänomen, mit dem nicht genug Geld verdient werden kann. Was aber, wenn es so verlässliche Preisbewegungen und -muster gibt, die wir nicht kennen? Heute werden wir einen ziemlich einfachen Berater schreiben, der uns bei der Marktforschung helfen wird.

Was werden wir schreiben?

Jede Forschung basiert immer auf einer bestimmten Hypothese. Zuerst bringen wir es vor und dann beweisen oder widerlegen wir es.

Heute werden wir einen einfachen Berater schreiben, der sich mit den Tages-Charts befasst. Die Basis für die Bildung des Eingangs wird ein Kerzenmuster sein, das mit dem Wochentag verknüpft ist. Unsere Hypothese lautet: Wenn wir eine rückläufige Kerze sehen und dann zinsbullisch, z. B. am Mittwoch, dann ist die Kerze am Donnerstag ebenfalls zinsbullisch. Wenn wir eine zinsbullische Kerze und dann eine bärische Kerze sehen, wird der nächste Tag noch niedriger schließen. Ich werde dies auf dem Bild veranschaulichen:

Wie Sie sehen, ist das Muster sehr einfach und es ist unwahrscheinlich, dass es wirklich funktioniert. Trotzdem gibt es solche Anomalien auf dem Markt, auf denen Sie leicht von Jahr zu Jahr kleines, aber echtes Geld verdienen können.

Das Design unseres Beraters

Der Berater wird sehr einfach sein. Er überprüft den aktuellen Wochentag mit den Tagen, an denen der Handel erlaubt ist. Dann prüft er, ob noch Aufträge offen sind. Danach wird geprüft, ob das angegebene Muster vorhanden ist, und wenn es erkannt wird, wird ein Geschäft eröffnet. Die Position wird am nächsten Tag geschlossen.

Daher werden wir den Körper des Beraters in mehrere Teile aufteilen. Der erste Teil ist der Filter des Wochentags:

bool TimeFilter () {

if (! MondayTrade && DayOfWeek () == 1) return (false);

if (! TuesdayTrade && DayOfWeek () == 2) return (false);

if (! WednesdayTrade && DayOfWeek () == 3) return (false);

if (! ThursdayTrade && DayOfWeek () == 4) return (false);

if (! FridayTrade && DayOfWeek () == 5) return (false);

return (true);

}

Es wird false zurückgegeben, wenn der aktuelle Wochentag in den Einstellungen nicht zulässig ist. Der zweite Block erzeugt ein Signal:

int Signal () {

if (! TimeFilter ()) return -5;

double Close1 = iClose (_Symbol, signal_period, 1);

double Open1 = iOpen (_Symbol, signal_period, 1);

double Close2 = iClose (_Symbol, signal_period, 2);

double Open2 = iOpen (_Symbol, signal_period, 2);

if (Close2> Open2 && Close1 <Open1) {

return OP_SELL;

}

if (Close2 Open1) {

return OP_BUY;

}

return -5;

}

Wie Sie sehen, suchen wir nur nach dem Muster, das wir brauchen. Und Sie können diese Methode neu schreiben, um nach einem beliebigen Muster zu suchen.

Es muss nur noch eine Methode zum Öffnen und Schließen einer Position geschrieben werden. Und die Methode, die signalisiert, dass die aktuelle Position bereits 1 Bar offen ist und es Zeit ist, sie zu schließen:

bool ExitTime (int dir) {

für (int i = OrdersTotal (); i> = 0; i-) {

if (! OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {

weiter;

}

if (OrderSymbol ()! = Symbol () || OrderMagicNumber ()! = magic) {

weiter;

}

if (TimeCurrent () - OrderOpenTime ()> 60 * exit_bars * exit_period) {

return (true);

}

}

return (false);

}

Das ist in der Tat alles. Den vollständigen Code des Beraters finden Sie im Video-Tutorial.

Ergebnisse

Wie ich bereits sagte, ist der Berater wie das Muster selbst sehr einfach. Aber auf den Märkten bedeutet „einfach“ nicht immer schlecht und nicht rentabel. Selbst solche einfachen Dinge können sich zu unserer Überraschung als Arbeiter herausstellen, für die ich diesen Markt mag. Dies ist ein Markt der atemberaubenden Kontraste. Während manuelle Trader im Allgemeinen blind handeln, ohne die statistische Signifikanz ihrer Systeme zu bestätigen, investieren Newcomer das letzte Geld in Grids und Martins. Algorithmische Trader erfinden anspruchsvollere Scalper mit der Anzahl der Codezeilen, die Chancen für „Krieg und Frieden“ bieten, manchmal sehr einfache aber gewinnbringende Dinge liegen auf der Oberfläche, aber niemand sieht sie. Das ist eine sehr raffinierte Ironie, nicht wahr?

Die Ergebnisse strahlen natürlich nicht, aber das Muster wurde zufällig ausgewählt, und es ist äußerst einfach. Ich bin sicher, wenn Sie es ein wenig korrigieren, können Sie bessere Ergebnisse erzielen.

Fazit

Ein sehr einfaches Beispiel ist die Idee eines Musters mit zwei Kerzen unterschiedlicher Farbe, die die Bewegung fortsetzen sollen. Dabei werden weder die Form noch die Flüchtigkeit oder das Verhältnis der Schattengröße zur Größe des Kerzenkörpers selbst berücksichtigt. Sie können sich Ihre eigenen Muster ausdenken und diese testen - wie Sie wissen, finden Sie vielleicht wirklich wertvolle und sehr profitable Möglichkeiten.

Lassen Sie Ihren Kommentar