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
Und wenn Sie keine Klassen verwenden, werden Sie es leid, ständig etwas wie SymbolInfoDouble(_Symbol,MODE_BID) zu schreiben. Solche Tänze gibt es jedes Mal - sowohl Klammern als auch Unterstriche, und man weiß nicht, ob man die Feststelltaste drücken (und dann irgendwo anders, ohne hinzuschauen, eine ganze großgeschriebene Zeichenkette eintippen und erneut eingeben) oder die Umschalttaste gedrückt halten soll. Zumindest in diesem Bereich ist OOP nützlich. Wenn zumindest Klassen für all diese Funktionen, dann ja - sie sind riesig. Wenn Sie es für sich selbst schreiben, ist das kein Problem. Was die Arbeit mit Aufträgen betrifft, so gibt es nicht so viele häufig verwendete Funktionen, wir können einfach ein paar Funktionen in eine Bibliothek aufnehmen. Aber im Allgemeinen ist noch kein idealer Ansatz gefunden worden.
Hier ist meine Vorstellung von der Klasse, die öffnen/schließen/den Stop-Loss setzen und später denAuftragsstatus anzeigen kann
und beachten Sie die Verwendung auf ein Symbol - speziell eine statische Klasse zu verwenden
Alles in allem funktioniert alles wie vorgesehen.... aber ich mag es nicht, wie ich oben schrieb, ist es umständlich und überflüssig
Und wenn Sie keine Klassen verwenden, werden Sie es leid sein, ständig etwas wie SymbolInfoDouble(_Symbol,SYMBOL_BID) zu schreiben. Das tanzt jedes Mal ...
Man könnte bequemere und prägnantere Wrapper für diese Funktionen erstellen, während man sie im prozeduralen Stil belässt. Vor allem unter Berücksichtigung der Tatsache, dass sie in den letzten Builds endlich Namespace hinzugefügt haben, ist alles großartig. Vorher musste man sie als statische Methoden implementieren, aber jetzt ist alles viel einfacher:
Man kann bequemere und prägnantere Wrapper für diese Funktionen erstellen, ohne den prozeduralen Stil zu vernachlässigen. Vor allem, da sie in den letzten Builds endlich Namespace hinzugefügt haben, ist das großartig. Vorher musste man sie als statische Methoden implementieren, aber jetzt ist alles viel einfacher:
Ist es wirklich wichtig, die Grenzen einzuhalten? Wenn es wichtig ist, die Grenzen einzuhalten, können Sie Funktionen schreiben.
Nun, nicht viel, ich würde sagen, eine ganze Menge von Aktionen, um eine Bestellung zu setzen, hier ist meine Vision für eine Klasse, die weiß, wie zu öffnen / schließen / Stoploss / und weitere Ausgabe um Status
und beachten Sie die Verwendung auf ein Symbol - speziell eine statische Klasse zu verwenden
Alles in allem funktioniert alles wie vorgesehen.... aber ich mag es nicht, wie ich oben schrieb, ist es umständlich und überflüssig
Ja, das ist eine weitere Frage, die sich immer wieder stellt und auf die es keine eindeutige Antwort gibt. Wenn Sie Ihre eigene Klasse erben müssen - was ist besser, sie zu erben oder eine neue erweiterte Version Ihrer Klasse zu schreiben.
Es ist möglich, bequemere und prägnantere Wrapper für diese Funktionen zu erstellen und dabei den prozeduralen Stil beizubehalten. Vor allem, da sie in den letzten Builds endlich Namespace hinzugefügt haben, ist das großartig. Vorher musste man sie als statische Methoden implementieren, jetzt sind die Dinge viel einfacher:
Sie haben keine prägnante Notation, wenn es keine Prüfungen gibt, ist es einfacher, es so zu schreiben, wie es ist:
und beachten Sie, dass die Verwendung auf ein einzelnes Zeichen - insbesondere eine statische Klasse verwendet werden
Ihr Eintrag ist nicht knapp, wenn es keine Häkchen gibt, ist es einfacher zu schreiben, wie es ist:
Es gibt eine Reihe von Funktionen wie SymbolInfoDouble. Es ist mühsam, sich kurze Namen für alle auszudenken. Wenn man sie in Klassen zusammenfasst, muss man sich um die Eindeutigkeit der Namen keine Sorgen machen.
Ich habe die folgende Schaltung, bei der ich keine Probleme hatte.
Sie haben keinen präzisen Eintrag, und wenn es keine Kontrollen gibt, ist es einfacher, ihn so zu schreiben, wie er ist:
Was hindert Sie daran, den Namen des Symbols an den Konstruktor zu übergeben, um die Klasse flexibel und vielseitig zu gestalten? Ziehen Sie die Möglichkeit des Portfoliohandels grundsätzlich nicht in Betracht?
Dies wird dadurch erschwert, dass EAs meist nur aus einem Zeichen bestehen und die Übergabe eines Symbols in den meisten Fällen eine unnötige (und anstrengende))) Aktion wäre. Eine weitere Möglichkeit besteht darin, das Diagrammsymbol standardmäßig automatisch auszuwählen, und bei Bedarf können Sie das Symbol für eine Weile außer Kraft setzen. Aber auch hier stellt sich die Frage, was besser ist - eine Instanz der Klasse zu verwenden und das Symbol nach Bedarf zu überschreiben oder für jedes Symbol eine eigene Instanz zu erstellen.