Thursday, 12 January 2017

Moving Durchschnitt Crossover Mql4

MetaTrader 4 - Experts Moving Average - Experte für MetaTrader 4 Der Moving Average Experte für die Bildung von Handelssignalen verwendet einen gleitenden Durchschnitt. Das Öffnen und Schließen von Positionen erfolgt, wenn der gleitende Durchschnitt den Preis an der kürzlich gebildeten Bar erfüllt (Barindex entspricht 1). Die Losgröße wird nach einem speziellen Algorithmus optimiert. Der Gutachter analysiert die Übereinstimmung zwischen dem gleitenden Durchschnitt und dem Marktpreisdiagramm. Die Überprüfung wird von der Funktion CheckForOpen () durchgeführt. Wenn der gleitende Durchschnitt auf die Bar trifft, so dass ersterer höher ist als der offene Preis, aber niedriger als der Schlusskurs, wird die BUY-Position geöffnet. Wenn der gleitende Durchschnitt auf die Bar trifft, so dass ersterer niedriger ist als der offene Preis, aber höher als der Schlusskurs, wird die SELL-Position geöffnet. Das im Experten verwendete Money Management ist sehr einfach, aber effektiv: Die Kontrolle über jedes Positionsvolumen wird in Abhängigkeit von den bisherigen Transaktionsergebnissen durchgeführt. Dieser Algorithmus wird durch die Funktion LotsOptimized () implementiert. Die Basis-Losgröße wird auf Basis des maximal zulässigen Risikos berechnet: Der Parameter MaximumRisk zeigt für jede Transaktion den Grundrisikoprozentsatz an. Sie besitzt üblicherweise einen Wert zwischen 0,01 (1) und 1 (100). Wenn beispielsweise die freie Marge (AccountFreeMargin) 20.500 beträgt und die Regeln des Kapitalmanagements das Risiko von 2 verwenden, wird die Grundlosgröße 20500 0,02 1000 0,41 betragen. Es ist sehr wichtig, die Losgrößengenauigkeit zu kontrollieren und das Ergebnis mit den zulässigen Werten zu normalisieren. Normalerweise sind Fraktionen mit einer Stufe von 0,1 erlaubt. Eine Transaktion mit einem Volumen von 0,41 wird nicht durchgeführt. Zur Normalisierung wird die NormalizeDouble () - Funktion mit Genauigkeit bis zu einem Zeichen nach dem Punkt verwendet. Dies führt zu der Grundmenge von 0,4. Die Basispreisberechnung auf Basis der freien Marge erlaubt es, die Betriebsvolumina je nach Handelserfolg zu erhöhen, d. h. den Handel mit Reinvestitionen zu handeln. Dies ist der grundlegende Mechanismus mit obligatorischem Kapitalmanagement zur Steigerung der Effizienz des Handels. DecreaseFactor ist das Ausmaß, in dem die Losgröße nach dem unrentablen Handel reduziert wird. Normale Werte sind 2,3,4,5. Wenn die vorhergehenden Transaktionen unrentabel waren, verringern sich die nachfolgenden Volumina um einen Faktor von DecreaseFactor, um durch die unrentable Periode zu warten. Dies ist der Hauptfaktor im Kapitalmanagement-Algorithmus. Die Idee ist sehr einfach: Wenn der Handel erfolgreich wächst, arbeitet der Experte mit dem Grundposten, der maximalen Profit macht. Nach der ersten unrentablen Transaktion wird der Experte die Geschwindigkeit reduzieren, bis eine neue positive Transaktion erfolgt. Der Algorithmus erlaubt es, die Geschwindigkeitsreduzierung zu deaktivieren, dafür muss man DecreaseFactor 0 angeben. Die Höhe der letzten aufeinanderfolgenden unrentablen Transaktionen wird in der Handelsgeschichte berechnet. Das Basislos wird auf dieser Basis neu berechnet: Der Algorithmus erlaubt es also, das durch eine Reihe von unrentablen Transaktionen auftretende Risiko effektiv zu reduzieren. Die Losgröße wird am Ende der Funktion obligatorisch auf die minimal zulässige Losgröße überprüft Können die zuvor durchgeführten Berechnungen zu Los 0 führen: Der Experte ist hauptsächlich für den täglichen Arbeitsablauf und im Testmodus bestimmt - für die Durchführung zu engen Preisen. Es wird nur beim Öffnen einer neuen Bar handeln, deshalb werden die Modi der Tick-Modellierung nicht benötigt. Testergebnisse werden im Report dargestellt. Ich schreibe einen Code für Moving Average Crossover. Das grundlegendste Konzept. Aber ich habe Probleme damit. Sein gewesen wenige Tage seit im mit dieser Mühe. Es verpasst Chancen zu kaufen und zu verkaufen, obwohl die Schleife für diesen Handel ausgeführt wird. Bitte führen Sie mich über wht das Problem ist. Danke im Voraus. P. S. Die Kommentare sind für die Überprüfung, ob die Schleife besucht wird. Auch in Strategie-Tester gibt es keine Warnungen. (Wenn lasttradeNULL dann was, wenn lasttradeNULL dann was Das ist kein Problem können wir ersetzen, dass mit: bool buyconditiontrue Initialisierung und gleichen für Verkauf auch. Aber mein Problem ist, dass es nicht Ausführung engen Orders überhaupt. Und auch vermisst, Positionen zu öffnen. Bitte können Sie uns eine Möglichkeit, dies zu überwinden.


No comments:

Post a Comment