Fragen zum MQL5-Assistenten und zur Standardbibliothek der Handelsklassen - Seite 7

 

Ja, also funktionieren die vom Master neu erstellten Berater überhaupt nicht!?

2011.08.08 19:08:30 Kern 1 Verbindung geschlossen
2011.08.08 19:08:30 Kern 1 Logdatei "D:\Program\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20110808.log" geschrieben
2011.08.08 19:08:30 Kern 1 Tester gestoppt, weil OnInit kritischer Fehler
2011.08.08 19:08:30 Kern 1 2011.0101 00:00:00 OnInit: Fehler beim Initialisieren der Indikatoren
2011.08.08 19:08:30 Core 1 2011.01 00:00:00 CExpert::InitIndicators: Fehler beim Initialisieren der Indikatoren des Geldobjekts
2011.08.08 08 19:08:30 Core 1 2011.01.01 00:00:00 CExpertBase::InitIndicators: Parameter der Einstellung werden nicht überprüft
20112011.08.08 19:08:30 Kern 1 2011.01.01 00:00:00 CExpertBase::SetOtherSeries: Ändern von Zeitreihen ist verboten
2011.08.08 19:08:30 Kern 1 2011.01.01 00:00:00 CExpertBase::SetPriceSeries: Ändern von Zeitreihen ist verboten
2011.08.08 19:08:302011.08.08 19:08:30 Kern 1 EURUSD,H4: Historie beginnt ab 2010.01.04 00:00
2011.08.08 19:08:30 Kern 1 EURUSD,H4: Historie-Cache reserviert für geschätzte 2472 Takte
2011.08.08 19:08:30 Kern 1 EURUSD: enthält 367194 M1-Datensätze der Anfangsdaten von 2010.01.04 00:00 bis 2010.12.31 22:59
2011.08.08 19:08:30 Kern 1 EURUSD: enthält 367194 M1-Datensätze der Anfangsdaten von 2010.01.04 00:00:00.19:08:30 Kern 1 EURUSD,Täglich: Historie beginnt von 2010.01.04 00:00
2011.08.08 19:08:30 Kern 1 EURUSD,Täglich: Historie-Cache reserviert für geschätzte 412 Balken
2011.08.08 19:08:30 Kern 1 EURUSD: enthält 367194 M1-Datensätze von Beginn der Daten von 2010.01.04 00:00 bis 2010.12.31 22:59
2011.08.08 19:08:30 Core 1 Trailing_FixedPips_ProfitLevel=400
2011.08.08 19:08:30 Core 1 Trailing_FixedPips_StopLevel=200
2011.2011.08.08 19:08:30 Kern 1 Signal_2_AC_Weight=0.30
2011.08.08 19:08:30 Kern 1 Signal_1_AC_Weight=0.30
2011.08.082011.08.08 19:08:30 Kern 1 Signal_0_AC_Weight=0.30
2011.08.08 19:08:30 Kern 1 Signal_TakeLevel=400
2011.08.08 19:08:30 Kern 1 Signal_StopLevel=200
2011.2011.08.08 19:08:30 Kern 1 Signal_ThresholdClose=80
2011.08.08 19:08:29 Kern 1 Signal_ThresholdOpen=20
2011.2011.08.08 19:08:29 Core 1 Expert_Title=Master03
2011.08.08 19:08:29 Core 1 EURUSD,H1: Test von Experts\Master03.ex5 aus 2011.01.01.01 00:00 bis 2011.08.01 00:00 mit Eingaben:
2011.08.08 19:08:29 Core 1 EURUSD,H1 (MetaQuotes-Demo): 1 min OHLC Ticks erzeugen. OnTick nur am Barbeginn ausgeführt
2011.08.08 19:08:29 Kern 1 EURUSD,H1: Historie beginnt ab 2010.01.04 00:00
2011.08.08 19:08:29 Kern 1 EURUSD,H1: Historie-Cache reserviert für geschätzte 9891 Bars
2011.08.19:08:29 19:08:29 Kern 1 EURUSD: enthält 367194 M1-Datensätze der Anfangsdaten von 2010.01.04 00:00 bis 2010.12.31 22:59
2011.08.08 19:08:29 Kern 1 EURUSD: Historie synchronisiert von 1993.05.13 bis 2011.08.05
2011.08.08 19:08:29 Kern 1 EURUSD: lade 27 Bytes der Historie zum Synchronisieren
2011.2011.08.08 19:08:29 Core 1 EURUSD: Symbol synchronisiert, 3304 Bytes Symbolinfo empfangen
2011.08.08 19:08:29 Core 1 Intel Core i5 M 430 @ 2.27GHz, 2996 MB
2011.08.08 19:08:29 Core 1 158 Kb Gesamtinitialisierungsdaten empfangen
2011.2011.08.08 19:08:29 Kern 1 erfolgreich initialisiert
2011.08.08 19:08:29 Kern 1 Ersteinzahlung 10000.00 USD, Hebel 1:500
2011.08.08 19:08:29 Kern 1 Experten-Datei hinzugefügt: Experts\Master03.ex5. 156794 Bytes geladen
2011.08.08 19:08:29 Kern 1 5304 Bytes Eingabeparameter geladen
2011.08.08 19:08:29 Testerqualität der analysierten Historie ist 100%
2011.08.08 19:08:28 Kern 1 gemeinsame Synchronisation abgeschlossen
2011.08.08.19:08:28 19:08:28 Tester EURUSD,H1 (MetaQuotes-Demo): Test von experts\Master03.ex5 von 2011.01.01 00:00 bis 2011.08.01 00:00 zu starten
2011.08.2011.08.08 19:08:28 Kern 1 autorisiert (Agent Build 485)
2011.08.08 19:08:28 Kern 1 verbunden
2011.08.08 19:08:28 Kern 1 verbindet mit 127.0.0.1:3000

