Einen Artikel zum Thema "Wie schreibe ich einen TOR für einen Handelsroboter" schreiben - Seite 6

 
Aleksey Vyazmikin:

Hier kommen viele Details zum Vorschein und es werden Fehler gemacht. Deshalb ist es unerlässlich, dass der EA an echten Kursen getestet wird.

Sie müssen dies nur berücksichtigen und sich auf einen angemessenen Zeitrahmen einigen.


Die technische Aufgabe ist eine Sache, deren Ausführung von einem Dritten objektiv überprüft werden kann. Ansonsten ist es eine Aufgabe für einen Schulaufsatz "über den Sommer".


Über Güte

 
Maxim Kuznetsov:


Eine technische Aufgabe ist etwas, das von einer dritten Partei objektiv überprüft werden kann. Andernfalls handelt es sich um eine Schulaufsatzaufgabe "über den Sommer".

Eine Eins für den Aufsatz. Große Fantasie.

Aber Sie haben das Thema übersprungen - ich sage, dass der Test auf realen Daten beruhen muss, und der Kunde sollte sich dessen bewusst sein, und der Auftragnehmer sollte dies bei den angegebenen Fristen berücksichtigen.

 
Aleksey Vyazmikin:

5 für den Aufsatz - große Fantasie!

Aber Sie sind vom Thema abgekommen - ich sage, dass Tests mit echten Daten obligatorisch sind, und der Kunde sollte sich dessen bewusst sein, und der Auftragnehmer sollte dies bei den angegebenen Fristen berücksichtigen.

Angenommen, Sie haben einen EA geschrieben (Code und größtenteils sogar debugged). Die nächste objektive Sache - um die Eule auf dem realen Konto für den Kunden zu überprüfen, benötigen Sie einige Zeit und das gleiche reale Konto.

Wessen Lebensfreude geht auf wessen Kosten, und wie sorgen Sie alle gemeinsam dafür, dass die Aufgabe erfüllt wird?

 
Maxim Kuznetsov:

Angenommen, Sie haben einen EA geschrieben (Code und größtenteils sogar debugged). Dann folgt eine objektive Sache - um die Eule auf einem realen Konto zu überprüfen, brauchen der Kunde, Sie, der Schlichter etwas Zeit und das gleiche reale Konto.

Wie werden Sie alle überprüfen, ob die Aufgabe erfüllt ist?

Wenn Sie sich nicht sicher sind, ob der Auftrag korrekt ist, können Sie die Serviceprotokolle des Terminals verwenden und die Logik der Auftragsabwicklung überprüfen.

Was ist das Problem? Ja, ich bin tatsächlich auf einen funktionierenden EA im Tester gestoßen, der auf einem echten Konto nicht richtig funktionierte. Der EA behauptete zwar, dass es so sein sollte, aber der Schlichter schwieg, bis ich ein Stück Code herauszog und dem EA auf die Finger klopfte. Die Inkompetenz des Auftragnehmers hat mich viel Zeit und Nerven gekostet, so dass ich kein Problem darin sehe, wenn der Auftragnehmer auf seine Vergütung wartet.

Oder vielleicht verstehe ich etwas nicht, bitte erläutern Sie Ihre Argumente für eine sachliche Diskussion.

 
Maxim Kuznetsov:

Wozu ist das alles gut?

Die Anforderungsspezifikation wird vom Auftragnehmer (oder einem speziell geschulten externen Berater) erstellt. Und sie umfasst die Methodik der Überprüfung.
Keine unnötigen Anforderungen für den Kunden, er ist nicht verpflichtet, alle Programmierungen zu kennen.

Der Kunde sollte sagen (schriftlich, nicht per Video oder Skype):

- Ich verwende diese Indikatoren und Skripte

- Ich halte mich an die folgenden Regeln

- Haben auf mehr oder weniger offiziellen Demo für eine Woche, Monat oder Jahr gehandelt , das ist, wie viel. Und in einem anderen Zeitraum wie diesem. Optional kann alles durch Kopieren auf ein Cent-Konto gesichert werden.

- Sie müssen automatisieren

Der Entwickler erstellt und vereinbart einen TT (in einer für beide Parteien verständlichen Form), schreibt eine Eule, und wenn alles im Tester mehr oder weniger mit dem genannten Zeitraum übereinstimmt, dann ist der Expert Advisor fertig.

