Fehler, Irrtümer, Fragen - Seite 2345

 
Aleksey Vyazmikin:

Wie verstehe ich das - ich teste mit OHLC auf M1 und beim Schließen auf SL bekomme ich einen vernünftigen Gewinn/Verlust (33606-33608=-2), aber wenn ich auf Take Profit schließe - Unsinn (33591-33506=29), ja, ich sehe, dass der Preis "33562" ist, aber woher kommt dieser Preis? Die Minutenleiste ist kleiner!

Wenn jemand den Grund dafür kennt, und es sich nicht um einen Fehler handelt, bitte ich um Mitteilung!

Tests an echten Zecken ändern das Bild nicht.

Bitte geben Sie ein Protokoll des Zeitpunkts der Schließung und der tatsächlichen Ticks (CTRL+U) um dieses Ereignis herum an.

 
Fehler bei der Kompilierung
class A {
    static int i;
} a; //Error: unresolved static variable 'A::i'
int A::i;
Ansonsten:
class A {
    static A i;
} a;
A A::i;
Das ist in Ordnung. Welchen Unterschied macht das?
 

Ich habe das ganze Forum durchsucht, aber ich konnte es nicht finden (((.

Hier ist meine Klasse:

class Myclass
  {
public:
                     Myclass();
                    ~Myclass();
   void              OnInit();
   void              OnDeinit();
   void              OnTick();
   void              OnTester();
   void              OnTimer();
  };

Ich möchte die Ereignisbehandler in der Klasse in Standard-Ereignisbehandlungsfunktionen aufrufen

Wie kann ich eine Makro-Substitution vornehmen? (oder eine Funktionsvorlage..., die automatisch Handler für Klasseninstanzen setzt)

 
Igor Makanu:

Ich habe das ganze Forum durchsucht, aber ich konnte es nicht finden (((.

Hier ist meine Klasse:

Ich möchte die Ereignisbehandler in der Klasse in Standard-Ereignisbehandlungsfunktionen aufrufen

Wie kann ich eine Makro-Substitution vornehmen? (oder eine Funktionsvorlage..., etwas, das den Klasseninstanzen automatisch Handler zuweist)

Ein Beispiel können Sie hier sehen.

Init_Sync
Init_Sync
  • www.mql5.com
Если в MT изменить таймфрейм или имя символа чарта, то все индикаторы на чарте выгрузятся с чарта и загрузятся на него снова. При этом, в отличие от MT4, в MT5 последовательность выгрузиться/загрузиться не определена из-за особенности внутренней архитектуры. Данное обстоятельство иногда вызывает не сразу очевидные проблемы, связанные с тем, что...
 
fxsaber:

Ein Beispiel können Sie hier sehen.

leider habe ich alle Ihre Beispiele in der letzten Stunde studiert, ich kann nicht ein Meister der Definitionen sein)))

hier ist Ihre Antwort, ich machte mich durch Analogie, es kompiliert, alles funktioniert, aber ich kann "wrap" eine Instanz der Klasse in Makro-Substitution

class Myclass
  {
public:
                     Myclass(){};
                    ~Myclass(){};
   void              OnInit(){Print(__FUNCSIG__," выполнен");};
   void              OnDeinit();
   void              OnTick();
   void              OnTester();
   void              OnTimer(){Print(__FUNCSIG__," выполнен");};
  } m_class;
//+------------------------------------------------------------------+
#define  CHECK_INIT_TIMER m_class.OnTimer();
void OnTimer( void )
{
  CHECK_INIT_TIMER;
  ::OldOnTimer();
}
#define OnTimer OldOnTimer
//+------------------------------------------------------------------+

#define  CHECK_INIT_INIT m_class.OnInit();
void OnInit( void )
{
  CHECK_INIT_INIT;
  ::OldOnInit();
}
#define OnInit OldOnInit

aber wenn ich 3-5 Instanzen einer Klasse habe, wie kann ich es in Makro-Ersetzungen verpacken?

 
fxsaber:

Bringen Sie ein Protokoll der Schlusszeit und der tatsächlichen Ticks (STRG+U) um dieses Ereignis herum.

Nachgeschaut - kein Häkchen, zwei Terminals haben sich beim Versuch, eine Anfrage zu stellen, aufgehängt - nur für einen Tag angefragt... aber durch den Verkehr sieht es so aus, als ob es die ganze Zeit heruntergeladen wurde (ich lade eine Zukunft herunter, keinen Klebstoff).

Wenn es also bedingt keine Zecken gibt, was dann?

 
Aleksey Vyazmikin:

Wenn es also keine Zecken auf konventionelle Weise gibt, was dann?

Alles Mögliche. Auf Flossen oder asc könnte geschlossen haben. Der Aufstrich auf der Stange kann alles Mögliche sein, usw. Es ist wirklich ein Ratespiel.

 
Igor Makanu:

und wenn ich 3-5 Instanzen der Klasse habe, wie verpacke ich diese in Makro-Substitutionen?

Ich verstehe die Aufgabe noch nicht.

 
fxsaber:

Ich verstehe die Aufgabe noch nicht.

Ich möchte nur #include <fileclass.mqh> in den Expertencode schreiben

und dann 3 Instanzen der Klasse im myclass-Code deklarieren: Myclass m_class1, m_class2, m_class3

und Makro-Substitutionen in Standard-Ereignisbehandlungsfunktionen erhalten möchten

SZY: für eine Instanz der Klasse, haben Sie geholfen, beraten, wo zu suchen - alles funktioniert, aber für 3 Instanzen, wie zu tun ich nicht verstehen (((

 
fxsaber:

Alles Mögliche. Auf Flossen oder asc könnte geschlossen haben. Der Aufstrich auf der Stange hätte alles Mögliche sein können, usw. Kurz gesagt, ein Ratespiel.

Aus der Dokumentation.

Die Differenz zwischen dem Geld- und dem Briefkurs wird als Spread bezeichnet. Bei den Tests wird die Spanne nicht modelliert, sondern den historischen Daten entnommen. Wenn die Spanne in den historischen Daten kleiner oder gleich Null ist, wird die letzte bekannte Spanne zum Zeitpunkt der Erzeugung verwendet.

Da es keine Zecken gibt, ist die Streuung während des gesamten Testintervalls gleich und gering.