Dateien:
Master03.mq5  8 kb
71pon5.PNG  22 kb
 
Erm955:

Das ist es ja, ich habe es neu kompiliert!

Mein Fehler.
Dateien:
MoneyNone.mqh  4 kb
 
uncleVic:
Mein Fehler.

Gut!

 

An OnkelVic.

Ich möchte noch einmal die Möglichkeit prüfen, die automatische Generierung mehrerer Währungen im Assistenten zu aktivieren. Der Hauptgrund dafür, dass ich es nicht getan habe, war die Kompliziertheit des Wizard-Menüs. Aber die Komplikation besteht darin, nur ein Menü hinzuzufügen - die Liste der Währungspaare für den gleichzeitigen Betrieb, wenn wir natürlich zustimmen, dass alle Eingabedaten für diese Paare gemeinsam sein werden. Nach meiner Erfahrung mit Mehrwährungsprogrammen ist dies durchaus akzeptabel. Der Umsetzungsmechanismus wird auch für Sie nicht schwierig sein. Im Wesentlichen handelt es sich um die mechanische Reproduktion eines Codeabschnitts mit kleinen Einschlüssen für jedes Symbol.

Das heißt, das Assistentenmenü und die Implementierung sind nicht viel komplizierter, aber wir erhalten einen vielseitigeren Assistenten, der es Ihnen ermöglicht, mehrere Strategien fast sofort und im Mehrwährungsmodus zu implementieren.

Ich füge meine Variante der Lösung bei. Das kann nützlich sein.

Dateien:
 
Erm955:

An OnkelVic.

Ich möchte noch einmal die Möglichkeit prüfen, die automatische Generierung mehrerer Währungen im Assistenten zu aktivieren. Der Hauptgrund dafür, dass ich es nicht getan habe, war die Kompliziertheit des Wizard-Menüs. Aber die Komplikation besteht darin, nur ein Menü hinzuzufügen - die Liste der Währungspaare für den gleichzeitigen Betrieb, wenn wir natürlich zustimmen, dass alle Eingabedaten für diese Paare gemeinsam sein werden. Nach meiner Erfahrung mit Mehrwährungsprogrammen ist dies durchaus akzeptabel. Der Umsetzungsmechanismus wird auch für Sie nicht schwierig sein. Im Wesentlichen handelt es sich um die mechanische Reproduktion eines Codeabschnitts mit kleinen Einschlüssen für jedes Symbol.