Varianten - wir sollten es auf der Demo/dem Center-Real/etc. prüfen, es ist bereits jenseits der Grenzen der Freiberuflichkeit

Ich bin aus vielen Gründen nicht freiberuflich tätig, aber das Schreiben der TOR kostet Geld, und zwar oft sehr viel. Und meiner Meinung nach beträgt der durchschnittliche Scheck in der Freiberuflichkeit 50 Dollar. B was, von dieser ohnehin schon kläglichen Summe noch abzukratzen, um den Auftragnehmer für das Schreiben von TOR zu bezahlen? Oder wird er umsonst schreiben?

 

Ich habe dem Artikel etwas mehr hinzugefügt - ich habe den Abschnitt " Was sollte in der Aufgabenstellung enthalten sein" hinzugefügt und geschrieben, wo Sie die Leistungsbeschreibung erhalten können, wenn Sie sie nicht selbst verfassen können

Что нужно для заказа торгового робота

Handelsroboter sind Programme, die die darin eingebetteten Algorithmen ausführen. Algorithmen sind eine Reihe von Aktionen, die beim Eintreten eines Ereignisses ausgeführt werden müssen. Die häufigste Aufgabe beim algorithmischen Handel ist beispielsweise die Definition des Ereignisses „Neuer Balken“ , bei dessen Auftreten der Roboter das Auftreten von Handelssignalen prüft und die erforderlichen Aktionen an ihnen durchführt.

Bevor Sie jedoch einen Handelsroboter schreiben oder bestellen, müssen Sie über ein Handelssystem mit klaren Regeln verfügen, um günstige Zeitpunkte für die Durchführung von Transaktionen zu bestimmen. Die Entwicklung jedes noch so komplexen Handelssystems beginnt immer mit grundlegenden Dingen, nämlich mit der Entwicklung von Handelssignalen für den Kauf und Verkauf. Als nächstes können Sie verschiedene Folge- und Abschlussoptionen hinzufügen.

Sie müssen nicht Jahre hinter dem Monitor des Handelsterminals verbringen, um Ihre Handelsstrategie zu entwickeln. Mittlerweile gibt es im Internet und in Büchern Hunderte von bewährten Ideen, die Sie ausprobieren können. Und selbst wenn Sie sich in Ihren Programmierkenntnissen nicht ganz sicher sind, stellt dies kein Hindernis dar. Der Freelance -Service hilft Ihnen dabei, den richtigen Entwickler zu finden und die geleistete Arbeit sicher zu bezahlen.

Aber bevor Sie sich mit dem faszinierenden Element des algorithmischen Handels befassen, empfehlen wir Ihnen, nützliche Artikel zum Thema zu lesen:

Warum ist es wichtig, eine gute Geschäftsordnung zu haben?

Bei der Bestellung oder Entwicklung eines Expert Advisors ist es notwendig, technische Anforderungen an ihn zu formulieren – welche Aufgaben er lösen soll, unter welchen Bedingungen er betrieben wird, was in Notsituationen passiert, welche Art von Kontrolle er benötigt. Handelsroboter sind Programme und müssen klar nach der zugrunde liegenden Logik arbeiten. Aber bevor der notwendige Aktionsalgorithmus programmiert wird, muss dieser auch klar beschrieben werden.

Die Beschreibung der Handelsstrategie muss in Form einer Leistungsbeschreibung erfolgen. Und je besser und klarer es wird, desto weniger Missverständnisse gibt es zwischen Ihnen als Kunde und dem Programmierer als Ausführenden Ihres Auftrages.

Das Wichtigste in den Nutzungsbedingungen ist das Vorhandensein formeller, eindeutiger Handelsregeln. Auch wenn Sie keinen Experten nebenher bestellen, sondern selbst schreiben möchten, entwickeln Sie diese Regeln zunächst für sich. Erstellen Sie eine Aufgabenstellung und stellen Sie sicher, dass Sie Punkte zum Testen/Optimieren des Expert Advisors enthalten. Fügen Sie auch Hypothesen hinzu, um die Qualität Ihrer Handelsstrategie zu testen – welche Kriterien werden Sie verwenden, um die optimalen Parameter auszuwählen, warum halten Sie diese Kriterien für wichtig?

