
Es ist tatsächlich sehr einfach, Trendstrategien in der Sprache Mai zu schreiben. Dank der Kapselung kann eine Strategie mit nur wenigen Codezeilen geschrieben werden. Neben der Abfrage der Mai-Sprachdokumentation können Sie die Mai-Sprache auch auf der FMZ-Handelsplattform nutzen:Inventor Quantified Mylang-DokumentationDarüber hinaus fehlen einige Leitfäden. Lassen Sie uns in diesem Artikel mit der Mikrofonsprache auf FMZ herumspielen. Die Mai-Sprache kann auf FMZ in zwei Aspekte unterteilt werden: digitale Spotwährung und digitale Futures. Lassen Sie uns die Unterschiede in der Verwendung in verschiedenen Märkten klären. Schauen wir uns zunächst einen wichtigeren Punkt an.
Die Mai Language Trading Library integriert und kapselt einige Werte, Parameter und Modi, die vom Benutzer eingestellt werden müssen. Sie ist von der Strategiecodeebene getrennt und ist eine Framework-Bibliothek, die vom Benutzer beim Erstellen eines realen Marktes festgelegt und konfiguriert wird. Bringen Deine eigene.

Um die Verwendung von Mikrofon-Sprachstrategien auf FMZ zu beherrschen, ist es wichtig, diese Parameter und Einstellungen zu verstehen. Lassen Sie uns gemeinsam die Konzepte und Verwendungen der einzelnen Parameter lernen.
Ausführung
Ausführungsmethoden sind unterteilt in收盘价模型、实盘价模型。


Einfach ausgedrückt: Wenn die letzte K-Line-Spalte abgeschlossen ist und die K-Line-Spalte des neuen Zyklus herauskommt, führt das Echtzeitprogramm die etablierte Strategielogik aus (den geschriebenen Handelsstrategiecode). Der Vorteil dieses Modus besteht darin, dass er die Störungen durch Echtzeit-Preisänderungen innerhalb des Zyklus vermeidet und nur dann die Marktdaten betrachtet, wenn die letzte K-Linienspalte als Grundlage für strategisches Kaufen, Verkaufen und Öffnen abgeschlossen ist und Schließen. Der Nachteil besteht darin, dass es zu einer Verzögerung beim Öffnen und Schließen von Positionen kommen kann, da die Strategie erst dann Maßnahmen ergreift, wenn der letzte K-Line-Balkenzyklus abgeschlossen ist.
Wie in der Abbildung oben zu sehen, liegt zwischen der in der Statusleiste angezeigten Zeit und der im Strategiediagramm angezeigten Zeit ein Unterschied von 8 Stunden. Dies liegt an der Inkonsistenz zwischen den Zeitzoneneinstellungen des Geräts des Verwalters und dem Browser, der das Diagramm aktuell anzeigt.


Standardmäßige Eröffnungslosgröße Wenn beim Schreiben einer Mic-Sprachstrategie der Bestellmengenparameter für BK, SK, BPK, SPK nicht angegeben ist, wird der Parameter als Bestellmenge verwendet. Zum Beispiel:
MA5^^MA(C,5);
MA10^^MA(C,10);
CROSSUP(MA5,MA10),BK;
Wenn zu diesem Zeitpunkt die “Standard-Eröffnungslots” auf 2 gesetzt sind, dann, wenn die Ausführungsbedingung der Strategie BKCROSSUP(MA5,MA10)Bei Auslösung beträgt die Kaufmenge 2 (genauer gesagt 2 Lots, 2 Coins oder 2 Kontrakte, je nachdem, welche Börse hinzugefügt wird, ob es sich um einen Spot- oder Futures-Handel mit digitaler Währung handelt).
Nehmen wir das Backtesting-System als Beispiel:

Für den realen Handel besuchen Sie bitte die Exchange-Seite und fügen Sie das konfigurierte Exchange-Objekt selbst hinzu:

