Helfen Sie mir auf die Sprünge. Ich habe eine Frage zu dem Handelssignalmodul "Zeitfilter".
Die Sache ist, ich habe einen EA mit diesem Modul erstellt und ihn so eingestellt, dass er nur eine Stunde Handel pro Tag zulässt. Hauptsächlich wird auf diese Weise gehandelt, aber es gibt Tage, an denen mein Expert Advisor Positionen zu jeder beliebigen Uhrzeit eröffnet. Ich habe das Handelssignalmodul "Zeitfilter" in verschiedenen Kombinationen mit anderen Handelssignalmodulen (z.B. Stochastik, WPR, etc.) ausprobiert, aber es passiert immer das Gleiche. Außerdem gibt es keine Probleme, wenn Sie 2 aufeinanderfolgende Arbeitsstunden einstellen, es funktioniert einwandfrei.
Womit kann sie in Verbindung gebracht werden? Liegt vielleicht ein Fehler im Code des Handelssignalmoduls "Zeitfilter" vor? Da ich kein Programmierungsexperte bin, bitte ich Sie, mir dabei zu helfen oder mir einen Tipp zu geben, vielleicht mache ich etwas falsch.
Mit freundlichen Grüßen, Vladimir.
Hier ist ein einfaches Beispiel auf dem Bild. An einem Tag öffnet sie um 7 Uhr, an einem anderen Tag um 5 Uhr und am dritten Tag wieder um 7 Uhr.
Können Sie einen mq5 Expert Advisor an diesen Beitrag anhängen und die Parameter des Testers angeben (zwei Screenshots: Registerkarten Einstellungen und Parameter)?
Können Sie einen mq5 Expert Advisor an eine Nachricht anhängen und die Parameter des Testers angeben (zwei Screenshots: Registerkarten Einstellungen und Parameter)?
Nicht unbegründet, zum Beispiel, gerade jetzt habe ich in MQL5 Wizard das erste verfügbare Modul von AMA Handelssignalen und einem Zeitfilter generiert.
//+------------------------------------------------------------------+//| AMA.mq5 |//| Copyright 2019, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2019, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"//+------------------------------------------------------------------+//| Include |//+------------------------------------------------------------------+#include <Expert\Expert.mqh>
//--- available signals#include <Expert\Signal\SignalAMA.mqh>
#include <Expert\Signal\SignalITF.mqh>
//--- available trailing#include <Expert\Trailing\TrailingNone.mqh>
//--- available money management#include <Expert\Money\MoneyFixedRisk.mqh>
//+------------------------------------------------------------------+//| Inputs |//+------------------------------------------------------------------+//--- inputs for expertinputstring Expert_Title ="AMA"; // Document nameulong Expert_MagicNumber =8503; //bool Expert_EveryTick =false; ////--- inputs for main signalinputint Signal_ThresholdOpen =10; // Signal threshold value to open [0...100]inputint Signal_ThresholdClose =10; // Signal threshold value to close [0...100]inputdouble Signal_PriceLevel =0; // Price level to execute a dealinputdouble Signal_StopLevel =50.0; // Stop Loss level (in points)inputdouble Signal_TakeLevel =50.0; // Take Profit level (in points)inputint Signal_Expiration =4; // Expiration of pending orders (in bars)inputint Signal_AMA_PeriodMA =10; // Adaptive Moving Average(1,1,...) Period of averaginginputint Signal_AMA_PeriodFast =2; // Adaptive Moving Average(1,1,...) Period of fast EMAinputint Signal_AMA_PeriodSlow =30; // Adaptive Moving Average(1,1,...) Period of slow EMAinputint Signal_AMA_Shift =0; // Adaptive Moving Average(1,1,...) Time shiftinputENUM_APPLIED_PRICE Signal_AMA_Applied =PRICE_CLOSE; // Adaptive Moving Average(1,1,...) Prices seriesinputdouble Signal_AMA_Weight =1.0; // Adaptive Moving Average(1,1,...) Weight [0...1.0]inputint Signal_ITF_GoodHourOfDay=-1; // IntradayTimeFilter(-1,...) Good hourinputint Signal_ITF_BadHoursOfDay=16777087; // IntradayTimeFilter(-1,...) Bad hours (bit-map)inputint Signal_ITF_GoodDayOfWeek=-1; // IntradayTimeFilter(-1,...) Good day of weekinputint Signal_ITF_BadDaysOfWeek=0; // IntradayTimeFilter(-1,...) Bad days of week (bit-map)inputdouble Signal_ITF_Weight =1.0; // IntradayTimeFilter(-1,...) Weight [0...1.0]//--- inputs for moneyinputdouble Money_FixRisk_Percent =10.0; // Risk percentage//+------------------------------------------------------------------+//| Global expert object |//+------------------------------------------------------------------+
CExpert ExtExpert;
//+------------------------------------------------------------------+//| Initialization function of the expert |//+------------------------------------------------------------------+intOnInit()
{
//--- Initializing expertif(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber))
{
//--- failedprintf(__FUNCTION__+": error initializing expert");
ExtExpert.Deinit();
return(INIT_FAILED);
}
//--- Creating signal
CExpertSignal *signal=new CExpertSignal;
if(signal==NULL)
{
//--- failedprintf(__FUNCTION__+": error creating signal");
ExtExpert.Deinit();
return(INIT_FAILED);
}
//---
ExtExpert.InitSignal(signal);
signal.ThresholdOpen(Signal_ThresholdOpen);
signal.ThresholdClose(Signal_ThresholdClose);
signal.PriceLevel(Signal_PriceLevel);
signal.StopLevel(Signal_StopLevel);
signal.TakeLevel(Signal_TakeLevel);
signal.Expiration(Signal_Expiration);
//--- Creating filter CSignalAMA
CSignalAMA *filter0=new CSignalAMA;
if(filter0==NULL)
{
//--- failedprintf(__FUNCTION__+": error creating filter0");
ExtExpert.Deinit();
return(INIT_FAILED);
}
signal.AddFilter(filter0);
//--- Set filter parameters
filter0.PeriodMA(Signal_AMA_PeriodMA);
filter0.PeriodFast(Signal_AMA_PeriodFast);
filter0.PeriodSlow(Signal_AMA_PeriodSlow);
filter0.Shift(Signal_AMA_Shift);
filter0.Applied(Signal_AMA_Applied);
filter0.Weight(Signal_AMA_Weight);
//--- Creating filter CSignalITF
CSignalITF *filter1=new CSignalITF;
if(filter1==NULL)
{
//--- failedprintf(__FUNCTION__+": error creating filter1");
ExtExpert.Deinit();
return(INIT_FAILED);
}
signal.AddFilter(filter1);
//--- Set filter parameters
filter1.GoodHourOfDay(Signal_ITF_GoodHourOfDay);
filter1.BadHoursOfDay(Signal_ITF_BadHoursOfDay);
filter1.GoodDayOfWeek(Signal_ITF_GoodDayOfWeek);
filter1.BadDaysOfWeek(Signal_ITF_BadDaysOfWeek);
filter1.Weight(Signal_ITF_Weight);
//--- Creation of trailing object
CTrailingNone *trailing=new CTrailingNone;
if(trailing==NULL)
{
//--- failedprintf(__FUNCTION__+": error creating trailing");
ExtExpert.Deinit();
return(INIT_FAILED);
}
//--- Add trailing to expert (will be deleted automatically))if(!ExtExpert.InitTrailing(trailing))
{
//--- failedprintf(__FUNCTION__+": error initializing trailing");
ExtExpert.Deinit();
return(INIT_FAILED);
}
//--- Set trailing parameters//--- Creation of money object
CMoneyFixedRisk *money=new CMoneyFixedRisk;
if(money==NULL)
{
//--- failedprintf(__FUNCTION__+": error creating money");
ExtExpert.Deinit();
return(INIT_FAILED);
}
//--- Add money to expert (will be deleted automatically))if(!ExtExpert.InitMoney(money))
{
//--- failedprintf(__FUNCTION__+": error initializing money");
ExtExpert.Deinit();
return(INIT_FAILED);
}
//--- Set money parameters
money.Percent(Money_FixRisk_Percent);
//--- Check all trading objects parametersif(!ExtExpert.ValidationSettings())
{
//--- failed
ExtExpert.Deinit();
return(INIT_FAILED);
}
//--- Tuning of all necessary indicatorsif(!ExtExpert.InitIndicators())
{
//--- failedprintf(__FUNCTION__+": error initializing indicators");
ExtExpert.Deinit();
return(INIT_FAILED);
}
//--- okreturn(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Deinitialization function of the expert |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
ExtExpert.Deinit();
}
//+------------------------------------------------------------------+//| "Tick" event handler function |//+------------------------------------------------------------------+voidOnTick()
{
ExtExpert.OnTick();
}
//+------------------------------------------------------------------+//| "Trade" event handler function |//+------------------------------------------------------------------+voidOnTrade()
{
ExtExpert.OnTrade();
}
//+------------------------------------------------------------------+//| "Timer" event handler function |//+------------------------------------------------------------------+voidOnTimer()
{
ExtExpert.OnTimer();
}
//+------------------------------------------------------------------+
Screenshot von "Einstellungen"
Screenshot von "Einstellungen".
Screenshot derfalschen des Zeitfilters (Positionen werden an verschiedenen Tagen um 7, 12 und 7 Uhr geöffnet)
Um nicht unbegründet zu sein, habe ich zum Beispiel gerade jetzt in MQL5 Wizard das erste verfügbare Modul von AMA-Handelssignalen und einen Zeitfilter generiert.
Screenshot von "Einstellungen"
Screenshot von "Einstellungen".
Screenshot der fehlerhaften Bedienung des Zeitfilters (Öffnungspositionen an verschiedenen Tagen um 7, 12 und 7 Uhr)
1. Bild mit Diagramm - wenn Sie einen Screenshot machen, tun Sie es mit dem Werkzeug "Fadenkreuz" - es ist unklar, welches Jahr es ist.
2. Bei der Arbeit mit den schwebenden Aufträgen ist zu beachten, dass der schwebende Auftrag zu einem völlig anderen Zeitpunkt (Stunde und Minuten) ausgelöst werden kann als der Zeitpunkt der Einstellung.
3. Wenn Sie Signalmodule verwenden, setzen Sie die Parameter auf die Standardwerte zurück und überprüfen Sie die Arbeit auf dem Markt - ohne ausstehende Aufträge (wenn Punkt 2 nicht klar ist).
1. Diagrammabbildung - wenn Sie einen Screenshot machen, tun Sie es zusammen mit dem "Fadenkreuz"-Werkzeug - sonst ist es nicht klar, welches Jahr.
2. Wenn Sie mit schwebenden Aufträgen arbeiten, denken Sie daran, dass ein schwebender Auftrag zu einem völlig anderen Zeitpunkt (Stunde und Minuten) ausgelöst werden kann als zum Zeitpunkt der Auftragserteilung.
3. Wenn Sie Signalmodule verwenden, setzen Sie die Parameter auf die Standardwerte zurück und überprüfen Sie die Arbeit auf dem Markt - ohne die schwebenden Aufträge (dies ist der Fall, wenn Punkt 2 nicht klar ist).
1. Zum Fadenkreuz - verständlich. Auf dem Screenshot ist das Jahr 2019 und der Monat Oktober zu sehen.
2. Ich verstehe nicht ganz, was es mit der ausstehenden Bestellung auf sich hat. Woher wissen Sie, dass der EA einen schwebenden Auftrag hat und nicht zu Beginn der Stunde eine Position eröffnet? Können Sie das genauer erläutern?
3. Der Expert Advisor funktioniert problemlos mit den Standardwerten der Signalmodule. Können wir die Parameterwerte ändern?
1. Was das Fadenkreuz betrifft, so ist es eindeutig. Auf dem Screenshot ist das Jahr 2019 und der Monat Oktober zu sehen.
***
Danke für die Klarstellung.
***
2. Ich verstehe nicht ganz, was es mit der ausstehenden Bestellung auf sich hat. Wie haben Sie festgestellt, dass der EA eine Pending Order gesetzt hat und nicht sofort zu Beginn der Stunde eine Position eröffnet? Können Sie das genauer erläutern?
***
Schauen Sie sich im visuellen Tester einfach die Registerkarte "Verlauf" an
***
3. Mit den Standardwerten der Signalmodule funktioniert der Expert Advisor einwandfrei. Ist es nicht möglich, die Werte der Parameter zu ändern?
***
Natürlich können Sie das, aber nur, wenn Sie verstehen, was Sie tun, und wenn Sie wissen, welcher Parameter für was verantwortlich ist.
Und mit welchem Grad an Sicherheit wollen Sie das Ergebnis?
Nur ein Beispiel: Sie möchten, dass die Uhrzeit auf der Uhr mit 15 Uhr angegeben wird. Und du wartest auf sie. Aber zu diesem Zeitpunkt gab es kein Häkchen oder keine Verbindung zum Server. Und dann haben Sie die Ticks, aber die Zeit ist 15 Stunden 00 Minuten und 36 Sekunden. Was werden Sie tun?
Und mit welchem Grad an Sicherheit wollen Sie das Ergebnis?
Nur ein Beispiel: Sie möchten, dass die Uhrzeit auf der Uhr mit 15 Uhr angegeben wird. Und du wartest auf sie. Aber zu diesem Zeitpunkt gab es kein Häkchen oder keine Verbindung zum Server. Und dann haben Sie die Ticks, aber die Zeit ist 15 Stunden 00 Minuten und 36 Sekunden. Was werden Sie tun?
Können Sie es möglich machen, nicht genau 15-00, sondern den Beginn der Stunde zu überprüfen? Mit anderen Worten, die erste Minute würde bereits anzeigen, dass die vorherige Stunde beendet war und die neue Stunde begonnen hatte.
Hallo!
Helfen Sie mir auf die Sprünge. Ich habe eine Frage zu dem Handelssignalmodul "Zeitfilter".
Die Sache ist, ich habe einen EA mit diesem Modul erstellt und ihn so eingestellt, dass er nur eine Stunde Handel pro Tag zulässt. Hauptsächlich wird auf diese Weise gehandelt, aber es gibt Tage, an denen mein Expert Advisor Positionen zu jeder beliebigen Uhrzeit eröffnet. Ich habe das Handelssignalmodul "Zeitfilter" in verschiedenen Kombinationen mit anderen Handelssignalmodulen (z.B. Stochastik, WPR, etc.) ausprobiert, aber es passiert immer das Gleiche. Außerdem gibt es keine Probleme, wenn Sie 2 aufeinanderfolgende Arbeitsstunden einstellen, es funktioniert einwandfrei.
Womit kann sie in Verbindung gebracht werden? Liegt vielleicht ein Fehler im Code des Handelssignalmoduls "Zeitfilter" vor? Da ich kein Programmierungsexperte bin, bitte ich Sie, mir dabei zu helfen oder mir einen Tipp zu geben, vielleicht mache ich etwas falsch.
Mit freundlichen Grüßen, Vladimir.
Hier ist ein einfaches Beispiel auf dem Bild. An einem Tag öffnet sie um 7 Uhr, an einem anderen Tag um 5 Uhr und am dritten Tag wieder um 7 Uhr.
Können Sie einen mq5 Expert Advisor an diesen Beitrag anhängen und die Parameter des Testers angeben (zwei Screenshots: Registerkarten Einstellungen und Parameter)?
Hallo, könnten Sie mir bitte sagen. Wie schreibe ich die Bedingung richtig? *wenn es eine neue Stunde gibt*?
Meinen Sie die Uhrzeit (z. B. die Uhr zeigte 15-00) oder meinen Sie, dass ein neuer Balken auf dem H1-Zeitrahmen entstanden ist?
Forum für Handel, automatisierte Handelssysteme und Strategietests
FAQ von Anfängern MQL5 MT5 MetaTrader 5
Vladimir Karputov, 2019.10.14 12:04
Können Sie einen mq5 Expert Advisor an eine Nachricht anhängen und die Parameter des Testers angeben (zwei Screenshots: Registerkarten Einstellungen und Parameter)?
Nicht unbegründet, zum Beispiel, gerade jetzt habe ich in MQL5 Wizard das erste verfügbare Modul von AMA Handelssignalen und einem Zeitfilter generiert.
Screenshot von "Einstellungen"
Screenshot von "Einstellungen".
Screenshot derfalschen des Zeitfilters (Positionen werden an verschiedenen Tagen um 7, 12 und 7 Uhr geöffnet)
Um nicht unbegründet zu sein, habe ich zum Beispiel gerade jetzt in MQL5 Wizard das erste verfügbare Modul von AMA-Handelssignalen und einen Zeitfilter generiert.
Screenshot von "Einstellungen"
Screenshot von "Einstellungen".
Screenshot der fehlerhaften Bedienung des Zeitfilters (Öffnungspositionen an verschiedenen Tagen um 7, 12 und 7 Uhr)
1. Bild mit Diagramm - wenn Sie einen Screenshot machen, tun Sie es mit dem Werkzeug "Fadenkreuz" - es ist unklar, welches Jahr es ist.
2. Bei der Arbeit mit den schwebenden Aufträgen ist zu beachten, dass der schwebende Auftrag zu einem völlig anderen Zeitpunkt (Stunde und Minuten) ausgelöst werden kann als der Zeitpunkt der Einstellung.
3. Wenn Sie Signalmodule verwenden, setzen Sie die Parameter auf die Standardwerte zurück und überprüfen Sie die Arbeit auf dem Markt - ohne ausstehende Aufträge (wenn Punkt 2 nicht klar ist).
Forum für Handel, automatisierte Handelssysteme und Strategietests
FAQ von Anfängern MQL5 MT5 MetaTrader 5
Vladimir Karputov, 2019.10.14 13:28
1. Diagrammabbildung - wenn Sie einen Screenshot machen, tun Sie es zusammen mit dem "Fadenkreuz"-Werkzeug - sonst ist es nicht klar, welches Jahr.
2. Wenn Sie mit schwebenden Aufträgen arbeiten, denken Sie daran, dass ein schwebender Auftrag zu einem völlig anderen Zeitpunkt (Stunde und Minuten) ausgelöst werden kann als zum Zeitpunkt der Auftragserteilung.
3. Wenn Sie Signalmodule verwenden, setzen Sie die Parameter auf die Standardwerte zurück und überprüfen Sie die Arbeit auf dem Markt - ohne die schwebenden Aufträge (dies ist der Fall, wenn Punkt 2 nicht klar ist).
1. Zum Fadenkreuz - verständlich. Auf dem Screenshot ist das Jahr 2019 und der Monat Oktober zu sehen.
2. Ich verstehe nicht ganz, was es mit der ausstehenden Bestellung auf sich hat. Woher wissen Sie, dass der EA einen schwebenden Auftrag hat und nicht zu Beginn der Stunde eine Position eröffnet? Können Sie das genauer erläutern?
3. Der Expert Advisor funktioniert problemlos mit den Standardwerten der Signalmodule. Können wir die Parameterwerte ändern?
Mit freundlichen Grüßen, Vladimir.
***
1. Was das Fadenkreuz betrifft, so ist es eindeutig. Auf dem Screenshot ist das Jahr 2019 und der Monat Oktober zu sehen.
***
Danke für die Klarstellung.
2. Ich verstehe nicht ganz, was es mit der ausstehenden Bestellung auf sich hat. Wie haben Sie festgestellt, dass der EA eine Pending Order gesetzt hat und nicht sofort zu Beginn der Stunde eine Position eröffnet? Können Sie das genauer erläutern?
***
Schauen Sie sich im visuellen Tester einfach die Registerkarte "Verlauf" an
3. Mit den Standardwerten der Signalmodule funktioniert der Expert Advisor einwandfrei. Ist es nicht möglich, die Werte der Parameter zu ändern?
***
Natürlich können Sie das, aber nur, wenn Sie verstehen, was Sie tun, und wenn Sie wissen, welcher Parameter für was verantwortlich ist.
Meinen Sie die Uhrzeit (z. B. die Uhr zeigte 15-00) oder meinen Sie, dass ein neuer Balken auf dem H1-Zeitrahmen entstanden ist?
Ich meine, die Uhr zeigte 15-00.
Und mit welchem Grad an Sicherheit wollen Sie das Ergebnis?
Nur ein Beispiel: Sie möchten, dass die Uhrzeit auf der Uhr mit 15 Uhr angegeben wird. Und du wartest auf sie. Aber zu diesem Zeitpunkt gab es kein Häkchen oder keine Verbindung zum Server. Und dann haben Sie die Ticks, aber die Zeit ist 15 Stunden 00 Minuten und 36 Sekunden. Was werden Sie tun?
Und mit welchem Grad an Sicherheit wollen Sie das Ergebnis?
Nur ein Beispiel: Sie möchten, dass die Uhrzeit auf der Uhr mit 15 Uhr angegeben wird. Und du wartest auf sie. Aber zu diesem Zeitpunkt gab es kein Häkchen oder keine Verbindung zum Server. Und dann haben Sie die Ticks, aber die Zeit ist 15 Stunden 00 Minuten und 36 Sekunden. Was werden Sie tun?