Diskussion zum Artikel "Der MQL5-Assistent für Neueinsteiger"

 

Neuer Artikel Der MQL5-Assistent für Neueinsteiger :

Anfang 2011 haben wir die erste Fassung des MQL5-Assistenten veröffentlicht. Damit hatten die Devisenhändler ein einfaches und verständliches Werkzeug zur automatischen Erzeugung von automatischen Handelssystemen in der Hand. Jeder Anwender von MetaTrader 5 erhielt so die Möglichkeit, ohne MQL5-Programmierkenntnisse sein eigenes Expert-System zu schreiben.

Wir betrachten jeden einzelnen Schritt und durchlaufen anschaulich den gesamten Weg bis zum fertigen Expert-System. Zunächst legen wir das Instrument (Kürzel) und den Zeitraum fest, mit denen wir handeln wollen: EUR/USD bzw. M10. Als Signale verwenden wir:

Damit wären die wesentlichen Parameter unseres Expert-Systems festgelegt. Jetzt beginnt die Arbeit im MQL5-Assistenten selbst. Um das Programm aufzurufen, verwenden wir das Bearbeitungsprogramm MetaEditor und klicken dort unter der Registerkarte „Datei“ des Hauptmenüs auf „Anlegen“. In dem erscheinenden Fenster wählen wir „Expert-System anlegen“:

Expert-System anlegen

Autor: MetaQuotes Software Corp.

 

Fragen an die Entwickler:

1. Warum kann ich keine anderen Signale verwenden?

Zum Beispiel"Signale basierend auf der Kreuzung von zwei EMAs".

https://www.mql5.com/ru/forum/2935/page1

2 Wird die Bibliothek der Signale ergänzt werden?

3) Wird es möglich sein, eigene Signalklassen mit Hilfe des "Wizards" zu erstellen?

4) Wird es möglich sein, mit dem "Wizard" Indikatoren auf der Basis von Indikator-Arrays zu erstellen?

5. Wird es möglich sein, die Einstellungen des Assistenten für weitere Anpassungen der erstellten Strategie/Indikatoren direkt im Assistenten zu speichern.

Meiner Meinung nach würden die Punkte. 3-5 würden das Leben von Händlern, die keine Programmierer sind, sehr erleichtern.

Und eine komplette "Fantasie" wäre die Möglichkeit, eigene Signalkassetten für beliebige Indikatoren mit Hilfe des Assistenten zu erstellen, so wie man Gleichungen in Excel schreibt :)

Wie es in Metaquots und CQG implementiert ist.

Советники: Мастер MQL5 - Торговые сигналы по пересечению двух экспоненциальных скользящих средних
Советники: Мастер MQL5 - Торговые сигналы по пересечению двух экспоненциальных скользящих средних
  • www.mql5.com
В статье Создание эксперта без программирования с помощью Мастера MQL5 описаны шаги по автоматическому созданию кода советника при помощи Мастера MQL5.
 
Ich schreibe meine eigenen Signale Modul, in ihm die Testfunktion ist wie folgt:
//+------------------------------------------------------------------+
//| Prüfung, ob die Bedingung für einen Verkauf erfüllt ist |
//| INPUT:none|
//| OUTPUT: Stimmengewicht von 0 bis 100|
//| ANMERKUNG: Nein.|
//+------------------------------------------------------------------+
int CInnerBarSignal::ShortCondition(){
//--- die Bedingung wird durch den geschlossenen vorherigen Balken geprüft

  
   Print("call short condition");
   if(  Low(1) < Low(2) && High(2)<High(3) && Low(2)>Low(3) && Close(3)<Open(3) ){
     return(100);
   }
//--- Bedingung nicht erfüllt
   return(0);
  }

Wenn man den generierten EA im "all ticks"-Modus laufen lässt, kann man sehen, dass die Funktion zweimal bei der Bar-Eröffnung ausgeführt wird

2011.06.07 11:42:15 Core 1 Verbindung geschlossen

2011.06.07 11:42:15 Kern 1 Protokolldatei "D:\metatrader5\Tester\Agent-127.0.0.0.1-3000\logs\20110607.log" geschrieben

2011.06.07 11:42:15 Core 1 EURUSD,H1: 72504 Ticks (24 Balken) innerhalb von 62 ms erzeugt (Gesamtbalken in der Historie 8814, Gesamtzeit 312 ms)

2011.06.07 11:42:15 Kern 1 OnTester Ergebnis 0

2011.06.07 11:42:15 Kern 1 2011.06.02 23:00:00 call short condition

2011.06.07 11:42:15 Kern 1 2011.06.02 23:00:00 Aufruf kurze Bedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 22:00:00 Aufruf Kurzbedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 22:00:00:00 Aufruf kurze Bedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 21:00:00:00 Aufruf kurze Bedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 21:00:00 Aufruf kurze Bedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 20:00:00 Aufruf kurze Bedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 20:00:00 Aufruf kurze Bedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 19:00:00 Aufruf kurze Bedingung

