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

 
 

Standards und Vorlagen für TOR für die Softwareentwicklung

https://habrahabr.ru/post/328822/

Стандарты и шаблоны для ТЗ на разработку ПО
Стандарты и шаблоны для ТЗ на разработку ПО
  • 2017.05.17
  • habrahabr.ru
Недавно ко мне обратились, чтобы я посоветовал стандарты для написания технического задания (ТЗ) на разработку автоматизированных систем (АС) и программного обеспечения (ПО). Вот думаю, сейчас зайду в Яндекс, найду подходящую статейку и отправлю её. Но не тут-то было! Одной статьи, где перечисляются стандарты для ТЗ, включая шаблоны и примеры...
 
Rashid Umarov:

Ein kurzer Abriss eines Artikels über die TOR des Beraters.

Einleitung. Der Artikel ist nur für den Kunden, "einen Dilettanten", geschrieben, da sein Verständnis für das Thema äußerst gering ist. Oft wissen die Kunden gar nicht, was ein Expert Advisor, ein Indikator oder ein Terminal alles kann. Das bedeutet nicht, dass wir uns auf das Niveau des Kunden "herablassen" müssen. Sie müssen nur alles auf menschliche Art und Weise erklären (ohne abstruse Programmiersprache).

Terminologie. Ein Minimum an ausreichender Terminologie. Buchstäblich auf einer Ebene, auf der (bei MT4) die Aufträge geöffnet und geschlossen und die schwebenden Aufträge gesetzt und gelöscht werden. Ich bin froh über die notwendigen Erklärungen, z. B. was Overframing ist und wie es erkannt wird. Beispiele für Nicht-Routen: Fraktal, Zick-Zack. <...>

2. Klassifizierung der Funktionalität von Expert Advisors mit Erklärungen zu den einzelnen Punkten. Indikatorische und nicht-indikatorische Expert Advisors. Arten der Signalverarbeitung: innerhalb des Balkens und beim Schließen. Unterstützungsoptionen: Schleppnetz, Breakeven, Mittelwertbildung. Geldmanagement: Varianten. <...>

Fragebogen zur Funktionalität des zukünftigen Expert Advisors. Das Ergebnis des Fragebogens ist eine ungefähre Vorstellung von der erforderlichen Funktionalität. Für jede Funktionalität können Sie den Komplexitätsfaktor festlegen. So können Sie den Kunden auf die Entwicklungskosten hinweisen.

4. Prüfung der fertigen Lösung. Hier erklären wir Ihnen, wie Sie den Expert Advisor auf Fehler und defekte Funktionen testen können. Erklärung der entdeckten Fehler und Bugs.

Schlussfolgerung. Empfehlungen.

p.s. Mindestens 80 % der Aufträge sind typisch und ihre Funktionalität entspricht dem bekannten Klassifikationsschema.

p.s.2 Viele Punkte werden in zwei Artikeln des Komposters deutlich erklärt. Es ist möglich, Querverweise zu erstellen, Ausleihen zu tätigen und zu verdeutlichen.

 
Rashid Umarov:

Ich möchte verstehen, welche Arten von EAs bestellt werden und welche kategorisiert werden können.

  • Martingal
  • Anti-Martingale
  • Raster
  • Mehrere Währungen
  • Scalper
  • usw.

Welche Möglichkeiten gibt es bei Freelance?

Eine Reihe von Punkten wurde Ihnen persönlich mitgeteilt. Jetzt werde ich sie einfach öffentlich zur Diskussion stellen.


Diese Klassifizierung ist die gebräuchlichste, sie spiegelt jedoch nicht die im Expert Advisor verwendete Funktionalität wider.

Das "Raster" kann zum Beispiel ein einfaches Gitter, ein Martin oder ein Lan sein - entscheidend ist, wie das Los berechnet wird.

Daher müssen wir eine Klassifizierung nach der zu verwendenden Funktionalität vornehmen - dann wird die Struktur und Komplexität des Expert Advisors klar und dies ist für die Erstellung der ToR notwendig.

Die Einstufung ist der schwierigste Teil - ich werde Ihnen eine grobe Idee geben, aber wenn Sie mehr Details brauchen, müssen Sie sich viele Gedanken machen:

1. Nach Art des Öffnungssignals:
-- anzeigend
-- nicht anzeigend

2. Nach Art des Abschluss-Signals:
-- einfach (Take-, Stop-, Reverse-Open-Signal)
-- Indikator
-- Gesamt-Stopp/Stop (Mittelwertbildung)
-- nach Ergebnis (Gewinn/Verlust)

