Diskussion zum Artikel "In 6 Schritten zum eigenen automatischen Handelssystem!" - Seite 7

 

Ich habe versucht, diesen Artikel zu benutzen, um mein eigenes Programm zu erstellen, aber es ist zu kompliziert für meine einfachen Zwecke. Hier habe ich versucht, ein einfaches Programm zu erstellen, aber der Compiler hat (nur) einen Fehler gefunden: Klasse mit "kein Typ". Und egal, was ich als "Typ" oder "Name" der Klasse eintrug, es gab keine Änderung.

Hier ist der Anfang. Was mache ich falsch?


//|KaufVerkauf.mq5 |

//|Copyright ....2012 |
//|http://www.mql5.com |
//+------------------------------------------------------------------+
#Eigenschaft Copyright "Copyright .... 2012"
#property link"http://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Einschließen|
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>


//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Initialisierung des Expertenobjekts |
//+------------------------------------------------------------------


//---- Handles für Indikatoren
int RSI_handle = 0;// Handle für den Indikator iRSI
intADX_handle = 0; // Handle für den Indikator iADX
intForce_handle = 0; // Handle für den Indikator iForce
int AD_handle = 0;// Handle für den Indikator iAD
int Close_handle = 0;
intHigh_handle = 0;
int Low_handle = 0;
int VTick_handle = 0;
int VReal_handle = 0;
int sig =0;


double MqlParams[]; // Array zum Speichern von Indikatorparametern

//+------------------------------------------------------------------+
//| Experteninitialisierungsfunktion RSI|
//+------------------------------------------------------------------+

Klasse CExpertSignal