Ist dies die Art und Weise, wie es konzipiert ist, und ist die postische Verarbeitung nicht im Signalmodul verfügbar?

Мастер MQL5: Создание эксперта без программирования
Мастер MQL5: Создание эксперта без программирования
  • 2010.12.15
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы хотите быстро проверить торговую идею, не тратя времени на программирование? Выберите в "Мастере MQL5" нужный тип торговых сигналов, подключите модули сопровождения позиций и управления капиталом - на этом вся работа закончена. Создайте свои реализации модулей или закажите их через сервис "Работа" - и комбинируйте новые модули с уже существующими.
 
gdtt:
Ich schreibe meine eigenen Signale Modul, in ihm die Testfunktion ist wie folgt:

Wenn man den generierten EA im "all ticks"-Modus laufen lässt, kann man sehen, dass die Funktion zweimal bei der Bar-Eröffnung ausgeführt wird

2011.06.07 11:42:15 Core 1 Verbindung geschlossen

2011.06.07 11:42:15 Kern 1 Protokolldatei "D:\metatrader5\Tester\Agent-127.0.0.0.1-3000\logs\20110607.log" geschrieben

2011.06.07 11:42:15 Core 1 EURUSD,H1: 72504 Ticks (24 Balken) innerhalb von 62 ms erzeugt (Gesamtbalken in der Historie 8814, Gesamtzeit 312 ms)

2011.06.07 11:42:15 Kern 1 OnTester Ergebnis 0

2011.06.07 11:42:15 Kern 1 2011.06.02 23:00:00 call short condition

2011.06.07 11:42:15 Kern 1 2011.06.02 23:00:00 Aufruf kurze Bedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 22:00:00 Aufruf Kurzbedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 22:00:00:00 Aufruf kurze Bedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 21:00:00:00 Aufruf Kurzbedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 21:00:00 Aufruf kurze Bedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 20:00:00 Aufruf kurze Bedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 20:00:00 Aufruf kurze Bedingung

2011.06.07 11:42:15 Kern 1 2011.06.02 19:00:00 Aufruf kurze Bedingung

Ist dies die Art und Weise, wie es konzipiert ist, und ist die postische Verarbeitung nicht im Signalmodul verfügbar?

Standardmäßig wird der Expert Advisor vom Assistenten so erstellt, dass er mit Eröffnungskursen arbeitet.

Ersetzen Sie im Quellcode des Expert Advisors:

//--- Initialisierung des Experten
   if(!Ext_Expert.Init(...,...,false,...))

durch:

//--- Initialisierung des Experten
   if(!Ext_Expert.Init(...,...,true,...))
 

Anfang 2011 haben wir die erste Version des Wizard MQL5 veröffentlicht. Dieser Schritt bot Händlern ein einfaches und klares Werkzeug für die automatische Erstellung von Handelsrobotern. Jeder MetaTrader 5-Benutzer war in der Lage, seinen eigenen Expert Advisor zu schreiben, ohne zu wissen, wie man in MQL5 programmiert.


Das ist gut, aber es ist nicht genug für Anfänger, um ihre eigenen Roboter zu schreiben, d.h. Sie können sie schreiben, aber nur unter Verwendung Ihrer Bibliothek. Und wenn ein Anfänger einen Expert Advisor mit seinen eigenen Signalen schreiben muss? Hier sind wir...

Wenn Sie möchten, dass jeder Anfänger seinen eigenen Expert Advisor schreiben kann, müssen Sie einen Visualisierer hinzufügen. Dieser ist zum Beispiel im Trade Navigator implementiert . Dort kann man durch Auswahl eines Chartausschnittes Signale in die Bibliothek aufnehmen. Und der Visualisierer überträgt alles selbst in die Programmiersprache. Und er berücksichtigt alles, Candlesticks, Indikatoren und grafische Linien auf dem Chart. Das heißt, Sie können eine beliebige Bibliothek erstellen. Und dann können Sie aus diesen Signalen einen beliebigen Expert Advisor erstellen. Das ist es, was wir anstreben sollten.

Mit freundlichen Grüßen!

[Gelöscht]  
NGN:


Das ist gut, aber es ist nicht genug für Anfänger, ihre eigenen Roboter zu schreiben. Das heißt, natürlich, können Sie schreiben, aber nur mit Ihrer Bibliothek. Und wenn ein Anfänger braucht, um einen Experten seiner eigenen Signale zu schreiben? Hier sind wir...

