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
UPD: Rashid hat oben eine Bibliotheksdatei gepostet, sie hat mein Problem gelöst. Es ist traurig, dass die Standardbibliothek einen Fehler hat. Ich werde nun den Vergleich studieren, um zu sehen, ob es möglich ist, einige Änderungen direkt in EA vorzunehmen, ohne die Bibliothek zu ersetzen, so dass alles funktioniert
Diese Änderungen sind bereits in der Standardbibliothek enthalten. Ich habe beschlossen, denjenigen, die den Artikel lesen werden, erst jetzt zu antworten.
Gut, in der Tat ein schöner...
Guten Tag an alle!
Ich fahre fort, die Programmiersprache MQL5 zu studieren. Auf der Suche nach Informationen, die für mich nützlich sind, habe ich fast die gesamte Website durchsucht. Die meisten Informationen, die ich auf der Website gefunden habe, sind für Leute gedacht, die bereits ein Grundverständnis für die Programmierung haben.
Und hier! Ich habe einen weiteren GROSSARTIGEN Artikel gefunden, der mir geholfen hat, viele Dinge zu verstehen und meinen EA zu verfeinern! Es ist schade, dass der Autor diese Artikelserie nicht fortgesetzt hat und sich nur auf 2012 beschränkt hat. Aber nichtsdestotrotz drücke ich diesem Mann meinen GROSSEN Respekt aus und sage ihm im Namen aller Anfänger ein GROSSES DANKESCHÖN!
Mit Respekt, Vladimir.
Hallo, Vielen Dank für diesen sehr hilfreichen Beitrag und bitte helfen Sie mir, dieses Problem zu lösen. Ich bin neu im MT5 und lerne gerade, EAs zu erstellen, also habe ich den Beispielcode kopiert, um Ctrade.Buy auszuführen, aber der Backtest ist fehlgeschlagen. Hier sind weitere Informationen:
1) Konto: Es ist ein Live-Konto mit der Basiswährung NZD
2) MetaEditor-Einstellungen für den Backtest:
3) Code: Kopiert von https://www.mql5.com/de/articles/481:
//+------------------------------------------------------------------+
//| demo.mq5 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#include<Trade\Trade.mqh>
//--- object for performing trade operations
CTrade trade;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- set MagicNumber for your orders identification
int MagicNumber=123456;
trade.SetExpertMagicNumber(MagicNumber);
//--- set available slippage in points when buying/selling
int deviation=10;
trade.SetDeviationInPoints(deviation);
//--- order execution mode
trade.SetTypeFilling(ORDER_FILLING_RETURN);
//--- logging mode: it would be better not to declare this method at all, the class will set the best mode on its own
trade.LogLevel(1);
//--- what function is to be used for trading: true - OrderSendAsync(), false - OrderSend()
trade.SetAsyncMode(true);
//---
return(0);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
BuySample1();
}
//--- Buy sample
//+------------------------------------------------------------------+
//| Buying a specified volume at the current symbol |
//+------------------------------------------------------------------+
void BuySample1()
{
//--- 1. example of buying at the current symbol
if(!trade.Buy(0.1))
{
//--- failure message
Print("Buy() method failed. Return code=",trade.ResultRetcode(),
". Code description: ",trade.ResultRetcodeDescription());
}
else
{
Print("Buy() method executed successfully. Return code=",trade.ResultRetcode(),
" (",trade.ResultRetcodeDescription(),")");
}
//---
}
4) Fehlerprotokoll (Bitte beachten Sie, dass ich nur auf EUR/USD teste):
GJ 0 19:36:44.410 127.0.0.1 Anmeldung (Build 1730)
HH 0 19:36:44.420 Netzwerk 38520 Bytes Kontoinformationen geladen
JO 0 19:36:44.420 Netzwerk 1482 Bytes Testerparameter geladen
QE 0 19:36:44.420 Netzwerk 188 Bytes Eingabeparameter geladen
FR 0 19:36:44.421 Netzwerk 443 Bytes der Symbolliste geladen
IF 0 19:36:44.421 Tester-Experten-Datei hinzugefügt: Experts\demo.ex5. 46684 Bytes geladen
QH 0 19:36:44.433 Tester Ersteinlage 10000.00 NZD, Hebelwirkung 1:100
JN 0 19:36:44.437 Tester erfolgreich initialisiert
ES 0 19:36:44.437 Netzwerk 46 Kb Gesamtinitialisierungsdaten empfangen
PP 0 19:36:44.437 Testgerät Intel Core i7-4510U @ 2.00GHz, 8103 MB
RJ 0 19:36:44.799 Symbole EURUSD: zu synchronisierendes Symbol
HR 0 19:36:44.800 Symbole EURUSD: Symbol synchronisiert, 3624 Bytes an Symbolinformationen erhalten
NJ 0 19:36:44.800 Verlauf EURUSD: Verlaufssynchronisation gestartet
GO 0 19:36:44.856 Historie EURUSD: Laden von 27 Bytes Historiendaten zur Synchronisation in 0:00:00.000
RQ 0 19:36:44.856 Historie EURUSD: Historie synchronisiert von 2012.01.01 bis 2017.11.15
EF 0 19:36:44.993 Historie EURUSD,Daily: Historien-Cache für 1010 Balken zugewiesen und enthält 312 Balken von 2014.01.01 00:00 bis 2014.12.31 00:00
ND 0 19:36:44.993 Historie EURUSD,Täglich: Historie beginnt ab 2014.01.01 00:00
OL 0 19:36:44.996 Tester EURUSD,Daily (HalifaxPlus-Live): jeder Tick wird erzeugt
GN 0 19:36:44.996 Tester EURUSD,Daily: Test von Experts\demo.ex5 von 2015.01.01 00:00 bis 2017.11.15 00:00 gestartet
CK 0 19:36:56.288 Symbole NZDUSD: zu synchronisierendes Symbol
IS 0 19:36:56.288 Symbole NZDUSD: Symbol synchronisiert, 3624 Bytes Symbolinformationen erhalten
JL 0 19:36:56.288 Verlauf NZDUSD: Verlaufssynchronisation gestartet
HJ 0 19:36:56.575 Historie NZDUSD: 14 Kb Historiendaten zum Synchronisieren geladen in 0:00:00.078
LS 0 19:36:56.575 Historie NZDUSD: Historie synchronisiert von 2013.01.01 bis 2017.11.15
CO 0 19:36:56.579 Symbole EURNZD: zu synchronisierendes Symbol
OJ 0 19:36:56.580 Symbols EURNZD: Symbol synchronisiert, 3624 Bytes an Symbolinformationen erhalten
DL 0 19:36:56.580 Verlauf EURNZD: Verlaufssynchronisation gestartet
MK 0 19:36:56.656 Historie EURNZD: Laden von 27 Bytes Historiendaten zur Synchronisation in 0:00:00.000
OD 0 19:36:56.656 Geschichte EURNZD: Geschichte von 2013.01.01 bis 2017.11.15 synchronisiert
IN 0 19:36:56.665 Handel 2015.01.02 03:00:00 Marktkauf 0.10 EURUSD (1.20538 / 1.20549 / 1.20538)
PE 0 19:36:56.665 Handel 2015.01.02 03:00:00 Geschäft #2 Kauf 0.10 EURUSD zu 1.20549 durchgeführt(basierend auf Auftrag #2)
FH 0 19:36:56.666 Trade 2015.01.02 03:00:00 deal ausgeführt [#2 buy 0.10 EURUSD at 1.20549]
OG 0 19:36:56.666 Trade 2015.01.02 03:00:00 Auftrag ausgeführt buy 0.10 at 1.20549 [#2 buy 0.10 EURUSD at 1.20549]
FO 0 19:36:56.670 demo (EURUSD,D1) 2015.01.02 03:00:00 Buy() Methode erfolgreich ausgeführt. Return code=10009 (ausgeführt bei 1.20549)
NM 2 19:37:15.823 Verlauf NZDUSD 2016.09.21 23:01:00: beschädigter Verlauf entdeckt (s:-73370, o:73433, h:+48, l:-123, c:-117 -- tv:63, rv:11250111)
JF 2 19:37:15.823 Verlauf NZDUSD 2016.09.21, fehlerhafter Container gefunden, muss neu synchronisiert werden
LQ 2 19:37:16.106 Tester Historie Fehler 9 in undefinierter Funktion
OH 2 19:37:16.106 Tester stoppt bei 0% des Testintervalls mit Fehler '20 NZDUSD'
Bitte sagen Sie mir, was falsch ist und wie ich das Problem beheben kann?
Hallo, Vielen Dank für diesen sehr hilfreichen Beitrag und bitte helfen Sie mir, dieses Problem zu lösen. Ich bin neu im MT5 und lerne gerade, EAs zu erstellen, also habe ich den Beispielcode kopiert, um Ctrade.Buy auszuführen, aber der Backtest ist fehlgeschlagen. Hier sind weitere Informationen:
1) Konto: Es ist ein Live-Konto mit der Basiswährung NZD
2) MetaEditor-Einstellungen für den Backtest:
3) Code: Kopiert von https://www.mql5.com/de/articles/481:
//+------------------------------------------------------------------+
//| demo.mq5 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#include<Trade\Trade.mqh>
//--- object for performing trade operations
CTrade trade;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- set MagicNumber for your orders identification
int MagicNumber=123456;
trade.SetExpertMagicNumber(MagicNumber);
//--- set available slippage in points when buying/selling
int deviation=10;
trade.SetDeviationInPoints(deviation);
//--- order execution mode
trade.SetTypeFilling(ORDER_FILLING_RETURN);
//--- logging mode: it would be better not to declare this method at all, the class will set the best mode on its own
trade.LogLevel(1);
//--- what function is to be used for trading: true - OrderSendAsync(), false - OrderSend()
trade.SetAsyncMode(true);
//---
return(0);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
BuySample1();
}
//--- Buy sample
//+------------------------------------------------------------------+
//| Buying a specified volume at the current symbol |
//+------------------------------------------------------------------+
void BuySample1()
{
//--- 1. example of buying at the current symbol
if(!trade.Buy(0.1))
{
//--- failure message
Print("Buy() method failed. Return code=",trade.ResultRetcode(),
". Code description: ",trade.ResultRetcodeDescription());
}
else
{
Print("Buy() method executed successfully. Return code=",trade.ResultRetcode(),
" (",trade.ResultRetcodeDescription(),")");
}
//---
}
4) Fehlerprotokoll (Bitte beachten Sie, dass ich nur auf EUR/USD teste):
GJ 0 19:36:44.410 127.0.0.1 Anmeldung (Build 1730)
HH 0 19:36:44.420 Netzwerk 38520 Bytes Kontoinformationen geladen
JO 0 19:36:44.420 Netzwerk 1482 Bytes Testerparameter geladen
QE 0 19:36:44.420 Netzwerk 188 Bytes Eingabeparameter geladen
FR 0 19:36:44.421 Netzwerk 443 Bytes der Symbolliste geladen
IF 0 19:36:44.421 Tester-Experten-Datei hinzugefügt: Experts\demo.ex5. 46684 Bytes geladen
QH 0 19:36:44.433 Tester Ersteinzahlung 10000.00 NZD, Hebelwirkung 1:100
JN 0 19:36:44.437 Tester erfolgreich initialisiert
ES 0 19:36:44.437 Netzwerk 46 Kb Gesamtinitialisierungsdaten empfangen
PP 0 19:36:44.437 Testgerät Intel Core i7-4510U @ 2.00GHz, 8103 MB
RJ 0 19:36:44.799 Symbole EURUSD: zu synchronisierendes Symbol
HR 0 19:36:44.800 Symbole EURUSD: Symbol synchronisiert, 3624 Bytes an Symbolinformationen erhalten
NJ 0 19:36:44.800 Verlauf EURUSD: Verlaufssynchronisation gestartet
GO 0 19:36:44.856 Historie EURUSD: Laden von 27 Bytes Historiendaten zur Synchronisation in 0:00:00.000
RQ 0 19:36:44.856 Historie EURUSD: Historie synchronisiert von 2012.01.01 bis 2017.11.15
EF 0 19:36:44.993 Historie EURUSD,Daily: Historien-Cache für 1010 Balken zugewiesen und enthält 312 Balken von 2014.01.01 00:00 bis 2014.12.31 00:00
ND 0 19:36:44.993 Historie EURUSD,Täglich: Historie beginnt ab 2014.01.01 00:00
OL 0 19:36:44.996 Tester EURUSD,Daily (HalifaxPlus-Live): jeder Tick wird erzeugt
GN 0 19:36:44.996 Tester EURUSD,Daily: Test von Experts\demo.ex5 von 2015.01.01 00:00 bis 2017.11.15 00:00 gestartet
CK 0 19:36:56.288 Symbole NZDUSD: zu synchronisierendes Symbol
IS 0 19:36:56.288 Symbole NZDUSD: Symbol synchronisiert, 3624 Bytes Symbolinformationen erhalten
JL 0 19:36:56.288 Verlauf NZDUSD: Verlaufssynchronisation gestartet
HJ 0 19:36:56.575 Historie NZDUSD: 14 Kb Historiendaten zum Synchronisieren geladen in 0:00:00.078
LS 0 19:36:56.575 Historie NZDUSD: Historie synchronisiert von 2013.01.01 bis 2017.11.15
CO 0 19:36:56.579 Symbole EURNZD: zu synchronisierendes Symbol
OJ 0 19:36:56.580 Symbols EURNZD: Symbol synchronisiert, 3624 Bytes an Symbolinformationen erhalten
DL 0 19:36:56.580 Verlauf EURNZD: Verlaufssynchronisation gestartet
MK 0 19:36:56.656 Historie EURNZD: Laden von 27 Bytes Historiendaten zur Synchronisation in 0:00:00.000
OD 0 19:36:56.656 Geschichte EURNZD: Geschichte von 2013.01.01 bis 2017.11.15 synchronisiert
IN 0 19:36:56.665 Handel 2015.01.02 03:00:00 Marktkauf 0.10 EURUSD (1.20538 / 1.20549 / 1.20538)
PE 0 19:36:56.665 Handel 2015.01.02 03:00:00 Geschäft #2 Kauf 0.10 EURUSD zu 1.20549 durchgeführt(basierend auf Auftrag #2)
FH 0 19:36:56.666 Trade 2015.01.02 03:00:00 deal ausgeführt [#2 buy 0.10 EURUSD at 1.20549]
OG 0 19:36:56.666 Trade 2015.01.02 03:00:00 Auftrag ausgeführt buy 0.10 at 1.20549 [#2 buy 0.10 EURUSD at 1.20549]
FO 0 19:36:56.670 demo (EURUSD,D1) 2015.01.02 03:00:00 Buy() Methode erfolgreich ausgeführt. Return code=10009 (ausgeführt bei 1.20549)
NM 2 19:37:15.823 Verlauf NZDUSD 2016.09.21 23:01:00: beschädigter Verlauf entdeckt (s:-73370, o:73433, h:+48, l:-123, c:-117 -- tv:63, rv:11250111)
JF 2 19:37:15.823 Verlauf NZDUSD 2016.09.21, fehlerhafter Container gefunden, muss neu synchronisiert werden
LQ 2 19:37:16.106 Tester Historie Fehler 9 in undefinierter Funktion
OH 2 19:37:16.106 Tester stoppt bei 0% des Testintervalls mit Fehler '20 NZDUSD'
Bitte sagen Sie mir, was falsch ist und wie ich das Problem beheben kann?
In dem Artikel bei der Eröffnung Limit und Stop-Aufträge überall
Ich frage mich, ob diejenigen, die schreiben, dass der Artikel half ihnen den Code aus dem Artikel einfügen?