Fehler, Irrtümer, Fragen - Seite 677

 
Ich habe etwas vergessen. Wer kann mir sagen, wie man #import korrekt für eine Bibliothek verwendet, die sich in einem Unterverzeichnis des Hauptordners befindet?
 
danielalmaty:

Hallo, können Sie mir einen Tipp geben?


Der Unterschied besteht darin, dass das Objekt in der ursprünglichen Fassung wie folgt beschrieben wird:

CiADX *m_ADX;

d.h. das Objekt ist dynamisch. Und in Ihrem:

CiADX m_ADX;

In diesem Fall sollte die Methode wie folgt aussehen:

//+------------------------------------------------------------------+
//| Create ADX indicator.                                            |
//| INPUT:  indicators -pointer of indicator collection.             |
//| OUTPUT: true-if successful, false otherwise.                     |
//| REMARK: no.                                                      |
//+------------------------------------------------------------------+
bool CSignalMY_MA_ADX::InitADX(CIndicators* indicators)
  {
//--- add ADX indicator to collection
   if(!indicators.Add(m_ADX))
     {
      printf(__FUNCTION__+": error adding object of the ADX");
      return(false);
     }
//--- initialize ADX indicator
   if(!m_ADX.Create(m_symbol.Name(),m_period,m_period_ADX))
     {
      printf(__FUNCTION__+": error initializing object of the ADX");
      return(false);
     }
//--- ok
   return(true);
  }
 
Interesting:
Ich habe etwas vergessen. Wer kann mir sagen, wie ich #import richtig für die Bibliothek verwende, die sich im Unterverzeichnis des Hauptordners befindet?

In MT4 funktioniert das so: #import "TrendLine\\MemoryDLL.dll"
 

https://www.mql5.com/ru/forum/23/page15

MetaTester: Geänderte Funktionsweise der Prüfmethode "nach offenen Preisen". Wie zuvor wird der OnTick des Expert Advisors nur bei der Eröffnung des Balkens ausgelöst, aber anstelle von M1 OHLC-Ticks werden die Zustände High, Low und Close des getesteten Balkens wiedergegeben. Aus diesem Grund können Stopps und schwebende Aufträge zu einem anderen als dem angegebenen Preis ausgelöst werden. Dadurch konnten wir eine mehrfache Beschleunigung der Prüfungen erreichen.

Können wir den alten Modus zusammen mit dem neuen Modus beibehalten? Jeder wird in der Lage sein, einen Kompromiss zwischen Geschwindigkeit und Qualität zu finden.
 
papaklass:

Wäre der Modus "Alle Häkchen" für die Qualität nicht geeignet?

In bestimmten Fällen nicht. Ich mag den Modus nicht, in dem Geschäfte nicht zum angegebenen Preis ausgeführt werden (und dieses Phänomen wird als die Norm angesehen).

Deshalb werde ich Konstantins Antrag persönlich unterstützen.

 
papaklass:

Was meinen Sie mit "nicht zum ausgeschriebenen Preis"? Klären.

Lesen Sie den Text sorgfältiger.

MetaTester: Geänderte Funktionsweise der Prüfmethode "nach Eröffnungskurs". Wie zuvor wird OnTick des Expert Advisors nur bei der Balkeneröffnung gestartet, aber anstelle von M1 OHLC Ticks werden die Zustände High, Low und Close des getesteten Balkens abgespielt. Aus diesem Grund können Stopps und schwebende Aufträge zu einem anderen als dem angegebenen Preis ausgelöst werden. Dadurch konnten wir eine mehrfache Beschleunigung der Tests erreichen.

Da ich gerne mit schwebenden Aufträgen arbeite, ist dieser Punkt für mich sehr wichtig, und ich möchte nicht, dass die schwebenden Aufträge"nicht zum angegebenen Preis" ausgelöst werden.

Mit diesem Ansatz ist diese Art der Prüfung für mich absolut uninteressant.

Deshalb denke ich, dass die Variante, die zwei Arten von Tests "nach Eröffnungskursen" vorsieht (auf Minutenbalken und auf dem zu testenden Balken), eine recht vernünftige Lösung sein wird.

 
papaklass:

Ja, dieser Punkt gefällt mir auch nicht. Beim nächsten Balken können Sie einfach prüfen, ob der schwebende Auftrag im Hoch-Tief-Bereich des vorherigen Balkens liegt. Wenn ja, dann funktionierte es zu den festgelegten Preisen.

Die Frage bezieht sich nicht auf die Kontrolle, die auf Wunsch durchgeführt werden kann. Die Frage ist, warum? In der Tat wäre eine solche Implementierung für mich persönlich im Modus "Offene Preise" nicht akzeptabel, und daher erhalte ich bei Verwendung des Modus "Alle Ticks" enorme Verzögerungen. Oder ich weiß nicht, wie das Ergebnis bei einem "Schnelldurchlauf" aussehen wird.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 

Es gibt ein Beispiel für MovingAverages, das auf die gleiche Weise funktioniert (auf dem aktuellen 607-Build), sowohl im M1 OHLC-Modus als auch im Open Prices-Modus. Und warum? Weil es nur am Anfang eines Taktes funktioniert, gibt es eine spezielle Prüfung.

Stellen Sie die gleiche Bedingung in Ihrem EA ein und verwenden Sie M1 OHLC. Und Sie werden Glück haben.

 
stringo:

Es gibt ein Beispiel für MovingAverages, das auf die gleiche Weise funktioniert (auf dem aktuellen 607-Build), sowohl im M1 OHLC-Modus als auch im Open Prices-Modus. Und warum? Weil es nur am Anfang der Takte funktioniert, gibt es eine besondere Prüfung.

Wenn Sie die gleiche Bedingung in Ihrem EA einstellen und M1 OHLC verwenden. Und Sie werden glücklich sein.


1. Nun, ja, er handelt vielleicht so, wie es sein sollte. Aber es ist in seine Strategie eingebaut. Ich habe es nicht als Teil meiner Strategie, ich verwende Pending Orders.

Und es ist nicht klar, was die Stopps betrifft - seit wann sollen (dürfen) sie bei nicht angezeigten Preisen funktionieren?

Ich werde also nicht glücklich sein, zumindest nicht, wenn ich nicht zu "Alle Zecken" wechsle.

Und wenn ich nach einem neuen Balken Ausschau halte und nur bei seiner Eröffnung handle, wird es eine andere Strategie sein.

Brauche ich das?

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
Interesting:

Nun, ja, er könnte richtig handeln. Aber er hat es in seiner Strategie. Und ich habe es nicht in meiner Strategie, ich handle mit schwebenden Aufträgen.

Und ich verstehe die Stopps nicht - seit wann sollen (dürfen) sie zu Preisen funktionieren, die nicht festgelegt sind?

Ich werde also nicht glücklich sein, zumindest nicht, wenn ich nicht zu "Alle Zecken" wechsle.

Und wenn ich nach einem neuen Balken Ausschau halte und nur bei seiner Eröffnung handele, wird es eine völlig andere Strategie sein.

Brauche ich das?

Nein, so wie ich es verstanden habe, haben sie Ihnen eine Möglichkeit angeboten, "wie man zu Eröffnungskursen im Tester handelt, aber unter Berücksichtigung von Ticks". Sie brauchen eine solche Option in der Tester, nicht wahr? Sie können die Ergebnisse der Arbeit durch ein wenig Vervollständigung Ihres Codes zu reproduzieren und führen Sie es in M1 OHLC-Modus (Sie wissen, wie die Einführung einer Option / Schalter in Ihrem EA für die Prüfung)... Und sogar führen Sie es in "alle Ticks" Modus.