Trading Logik:
Risiko/Gewinn Verhältnis:
Die Zeit die auf eine neue Nachricht gewartet werden soll:
if(Date>(TimeCurrent()-(xTime*60)))
Zeit die bis zum Schließen von Ordners gewartet 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
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.
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.
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
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 Indikator.
VKW Bands modify
Der Indikator für Spitzen.
Indikator that Divides Н1 Period into М1
Ein Indikator welcher die M1 Periode in einer H1 Periode splittet.