Diskussion zum Artikel "Die Umsetzung des Mehrwährungsmodus in MetaTrader 5" - Seite 2

 
Lizar:

Aber die Tatsache, dass der Experte im Testgerät den Spion nicht laden kann, ist seltsam. Funktioniert er in der Demo?

Er bekommt einen Fehler

ERR_INDICATOR_CANNOT_CREATE

4802

Der Indikator kann nicht erstellt werden

Sehen Sie nach, warum der Indikator nicht erstellt werden kann.
 
Yedelkin:
Er erhält eine Fehlermeldung

ERR_INDICATOR_CANNOT_CREATE

4802

Der Indikator kann nicht erstellt werden

Sehen Sie nach, warum der Indikator nicht erstellt werden kann.

Ich kann es noch nicht herausfinden. In der Demo funktioniert es, aber im Tester wird es nicht geladen (nicht erstellt). Habe auch dies versucht:

#property tester_indicator "iSpy.ex5"
Hilft nicht.
 
Lizar:

Ich kann noch keinen Anhaltspunkt bekommen. Auf der Demo funktioniert es, aber im Tester wird es nicht geladen (wird nicht erstellt). Habe auch dies versucht:

Hilft nicht.

Durch die Methode der wissenschaftlichen Prodding, funktionierte es im Tester:

   if(iCustom("GBPUSD",PERIOD_M1,"iSpy.ex5",ChartID(),0)==INVALID_HANDLE) 

Und es genügte, nur in der ersten Bedingung, für "GBPUSD" einzufügen . Nun die Frage - warum genau so?

 
Yedelkin:

Nach der wissenschaftlichen Methode - so funktionierte es im Testgerät:

Und es genügte, ihn nur in der ersten Bedingung, für "GBPUSD", einzufügen . Die Frage ist nun - warum genau so?

Wow, "wissenschaftliches Stochern" ist eine tolle Sache in unserem Geschäft. Nun, warum das so ist, ist meiner Meinung nach eine Frage für die Entwickler.

Danke, dass Sie mir geholfen haben, es herauszufinden.

 
Lizar:

Es gibt eine Zeile in der Funktion OnCalculate() im Spy Control Panel MCM:

Standardmäßig ist price[rates_total-1] gleich dem Schlusskurs des letzten nicht beendeten Balkens, der wiederum gleich dem letzten Geldkurs ist, d.h. wir erhalten standardmäßig immer den Geldkurs vom Spion.

Wenn Sie den Briefkurs zwangsweise erhalten wollen, ersetzen Sie diese Zeile z.B. durch....

Danke, aber das ist ein bisschen falsch, d.h. man kann entweder den Geldkurs oder den Briefkurs abrufen. Ich brauche aber sowohl den Brief- als auch den Geldkurs, um Situationen wie diese zu analysieren.

2011.01.24 10:59:28 exSpy (GBPUSD,M5) 08:59:24 -> id=2: EURUSD PERIOD_M1 price=1.35778
2011.01.24 10:59:28 exSpy (GBPUSD,M5) 08:59:24 -> id=2: EURUSD PERIOD_M1 Kurs=1.35778
2011.01.24 10:59:28 exSpy (GBPUSD,M5) 08:59:24 -> id=2: EURUSD PERIOD_M1 Kurs=1.35778
drei ticks und bid ändert sich nicht, daher hat sich (möglicherweise) der ask geändert. ich würde gerne genauere Informationen erhalten.

Ist das möglich?

 
Trolls:

Danke, aber das ist ein bisschen falsch, d.h. man kann entweder den Geld- oder den Briefkurs erhalten. Aber um beide Preise auf einmal zu erhalten, sowohl Geld- als auch Briefkurs, müssen Sie Situationen wie diese analysieren.

2011.01.24 10:59:28 exSpy (GBPUSD,M5) 08:59:24 -> id=2: EURUSD PERIOD_M1 price=1.35778
2011.01.24 10:59:28 exSpy (GBPUSD,M5) 08:59:24 -> id=2: EURUSD PERIOD_M1 Kurs=1.35778
2011.01.24 10:59:28 exSpy (GBPUSD,M5) 08:59:24 -> id=2: EURUSD PERIOD_M1 Kurs=1.35778
drei ticks und bid ändert sich nicht, daher hat sich (möglicherweise) der ask geändert. würde gerne genauere Informationen erhalten.