Das heißt, das Assistentenmenü und die Implementierung sind nicht viel komplizierter, aber wir erhalten einen vielseitigeren Assistenten, der es Ihnen ermöglicht, mehrere Strategien fast sofort und im Mehrwährungsmodus zu implementieren.

Ich füge meine Variante der Lösung bei. Das kann nützlich sein.

Die Geschäftsleitung sagte nein.
 
uncleVic:
Besuchen Sie das englische Forum hier.

Hallo Moderatorin!

Danke für den Hinweis. Ich versuche, es herauszufinden. Es gibt hier eine Frage zum Programmcode:

Soweit ich weiß, werden die Einstellungen (d. h. die Eingabeparameter) des benutzerdefinierten SAR-Indikators hier beschrieben. Die ersten drei (von 0 bis 2) sind eindeutig. Woher kommt der vierte (angewandte) Preis? Er ist im benutzerdefinierten SAR-Indikator selbst nicht vorhanden. Bitte erläutern Sie diesen Block im Detail! Dies ist vielleicht der schwierigste Teil der Umgestaltung der benutzerdefinierten Indikatoren (Tuning). Vielen Dank im Voraus!

//--- prepare indicator parameters
   MqlParam CustomSAR_prop[];
   ArrayResize(CustomSAR_prop,4);
//--- indicator file
   CustomSAR_prop[0].type=TYPE_STRING;
   CustomSAR_prop[0].string_value="Examples\\ParabolicSAR";
//--- SAR step
   CustomSAR_prop[1].type=TYPE_DOUBLE;
   CustomSAR_prop[1].double_value=m_step;
//--- SAR maximum
   CustomSAR_prop[2].type=TYPE_DOUBLE;
   CustomSAR_prop[2].double_value=m_maximum;
//--- applied price
   CustomSAR_prop[3].type=TYPE_INT;
   CustomSAR_prop[3].integer_value=PRICE_CLOSE;
//--- initialize object
   if(!m_sar.Create(m_symbol.Name(),m_period,IND_CUSTOM,4,CustomSAR_prop))
     {
      printf(__FUNCTION__+": error initializing object");
      return(false);
     }
   m_sar.NumBuffers(1);
//--- ok
   return(true);
  }
 
ForexMoneyMaker:

Hallo Moderatorin!

Danke für den Hinweis. Ich versuche, es herauszufinden. Es gibt hier eine Frage zum Programmcode:

Soweit ich weiß, werden die Einstellungen (d. h. die Eingabeparameter) des benutzerdefinierten SAR-Indikators hier beschrieben. Die ersten drei (von 0 bis 2) sind eindeutig. Woher kommt der vierte (angewandte) Preis? Er ist im benutzerdefinierten SAR-Indikator selbst nicht vorhanden. Bitte erläutern Sie diesen Block im Detail! Dies ist vielleicht der schwierigste Teil dieser ganzen Umgestaltung (Anpassung) des benutzerdefinierten Indikators. Vielen Dank im Voraus!

Ja, Sie brauchen es wahrscheinlich nicht. Ich habe es nicht geschrieben.
 

Wenn ich dann noch eine Frage zu diesem Codefragment stellen darf:

m_sar.NumBuffers(1); - wofür ist dieser Operator da (wohin geht er) und warum steht eine 1 in Klammern?

 
ForexMoneyMaker:

Wenn ich dann noch eine Frage zu diesem Codefragment stellen darf:

m_sar.NumBuffers(1); - wofür ist dieser Operator da (wohin geht er) und warum steht eine 1 in Klammern?

Er setzt die Anzahl der Puffer des Benutzerkennzeichens (da deren Anzahl vorher nicht bekannt ist).
Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 
uncleVic:
Legt die Anzahl der Puffer des benutzerdefinierten Indikators fest (da die Anzahl der Puffer nicht im Voraus bekannt ist).

Ich danke Ihnen!

Es ist mir gelungen, diese Idee vollständig umzusetzen! Und zwar auf der Grundlage eines benutzerdefinierten Indikators von ausreichender Komplexität. Ich werde mir überlegen, ob ich nicht versuchen sollte, einen entsprechenden Artikel zu diesem Thema zu schreiben. Es ist nichts wirklich Kompliziertes dabei. :)