Maximale Bestellmenge für eine einzelne Transaktion Die maximale Anzahl von Aufträgen, die gleichzeitig zulässig sind. Wenn das Auftragsvolumen bei Auslösung des Signals groß ist (festgelegt durch die Befehlsparameter in der Strategie oder die standardmäßige Eröffnungslotgröße), wird der Auftrag bei Auftragserteilung in kleinere Aufträge aufgeteilt. ausgeführt. eins.
Slippage-Punkte (Ganzzahl)
Dieser Parameter ist derselbe wie der in der Gruppe „Spot Trading“.定价货币精度Parameterbezogen, hauptsächlich verwendet, um die Prämie festzulegen, die bei der Auftragserteilung hinzugefügt oder abgezogen wird. Wenn Sie beispielsweise kaufen müssen, beträgt der Verkaufspreis des Gegners 10, und wir platzieren eine Kauforder bei 11, dann 11-10= 1 Der zusätzliche Unterschied von 1 Yuan ist der Slippage. Im Gegenteil, der zu einem reduzierten Preis verkaufte Teil ist der Slippage. Der Zweck des Hinzufügens des Slippage besteht darin, die Transaktion sicherzustellen.
Beispielsweise haben im Rohstoff-Futures-Handel verschiedene Sorten unterschiedliche Preis-Ticks (d. h. Ein-Tick-Preise). Dasselbe gilt für den Handel mit Kryptowährungen. Wenn der Auftragspreis kein Vielfaches des Preis-Ticks ist, beispielsweisei2009Eisenerz-Kontrakt 2009, der Preistick beträgt 0,5. Wenn ich eine Bestellung bei 760,1 aufgebe, erfüllt dies nicht die Preistick-Anforderung. Eine solche Bestellung kann nicht erfolgreich aufgegeben werden. Die Börse wird die Bestellung ablehnen. Wenn die Bestellung 760,5 beträgt, ist das in Ordnung. Sie müssen diesen Aspekt also beim Festlegen des Slippage-Preises berücksichtigen.
Das System ermittelt automatisch den PriceTick des aktuellen Produkts (der Parameter für die Währungspräzision der Preisangabe ist nicht wirksam).滑价点数Es handelt sich um ein Vielfaches von priceTick, zum Beispiel:

Der angezeigte Preissprung beträgt 1e-7, also 0,0000001, wenn wir den Slippage-Punkt auf 5 setzen.


Denn die von digitalen Währungen bereitgestellten Informationen, wie etwa Preissprünge, sind nicht einheitlich und manche stellen sie bereit, andere nicht. Daher ist zur Steuerung der Parameter „Preiswährungspräzision“ erforderlich. Wenn beispielsweise der Parameter „Präzision der Preiswährung“ auf 2 eingestellt ist, ist der Bestellpreis während der aktuellen Transaktion auf die zweite Dezimalstelle genau, also 0,01. Zu diesem Zeitpunkt beträgt priceTick 0,01. Wenn der Slippage-Punkt auf 5 gesetzt ist, beträgt die Slippage (oder Prämie), die bei jeder Auftragserteilung basierend auf dem Preis der Gegenpartei hinzugefügt oder abgezogen wird, 0,05.


