Ich versuche, meinen Zähler herauszufinden und ihn in Klassen umzuschreiben, aber ich kann die funktionierenden parallelen Funktionen immer noch nicht ausgeben. Ich denke, m_pause sollte anders deklariert werden. Wie sollte es richtig gemacht werden?
#ifdef __MQL4__#endif
//+------------------------------------------------------------------+//| Счётчик |//+------------------------------------------------------------------+class CCounter
{
private:
//--- Шаг счётчикаint count;
//--- Счётчик int chekcount;
//--- int m_pause;
public:
//--- Проверяет прохождение указанного временного интервала int CheckCounter(constint pause);
void ZeroCounter(void){count=0;chekcount=0;}
};
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+int CCounter::CheckCounter(constint pause)
{
m_pause=pause;
count++;
Print(" Class count= ",count);
Print(" Class pause= ",pause);
Print(" Class m_pause= ",m_pause);
if(count>=chekcount+m_pause)
{
chekcount=count;
}
return(chekcount);
}
//+------------------------------------------------------------------+
Ich versuche, meinen Zähler herauszufinden und ihn in Klassen umzuschreiben, aber ich kann die funktionierenden parallelen Funktionen immer noch nicht ausgeben. Ich denke, m_pause sollte anders deklariert werden. Wie sollte es richtig gemacht werden?
Sie müssen es in der Zeitschaltuhr überprüfen.
Und es sollte zwei CCounter-Objekte geben - jedes für seinen eigenen Zähler.
Danke, aber ich verstehe nicht, warum die Zeitschaltuhr prüfen muss? Für jeden Tick greift der Expert Advisor auf den CCounter zu und zählt die Ticks "count++".
Und es muss zwei CCounter-Objekte geben - jedes für seinen Zähler.
Ich bin nicht sicher, was Sie mit "zwei CCounter-Objekte" meinen. Ich habe den Artikel https://www.mql5.com/ru/articles/351 gelesen, in dem es heißt: "Sobald die Klasse geladen ist, wird sie zu einem Objekt". Heißt das, dass ich für jeden Zähler Kopien der Klassen anfertigen muss? So stellt sich heraus, die gleichen Kopien mit verschiedenen Namen, die ich ohne Klassen tun können? Ziel war es, das Kopieren von Klassen loszuwerden, weil ich mehr als hundert davon brauche. Mir wurde gesagt, dass man das auch mit einer Klasse machen kann, also habe ich angefangen, mit Klassen herumzuspielen. Oder was sage ich über "zwei CCounter-Objekte"?
Ich habe den Eindruck, dass ich an einem so einfachen Ort festsitze. Was ist mit global int chekcount=0; int count=0; zu tun, wenn ich mehrere counter()-Funktionen parallel ausführen möchte?
Verwenden Sie einfach eine Klasse oder erstellen Sie Kopien von Funktionen mit anderen Namen.
На самом деле все намного проще. Чтобы пользоваться ООП вовсе не нужно знать, что означают эти слова - можно просто использовать предоставляемые ООП возможности, даже не зная как они называются. Но все же, надеюсь, в процессе прочтения статьи все желающие не только научатся использовать ООП в достаточной мере, но и разъяснят себе значения этих...
Ich bin nicht sicher, was Sie mit "zwei CCounter-Objekte" meinen. Ich habe den Artikel https://www.mql5.com/ru/articles/351 gelesen, in dem es heißt: "Sobald die Klasse geladen ist, wird sie zu einem Objekt". Heißt das, dass ich für jeden Zähler Kopien der Klassen anfertigen muss? So stellt sich heraus, die gleichen Kopien mit verschiedenen Namen, die ich ohne Klassen tun können? Ziel war es, das Kopieren von Klassen loszuwerden, denn ich brauche mehr als hundert davon. Mir wurde gesagt, dass man das auch mit einer Klasse machen kann, also habe ich angefangen, mit Klassen herumzuspielen. Oder was sage ich über "zwei CCounter-Objekte"?
Wie kann ich ein eindimensionales Array mit den Preisen aller offenen Aufträge erstellen? Dies ist wahrscheinlich eine sehr einfache Frage für Sie, aber bitte beraten Sie mich)
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Ich versuche, meinen Zähler herauszufinden und ihn in Klassen umzuschreiben, aber ich kann die funktionierenden parallelen Funktionen immer noch nicht ausgeben. Ich denke, m_pause sollte anders deklariert werden. Wie sollte es richtig gemacht werden?
Ich versuche, meinen Zähler herauszufinden und ihn in Klassen umzuschreiben, aber ich kann die funktionierenden parallelen Funktionen immer noch nicht ausgeben. Ich denke, m_pause sollte anders deklariert werden. Wie sollte es richtig gemacht werden?
Sie müssen es in der Zeitschaltuhr überprüfen.
Und es sollte zwei CCounter-Objekte geben - jedes für seinen eigenen Zähler.
Der Timer muss überprüft werden.
Danke, aber ich verstehe nicht, warum die Zeitschaltuhr prüfen muss? Für jeden Tick greift der Expert Advisor auf den CCounter zu und zählt die Ticks "count++".
Danke, aber ich verstehe nicht, warum der Timer überprüft werden muss? Für jeden Tick greift der EA auf den CCounter zu und zählt die Ticks "count++".
Es ist also nicht in der Zeitschaltuhr...
Und es muss zwei CCounter-Objekte geben - jedes für seinen Zähler.
Ich bin nicht sicher, was Sie mit "zwei CCounter-Objekte" meinen. Ich habe den Artikel https://www.mql5.com/ru/articles/351 gelesen, in dem es heißt: "Sobald die Klasse geladen ist, wird sie zu einem Objekt". Heißt das, dass ich für jeden Zähler Kopien der Klassen anfertigen muss? So stellt sich heraus, die gleichen Kopien mit verschiedenen Namen, die ich ohne Klassen tun können? Ziel war es, das Kopieren von Klassen loszuwerden, weil ich mehr als hundert davon brauche. Mir wurde gesagt, dass man das auch mit einer Klasse machen kann, also habe ich angefangen, mit Klassen herumzuspielen. Oder was sage ich über "zwei CCounter-Objekte"?
Ich habe den Eindruck, dass ich an einem so einfachen Ort festsitze. Was ist mit global int chekcount=0; int count=0; zu tun, wenn ich mehrere counter()-Funktionen parallel ausführen möchte?
Verwenden Sie einfach eine Klasse oder erstellen Sie Kopien von Funktionen mit anderen Namen.
Ich bin nicht sicher, was Sie mit "zwei CCounter-Objekte" meinen. Ich habe den Artikel https://www.mql5.com/ru/articles/351 gelesen, in dem es heißt: "Sobald die Klasse geladen ist, wird sie zu einem Objekt". Heißt das, dass ich für jeden Zähler Kopien der Klassen anfertigen muss? So stellt sich heraus, die gleichen Kopien mit verschiedenen Namen, die ich ohne Klassen tun können? Ziel war es, das Kopieren von Klassen loszuwerden, denn ich brauche mehr als hundert davon. Mir wurde gesagt, dass man das auch mit einer Klasse machen kann, also habe ich angefangen, mit Klassen herumzuspielen. Oder was sage ich über "zwei CCounter-Objekte"?
Verwenden Sie nur eine Klasse, oder erstellen Sie Kopien von Funktionen mit unterschiedlichen Namen.
Erstellen Sie einfach so viele Klassenobjekte, wie Sie benötigen. Und verwenden Sie jedes einzelne für Ihre Zählung.
Vielen Dank, ich werde lesen, was dieses CArrayObj ist und versuchen, es herauszufinden. :)
Wie kann ich ein eindimensionales Array mit den Preisen aller offenen Aufträge erstellen? Dies ist wahrscheinlich eine sehr einfache Frage für Sie, aber bitte beraten Sie mich)
Wie kann ich ein eindimensionales Array mit den Preisen aller offenen Aufträge erstellen?
Gehen Sie alle Aufträge in einer Schleife durch und schreiben Sie die offenen Preise in das Array.
Gehen Sie alle Aufträge in der Schleife durch und schreiben Sie die Eröffnungspreise in das Array.
Ich danke Ihnen!