3. Nach Lot-Berechnungsmethode (Sie können es "Money Management" nennen, aber das ist nicht ganz korrekt):
-- einfach
-- Prozentsatz des Saldos
-- "Martingale"-Typ (wenn das Lot durch den Koeffizienten erhöht wird)
-- "Ilan"-Typ (wenn das Lot durch das Kursziel berechnet wird)

4. Begleitung von offenen Positionen/Aufträgen:
-- Raster (wenn auf einen Auftrag ein Raster von Aufträgen folgt)
-- Sperren
-- Mittelwertbildung
-- Trailing Stop
-- No-Loss

5. Mehrwährung (es gibt ein unterschiedliches Verständnis von Mehrwährung)

....

-- dann muss man nachdenken und vieles, sehr vieles ist nicht eindeutig -- d.h. man muss buchstäblich "skizzieren", was ist und was man angetroffen hat und es einordnen.


Aber die Klassifizierung ist eine ziemlich komplizierte Angelegenheit - es gibt auch eine Klassifizierung von Einträgen nach dem Eröffnungssignal - nach der Art der Signalidentifizierung (auf einem geschlossenen Balken, innerhalb eines Balkens).

Ich möchte nur darauf hinweisen, dass Klassifizierungen wie "Martingale", "Scalping" usw. praktisch bedeutungslos sind. Wir brauchen mehr Details.

Übrigens, wenn Sie eine vollständige Klassifizierung machen - dann können Sie so etwas wie "Berater-Menü" - wie, "Vögel" setzen und die TOR ist fertig.

 
Rashid Umarov:

Neue Iteration des Artikelplans

Arten von Expert Advisors

Signal - auf der Grundlage von Indikatorsignalen

Multi-Order - alle Arten von Gittern

Semi-Handheld - Reaktion auf die Handlungen der Händler (Objekte, Abfangen von Tastatureingaben, Erfassen eines manuell eröffneten Auftrags)

Hilfsmittel - zeichnen, senden, mit Diagrammen und Kursen arbeiten usw.

Downlinker - zum Herunterladen einiger Informationen von der Website

Kopierer - Kopieren von Geschäften und andere Terminalinteraktionen

Kontotyp für MetaTrader 5


Signal und Multi-Order -- Indicator Expert Advisor (wie er üblicherweise genannt wird) ermöglicht es Ihnen, mehrere Aufträge in eine Richtung zu öffnen und dann mit diesen mehreren Aufträgen als Raster zu arbeiten. Mit dem Begriff "Raster" ist gemeint, dass die Aufträge in einem bestimmten Abstand zueinander eröffnet werden (so etwas wie "wir strecken das Auftragsraster").

Das bedeutet, dass ein Raster einen sehr relativen Unterschied zu einem "Nicht-Raster" hat, und dieser Unterschied liegt auf der Ebene der "Eröffnungsbedingungen", wo die Aufträge durch Indikatorsignale eröffnet oder durch schwebende Aufträge mit dem Abstand oder etwas anderem ausgelöst werden können.

Halbmanuelle und weitere Begleitung - dies ist ein Indikator EA, der einfach keinen Eröffnungsblock, sondern nur einen Begleitblock hat.

"Martingale/Antimartingale" - dies ist die gleiche Funktion, die sich durch die Berechnung des Loses auf der Grundlage der letzten Eröffnung oder, häufiger, Schließung unterscheidet.

 

Partienberechnungssystem (ich denke, voll, andere Möglichkeiten sind mir grundsätzlich nicht begegnet):

-1- fest

-2- in % des Saldos (Eigenkapital, nicht wichtig, selten verwendet)

-3 - basierend auf den Ergebnissen der vorangegangenen Öffnung/Schließung (der letzte Auftrag wurde geöffnet oder geschlossen, der Punkt ist, dass das Los von dem davor liegenden Auftragslos abhängt - hier kann auch das Los von einem oder mehreren Aufträgen in Betracht gezogen werden)

4 - vom Ziel der Bewegung (der Wert des Stop-Loss oder Take-Profit ist nicht entscheidend, wichtig ist der Abstand in Pips)


p.2. % des Saldos - zwei Berechnungsmethoden: a) unter Berücksichtigung des Prozentsatzes des Einlagenverlustes und b) im Verhältnis zur Höhe der Einlage.

Der Prozentsatz des Saldos ist ein reiner Prozentsatz, und manchmal wird er unter Berücksichtigung des Stop-Losses berechnet (es handelt sich um Klausel 4)

