Betrachten wir zum Beispiel die MACD-Signale. Es werden insgesamt 5 Kaufsignale und 5 Verkaufssignale beschrieben (Umkehrung, Kreuzung mit der Signallinie usw.). Gibt es eine Möglichkeit, den Wert dieser Signale zu einem bestimmten Zeitpunkt zu ermitteln? D.h. für jeden Balken einen Vektor mit 10 Elementen bilden, wobei jedes Element dem Signal entspricht, 1 das Vorhandensein und 0 das Fehlen anzeigt? Welche Methode der Klasse CSignalMACD kann verwendet werden, um die entsprechenden Werte zu erhalten?
Betrachten wir zum Beispiel die MACD-Signale. Es werden insgesamt 5 Kaufsignale und 5 Verkaufssignale beschrieben (Umkehrung, Kreuzung mit der Signallinie usw.). Gibt es eine Möglichkeit, den Wert dieser Signale zu einem bestimmten Zeitpunkt zu ermitteln? D.h. für jeden Balken einen Vektor mit 10 Elementen bilden, wobei jedes Element dem Signal entspricht, 1 das Vorhandensein und 0 das Fehlen anzeigt? Welche Methode der Klasse CSignalMACD kann verwendet werden, um die entsprechenden Werte zu erhalten?
In der Standardauslieferung ist eine solche Funktionalität leider nicht enthalten.
Hallo, helfen Sie mir bitte weiter. Ich habe einen Roboter gebaut (meinen ersten Roboter). Unmittelbar nach dem Start schaltet er sich mit der Meldung Expert initializing of robot (EURUSD,H1) failed ab. Ich kann keine weiteren Informationen darüber finden.
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
Hallo, helfen Sie mir bitte weiter. Ich habe einen Roboter gebaut (meinen ersten Roboter). Unmittelbar nach dem Start schaltet er sich mit der Meldung Expert initializing of robot (EURUSD,H1) failed ab. Ich kann keine weiteren Informationen darüber finden.
Ich habe nicht genug Informationen.
Bedarf
#include <Expert\robot\robot.mqh>
Ich benötige Startparameter (Tester/Terminal, Server, Paar, Zeitrahmen, usw.)
PS Der Quellcode lässt sich besser als Datei anhängen
1) //--- Eingaben für Geld Eingabe double Money_FixLot_Percent =10.0; // Prozentsatz input double Money_FixLot_Lots =0.1; // Feste Lautstärke Was bedeuten diese Parameter? Und wie sind sie miteinander verbunden?
2) Kann ich einen EA generieren, der Pending Orders platziert? Wenn ja, wie?
3) Was bedeutet die Variable Signal_Expiration? Wie verwende ich es?
Вы хотите быстро проверить торговую идею, не тратя времени на программирование? Выберите в "Мастере MQL5" нужный тип торговых сигналов, подключите модули сопровождения позиций и управления капиталом - на этом вся работа закончена. Создайте свои реализации модулей или закажите их через сервис "Работа" - и комбинируйте новые модули с уже существующими.
1) //--- Eingaben für Geld Eingabe double Money_FixLot_Percent =10.0; // Prozentsatz input double Money_FixLot_Lots =0.1; // Feste Lautstärke Was bedeuten diese Parameter? Und wie sind sie miteinander verbunden?
2) Kann ich einen EA generieren, der Pending Orders platziert? Wenn ja, wie?
3) Was bedeutet die Variable Signal_Expiration? Wie wird es verwendet?
1) Der Parameter Money_FixLot_Percent wird verwendet, um das Niveau des "Zwangsstopps" festzulegen. Berühren Sie es nicht.
Der Parameter Money_FixLot_Lots legt ein festes Volumen (Lot) fest, mit dem Ihr Expert Advisor in den Markt einsteigen wird.
Diese Parameter sind in keiner Weise miteinander verknüpft.
2) Jeder von einem Assistenten erstellte Expert Advisor kann mit schwebenden Aufträgen handeln. Zu diesem Zweck wird der Parameter ..._PriceLevel verwendet. Je nach dem Wert dieses Parameters verhält sich der Expert Advisor wie folgt:
0 - der Markteintritt erfolgt zum aktuellen Kurs;
>0 - der Markteintritt erfolgt über schwebende Limit-Orders (besser als der aktuelle Kurs um den Wert dieses Parameters);
<0 - der Markteintritt erfolgt über schwebende Stop-Orders (um den Wert des Parameters schlechter als der aktuelle Kurs);
3) Der Parameter Signal_Expiration legt die Lebensdauer einer schwebenden Order fest (in Takten des aktuellen Zeitrahmens).
Знание языков программирования теперь не является обязательным условием для создания торговых роботов. Если раньше это действительно служило непроходимым препятствием для реализации своих торговых стратегий, то появление Мастера MQL5 в корне изменило ситуацию. Начинающие трейдеры могут перестать тревожиться из-за отсутствия опыта программирования - с новым визардом, позволяющим быстро генерировать код советника, он не понадобится.
2) Jeder vom Assistenten generierte EA kann mit schwebenden Aufträgen handeln. Zu diesem Zweck wird der Parameter ..._PriceLevel verwendet. Je nach dem Wert dieses Parameters verhält sich der Expert Advisor wie folgt:
0 - der Markteintritt erfolgt zum aktuellen Kurs;
>0 - der Markteintritt erfolgt über schwebende Limit-Orders (besser als der aktuelle Preis um den Wert dieses Parameters);
<0 - der Markteintritt erfolgt über schwebende Stop-Orders (um den Wert des Parameters schlechter als der aktuelle Kurs);
In welchen Einheiten wird der Parameter PriceLevel gemessen? In Punkten? D.h., wenn ich eine ausstehende Stop-Order 20 Pips über dem aktuellen Kurs platzieren möchte,
Sollte ich diesen Parameter PriceLevel =-0.0020 setzen?
Betrachten wir zum Beispiel die MACD-Signale. Es werden insgesamt 5 Kaufsignale und 5 Verkaufssignale beschrieben (Umkehrung, Kreuzung mit der Signallinie usw.). Gibt es eine Möglichkeit, den Wert dieser Signale zu einem bestimmten Zeitpunkt zu ermitteln? D.h. für jeden Balken einen Vektor mit 10 Elementen bilden, wobei jedes Element dem Signal entspricht, 1 das Vorhandensein und 0 das Fehlen anzeigt? Welche Methode der Klasse CSignalMACD kann verwendet werden, um die entsprechenden Werte zu erhalten?
Leider ist diese Funktion nicht standardmäßig verfügbar.
Hallo, helfen Sie mir bitte weiter. Ich habe einen Roboter gebaut (meinen ersten Roboter). Unmittelbar nach dem Start schaltet er sich mit der Meldung Expert initializing of robot (EURUSD,H1) failed ab. Ich kann keine weiteren Informationen darüber finden.
Hier ist sein Code:
--------------------------------------
//+------------------------------------------------------------------+
//| robot.mq5 |
//| Copyright 2012, MetaQuotes Software Corp.
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp.
#property link "http://www.mql5.com"
#Eigenschaft Version "1.00"
//+------------------------------------------------------------------+
//| Einschließen |
//+------------------------------------------------------------------+
#include <Experte\Experte.mqh>
//--- verfügbare Signale
#include <Expert\robot\robot.mqh>
//--- verfügbares Nachwort
#include <Expert\Trailing\TrailingNone.mqh>
//--- verfügbare Geldverwaltung
#include <Expert\Money\MoneyFixedLot.mqh>
//+------------------------------------------------------------------+
//| Eingaben |
//+------------------------------------------------------------------+
//--- Eingaben für Experten
input string Expert_Title ="robot"; // Name des Dokuments
ulong Expert_MagicNumber =24553; //
bool Expert_EveryTick =false; //--- Eingaben für Hauptsignal
//--- 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 zur Ausführung eines Geschäfts
input double Signal_StopLevel =50.0; // Stop Loss Level (in Punkten)
input double Signal_TakeLevel =50.0; // Take Profit Level (in Punkten)
input int Signal_Expiration =4; // Ablauf der schwebenden Aufträge (in Takten)
input int Signal_MaCross_FastPeriod=13; // My_MA_Cross(13,MODE_SMA,21,...) Periode des schnellen MA
input ENUM_MA_METHOD Signal_MaCross_FastMethod=MODE_SMA; // My_MA_Cross(13,MODE_SMA,21,...) Methode des schnellen MA
input int Signal_MaCross_SlowPeriod=21; // My_MA_Cross(13,MODE_SMA,21,...) Periode des langsamen MA
input ENUM_MA_METHOD Signal_MaCross_SlowMethod=MODE_SMA; // My_MA_Cross(13,MODE_SMA,21,...) Methode des langsamen MA
input double Signal_MaCross_Weight =1.0; // My_MA_Cross(13,MODE_SMA,21,...) Gewicht [0...1.0]
//--- Eingaben gegen Geld
input double Money_FixLot_Percent =10.0; // Prozentsatz
input double Money_FixLot_Lots =0.1; // Festes Volumen
//+------------------------------------------------------------------+
//| Globales Expertenobjekt |
//+------------------------------------------------------------------+
CExpert ExtExpert;
//+------------------------------------------------------------------+
//| Initialisierungsfunktion des Experten
//+------------------------------------------------------------------+
int OnInit()
{
//--- Initialisierung des Experten
if(!ExtExpert.Init(Symbol(),Zeitraum(),Expert_EveryTick,Expert_MagicNumber))
{
//--- fehlgeschlagen
printf(__FUNCTION__+": Fehler beim Initialisieren des Experten");
ExtExpert.Deinit();
zurück(-1);
}
//--- Signal erzeugen
CExpertSignal *signal=neues CExpertSignal;
if(signal==NULL)
{
//--- fehlgeschlagen
printf(__FUNCTION__+": Fehler beim Erzeugen des Signals");
ExtExpert.Deinit();
zurück(-2);
}
//---
ExtExpert.InitSignal(signal);
signal.ThresholdOpen(Signal_ThresholdOpen);
signal.ThresholdClose(Signal_ThresholdClose);
signal.PriceLevel(Signal_PriceLevel);
Signal.StopLevel(Signal_StopLevel);
signal.TakeLevel(Signal_TakeLevel);
Signal.Ablauf(Signal_Ablauf);
//--- Filter MA_Cross erstellen
MA_Cross *filter0=new MA_Cross;
if(filter0==NULL)
{
//--- fehlgeschlagen
printf(__FUNCTION__+": Fehler beim Erstellen von filter0");
ExtExpert.Deinit();
zurück(-3);
}
signal.AddFilter(filter0);
//--- Filterparameter einstellen
filter0.FastPeriod(Signal_MaCross_FastPeriod);
filter0.FastMethod(Signal_MaCross_FastMethod);
filter0.SlowPeriod(Signal_MaCross_SlowPeriod);
filter0.SlowMethod(Signal_MaCross_SlowMethod);
filter0.Weight(Signal_MaCross_Weight);
//--- Erstellung eines Nachlaufobjekts
CTrailingNone *trailing=new CTrailingNone;
if(trailing==NULL)
{
//--- fehlgeschlagen
printf(__FUNCTION__+": Fehler bei der Erstellung des Nachsatzes");
ExtExpert.Deinit();
zurück(-4);
}
//--- Hinzufügen eines Nachsatzes zum Experten (wird automatisch gelöscht))
if(!ExtExpert.InitTrailing(trailing))
{
//--- fehlgeschlagen
printf(__FUNCTION__+": Fehler beim Initialisieren des Nachspanns");
ExtExpert.Deinit();
zurück(-5);
}
//--- Schleppende Parameter einstellen
//--- Erstellung eines Geldobjekts
CMoneyFixedLot *money=new CMoneyFixedLot;
if(Geld==NULL)
{
//--- fehlgeschlagen
printf(__FUNCTION__+": Fehler beim Erstellen von Geld");
ExtExpert.Deinit();
zurück(-6);
}
//--- Geld zum Experten hinzufügen (wird automatisch gelöscht))
if(!ExtExpert.InitMoney(money))
{
//--- fehlgeschlagen
printf(__FUNCTION__+": Fehler beim Initialisieren von Geld");
ExtExpert.Deinit();
zurück(-7);
}
//--- Geldparameter einstellen
money.Percent(Money_FixLot_Percent);
Geld.Lose(Geld_FixLos_Lose);
//--- Überprüfung aller Parameter der Handelsobjekte
if(!ExtExpert.ValidationSettings())
{
//--- fehlgeschlagen
ExtExpert.Deinit();
zurück(-8);
}
//--- Abstimmung aller erforderlichen Indikatoren
if(!ExtExpert.InitIndicators())
{
//--- fehlgeschlagen
printf(__FUNCTION__+": Fehler beim Initialisieren der Indikatoren");
ExtExpert.Deinit();
zurück(-9);
}
//--- ok
zurück(0);
}
//+------------------------------------------------------------------+
//| Deinitialisierungsfunktion des Experten |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
ExtExpert.Deinit();
}
//+------------------------------------------------------------------+
//| "Tick"-Ereignishandlerfunktion |
//+------------------------------------------------------------------+
void OnTick()
{
ExtExpert.OnTick();
}
//+------------------------------------------------------------------+
//| Ereignisbehandlungsfunktion "Handel" |
//+------------------------------------------------------------------+
void OnTrade()
{
ExtExpert.OnTrade();
}
//+------------------------------------------------------------------+
//| "Timer"-Ereignishandlerfunktion |
//+------------------------------------------------------------------+
void OnTimer()
{
ExtExpert.OnTimer();
}
//+------------------------------------------------------------------+
Was könnte das Problem sein? Ich weiß nicht einmal, wo ich zuerst suchen soll.
Vielen Dank im Voraus.
Hallo, helfen Sie mir bitte weiter. Ich habe einen Roboter gebaut (meinen ersten Roboter). Unmittelbar nach dem Start schaltet er sich mit der Meldung Expert initializing of robot (EURUSD,H1) failed ab. Ich kann keine weiteren Informationen darüber finden.
Ich habe nicht genug Informationen.
Bedarf
#include <Expert\robot\robot.mqh>Ich benötige Startparameter (Tester/Terminal, Server, Paar, Zeitrahmen, usw.)
PS Der Quellcode lässt sich besser als Datei anhängen
Fragen zum MQL5-Assistenten:
1) //--- Eingaben für Geld
Eingabe double Money_FixLot_Percent =10.0; // Prozentsatz
input double Money_FixLot_Lots =0.1; // Feste Lautstärke
Was bedeuten diese Parameter? Und wie sind sie miteinander verbunden?
2) Kann ich einen EA generieren, der Pending Orders platziert? Wenn ja, wie?
3) Was bedeutet die Variable Signal_Expiration? Wie verwende ich es?
Fragen zum MQL5-Assistenten:
1) //--- Eingaben für Geld
Eingabe double Money_FixLot_Percent =10.0; // Prozentsatz
input double Money_FixLot_Lots =0.1; // Feste Lautstärke
Was bedeuten diese Parameter? Und wie sind sie miteinander verbunden?
2) Kann ich einen EA generieren, der Pending Orders platziert? Wenn ja, wie?
3) Was bedeutet die Variable Signal_Expiration? Wie wird es verwendet?
1) Der Parameter Money_FixLot_Percent wird verwendet, um das Niveau des "Zwangsstopps" festzulegen. Berühren Sie es nicht.
Der Parameter Money_FixLot_Lots legt ein festes Volumen (Lot) fest, mit dem Ihr Expert Advisor in den Markt einsteigen wird.
Diese Parameter sind in keiner Weise miteinander verknüpft.
2) Jeder von einem Assistenten erstellte Expert Advisor kann mit schwebenden Aufträgen handeln. Zu diesem Zweck wird der Parameter ..._PriceLevel verwendet. Je nach dem Wert dieses Parameters verhält sich der Expert Advisor wie folgt:
0 - der Markteintritt erfolgt zum aktuellen Kurs;
>0 - der Markteintritt erfolgt über schwebende Limit-Orders (besser als der aktuelle Kurs um den Wert dieses Parameters);
<0 - der Markteintritt erfolgt über schwebende Stop-Orders (um den Wert des Parameters schlechter als der aktuelle Kurs);
3) Der Parameter Signal_Expiration legt die Lebensdauer einer schwebenden Order fest (in Takten des aktuellen Zeitrahmens).
Wenn ich einen EA im MQL5-Assistenten generiere, wie viele Aufträge kann ein solcher EA gleichzeitig öffnen? Wie ist das geregelt?
Wenn ich einen EA im MQL5-Assistenten generiere, wie viele Aufträge kann ein solcher EA gleichzeitig öffnen? Wie wird dies kontrolliert?
1 Bestellung. Sie ist nicht geregelt.
Der Assistent ist für Strategietests gedacht. Wenn Sie mehr wollen, müssen Sie "feilen" (von Hand schreiben).
2) Jeder vom Assistenten generierte EA kann mit schwebenden Aufträgen handeln. Zu diesem Zweck wird der Parameter ..._PriceLevel verwendet. Je nach dem Wert dieses Parameters verhält sich der Expert Advisor wie folgt:
0 - der Markteintritt erfolgt zum aktuellen Kurs;
>0 - der Markteintritt erfolgt über schwebende Limit-Orders (besser als der aktuelle Preis um den Wert dieses Parameters);
<0 - der Markteintritt erfolgt über schwebende Stop-Orders (um den Wert des Parameters schlechter als der aktuelle Kurs);
In welchen Einheiten wird der Parameter PriceLevel gemessen? In Punkten? D.h., wenn ich eine ausstehende Stop-Order 20 Pips über dem aktuellen Kurs platzieren möchte,
Sollte ich diesen Parameter PriceLevel =-0.0020 setzen?