Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Facebook!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Expert Advisors

Fundamental Trader DailyFX CSV MQL4 - Experte für den MetaTrader 4

Ansichten:
2493
Rating:
(20)
Veröffentlicht:
2016.03.30 16:01
Aktualisiert:
2016.11.22 07:34
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Beschreibung:

  • Die Idee hinter diesem Expert Advisor war natürlich das automatische Handeln von Finanznachrichten. Für diese Art von Expert Advisor gibt es keine weck Testmöglichkeit denn er handelt immer nur bei der nächsten eingehenden Nachricht Entfällt eine Handels Entscheidung basierend auf der Differenz zwischen (aktuell vs. Prognose) oder (aktuell vs. vorher)
  • Dieser Expert Advisor ist relativ simpel. Nach dem Download des Kalenders sucht er raus welches der nächste Nachrichten-Event ist und wartet auf dieses Event. Wenn die entsprechende Nachricht veröffentlicht wurde, fällt der Expert Advisor eine Entscheidung. Dieser Fundamental Expert Advisor kann jedem chart und jeder Timeframe hinzugefügt werden, da er lediglich den Chart für das Ausführen von Orders verwendet.
    Fundamental Trader EA is setup to support every Country that is on the DailyFX calendar, see below for details.

NOTE:

  • Um diesen Expert Advisor funktionsfähig installieren zu können, folgen Sie bitte der Anleitung unter der folgenden Website:
  • https://www.mql5.com/en/articles/1502
  • Dieser EA wurde auf der Basis eines Programmcodes entworfen, welchen sie in dem oben aufgeführten Link abrufen können. Sie MÜSSEN erst die Anleitung in dem oben aufgeführten Link befolgen und folgende Dateien einrichten:
  • getright_setup.zip
  • Time.mq4
  • Time.mqh
  • Stellen Sie sicher,dass das voreingestellte Verzeichnis "get right" dem Verzeichnis in welchem der Kalender heruntergeladen worden ist, angepasst wird. Ansonsten wird er ja nicht funktionieren.
  • Stellen Sie sicher, dass Sie den Artikel sehr aufmerksam und langsam gelesen und jede Instruktionen befolgt haben.
  • Sie können dort alles über die 3 Dateien lesen und was deren Funktion ist. Dieser Artikel beschreibt sehr gut was der Indikator ausführt und wie die News-Events in dem Chart Fenster dargestellt werden.
  • Es ist sehr ratsam erst den Indikator einzurichten und die News in dem Chart zu sehen, bevor der EA ohne Probleme installiert werden kann.
  • Der Quellcode des Indikators wurde so modifiziert, dass nun auch Trades ausgeführt werden können.
  • Wenn Sie die Dateien auf dem oben aufgeführten Link fertig eingerichtet haben können Sie den Expert Advisor mit der Datei "str2double.dll" herunterladen und anschließend wird der Expert Advisor die News, die über Daily FX veröffentlicht werden, handeln. Die Datei "str2double.dll" muss in das Hauptverzeichnis, Beispiel: C:\Program Files\Interbank FX Trader 4\

Trading Logik:

  • Die Logik hinter den Trades ist die folgende: Es gibt zwei Arten von Events die auftreten können wenn man Nachrichten handelt:
  • 1st: Es gibt aktuelle ökonomische Daten welche mit Prognosen verglichen werden.
  • 2nd: Es gibt neue ökonomische Daten die mit Älteren verglichen werden.
  • Die Differenz zwischen diesen ökonomischen Daten kann die Preisbewegung beeinflussen und die Höhe der prozentuale Veränderung zwischen den ökonomischen Daten gibt einen Hinweis auf die Wahrscheinlichkeit das diese Nachricht einen Effekt auf den Markt in eine bestimmte Richtung ausübt.
  • For more information on Fundamental Trading visit www.pfxglobal.com
  • Wenn es einen höheren prozentualen Unterschied zwischen ökonomischen Daten gibt, dann führt der Expert Advisor Orders mit einer größeren Lotgröße aus.
  • Wenn der prozentuale Unterschied zwischen ökonomischen Daten klein ist, dann führt der Expert Advisor Orders mit minimaler Lotgröße aus.
  • Die spezielle Lotgröße kann in dem EA über die folgenden Variablen angegeben werden:
  • lot1, lot2, lot3, lot4, lot5, lot6......lot18
  • Welche der Lotgrößen für die Order verwendet wird, entscheidet der EA basierend auf der prozentuale Differenz der ökonomischen Daten.