d.h. wenn sie auf den Schlussergebnissen basiert, handelt es sich um einen einzigen Auftrag - wenn sie auf den Eröffnungsergebnissen basiert, wird eine Reihe von Aufträgen erstellt.

Martingal als Verdoppelung der Losgröße ist hier ein Sonderfall - es gibt ein Roulettesystem, das alle möglichen Bedingungen beschreibt, die auftreten können.

Hier gibt es zwei Möglichkeiten: a) das prozentuale Risiko in Bezug auf die Größe des Stopps und b) vom Ziel der Gewinnmitnahme (dies ist das "ilan"-Schema, wenn Sie ein Raster von Aufträgen erstellen).


Die Mittelwertbildung ist nicht Teil der Lot-Berechnung - die Mittelwertbildung ist eine Methode zur Berechnung von Take Profit und Stop Loss.

 

Gitternetze können unidirektional oder bidirektional sein.

Bei den einseitigen Geschäften ist jede Richtung (Kauf und Verkauf) unabhängig.

Die einzige funktionale Verbindung zwischen allen Gittern ist die Mittelwertbildung, d. h. ein Preisniveau, bei dem das Gitter geschlossen wird.

Die Mittelwertbildung kann entweder durch Take (Schließen gegen eine Bewegung) oder Stop (Schließen gegen eine Bewegung) erfolgen.

In der Regel ist die Aufnahme festgelegt.

Ein Stop-Loss kann dynamisch sein (z.B. Break-Even oder Trailing).


in mt5 wird die Aufgabe der Mittelwertbildung durch Netting gelöst - daher hat die Arbeit mit Gittern in mt5 (Netting) im Gegensatz zu mt5 (Hedging) ihre eigenen Merkmale.

Diese Besonderheiten treten nur bei der Bewertung von Aktien auf (Eröffnung einer Raster-Ebene) und wenn nicht über eine aggregierte Position gearbeitet wird (in einem Raster kann sich jeder Auftrag unabhängig verhalten).

 

funktionell:

-- Öffnungssperre (durch Anzeigesignal, durch Ergebnisse des vorherigen Öffnens/Schließens, normalerweise ein Schritt)

- Block der Losberechnung (Geldverwaltung, aber die Geldverwaltung ist nicht auf die Losberechnung beschränkt)

- Block für die Berechnung des Anfangsstopps (fest und dynamisch)

-- Berechnungsblock für den Erststart (fest und dynamisch)

- Block der Wartung - es gibt verschiedene Wartung: a) Aktien, b) Stop Wartung (Break-Even, Trailing, natürlich, feste und dynamische), c) Take-Out Wartung (Mittelwertbildung), d) Los Wartung (teilweise Schließung, Hinzufügen, kurz)

-- Schließungsblock (in der Regel handelt es sich um eine Schließung nach Indikatorsignalen, eine Schließung auf Gewinn -- die Schließung durch Take/Stop hat eine eigene Klassifizierung)

-- Block der Handelsbeschränkungen (zeitliche Beschränkung, andere Faktoren)

-- Informationsblock (Infotafeln)

was für Expert Advisors, Kopieren gilt -- diese können natürlich als unabhängig dargestellt werden, aber sie können in der oben beschriebenen Funktionalität vorgeschrieben werden.

 

Wenn wir über die Signalverarbeitung bei der Öffnung der Bar und innerhalb der Bar sprechen, dann müssen wir das hervorheben:

-- Verständnis der "Balkeneröffnung", da es zu Verschiebungen kommen kann, z. B. ein Einstieg 10 Sekunden vor dem Schließen des Balkens, und nicht einfach die Signale von den Indikatoren genommen werden

-- Der Signalbestätigungsblock, denn bei der Eröffnung des Balkens wird das Signal durch das Schließen des Balkens bestätigt, aber innerhalb des Balkens kann sich das Signal "verirren" und wir sollten etwas damit tun.

 

Marktzugang und anstehender Marktzugang sind unterschiedlich:

-- Verständnis der Stabilität des Einstiegspunktes (bei Markt ist der Einstiegspunkt unbekannt -- bei Pending ist er bekannt) -- manchmal wird der Markteintritt durch den Pending-Eintritt ersetzt, aber in diesem Fall müssen wir im Expert Advisor ständig auf die Überschreitung des Levels achten

-- die Notwendigkeit des Matching-Blocks (für schwebende Eingänge) -- dieser Block ermöglicht die Organisation von Kaufaufträgen, die bei einem positiven Verkaufseingang geschlossen werden -- in Мt5 wird dieses Problem an den Block der Losberechnung übergeben, wodurch die Matching-Funktion entfällt