Dieser Parameter wird hauptsächlich verwendet für数字货币期货Market Setting-Vertragscode, sieheMai-Sprachdokumentation
Wenn es sich bei dem durch die Strategie hinzugefügten Tauschobjekt um einen Spot für eine digitale Währung handelt, ist diese Parametereinstellung ungültig.
Wenn dieser Parameter aktiviert ist, werden beim Neustart der Strategie nach einem Stopp die vorherigen Positionen beibehalten und das Signal wird weiter ausgeführt, anstatt im Anfangszustand zu laufen. Wenn Sie die Strategie im Anfangszustand ausführen müssen, können Sie diesen Parameter deaktivieren.
Wiederholungszeiten für Bestellungen Wenn eine Order nicht ausgeführt wird (z. B. wenn sich der Markt sehr schnell ändert und die Slippage nicht hoch angesetzt ist), kann es sein, dass sich der Marktpreis zum Zeitpunkt der Ordererteilung geändert hat. Stornieren Sie die Bestellung und platzieren Sie eine neue. Dieser Parameter steuert, wie oft die Bestellung erneut platziert werden kann. Wenn die Anzahl überschritten wird, werden keine weiteren Bestellungen platziert und die Signalausführung ist abgeschlossen.
Netzwerkabfrageintervall (Millisekunden) Es ist nur für Futures und Spots digitaler Währungen gültig und steuert die Häufigkeit der Ausführung der Programmrotation.
Synchronisierungszeit des Kontos (Sekunden) Das Intervall zum Lesen der Kontodaten.
Positionssynchronisierungszeit nach dem Öffnen einer Position (Millisekunden) Wird hauptsächlich an Terminbörsen für digitale Währungen verwendet. Manchmal gibt die Schnittstelle der Terminbörse für digitale Währungen alte Daten zurück, was zu einer falschen Positionsbeurteilung führt, was wiederum zu wiederholten Bestellungen für Strategien führt. Durch Erhöhen dieser Parametereinstellung können derartige Probleme gemildert werden. Nachdem die Strategie einen Auftrag zum Öffnen einer Position erteilt hat, warten Sie eine bestimmte Zeit, um die Position zu synchronisieren.
Hebelwirkung Dieser Parameter wird nur für digitale Währungsterminkontrakte verwendet. Beim Einstellen des Hebels von digitalen Währungsterminkontrakten können der von jeder digitalen Währungsterminbörse unterstützte Hebelbereich und -wert unterschiedlich sein. Bitte gehen Sie mit der Einstellung speziell um.
Volumen eines Lots Dieser Parameter ist nur für Spot-Transaktionen in digitaler Währung gültig, d. h. die Festlegung der Standardbestellmenge
Mindesttransaktionsvolumen Wird für den Spot-Wert digitaler Währungen verwendet und unterscheidet sich vom Konzept der Präzision. Neue Studenten sind hier immer verwirrt. Präzision bezieht sich auf die Dezimalstelle, auf die sie genau ist, und gibt nicht die Größe des Werts an. Das Mindesttransaktionsvolumen bezieht sich auf den Mindestwert jeder Bestellung. Wenn das berechnete Bestellvolumen unter diesem Wert liegt, wird keine Transaktion durchgeführt (z. B. unzureichende Mittel, unvollständige Transaktion, ein kleiner Restbetrag der geplanten Transaktionsmenge im Split Transaktion usw.) . Vereinfacht ausgedrückt bedeutet dies, dass für einen Bestellvorgang die Bestellmenge mindestens diesen Wert aufweisen muss und keine Bestellung aufgegeben wird, wenn sie unter diesem Wert liegt.
Preiswährungspräzision Dieser Parameter bezieht sich auf die Preisgenauigkeit (Anzahl der Dezimalstellen im Preis) während des Handels, die sich auf den Parameter „Slippage-Punkte“ auswirkt, über den wir zuvor gesprochen haben. Besondere Aufmerksamkeit sollte einigen Handelspaaren gewidmet werden, die auf BTC lauten. Die Preiswerte dieser Handelspaare sind sehr klein und haben viele Dezimalstellen. Sie müssen beim Einstellen der Preisgenauigkeit vorsichtig sein.
Genauigkeit des Transaktionstyps Dieser Parameter bezieht sich auf die Genauigkeit der Auftragsmenge während des Handels und steuert die Dezimalstellen der Auftragsmenge. Wenn beispielsweise die Auftragsmenge 0,1234 Münzen betragen soll, wird die Auftragsmenge angepasst, wenn dieser Parameter auf 2 gesetzt wird. 0,12.
Gebühren Dieser Parameter wird auf die Spot-Digitalwährung angewendet. Der Gebührenparameter wird verwendet, um die Bestellmenge bei der Auftragserteilung (beim Kauf einer Bestellung) zu berechnen, um zu vermeiden, dass die berechnete Bestellmenge die tatsächlich erforderliche Anzahl von Vermögenswerten übersteigt. Wenn Sie sich nicht sicher sind den Umtauschgebührensatz, können Sie ihn entsprechend anpassen. Stellen Sie diesen Parameter etwas höher ein.
Gewinn- und Verluststatistikintervall
Die Gewinnstatistiken von Mai Language berechnen und drucken den aktuellen variablen Gewinn und Verlust in regelmäßigen Zeitabständen, sodass er unabhängig davon berechnet werden kann, ob eine Position vorhanden ist (im Spot-Bereich für digitale Währungen gibt es keine reale Position, es handelt sich um eine logische Position).
Wie oben gezeigt wird dieser Parameter auf Stunden eingestellt und die Renditekurve wird einmal pro Stunde gedruckt. Das gedruckte Einkommen ist: kumuliertes Einkommen + aktueller schwebender Gewinn und Verlust.
Wiederholungsversuch bei Fehlschlag (Millisekunden) Dieser Parameter wird verwendet, um das Intervall zwischen Wiederholungsversuchen zu bestimmen, wenn ein Schnittstellenaufruf fehlschlägt.
Verwenden Sie einen Proxy Dieser Parameter wird hauptsächlich für digitale Währungstermingeschäfte und digitale Spots verwendet. Die Verwendung eines SS5-Proxys ermöglicht inländischen Server-Hostern den Zugriff auf einige Q-ed-Austauschschnittstellen.
Ausblenden häufiger Netzwerkfehler Aktivieren Sie diesen Parameter, um einige Fehlerprotokolle zu filtern.
Basisadresse wechseln
Dieser Parameter wird hauptsächlich für digitale Währungs-Futures und digitale Spotwährungen verwendet und dient zum Umschalten der Basisadresse der REST-Protokoll-API-Schnittstelle, beispielsweise zum Umschalten der Binance-Simulations-Disk-Umgebung:https://testnet.binancefuture.com。
Push-Benachrichtigungen Nachdem dieser Parameter aktiviert wurde, werden das Auftragsprotokoll und die Push-Nachrichten in der Strategie an die für das aktuelle Konto festgelegten Push-Optionen gesendet.

Wir sind hier mit den Vorlagenparametern der Mai-Sprache vertraut. Im nächsten Artikel können wir uns mit der Mai-Sprach-Laufzeitschnittstelle, Diagrammen und anderen Inhalten auf der FMZ-Plattform vertraut machen.