Strukturregeln. Lernen, wie man Programme strukturiert, Erforschung von Möglichkeiten, Fehlern, Lösungen usw. - Seite 10

 

Ich bin kein Unbekannter in der staatlichen Programmierung und habe sie selbst mehrere Jahre lang benutzt. Nach einiger Zeit der Anwendung dieser Methode habe ich jedoch beschlossen, sie aufzugeben und ein transparenteres, einfacheres und geeigneteres Modell für den Handel auf ihrer Grundlage zu entwickeln.

Lesen Sie aufmerksam diesen Artikel: Autoprogrammierung als neuer Weg zur Erstellung automatisierter Handelssysteme

Lesen Sie dann aufmerksam diese Kommentare dazu.

Betrachten Sie dann in aller Ruhe ein unansehnliches Schild aus dem Artikel und überlegen Sie, was es bedeuten könnte:

Wenn du nach all dem immer noch denkst: "Wow, staatliche Programmierung ist so cool!" - Nun, rechnen Sie damit.

Ich möchte hinzufügen, dass das Hauptproblem der State-Programmierung Situationen sind, die eine Menge nutzloser Modi produzieren (siehe Spalte N State). In der staatlichen Programmierung sollte jeder Modus seine eigenen Regeln separat beschreiben. Erklären wir es an einem Beispiel: Nehmen wir an, wir befinden uns im Kaufmodus. Alles ist in Ordnung, bis der Roboter beschließt, eine weitere Position zu öffnen. Und warum nicht? Die Bedingungen für den Ausstieg aus der alten Position sind nicht erfüllt und es ist zu früh, sie zu schließen, während ein neues Signal nicht verpasst werden sollte. Und hier beginnen die Probleme, denn im Moment des Eintreffens eines neuen Signals befindet sich der Roboter im Kaufmodus, während sich die Regeln für die Eröffnung einer neuen Position im Zustandsmodus befinden (Warten auf und Suchen nach neuen Einstiegssignalen). Im Kaufmodus müssen wir nun dieselben Regeln für die Positionseröffnung wie im Zustandsmodus erneut beschreiben. Und wenn eine neue Position in die entgegengesetzte Richtung geht (Hedge)? Diese Stelle ist frei, aber was ist damit zu tun? Denn seine Verwaltungslogik wird im Verkaufsmodus beschrieben, während sich der Roboter im Kaufmodus befindet. Wir können einfach in den Verkaufsmodus wechseln, aber was machen wir mit der verbleibenden Kaufposition? Im Allgemeinen müssen wir in diesem Fall einen weiteren nutzlosen Modus wie BuyAndSell schreiben. Die Redundanz der Modi führt zu einer weiteren Situation: ein und dieselbe Aktion wird von verschiedenen Codeabschnitten ausgeführt. Alles in allem, für diejenigen, die exponentielle Programmierung Chaos mögen, ist dies die beste.

 
C-4:
(fcplm)
 
C-4:

"So ist es, Mihalych" (c)... Das ist es, was ich auch andeuten will.

TheXpert:
(fcplm)

Niemals.

 
C-4:
Ich dachte gerade, wenn MQL5 Mehrfachvererbung unterstützt und eine Klasse abstrakte Methoden deklarieren könnte, würde dies einen Weg zur Verwendung von Schnittstellen eröffnen, was für große Projekte großartig wäre.

Abstrakte Methoden sind nicht ausdrücklich verboten (ich verwende oft eine andere Schreibweise),

Und die Mehrfachvererbung wäre ein großes Plus.

 
A100:
Abstrakte Methoden sind nicht ausdrücklich verboten.

Um Rosh zu zitieren: Was nützt es Ihnen, Brennholz zu sägen?

Von's FAQ sitzt auf Vierbeinern und kümmert sich nicht um abstrakte Methoden und Mehrfachvererbung.

Es spielt keine Rolle, ob es abstrakte Methoden geben wird oder nicht, die Aufgabe der Projektstrukturierung wird so oder so nicht gelöst werden.

Übrigens, je mehr Umsetzungsvarianten es gibt, desto schwieriger ist es, sich für eine Variante zu entscheiden.

Es zeigt sich also, dass der Programmierer oft in der Aufgabe der Codeschönheit stecken bleibt. Es ist eine Kunst um der Kunst willen.

Ich habe im Allgemeinen festgestellt (ich spreche für mich), dass die Projektplanung umso einfacher ist, je mehr Stempel sie hat.

Dann können Sie ändern, modifizieren, neu modifizieren, übermodifizieren,

Aber das anfängliche Gerüst (auch wenn es nicht großartig ist) gibt den Ton für das gesamte Gebäude an.

 
Urain:

Um Rosh zu zitieren: Wie hilft Ihnen das beim Sägen von Brennholz?

Dann können Sie es ändern, modifizieren, neu modifizieren, übermodifizieren,

aber das anfängliche Gerüst (auch wenn es nicht großartig ist) gibt den Ton für das gesamte Gebäude an.

Die Geschwindigkeit des Sägens von Brennholz wird erhöht.

Wenn Sie bereits eine klare Vorstellung davon haben, wie und was aussehen soll, können Sie wahrscheinlich alles intelligent in MQL4 erledigen.

Und wenn es einen solchen Begriff nicht gibt, bedeutet das, dass es eine Menge Änderungen und Ergänzungen geben wird. Und die Mehrfachvererbung ermöglicht Änderungen mit minimalen Kosten.

Ich stimme mit den abstrakten Methoden überein - es ist einfach eine schöne Form der Aufzeichnung.

 
A100:

Die Geschwindigkeit des Sägens von Brennholz wird erhöht.

Wenn Sie bereits eine klare Vorstellung davon haben, wie und was aussehen soll, können Sie wahrscheinlich alles intelligent in MQL4 erledigen.

Und wenn Sie eine solche Idee nicht haben, bedeutet das eine Menge Änderungen und Ergänzungen. Und insbesondere die Mehrfachvererbung ermöglicht Änderungen mit minimalen Kosten.

Heutzutage wird die Vererbung zu Gunsten der Inklusion aufgegeben. Können Sie sich vorstellen, wie es mit der Mehrfachvererbung aussieht?
 
Vladix:
Heutzutage versucht man, die Vererbung zu Gunsten der Inklusion aufzugeben. Können Sie sich vorstellen, wie es mit der Mehrfachvererbung aussieht?
Ohne Mehrfachvererbung kann man keine horizontalen Beziehungen auf der Schnittstellenebene organisieren. Das Paradigma ist einfach: Jedes Objekt kann eine beliebige Anzahl von Schnittstellen unterstützen. Aber die Mehrfachvererbung an sich ist sicherlich ein Übel. Nicht umsonst ist sie in C# verboten, während die Verwendung von Schnittstellen im Gegenteil gefördert wird.
 
UrainDa ist die FAQ , die auf einem Vierling sitzt, und keine abstrakten Methoden oder Mehrfachvererbung stören ihn.


A narkarkal :https://www.mql5.com/ru/forum/13114
 

FAQ:

Niemals.

Das ist es nicht. Mit einem Schalter... Fall und die Verwendung eines Zustandsautomatenmusters sind zwei verschiedene Dinge. Aus dem Text geht hervor, dass es so etwas wie ein Muster nicht gibt, genau wie in dem von Ihnen zitierten Artikel.

Dort steht etwas wie "Ich habe ein einzigartiges Gewinnsystem erfunden..." und dann eine krumme Aussage von Martin.