Ist das möglich?

Das ist möglich, es gibt mehrere Möglichkeiten:

1. Sie haben zwei Spione auf demselben Symbol unter verschiedenen IDs. Der eine sendet Bid und der andere Ask.

2. ein Spion auf demselben Symbol, aber er sendet zwei Ereignisse Bid und Ask nacheinander unter verschiedenen IDs.

3. es gibt noch weitere Optionen, aber sie sind bereits mit erheblichen Änderungen am Schema der Übergabe von Parametern an OnChartEvent verbunden - ich rate davon ab.

Документация по MQL5: Основы языка / Функции / Передача параметров
Документация по MQL5: Основы языка / Функции / Передача параметров
  • www.mql5.com
Основы языка / Функции / Передача параметров - Документация по MQL5
 
Verwenden Sie den Spion als "Semaphor für die Ankunft eines neuen Ticks", und im Expert Advisor erhalten Sie mit SymbolInfoTick vollständige Informationen über den Tick.
 
Kos:
Verwenden Sie den Spion als "Semaphor für die Ankunft eines neuen Ticks", und im Expert Advisor erhalten Sie mit SymbolInfoTick vollständige Informationen über den Tick.

Tolle Lösung.
 

Geben Sie mir einen Hinweis, wenn es Ihnen nichts ausmacht. Der Artikel enthält ein Beispiel für eine Aufzählung

enum ENUM_CHART_EVENT_SYMBOL
  {
   CHARTEVENT_INIT      =0,          // Ereignis "Initialisierung"
   CHARTEVENT_NO        =0,          // Ereignisse Getrennt

   CHARTEVENT_NEWBAR_M1 =0x00000001, // Ereignis "neuer Balken" auf dem 1-Minuten-Chart
   CHARTEVENT_NEWBAR_M2 =0x00000002, // Ereignis "neuer Balken" im 2-Minuten-Chart
   CHARTEVENT_NEWBAR_M3 =0x00000004, // Ereignis "neuer Balken" im 3-Minuten-Chart
   CHARTEVENT_NEWBAR_M4 =0x00000008, // Ereignis "neuer Balken" im 4-Minuten-Chart
   
   ...
   
   CHARTEVENT_ALL       =0xFFFFFFFF, // Alle Ereignisse sind aktiviert
  };

und ein Beispiel für die Arbeit mit den Werten dieser Aufzählung:

if((flag_event & CHARTEVENT_NEWBAR_M1)!=0) EventCustom(CHARTEVENT_NEWBAR_M1,price_current

Ähnliche Konstruktionen sind in der Standardbibliothek zu finden. Soweit ich verstanden habe, geht es um hexadezimale Zahlen und bitweise Operationen, aber ein paar allgemeine Artikel, die ich im Internet gefunden habe, haben nicht geholfen, die Bedeutung und den Zweck ihrer Verwendung in MQL5 zu klären. Könnten Sie mir sagen, wo man sich klar und deutlich mit den Besonderheiten der in MQL5 verwendeten hexadezimalen Logik vertraut machen kann?

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
Yedelkin:

Geben Sie mir einen Hinweis, wenn es Ihnen nichts ausmacht. Der Artikel enthält ein Beispiel für eine Aufzählung

und ein Beispiel für die Arbeit mit den Werten dieser Aufzählung:

Ähnliche Konstruktionen sind in der Standardbibliothek zu finden. Soweit ich verstanden habe, geht es um hexadezimale Zahlen und bitweise Operationen, aber ein paar allgemeine Artikel, die ich im Internet gefunden habe, haben nicht geholfen, die Bedeutung und den Zweck ihrer Verwendung in MQL5 zu klären. Könnten Sie mir sagen, wo man sich klar und deutlich mit den Besonderheiten der in MQL5 verwendeten hexadezimalen Logik vertraut machen kann?

Die hexadezimale Logik ist überall gleich. Über Zahlensysteme können Sie hier lesen. Dort können Sie über positionale Zahlensysteme lesen und Verweise auf die 16 und binäre Einsen sehen. Es gibt dort auch Beispiele für die Konvertierung von System zu System.

Alle bitweisen Operationen sind für das Binärsystem gedacht. Über bitweise Operationen in MQL5 hier.