Nehmen Sie alle Schritte zum Erstellen eines Handelsroboters in die Leistungsbeschreibung auf - dies hilft, die Essenz des Algorithmus nicht nur für den Ausführenden, sondern auch für Sie nach Wochen, Monaten oder Jahren zu verstehen. Denken Sie daran, dass der algorithmische Handel kein Hobby ist, sondern derselbe eintönige Forschungspfad, bei dem es notwendig ist, die durchlaufenen Phasen zu dokumentieren. Für mich selbst, mehr als für einen Programmierer, der einen Roboter für Sie schreibt.

Entwickeln Sie die Fähigkeiten eines Bürokraten, der gerne Dinge regelt. Das wirst du auf jeden Fall brauchen. Ja, und Programmierer lieben klare Befehle.

Was sollte in der Leistungsbeschreibung stehen

Handelsidee

Für eine schnelle Einführung in das Wesen einer Handelsstrategie widmen Sie den ersten Absatz Ihres Technischen Auftrags der darin enthaltenen Idee / Hypothese. Zum Beispiel: "Wenn sich der Preis zweimal dem Widerstandsniveau nähert und jedes Mal zurückrollt, dann durchbricht er es in der Regel beim dritten Mal." Hier können Sie ein Diagramm mit eingezeichneten Widerstands-/Unterstützungslinien, überlagerten Indikatoren und Signaturen anhängen, die die Situation veranschaulichen. Um die Idee zu beschreiben, ist es nicht erforderlich, bestimmte Zahlen oder Berechnungsalgorithmen anzugeben - in diesem Stadium ist es nicht erforderlich, zu erklären, wie wir ermitteln:

  • Widerstandsstufe,
  • Ebenenaufschlüsselung,
  • der Begriff „allgemein“.

Eine kleine Abstraktionsebene in der Anfangsphase ermöglicht es Ihnen, sich auf die Idee selbst zu konzentrieren und nicht auf die technischen Details. Mit dieser Methode können Sie anschließend viele weitere Varianten Ihrer Handelsstrategie generieren - Sie ersetzen einfach einen Strategieblock durch einen anderen, einen Indikator durch einen anderen, fügen Filter hinzu oder ersetzen sie. Gleichzeitig ändert sich die Idee selbst nicht, nur die Namen und Werte der Eingabeparameter Ihres Handelsroboters ändern sich.

Darüber hinaus ist es notwendig, alle Begriffe zu beschreiben, die in der Beschreibung der Idee verwendet werden. Wenn der Trend für die Strategie wichtig ist, geben Sie eine klare Beschreibung, wie er bestimmt wird - auf der Grundlage welchen Indikators, wie die Richtung und Stärke des Trends bestimmt wird. Die numerischen Merkmale dieser Definitionen bilden die Grundlage für die Eingabeparameter des Expert Advisors, die Sie dann im Strategietester optimieren werden. Nennen Sie also den ersten Abschnitt Ihrer Aufgabenstellung – Handelsidee.

Bedingungen

Um die Begriffe zu beschreiben, empfehlen wir die Erstellung eines separaten Abschnitts der Leistungsbeschreibung – Begriffe. Darin wird für jeden Begriff ein separater Absatz geschrieben, die Begriffe selbst sind fett gedruckt , um das Schlüsselkonzept Ihrer Handelsstrategie hervorzuheben. Fügen Sie der Beschreibung des Begriffs gegebenenfalls eine Illustration hinzu, in der Sie das Nötigste zum Verständnis zeigen müssen.

Handelssignale

Als nächstes können Sie den drittwichtigsten Abschnitt – Handelssignale – zusammenstellen, der beschreibt, unter welchen Bedingungen, Marktbedingungen und Indikatorwerten ein Kauf erfolgt. Um jede Bedingung zu beschreiben, die zur Erzeugung eines Kaufsignals erforderlich ist, muss ein numerischer Parameter herausgegriffen werden, von dem das Auftreten eines Signals abhängt. Bei einem gleitenden Durchschnitt wäre dies beispielsweise der Glättungstyp und -zeitraum. Diese wichtigen Parameter werden in die Eingabeparameter des zukünftigen Expert Advisors übernommen. Beschreiben Sie die Konditionen für den Verkauf gesondert, auch wenn sie den Konditionen für den Kauf einfach entgegengesetzt sind - manchmal kommen Feinheiten heraus, die der Programmierer anders verstehen kann als Sie. Beispielsweise wird bei einem Kauf die Bedingung „Kennzeichen > 0“ gesetzt – was schreibt man bei einem Verkauf? "Punktzahl<0" oder "Punktzahl<=0"?

