Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich gehe davon aus, dass es kein Los geben wird, zum Beispiel 0,15. Zumindest habe ich nichts davon gehört. Wenn ich das tue, werde ich es ändern.
Ich weiß, es ist unwahrscheinlich, aber man will immer die perfekte Lösung ))))
Ok, es ist nicht das größte Problem, aber ich habe mir ein Problem geschaffen... Ich wollte ein perfektes OOP, aber ohne unnötige Aufrufe und alles war optimal
Ich möchte 5 Instanzen der Klasse haben, aber ich muss die Klassenfelder einmal initialisieren - sie enthalten die Terminalumgebung, die sich während der Ausführung des Programms nicht ändern wird.
string Language;
Wenn ich static string Language deklariere; - dann gibt es einen Fehler unresolved static variable 'A::Language'
Hier ist ein Beispiel
Ich werde String Language 5 Mal in dieser Form initialisieren - es ist falsch und es wird nicht mit statischen Modifikatoren kompilieren
und es ist nicht nötig, 5 Kopien der Sprachvariablen zu haben! - versucht, in der Klasse B eine Instanz der Klasse zu deklarieren - dasselbe, 5 Sprachvariablen haben
2019.08.29 12:44:58.384 tst__ EURUSD,M15: initialisiert
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:57.989 tst__ EURUSD,M30: uninit Grund 3
Ich weiß, es ist unwahrscheinlich, aber man will immer die perfekte Lösung ))))
Ok, es ist nicht das größte Problem, aber ich habe mir ein Problem geschaffen... Ich wollte ein perfektes OOP, aber ohne unnötige Aufrufe und alles war optimal
Ich möchte 5 Instanzen der Klasse haben, aber ich muss die Klassenfelder einmal initialisieren - sie enthalten die Terminalumgebung, die sich während der Ausführung des Programms nicht ändern wird.
Wenn ich static string Language deklariere; - dann gibt es einen Fehler unresolved static variable 'A::Language'
Hier ist ein Beispiel
Ich werde String Language 5 Mal in dieser Form initialisieren - es ist falsch, und es kompiliert nicht mit statischen Modifikatoren
2019.08.29 12:44:58.384 tst__ EURUSD,M15: initialisiert
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:57.989 tst__ EURUSD,M30: uninit Grund 3
OK, das ist eine Option
Aber ich möchte alles in einer Klasse verpacken - in meinem Beispiel habe ich Klasse B und ich möchte 5 Instanzen von B, aber ich möchteSprache nicht 5 Mal initialisierenund daher möchte ich nichtin jeder Instanzeine VariableSprachehaben
Wie werde ich die zusätzlicheSprache los?
OK, das ist eine Option
Aber ich möchte alles in einer Klasse verpacken - in meinem Beispiel habe ich Klasse B und ich möchte 5 Instanzen von B, aber ich möchte Sprache nicht 5 Mal initialisieren und daher möchte ich nichtin jeder Instanz eine VariableSprache haben
Wie werde ich die zusätzlicheSprache los?
Vererben. Auf diese Weise wird sie nur einmal initialisiert.
Ich weiß, es ist unwahrscheinlich, aber man will immer die perfekte Lösung ))))
Ok, es ist nicht das größte Problem, aber ich habe mir ein Problem geschaffen... Ich wollte ein perfektes OOP, aber ohne unnötige Aufrufe und alles war optimal
Ich möchte 5 Instanzen der Klasse haben, aber ich muss die Klassenfelder einmal initialisieren - sie enthalten die Terminalumgebung, die sich während der Ausführung des Programms nicht ändern wird.
Wenn ich static string Language deklariere; - dann gibt es einen Fehler unresolved static variable 'A::Language'
Hier ist ein Beispiel
Ich werde String Language 5 Mal in dieser Form initialisieren - es ist falsch und es wird nicht mit statischen Modifikatoren kompilieren
und es ist nicht nötig, 5 Kopien der Sprachvariablen zu haben! - versucht, in der Klasse B eine Instanz der Klasse zu deklarieren - dasselbe, 5 Sprachvariablen haben
2019.08.29 12:44:58.384 tst__ EURUSD,M15: initialisiert
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:58.384 tst__ EURUSD,M15: B::BRussian
2019.08.29 12:44:58.384 tst__ EURUSD,M15: A::A
2019.08.29 12:44:57.989 tst__ EURUSD,M30: uninit Grund 3
Vererben. In dieser Form wird er nur einmal initialisiert.
Funktioniert bei mir
2019.08.29 13:24:19.690 tst__ EURUSD,M15: initialisiert
2019.08.29 13:24:19.690 tst__ EURUSD,M15: B::Bru
2019.08.29 13:24:19.690 tst__ EURUSD,M15: CLang::CLang
2019.08.29 13:24:19.690 tst__ EURUSD,M15: B::Bru
2019.08.29 13:24:19.690 tst__ EURUSD,M15: CLang::CLang
2019.08.29 13:24:19.690 tst__ EURUSD,M15: B::Bru
2019.08.29 13:24:19.690 tst__ EURUSD,M15: CLang::CLang
2019.08.29 13:24:19.690 tst__ EURUSD,M15: B::Bru
2019.08.29 13:24:19.690 tst__ EURUSD,M15: CLang::CLang
2019.08.29 13:24:19.690 tst__ EURUSD,M15: B::Bru
2019.08.29 13:24:19.690 tst__ EURUSD,M15: CLang::CLang
2019.08.29 13:24:19.690 tst__ EURUSD,M15: MyTerminalInfoString
mindestens einmal wird myTerminalInfoString() aufgerufen
Ich habe also eine Art Singleton
Ich danke Ihnen!
Ich bin gerade an meinem Telefon. Erinnern Sie mich abends daran, und ich zeige Ihnen, wie Sie das Problem lösen können.
OK, wenn es nicht zu viel Mühe macht.
und das Singleton-Thema ist ziemlich neu für mich, es gibt Raum für Kreativität - Beispiele wären
OK, wenn es nicht zu viel Mühe macht.
und das Singleton-Thema ist ziemlich neu für mich, es gibt Raum für Kreativität - Beispiele wären
Brauchen Sie also ein gemeinsames Feld für die Objekte?
es ist schwer zu sagen, was ich will ))))
Lassen Sie mich versuchen, es in Worte zu fassen:
- Ich möchte eine Klasse, die durch den Konstruktor initialisiert wird, und diese Klasse wird keine Methoden haben; der Zweck der Klasse ist es, eine Bestellung zu öffnen und dann zu schließen und/oder mehrere weitere Bestellungen gemäß einem Skript wieder zu öffnen; der Skripttyp ist eine Aufzählung
- Ich werde eine Reihe von Instanzen der Klasse verwenden - mindestens 5
- Ich möchte den Auftrag nicht öffnen, ohne jedes Mal die Terminalumgebung aufzurufen. Daher möchte ich SYMBOL_VOLUME_MAX, Symbol, SYMBOL_VOLUME_MIN und die Anzahl der Ziffern in SYMBOL_VOLUME_STEP als konstante Werte in der Klasse
- Ich möchte die Variablen optimal nutzen, d. h. ich möchte die Konstanten im vorherigen Absatz nicht duplizieren.
Das ist ungefähr, wie ich es sehe, aber im Allgemeinen ist das Problem jetzt auf die korrekte Struktur der Klasse selbst reduziert, wie es sich herausstellte bereits zu erben, so dass SYMBOL_VOLUME_MAX , Symbol,SYMBOL_VOLUME_MIN ... um ein Exemplar zu haben, denke ich, dass ich immer noch über die Fehlerausgabe stolpern werde, ich werde etwas wie dieses aus meiner PrintLastError.mqhhttps://www.mql5.com/ru/code/24829# verwenden