{
private:

int OnInit()

//--- Erstellung des Indikators iRSI...........
Automated Trading and Strategy Testing
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
 

Vielen Dank.

Ich versuche, dies zu testen:

- Laden Sie Ihren Code, kopieren Sie zu MQL5 und kompiliert: erfolgreich keine Fehler.

- Aber EA kann nicht ausgeführt werden, es erzeugt einen Fehler wie unten:

TestMA_Cross (EURUSD,H1) MA_Cross::CreateFastMA: Fehler beim Initialisieren des Objekts des schnellen MA

Bitte helfen Sie mir, was falsch mit diesen Parametern:

//--- Einstellung der Parameter der schnellen MA
   MqlParam parameters[4];
//---
   parameters[0].type=TYPE_STRING;
   parameters[0].string_value="Examples\\Custom Moving Average.ex5";
   parameters[1].type=TYPE_INT;
   parameters[1].integer_value=m_period_fast;      // Zeitraum
   parameters[2].type=TYPE_INT;
   parameters[2].integer_value=0;                  // Verschiebung
   parameters[3].type=TYPE_INT;
   parameters[3].integer_value=m_method_fast;      // Methode der Mittelwertbildung
//--- Objektinitialisierung
   if(!m_fast_ma.Create(m_symbol.Name(),m_period,IND_CUSTOM,4,parameters))
     {
      printf(__FUNCTION__+": Error initializing the object of the fast MA");
      return(false);
     }

Noch einmal, ich danke Ihnen viel.

 

Zunächst einmal möchte ich dem/den Autor(en) für diesen Artikel danken.
Ich bin neu in MetaTrader, MQL5 und Forex-Handel, daher sind diese Artikel wirklich nützlich!

Wenn ich diesen EA teste, stelle ich fest, dass er beim Schließen einer Long-Position ein Verkaufssignal mit verdoppelter Losgröße ausgibt.
Warum schließt er nicht nur meine Long-Position, sondern geht beim gleichen Signal direkt eine Short-Position ein?
Als ersten Test, um die gesamte Programmierung zu verstehen, möchte ich nur Long-Positionen eingehen, also nur eine Long-Position
öffnen und schließen, ohne beim Schließungs-/Verkaufssignal eine Short-Position einzugehen.

Vielen Dank im Voraus.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Symbol Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Symbol Properties - Documentation on MQL5
 

Guten Tag!

bitte beraten Sie mich, wie ich eine Position in einem Expert Advisor, der auf der Basis von MQL5 Wizard geschrieben wurde und bei dem Positionen über folgende Funktionen geöffnet werden, erhöhen (aufstocken) kann

virtual int LongCondition();
virtual int ShortCondition();

Ich habe den Roboter nach den Empfehlungen im Artikel

https://www.mql5.com/de/articles/367 "Erstellen Sie einen Handelsroboter in 6 Schritten" und es funktioniert gut, aber versucht, die Positionsgröße zu beeinflussen (egal ob zu erhöhen oder zu verringern)

(egal ob erhöhen oder verringern) durch wiederholte Generierung der Bedingung in, zum Beispiel in

LongCondition();

führt zu nichts, die bereits offene Position wird nicht verändert, sie kann nur durch Ausführen der Close-Bedingung oder durch Auslösen von sl , tp gelöscht werden.

Ich mag den MQL5 Wizard, man kann einfach und schnell einen Multi-Indikator Expert Advisor "bauen", das sl Tracking Modul ändern, das Money Management Modul ändern.

Aber mein Versuch, einen Expert Advisor zu schreiben, der eine minimale Position öffnet, wenn eine Bedingung durch einen Indikator gebildet wird und die Position erhöht (füllt), wenn der Trend durch einen anderen Indikator bestätigt wird.

Ich bin auf das oben beschriebene Problem gestoßen - die bereits geöffnete Position ändert sich nicht, wenn das Signal, sie wieder zu öffnen, durch z.B. LongCondition() ausgegeben wird;

Ich danke Ihnen.

Создай торговый робот за 6 шагов!
Создай торговый робот за 6 шагов!
  • 2012.06.01
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы не знаете, как устроены торговые классы, и пугаетесь слов "Объектно-ориентированное программирование"? На самом деле вовсе не обязательно всё это знать, чтобы написать свой собственный модуль торговых сигналов - достаточно следовать простым правилам. Всё остальное сделает Мастер MQL5, и вы получите готовый торговый робот!
 

Wenn ich dieses Beispiel im mt5 Strategietester ausführe und den Vermögenswert pex. Vale5, genetischer Algorithmus, d1, ohlc 1 Minute, max balance, es gibt einen Fehler!

Wenn ich es auf einem Forex-Paar ausführe, scheint dieselbe Optimierung abgeschlossen zu sein (was ich nicht erwartet hatte, weil es auf dem lokalen Agenten zu lange dauert).

Der Fehler, der im Tagebuch des Testers erscheint, in diesem Fall für Vale5, hat etwas mit OnInit zu tun. Hat jemand das gleiche Problem festgestellt? Wenn ja, haben Sie irgendwelche Lösungen und/oder Schlussfolgerungen gefunden?

Danke, wenn jemand helfen kann!

 
fspyna:

Wenn ich dieses Beispiel im mt5 Strategietester ausführe und den Vermögenswert pex. Vale5, genetischer Algorithmus, d1, ohlc 1 Minute, max balance, es gibt einen Fehler!

Wenn ich es auf einem Forex-Paar ausführe, scheint dieselbe Optimierung abgeschlossen zu sein (was ich nicht erwartet hatte, weil es auf dem lokalen Agenten zu lange dauert).

Der Fehler, der im Tagebuch des Testers erscheint, in diesem Fall für Vale5, hat etwas mit OnInit zu tun. Hat jemand das gleiche Problem festgestellt? Wenn ja, haben Sie irgendwelche Lösungen und/oder Schlussfolgerungen gefunden?

Danke, wenn jemand helfen kann!

Hallo, bitte geben Sie uns zusätzliche Informationen, wie z. B. ein Fehlerprotokoll oder Screenshots, damit wir versuchen können, das Problem besser zu analysieren.

Eine einfache Beschreibung wie die, die Sie oben gegeben haben, hilft nicht viel bei der Identifizierung des Problems.

Mit freundlichen Grüßen,
Malacarne

 

Ich habe (noch) keine Erfahrung mit der Programmierung in MQL, aber ich habe einige Erfahrung in der Programmierung in anderen Sprachen. Einer der einfachsten Fehler in der Programmierung zu machen (meine spezifische Klasse war Java, die sehr ähnlich im Stil zu C + + und offenbar MQL ist) ist nicht das Schließen der Klammern richtig. Es ist einer der einfachsten Fehler zu machen, und umgekehrt, auch einer der schwieriger zu finden.KJG, so weit wie die Schließung einer langen und Kopf rechts in eine kurze, es ist wahrscheinlich, was dieser Stil der EA ist entworfen, um zu tun. Ich habe viele Trading-Stile mit genau diese Art von Setup gesehen, ich glaube, sie wurden für einen Markt, der eine Menge von Volatilität und breite Preisschwankungen passiert die ganze Zeit, wie etwas, das wahrscheinlich auf einem Minute Zeitrahmen Chart passieren würde.

Ich werde auf jeden Fall von diesem und vielen anderen Artikeln hier Gebrauch machen, da bin ich mir sicher.

 
Ich habe die Anweisungen in Schritt 1 und 2 befolgt, aber das Signal erscheint nicht in der Liste der verfügbaren Signale des Assistenten. Ich habe es mit anderen Signalen versucht, aber keines funktioniert. Vielleicht gibt es eine Beschränkung bei der Anzahl der Signale, die im Assistenten angezeigt werden können. Kann jemand helfen?
 

Guten Abend,

Sie erhalten den folgenden Fehler, wenn Sie versuchen, den Roboter zu testen.

2017.07.04 18:20:27.404 tester gestoppt, weil OnInit fehlgeschlagen ist

Mache ich etwas falsch oder gibt es eine Einstellung, die im Roboter vorgenommen werden muss?

Vielen Dank

Carlos F.

 

Die verschiedenen Bauphasen werden gut erklärt. Es ist eine klare und nützliche Arbeit, besonders für diejenigen, die noch nie einen Roboter entwickelt haben. Vielen Dank