Selbst die einfachste Handelsidee beginnt sehr schnell, zusätzliche Bedingungen und Filter zu erwerben, die das Vorhandensein eines Handelssignals bestätigen oder umgekehrt - ein Geschäft verbieten. Daher ist es wichtig, für jede Marktsituation erklärende Screenshots zu machen, die die notwendigen Indikatoren und Setups visuell darstellen. Auf diese Weise können Sie schnell mit der Situation fertig werden, wenn Ihr Berater ein scheinbar offensichtliches Handelssignal verpasst oder plötzlich zur falschen Zeit ein Geschäft abgeschlossen hat.

Screenshots und Flussdiagramme

Im Internet gibt es viele kostenlose und praktische Programme zum Erstellen von Screenshots und Flussdiagrammen. Eine kleine Auswahl an Tipps für die Arbeit damit finden Sie im Artikel So erstellen Sie eine Leistungsbeschreibung bei der Bestellung eines Indikators . Dort finden Sie auch Tipps zur Bestellung eines Indikators, der mit Pfeilen auf dem Chart anzeigt, wann Kauf- und Verkaufssignale erscheinen. Ein solcher Indikator, der getrennt vom Berater arbeitet, erleichtert die Überprüfung und Kontrolle des Betriebs des Handelsroboters sowohl online als auch während des visuellen Tests.

Lebensdauer von Signalen/Aufträgen/Positionen

Der zweite wichtige Teil der Handelsstrategie besteht darin, eine offene Position zu verlassen und ausstehende Aufträge zu löschen. Darüber hinaus können die Handelssignale selbst auch durch die Zeit oder durch das Eintreten einiger Ereignisse gelöscht werden. Es ist auch notwendig, wie bei Handelssignalen klar zu beschreiben, unter welchen Bedingungen der Kauf / Verkauf abgeschlossen wird, die platzierte Order storniert wird, wann das Signal selbst storniert wird.

Pflege offener Positionen und Pending Orders

Wenn Ihre Handelsstrategie das Festlegen von StopLoss- und TakeProfit-Niveaus erfordert, geben Sie bitte einen Berechnungsalgorithmus an. Wenn es notwendig ist, diese Ebenen flexibel hochzuziehen/zu verschieben, müssen auch die Bedingungen für solche Operationen beschrieben werden. SL/TP-Niveaus können sowohl beim Öffnen eines neuen Balkens als auch bei jedem Tick geändert werden. Es ist notwendig, diesen Moment ausdrücklich in den Nutzungsbedingungen anzugeben und den Unterschied in den Modi zum Testen von Handelsstrategien zu verstehen. Wir empfehlen Ihnen, den Artikel Testen von Handelsstrategien an echten Ticks zu lesen.

Wo erhalte ich die Nutzungsbedingungen, wenn Sie sie nicht selbst verfassen können?

Eine schlecht formulierte Leistungsbeschreibung oder ihr tatsächliches Fehlen weist meistens darauf hin, dass die Regeln des Handelssystems nicht formuliert sind, sie existieren einfach nicht. Was der Kunde in diesem Fall als Handelssystem bezeichnet, ist in der Regel nur eine Idee. Es ist unmöglich, unter solchen Bedingungen mit der Arbeit zu beginnen, da bei der Programmierung des Algorithmus sehr bald nicht berücksichtigte Nuancen oder einfach das Fehlen eines Algorithmus in bestimmten Marktsituationen zum Vorschein kommen. In diesem Fall fängt der Programmierer tatsächlich an, Optionen anstelle des Kunden zu entwickeln.

Infolgedessen kann der Auftragnehmer auf eigene Gefahr und Gefahr die Arbeiten abschließen und dem Auftraggeber einen Handelsroboter zur Verfügung stellen. Aber in diesem Fall besteht neben der Zeitverschwendung bei der Diskussion jedes neuen Problems in einer unklaren TOR auch die Möglichkeit, dass die Arbeit in ein Schiedsverfahren gerät. Denn bei der Annahme und Prüfung solcher Arbeiten stellt der Kunde plötzlich fest, dass Transaktionen nicht so ablaufen, wie er es erwartet, aber nicht beschreiben konnte. Und natürlich wird er in diesem Fall dem Auftragnehmer vorwerfen, gegen bestimmte Punkte der Leistungsbeschreibung verstoßen und den Roboter falsch programmiert zu haben. Das Schiedsverfahren versteht in solchen Fällen schnell den Unterschied in der Kompetenz beider Parteien und trifft seine Entscheidung auf der Grundlage der dem Auftrag beigefügten Aufgabenbeschreibung. Gemäß den Freiberuflerregeln wird keine Korrespondenz auf der Seite vor und während der Ausführung des Auftrags nicht berücksichtigt:

Bei der Betrachtung des Streitgegenstands im Schiedsverfahren dient nur die Aufgabenbeschreibung als Entscheidungsgrundlage.

Im Leben ist diese Option auch möglich: Sie haben strenge Handelsregeln, aber aus irgendeinem Grund können Sie die Leistungsbeschreibung nicht selbst erstellen. Sie sind sich zum Beispiel nicht sicher, wie sie bestimmte Dinge richtig beschreiben sollen, oder sie brauchen die Hilfe eines Spezialisten für Mathematik, neuronale Netze, maschinelles Lernen, Programmierung und so weiter. In diesem Fall können Sie die Erstellung der Leistungsbeschreibung auch in Freelance beauftragen, hierfür eignen sich die Kategorien „Programmierberatung“ oder „Sonstiges“.

Wählen Sie eine dieser beiden Kategorien aus, nennen Sie sie „Erstellen eines TORs zum Bestellen eines Handelsroboters“ und geben Sie die anfänglichen Kosten der Arbeit an, wie Sie es sich vorstellen. Ein erfahrener Entwickler von Handelssystemen hilft Ihnen dabei, die Regeln Ihrer Strategie richtig zu formulieren, damit sie für andere Programmierer verständlich sind. Gleichzeitig sollten Sie in der Lage sein, mit Charts, Indikatoren und grafischen Objekten zu arbeiten, um die Setups Ihrer Handelssignale anhand von Screenshots zu zeigen.

Der Programmierer wird Ihr Handelssystem verstehen und Ihnen helfen, eine Beschreibung des Handelsalgorithmus zu schreiben, wenn möglich. Wenn Sie einige Begriffe nicht selbst formulieren können (z. B. „Impuls“ oder „Abprall vom Niveau“), kann er Ihnen aufgrund seiner Erfahrung fertige Ideen geben. In der Regel lässt sich jede Marktsituation logisch (und dann programmatisch) mit einem gewissen Interpretationsspielraum beschreiben. Und diese Variation kann immer durch einen bestimmten Parameter ausgedrückt werden, den Sie dann in Ihrem Expert Advisor optimieren.

Ideale Muster gibt es nicht, da sich der Markt einerseits nicht wiederholt und andererseits in der Geschichte immer wieder ähnliche Situationen zu finden sind. Das Ergebnis Ihrer gemeinsamen Arbeit sollte eine fertige Referenz für die Bestellung eines Handelsroboters gemäß Ihrer Strategie sein.

Welche Begriffe verwenden

... ist es besser, Begriffe zu beschreiben, die nicht sicher sind, um sich zu verstehen

Markieren Sie im TK selbst die fett gedruckten Begriffe - lassen Sie den Darsteller darauf achten und fragen Sie nach, wenn etwas nicht klar ist

Sie können nicht an andere Quellen senden (Websites / Bücher usw.) Alles sollte hier und jetzt beschrieben werden, kein "Ich erkläre es später über Skype"

Was schreibt man in eine Stellenbeschreibung in Freelance

... bedarf es nur einer allgemeinen Formulierung - Trend, Counter-Trade. Um Ebenen zu durchbrechen (wie Ebenen kurz definiert werden), gibt es irgendwelche Indikatoren/Price Action/Verwendung von Ticks

Allgemeine Vorstellung einer Handelsstrategie

... wir handeln nach dem Trend, wir definieren den Trend auf diese Weise, wir gehen in einen Rollback ein, wir definieren einen Rollback so und so, wir handeln nicht abends und morgens

Beschreibung des Setups zum Warten auf ein Signal

... es ist notwendig, eine Wohnung mit anschließendem Ausbruch zu bilden / oder auf das Ende der europäischen Sitzung zu warten und Signale nur in Richtung seiner Bewegung zu empfangen

Signalbeschreibung

... Technische Parameter der Beschreibung - Trend / Pullback / Breakdown - alles ist streng formalisiert

Es ist besser, Kauf- und Verkaufssignale zuerst separat zu debuggen