Wenn Sie möchten, dass jeder Anfänger seinen eigenen Expert Advisor schreiben kann, müssen Sie einen Visualisierer hinzufügen. Dieser ist zum Beispiel im Trade Navigator implementiert . Dort kann man durch Auswahl eines Chartausschnittes Signale in die Bibliothek aufnehmen. Und der Visualisierer überträgt alles selbst in die Programmiersprache. Und er berücksichtigt alles, Candlesticks, Indikatoren und grafische Linien auf dem Chart. Das heißt, Sie können eine beliebige Bibliothek erstellen. Und dann können Sie aus diesen Signalen einen beliebigen Expert Advisor erstellen. Das ist es, was wir anstreben sollten.

Mit freundlichen Grüßen!

Sind Sie mit diesen Artikeln noch nicht vertraut?

1. MQL5 Wizard: Wie Sie Ihr eigenes Modul für die Pflege offener Positionen schreiben

2. MQL5 Wizard: Wie Sie Ihr eigenes Modul für Kapital- und Risikomanagement schreiben

3. mQL5 Wizard: Wie Sie Ihr eigenes Modul für Handelssignale schreiben

4. MQL5 Wizard: Erstellen eines Expert Advisors ohne Programmierung

5. MQL5 Wizard: Neue Version

 

Können Sie mir sagen, wie man schwebende Aufträge im Assistenten platziert?

Eine weitere Frage: Ist dieser Code korrekt?

//+------------------------------------------------------------------+
//|| Globales Expertenobjekt|
//+------------------------------------------------------------------+
CExpert ExtExpert;
CExpert ExtExpert1;

//+------------------------------------------------------------------+
//| Initialisierungsfunktion des Experten |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Initialisierung des Experten
   if(!ExtExpert.Init("GBPCHF",Period(),Expert_EveryTick,Expert_MagicNumber) || 
      !ExtExpert1.Init("GBPJPY",Period(),Expert_EveryTick,Expert_MagicNumber))
     {
      //--- fehlgeschlagen
      printf(__FUNCTION__+": error initializing expert");
      ExtExpert.Deinit();
      ExtExpert1.Deinit(); 
      return(-1);
     }

Und welches Symbol/Periode muss in diesem Fall im Tester eingestellt werden

2011.06.16 10:15:25     Core 1  2011.06.01 00:00:00   CExpert::Init: wrong symbol or timeframe (must be GBPCHF:PERIOD_H1)
 
beginner:

Können Sie mir sagen, wie ich im Assistenten Pending Orders platzieren kann?

Im generierten Expert Advisor gibt es einen Parameter Inp_Signal_PricrLivel. Er ist in 2/4 signifikanten Punkten eingestellt.

Wert 0 - Markteintritt.

Wert größer als 0 - Einstieg ist besser als der Markt (entsprechend der Limit-Order).

Wert kleiner als 0 - Einstieg ist schlechter als der Markt (durch Stop-Order).

Ich bin nicht bereit, die zweite Frage sofort zu beantworten.
 

Hier sind die Parameter

//+------------------------------------------------------------------+
//| Eingaben|
//+------------------------------------------------------------------+
//--- Eingaben für Experten
input string Expert_Title         ="2";   // Name des Dokuments
int          Expert_MagicNumber   =13179; // 
bool         Expert_EveryTick     =false; // 
//--- Eingänge für Hauptsignal
input int    Signal_ThresholdOpen =10;    // Zu öffnender Signalschwellenwert [0...100]
input int    Signal_ThresholdClose=10;    // Signalschwellenwert zum Schließen [0...100]
input double Signal_PriceLevel    =0.0;   // Preisniveau für die Ausführung eines Geschäfts
input double Signal_StopLevel     =50.0;  // Stop-Loss-Niveau (in Punkten)
input double Signal_TakeLevel     =50.0;  // Gewinnmitnahme-Niveau (in Punkten)
input int    Signal_Expiration    =4;     // Verfall der schwebenden Aufträge (in Takten)
input double Signal__Weight       =1.0;   // InnerBar Gewicht [0...1.0]
//--- Eingaben gegen Geld
input double Money_FixLot_Percent =10.0;  // Prozentsatz.
input double Money_FixLot_Lots    =0.1;   // Festes Volumen
Wie muss ich vorgehen, um in den Markt für eine der Optionen einsteigen zu können?
 
beginner:

Hier sind die Parameter

Wie sollte ich formatieren, um bei einer der beiden Optionen in den Markt einsteigen zu können?

Um besser als der Markt einzusteigen (bei einem Rebound):

input double Signal_PriceLevel    =50.0;   // Preisniveau für die Ausführung eines Geschäfts

Um schlechter als der Markt einzusteigen (bei einem Ausbruch):

input double Signal_PriceLevel    =-50.0;   // Preisniveau für die Ausführung eines Geschäfts

Aber Sie können es im Tester ablesen, indem Sie die Optimierung für den Parameter von -50,0 bis 50,0 in Schritten von 1,0 (5,0) durchführen.

 
uncleVic:
Ich bin nicht bereit, die zweite Frage sofort zu beantworten.

Oder sagen Sie mir, wie man auf 2 Instrumente zu handeln.