Diskussion zum Artikel "Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXXI): Positionseröffnung unter bestimmten Bedingungen"

 

Neuer Artikel Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXXI): Schwebende Handelsanfragen - Positionseröffnung unter bestimmten Bedingungen :

Ausgehend von diesem Artikel werden wir eine Funktionsweise entwickeln, die es den Benutzern ermöglicht, unter bestimmten Bedingungen mit schwebenden Anfragen zu handeln, z.B. bei Erreichen eines bestimmten Zeitlimits, Überschreiten eines bestimmten Gewinns oder Schließen einer Position durch Stop-Loss.

Diese Bibliotheksfunktionen ermöglicht es Benutzern, programmgesteuert Bedingungen zu schaffen, unter denen ein Handelsauftrag an den Server gesendet wird.
Zum Beispiel:

  1. Beim Eintreten oder Überschreiten einer bestimmten Zeit wird ein Kauf eröffnet, vorausgesetzt, dass der Preis unter einen bestimmten Wert gefallen ist (zwei Bedingungen in Bezug auf Symbol-Eigenschaftswerte).
  2. Teilweise Schließen einer Position, wenn ein spezifizierter Gewinn überschritten wird (eine Bedingung bezieht sich auf einen Kontoeigenschaftswert).
  3. Wenn eine Position durch Stop-Loss geschlossen wird, öffnen wir eine entgegengesetzte Position (eine Bedingung bezieht sich auf eine Kontoereigniseigenschaft).

Die Beispiele sind einfach, aber es kann eine Vielzahl von Bedingungen und deren Kombinationen geben. In diesem Stadium werden wir die Kontrolle über Änderungen der Eigenschaften von Konten, Symbolen und Ereignissen, die auf dem laufenden Konto auftreten, entwickeln. Die Bedingungen aus diesen drei Listen können in jeder beliebigen Kombination eingestellt werden.
Wir werden von einer einfachen Sache ausgehen — der Kontrolle von Änderungen der Werte von Symbolen und Konteneigenschaften. Danach werden wir die Kontoereignisse kontrollieren und darauf reagieren.

Damit ein Objekt für schwebende Anfragen als Teil einer Handelslogik (Senden von Handelsaufträgen unter Bedingungen) funktionieren kann, müssen wir zusätzliche Daten in dieses Objekt implementieren, um Bedingungen für die Aktivierung schwebender Anfragen und Methoden zu deren Kontrolle und Bearbeitung zu speichern. Die Datenspeicherung soll in Form eines zweidimensionalen Arrays erfolgen. Die erste Dimension soll eine Bedingungsnummer speichern (es kann so viele Bedingungen wie nötig geben), während die zweite alle Daten der Bedingung enthält, deren Nummer in der ersten Dimension angegeben ist — Typ der Bedingungsquelle (Symbol, Konto oder Ereignis), Bedingung selbst (Enumerationen für jede der Quellen erstellen), Vergleichsmethode (>,<,==,!=,>=,<=), Referenzwert einer erfassten Eigenschaft und ihr aktueller Wert.

Autor: Artyom Trishkin