Es wäre besser, wenn der Berater Labels / Signalobjekte auf der Karte anbringt

Es ist besser, wenn Signalindikatoren separat hergestellt werden

Signallebensdauer

... wie lange das Signal gültig ist - in Balken / Stunden / bis zum Ende der Session / Tag

Aufträge erteilen und Positionen eröffnen

... gibt es irgendwelche Features, z. B. setzen wir SL / TP nicht sofort,

oder wie viele Versuche wir unternehmen, in den Markt einzutreten,

oder Einstellen unterschiedlicher Bestellmagie/Bestellkommentar je nach Zeit/Setup/Muster

etwas anderes

Aufrechterhaltung einer Handelsposition/Order

... gibt es einen Trailing Stop oder nicht

wenn TS einschalten

bewegen wir Pending Orders hinter/gegen den Preis

Verfolgen Sie den aktuellen Gewinn/Verlust einer offenen Position

etwas anderes

Stornierung einer Order und Schließen einer Position

... Orders löschen nach Zeitpunkt/Anzahl Balken/Periodenende/Erscheinen eines gegensätzlichen Signals/Verlust des Setups

... die Position nach Zeitpunkt/Anzahl der Balken/Ende des Zeitraums/kumulierter Gewinn/Erscheinen des entgegengesetzten Signals/Setup schließen

etwas anderes

Loskalkulation für Auftragserteilung

.... aus dem Gleichgewicht

Fest

aus angespartem Gewinn

basierend auf den Ergebnissen der letzten N Trades

vom Risiko (Abstand SL)

etwas anderes

Umgang mit Handelsfehlern und Umgebungszustand

... detaillierte Protokolle beim Senden von Handelsaufträgen

Terminal-/Verbindungs-/Server-Neustartverarbeitung

Feedback über Messenger/E-Mail

Der Unterschied zwischen dem Handel bei der Eröffnung des Balkens und innerhalb des Balkens

... Signale können während der Lebensdauer des Balkens verschwinden und erscheinen

Tick-/Scalping-Strategien

... Sie müssen eine gute Vorstellung davon haben, was es ist, je weniger TakeProfit/StopLoss in Punkten, desto kritischer ist die Strategie für Spreads/Kommissionen/Netzwerkverzögerungen/Qualität der verfügbaren Historie/Geschwindigkeit des Roboters selbst.

Jede Verschlechterung der Bedingungen kann die Strategie zunichte machen

Gitter, Martingale, Mittelwertbildung und die Kehrseite dieser Verbesserungen

... Was sind sie, warum sind sie beliebt und wie sehr können sie dazu beitragen, die Strategie vorübergehend zu erweitern? Das Risiko steigt, obwohl es die Lebensdauer einer schlechten Strategie verlängern kann

Worauf Sie bei der Auswahl eines Auftragnehmers achten sollten

... inhaltliche Fragen

Gibt nicht vor zu beeindrucken

Gibt klare Fristen

Zeigt unklare Stellen im TOR sofort an, und nicht erst nach 2 Monaten Diskussion

Ein guter Programmierer schätzt seine und Ihre Zeit – deshalb liebt er ein gut ausgebautes konsistentes TOR

Was ein Programmierer nicht für Sie tun kann

Verwandeln Sie eine verlustreiche Strategie in einen profitablen Roboter

Optimieren Sie und identifizieren Sie alle Mängel

Schreiben Sie ein Programm ohne Fehler - sie werden immer noch sein. Diese zu finden und verständlich zu beschreiben, ist Ihre Aufgabe.


 
Rashid Umarov:

...

Screenshots und Flussdiagramme

Im Internet gibt es viele kostenlose, praktische Programme zur Erstellung von Screenshots und Flussdiagrammen. ...

Flussdiagramme sind der nutzloseste, zeitaufwendigste und praktisch nicht realisierbare Teil von ToR.

Um dies zu verstehen, können Sie ein kleines und sehr einfaches Experiment durchführen: Freiberufliche Entwickler von Dienstleistungen sollten eine Aufgabe erhalten: "Erstellen Sie ein Flussdiagramm für die Erstellung eines MA-Indikators" - und dann nach zwei Kriterien bewerten: 1) Korrektheit und 2) Verständlichkeit.

 
Andrey F. Zelinsky:

Die Flussdiagramme sind der nutzloseste und praktisch nicht realisierbare Teil der ToR.