Risiko/Gewinn Verhältnis:

    • Fundamental Trader EA ist eingerichtet mit einem 1:3, Risiko/Gewinn Verhältnis, die voreingestellten Werte sind risk=20, reward=3.
    • Dabei wird das Risiko als PIP für das Stop Loss angegeben und der Gewinn ist ein multiplikator. Somit hat der Expert Advisor ein Risiko von 20 PIP und erwartet ein Gewinn von 60 PIP.
    • Diese Werte können im Eigenschaftenfenster verändert werden.

    Die Zeit die auf eine neue Nachricht gewartet werden soll:

    • Nachrichten werden nicht immer exakt zu der angegebenen Uhrzeit veröffentlicht. Daher ist es notwendig einen Zeitrahmen zu setzen.
    • Der folgende Auszug aus dem Programmcode bestimmt die Zeit die der EA auf eine neue Nachricht wartet. Wenn diese Zeit verstrichen ist, wechselt der EA zum nächsten Nachrichten-Event.
    • xTime ist eine Variable, welche verändert werden kann, wenn Sie den EA zum ersten Mal einem Chart hinzufügen. Der Standardwert ist 27 minuten.
    if(Date>(TimeCurrent()-(xTime*60)))


    Zeit die bis zum Schließen von Ordners gewartet wird:

    • Sie können ebenso einen zeitlichen Rahmen für das Öffnen und Schließen von Orders einstellen.
    • Zum Beispiel können Sie sagen dass nach einem Event eine Position ausgeführt wird und anschließend 30 Minuten gewartet werden soll, bis die Order wieder geschlossen wird. (Mit Profit oder mit Verlust.) Dies ist ein Vorschlag von dem MQL4 Benutzer "ebenv".
    • Es gibt drei Variablen die diese Funktion kontrollieren:
    • MagicNumber | Die Zahl mit der offene Orders protokolliert werden können
    • enable_close_time | true = Dann verfolgt der Expert Advisor wie viel Zeit seit dem Öffnen der Order verstrichen ist
    • wait_time | Die Zeit die abgewartet werden soll, bevor die Order geschlossen wird.

    Fundamental Trader Country Support:

    • Fundamental Trader EA Handelt jede einzelne Währung die von dem dailyfx.com/calendar unterstützt wird..

    • Im Folgenden finden Sie den Programmcode, welcher entscheidet, welche Währung aufgrund einer Nachricht gehandelt werden soll. Die Liste der Währung ist die folgende: EUR, USD, JPY, GBP, CHF, AUD, CAD, NZD

    if(stCurrency=="EUR" ){ordercurrency="EURUSD";} //trading eurusd
    if(stCurrency=="USD" ){ordercurrency="EURUSD";} //trading eurusd
    if(stCurrency=="JPY" ){ordercurrency="USDJPY";} //trading usdjpy
    if(stCurrency=="GBP" ){ordercurrency="GBPUSD";} //trading usdgbp
    if(stCurrency=="CHF" ){ordercurrency="USDCHF";} //trading usdchf
    if(stCurrency=="AUD" ){ordercurrency="AUDUSD";} //trading audusd
    if(stCurrency=="CAD" ){ordercurrency="USDCAD";} //trading usdcad
    if(stCurrency=="NZD" ){ordercurrency="NZDUSD";} //trading nzdusd
    


    Trading Decision:

    • Der folgende Programmcode beschreibt, wie der EA eine Entscheidung fällt wenn neue ökonomische Daten verfügbar sind.

    • Wenn es keine Prognosedaten gibt verwendet der Expert Advisor für seine Entscheidung die vorangegangenen ökonomischen Daten.

    • Der folgende Auszug aus dem Quelltext beschreibt, wie ein Handel auf der Basis von Prognose und aktuellen Daten ausgeführt wird. Der selbe Algorithmus wird bei der Entscheidung, basierend auf dem Vergleich von alten und neuen ökonomischen Daten, verwendet.

    if(StringToDouble(stActual)>StringToDouble(stForecast))
     {
          Aert("Stronger(actual vs forecast): "+stCurrency+" "+"Time: "+stTime);
    
    int total=OrdersTotal();
        for(int cnt=0;cnt<total;cnt++)
        {
         OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); //check opened orders
    if(OrderComment()==stCurrency+stActual+stForecast+"BUY"||
    OrderComment()==stCurrency+stActual+stForecast+"SELL")
    {
    FileClose(file);Comment("\n"+"Live Trade Open"+OrderTicket());return(0);
    }
                               }
    
    int historytotal=OrdersHistoryTotal();
    for(cnt=0;cnt<historytotal;cnt++)
    {
    OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY); //check opened orders
    if(OrderComment()==stCurrency+stActual+stForecast+"BUY"||
    OrderComment()==stCurrency+stActual+stForecast+"SELL"){
    FileClose(file);Comment("\n"+"Trade Executed"+OrderTicket());return(0);
    }
                               }
    if(stCurrency=="EUR"||stCurrency=="GBP"||stCurrency=="AUD")
    {
    double ask=MarketInfo(ordercurrency,MODE_ASK);
    double point1=MarketInfo(ordercurrency,MODE_POINT); 
    OrderSend(ordercurrency,OP_BUY,lot_p,ask,3,ask-(risk*point1),
    ask+reward*risk*point1),stCurrency+stActual+stForecast+"BUY");}
    
    if(stCurrency=="CHF"||stCurrency=="CAD"||
    stCurrency=="NZD"||stCurrency=="JPY"||stCurrency=="USD")
    {
    double bid=MarketInfo(ordercurrency,MODE_BID); 
    double point2=MarketInfo(ordercurrency,MODE_POINT);
    OrderSend(ordercurrency,OP_SELL,lot_p,bid,3,bid+risk*point2),
    bid-(reward*risk*point2),stCurrency+stActual+stForecast+"SELL");}
    
    

    • 1st: Da der Expert Advisor nur eine Order pro Nachricht handeln kann, wird zunächst geprüft, ob eine offene Order existiert. Ist das der Fall, bricht der Expert Advisor hier ab.

    • 2nd: Hier prüft der Expert Advisor ob es schon eine Order zu dieser Nachricht gegeben hat. Falls ja, bricht der Expert Advisor hier ab.

    • The (2) Hier wird noch einmal geprüft, ob es bereits offene Orders gibt um die Ausführung von doppelten Orders pro Nachricht zu verhindern.

    • Anschließend wird bestimmt, zu welchem Land die ökonomischen Daten veröffentlicht worden sind und es wird ein Trade mit den notwendigen OrderSend-Spezifikationen auf der Basis der ökonomischen Daten aufgegeben.

    • In dem oben angegebenen Programmcode gilt:Wenn die aktuellen ökonomischen Daten größer als die Prognose sind wird genauso gehandelt wie wenn die aktuellen Daten niedriger als die Prognose sind, lediglich die Richtung wird geändert.

    • Der gleiche Algorithmus wird verwendet wenn es keine Prognosedaten gibt und die aktuellen Daten mit älteren Daten verglichen werden.


    Lotgrößen:

    • Der EA vergleicht(aktuelle Daten mit Prognosedaten), oder (aktuelle daten mit vorherigen Daten), die prozentuale Differenz zwischen den Daten und berechnet daraus die Lotgröße.

    • Der folgende Programmabschnitt zeigt wie der EA die prozentuale Differenz bestimmt und somit die Lotgröße spezifiziert. Die Lotgröße ist eine externe Zahl, welche modifiziert werden kann um jeden Broker, der das Handeln über Expert Advisor erlaubt, unterstützen zu können.

    • Der Benutzer kann die Lotz indem Eigenschaftenfenster des EAs modifizieren. Die voreingestellten Werte sind (0.01, 0.02, 0.03...0.17).

    double percent_d_AF=MathAbs((MathAbs(StringToDouble(stActual)-
    StringToDouble(stForecast))/StringToDouble(stForecast))*100);
    double lot_p=0;
    if((percent_d_AF>0 && percent_d_AF<=3)){lot_p=lot1;}//0.1 lot
    if((percent_d_AF>3 && percent_d_AF<=6)){lot_p=lot2;}//0.2 lots
    if((percent_d_AF>6 && percent_d_AF<=9)){lot_p=lot3;}//0.3 lots
    if((percent_d_AF>9 && percent_d_AF<=12)){lot_p=lot4;}//0.4 lots
    if((percent_d_AF>12 && percent_d_AF<=15)){lot_p=lot5;}//0.5 lots
    if((percent_d_AF>15 && percent_d_AF<=18)){lot_p=lot6;}//0.6 lots
    if((percent_d_AF>18 && percent_d_AF<=21)){lot_p=lot7;}//0.7 lots
    if((percent_d_AF>21 && percent_d_AF<=24)){lot_p=lot8;}//0.8 lots
    if((percent_d_AF>24 && percent_d_AF<=27)){lot_p=lot9;}//0.9 lots
    if((percent_d_AF>27 && percent_d_AF<=30)){lot_p=lot10;}//1 lots
    if((percent_d_AF>30 && percent_d_AF<=40)){lot_p=lot11;}//2 lots
    if((percent_d_AF>40 && percent_d_AF<=50)){lot_p=lot12;}//3 lots
    if((percent_d_AF>50 && percent_d_AF<=60)){lot_p=lot13;}//4 lots
    if((percent_d_AF>60 && percent_d_AF<=70)){lot_p=lot14;}//5 lots
    if((percent_d_AF>70 && percent_d_AF<=80)){lot_p=lot15;}//6 lots
    if((percent_d_AF>80 && percent_d_AF<=90)){lot_p=lot16;}//7 lots
    if((percent_d_AF>90 && percent_d_AF<=100)){lot_p=lot17;}//8 lots
    if((percent_d_AF>100))                    {lot_p=lot18;}//8 lots
    



    Chart Information:


    Screen Shot of Fundamental News Data

    • Wenn der EA zum ersten Mal einem Chart hinzugefügt wird, müssen Sie folgende Angaben machen: "xTime", "risk", "reward", "MagicNumber", "enable_close_time", "wait_time", sowie Ihre minimale und maximale Lotgröße. Und stellen Sie sicher dass Sie das voreingestellte Verzeichnis wo "get right" installiert ist, verlassen.

    • Der EA wird dann den Kalender herunterladen und das nächste anstehende Nachrichten-Event bestimmen. Es werden die folgenden Informationen als Kommentar im Chart angezeigt: Datum, Zeit, Zeitzone, Währung, Beschreibung, Bedeutung, Aktueller Wert, Prognose, und der alte Wert.

    • In dem oben dargestellten Bild sehen Sie, wie der EA auf neue Nachrichten wartet, die um 2 Uhr morgens veröffentlicht werden sollen. Und wie Sie sehen können, sind die vorherigen ökonomischen Daten bekannt. Somit wartet der EA nun auf die aktuellen Daten. Sobald die Daten veröffentlicht wurden, vergleicht der EA diese mit den vorherigen ökonomischen Daten und fällt daraufhin eine Handelsentscheidung.

    • Schließlich wartet der EA von Minute zu Minute auf die Daten die veröffentlicht werden sollen.


    Fundamental Trader Überblick:

    • Dieser EA handelt jede ökonomische Nachricht welche über dailyfx.com/calendar, inm CSV-Format veröffentlicht wird.

    • Der Kalender wird über das Programm "get right" heruntergeladen.

    • Sobald Nachrichten anstehen, lädt der EA jede Minute die Daten herunter.

    • Der EA übersetzt die Kalenderinformation und bestimmt anschließend, welches das nächste Nachrichten-Event ist und wartet anschließend 27 Minuten darauf, dass diese Nachricht veröffentlicht wird.

    • Sobald die Nachricht veröffentlicht worden ist, bestimmt der EA, welche Daten verglichen werden müssen. (Aktuelle Daten mit Prognosedaten), oder (Aktuelle Daten mit vorherigen Daten)

    • Anschließend bestimmt der EA, basierend auf den ökonomischen Daten, die Lotgröße, die Währung und die Richtung, die gehandelt werden soll. Alle diese Informationen werden auch schriftlich im Chart dargestellt.

    • Die Order wird mit einem 1:3 Risiko/Gewinn-Verhältnis aufgegeben.

    • Der er ist so konstruiert, dass er nur eine Order pro Nachricht ausführt. Wenn "enable_close_time" mit "true" aktiviert wird, dann wartet der EA in die unter "wait_time" angegebene Anzahl an Minuten, bevor die Order geschlossen wird.

    Denken Sie daran, dass sie alle unter dem folgenden Link genannten Instruktionen befolgen müssen: https://www.mql5.com/en/articles/1502, damit der Kalender vollständig heruntergeladen wird und die Serverzeit ihres Brokers richtig eingestellt wird, damit die News richtig verarbeitet werden. Die Zeitzone von dailyfx.com/calendar ist GMT.

    Wenn Sie Fragen haben, oder eine konstruktive Kritik hinterlassen wollen, dann schreiben Sie hier einen Kommentar.

    Übersetzt aus dem Englischen von MetaQuotes Ltd.
    Originalpublikation: https://www.mql5.com/en/code/8491

    Bull vs Medved Bull vs Medved

    Ein EA für H4, für GBPUSD. Er arbeitet mit pending orders. Er trifft Entscheidungen durch einfache Kombinationen von Kerzenformationen. Es wird einmalig alle vier Stunden eine Entscheidung getroffen und das SL und TP wird entsprechen mit dem s... (Text fehlt)

    T3 Taotra T3 Taotra

    T3 Taotra Indikator.

    VKW Bands modify VKW Bands modify

    Der Indikator für Spitzen.

    Indikator that Divides Н1 Period into М1 Indikator that Divides Н1 Period into М1

    Ein Indikator welcher die M1 Periode in einer H1 Periode splittet.