Um dies zu verstehen, können Sie ein kleines und sehr einfaches Experiment durchführen: Freiberufliche Entwickler von Dienstleistungen sollten eine Aufgabe erhalten: "Erstellen Sie ein Flussdiagramm für die Erstellung eines MA-Indikators" - und dann nach zwei Kriterien bewerten: 1) Korrektheit und 2) Lesbarkeit.

Wir sprechen hier nicht von einem Flussdiagramm des Berechnungsalgorithmus, sondern von einem Flussdiagramm der Abfolge von Aktionen und Beziehungen zwischen den verschiedenen Blöcken des Programms - Entscheidungsfindung, Positionsmanagement, Filter usw.

 
Aleksey Vyazmikin:

Dabei handelt es sich nicht um ein Blockdiagramm eines Berechnungsalgorithmus, sondern um ein Flussdiagramm der Abfolge von Aktionen und Beziehungen zwischen verschiedenen Programmblöcken - Entscheidungsfindung, Positionsmanagement, Filter usw.

Können Sie sich vorstellen, dass ein Kunde, der die Vorgänge auf dem Client-Terminal zumindest perfekt versteht, in der Lage sein wird, "Abfolgen von Aktionen und Beziehungen zwischen verschiedenen Programmblöcken - Entscheidungsfindung, Positionsmanagement, Filter usw." gekonnt zu beschreiben?

Und dann überprüfen Sie das Ganze unter dem Gesichtspunkt der Programmdurchführung - wozu sonst ein Flussdiagramm erstellen?

Ein solcher Kunde wird nicht in der Lage sein, den Namen des Entwicklers nicht nur vor, sondern auch nach dem Vertragsabschluss zu sehen (falls dies bei einem solchen Einsteigerkunden jemals der Fall sein wird) - "wer Wissen vermehrt, vermehrt Leid" (Prediger 1:17-18)


p.s. Nochmals. Die Überprüfung meiner These über die praktische Nutzlosigkeit der Erstellung eines Flussdiagramms (egal welcher Art) ist sehr einfach.

Es ist genug, um eine Aufgabe zu Freelance-Service-Entwickler setzen - ein Flussdiagramm für MA Indikator zu schreiben.

These № 2 - nicht mehr als 5-10% sind ausreichend.


p.s.2 Frage 1 - wer (wie viel Prozent) hielt im Informatikunterricht (in der Schule oder an der Universität) die Erstellung eines Flussdiagramms für sinnvoll?

Frage 2 - wer (welcher Prozentsatz) hat während seiner praktischen Arbeit ein Flussdiagramm erstellt, das komplizierter ist als z. B. "Suche nach dem größten Element in einer N-dimensionalen Anordnung".

 
Andrey F. Zelinsky:

Können Sie sich vorstellen, dass ein Kunde, der zumindest die Vorgänge auf dem Client-Terminal perfekt versteht, in der Lage sein wird, "die Abläufe und Beziehungen der verschiedenen Programmbausteine - Entscheidungsfindung, Positionsmanagement, Filter usw. - qualifiziert zu beschreiben?

Und dann überprüfen Sie das Ganze unter dem Gesichtspunkt der Programmdurchführung - wozu sonst ein Flussdiagramm erstellen?

Ein solcher Kunde wird nicht in der Lage sein, den Namen des Entwicklers nicht nur vor dem Vertragsabschluss zu sehen, sondern auch danach (falls dies bei einem solchen Kunden überhaupt geschieht) - "wer Wissen vermehrt, vermehrt Leid" (Prediger 1:17-18)

Ein Blockdiagramm ist nützlich, zumindest um Ihre Logik zu testen. Ja, ich erstelle Flussdiagramme als Konzept oder wenn ich einen komplizierten Algorithmus entwickle, meistens auf Papier.

Ein EA ist kein fertiges Produkt, er wird immer wieder überarbeitet werden, solange der Kunde an seiner Idee interessiert ist, also sollte er sich um mögliche Überarbeitungen kümmern, und dafür muss der Code eine gewisse Struktur haben. Ich habe das einmal verstanden, nachdem wahrscheinlich 5 freiberufliche EAs bestellt wurden. Der Gipfel der Idiotie ist, wenn die Logik der Handelsentscheidungen in Handelsfunktionen verpackt wird - kein Wunder, dass ein solcher EA nicht überarbeitet werden kann, sondern überarbeitet werden muss, vor allem wenn der Entwickler eine andere Person ist.