Die Ressourcen sind geladen. Beförderung...

2.3 Gemeinsame API-Erklärungen

Schriftsteller:Gutes, Erstellt: 2019-04-16 15:39:35, Aktualisiert: 2019-04-17 10:55:33

Zusammenfassung

Wenn es um Programmieren geht, muss es untrennbar mit der API verbunden sein. Für viele Nicht-Programmierer, was ist die API? In diesem Abschnitt werden wir die einfachste Sprache verwenden, um zu erklären, was die API ist, und die API vorstellen, die häufig in den FMZ Quant-Tools verwendet werden.

Was ist API?

Wenn Sie es googeln, erhalten Sie folgende Ergebnisse: API (Application Programming Interface) ist eine vordefinierte Funktion, um Anwendungen und Entwicklern die Möglichkeit zu geben, auf eine Reihe von Routinen zuzugreifen, die auf einer Software oder Hardware basieren.

In der Tat haben wir im täglichen Leben viele ähnliche API-Szenarien, wie zum Beispiel: Sie gehen in ein Restaurant, um zu essen, schauen einfach auf das Menü, um es zu bestellen, Sie müssen nicht wissen, wie es gemacht wird.

Was ist die API im quantitativen Handel?

Wenn Sie zum Beispiel den Eröffnungspreis der aktuellen Variante heute erhalten möchten, müssen Sie nicht genau wissen, wie Sie ihn erhalten. Sie müssen nur OPEN im Code-Editor schreiben, verwenden Sie ihn einfach direkt, OPEN ist die API für den Eröffnungspreis in der M-Sprache.

Gemeinsame M-Sprache-API

Bevor wir über die M-Sprache-API sprechen, lassen Sie uns zuerst die gemeinsame Code-Struktur und die Funktionen betrachten. Dies wird Ihnen helfen, die API besser zu verstehen. Bitte sehen Sie sich das folgende Beispiel an:

AA:=OPEN; //Get the opening price of the latest k line and assign the result to the variable AA
BB:=MA(ClOSE,10); //Get the 10-cycle moving average of the latest K line and assign the result to the variable BB

Der oben gezeigte Code:

  • AA ist eine Variable, und die Variable ist ein Element, das geändert werden kann, genau wie die Algebra unserer Junior High School. Wenn der Eröffnungspreis AA zugeordnet wird, dann ist AA der Eröffnungspreis; wenn der höchste Preis AA zugeordnet wird, dann ist AA der höchste Preis. AA ist nur ein benutzerdefinierter Name, Sie können es auch als BB oder etwas anderes definieren.

  • := ist die Bedeutung der Zuordnung, d.h. der Wert auf der rechten Seite von := wird der Variablen auf der linken Seite gegeben.

  • OPEN und MA sind API der M-Sprache. Beachten Sie, dass die OPEN in der ersten Zeile die API für den Abschlusskurs ist. Sie kann direkt verwendet werden. Die MA in der zweiten Zeile ist die API für den gleitenden Durchschnitt. Sie muss durch 2 Parameter übergeben werden, was bedeutet, dass Sie dem FMZ Quant-Handelswerkzeug mitteilen müssen, welche Art von gleitendem Durchschnitt Sie benötigen: Wenn Sie den 50-Perioden-gleitenden Durchschnitt zum Eröffnungskurs berechnen lassen möchten, können Sie schreiben: MA (OPEN, 50); stellen Sie bitte sicher, dass zwischen den Parametern ein Komma steht.

  • Der gelbe // ist ein Kommentarzeichen, und das Englische hinter ihm ist der Kommentargehalt. Diese werden alle von Programmierern angesehen, um anzuzeigen, was die Codezeile bedeutet. Der Kommentar wird überhaupt nicht verarbeitet, während das Programm ausführt. Beachten Sie, dass vor dem Kommentarzeichen jede Zeile des Codes ein Semikolon am Ende der Zeile haben muss.

Mit dem grundlegenden Code-Struktur-Bewusstsein bringen wir Ihnen einige gemeinsame Grammatik von M-Sprachen unten, und wir werden sie in Zukunft verwenden.

  • OPEN - Erhalten Sie den Eröffnungspreis der neuesten K-Linie

Beispiel: AA:=OPEN; Erhalten Sie den Eröffnungspreis der letzten K-Zeile und weisen Sie das Ergebnis AA zu

  • HIGH - erhalten Sie den höchsten Preis der neuesten K-Linie

Beispiel: AA:=HIGH; Erhalten Sie den höchsten Preis der letzten K-Linie und weisen Sie das Ergebnis AA zu

  • LOW - erhalten Sie den niedrigsten Preis der neuesten K-Linie

Beispiel: AA:=LOW; Erhalten Sie den niedrigsten Preis der letzten K-Linie und weisen Sie das Ergebnis AA zu

  • Wenn die K-Linie nicht fertig ist, erhalten Sie den letzten Preis.

Beispiel: AA:=CLOSE; Erhalten Sie den Schlusskurs der letzten K-Zeile und weisen Sie das Ergebnis AA zu

  • VOL - Holen Sie sich die Lautstärke der letzten K-Zeile

Beispiel: AA:=VOL; Erhalten Sie das Volumen der letzten K-Zeile und weisen Sie das Ergebnis AA zu

  • REF(X,N) - bezieht sich auf den Wert von X vor N Zyklen.

Beispiel: REF(CLOSE,1); Erhalten Sie den Eröffnungspreis der vorangegangenen Linie K

  • MA(X,N) - finde den einfachen gleitenden Durchschnitt von X in N Zyklen

Beispiel: MA ((CLOSE, 10); //Erhalten Sie den gleitenden Durchschnitt der letzten K-Linie für 10 Zyklen

  • CROSSUP(A,B)Gibt an, dass, wenn A B von unten passiert, 1 (Ja) zurückgegeben wird, andernfalls 0 (Nein) zurückgegeben wird

Beispiel: CROSSUP (CLOSE, MA (C, 10)) // Schlusskurs nach oben über den gleitenden Durchschnittspreis des 10-Zyklus

  • CROSSDOWN(A,B)Repräsentiert, dass, wenn A B von oben passiert, 1 (Ja) zurückgegeben wird, andernfalls 0 (Nein) zurückgegeben wird

Beispiel: CROSSDOWN ((CLOSE, MA(C,10)) // Schlusskurs nach unten über den gleitenden Durchschnittspreis des 10-Zyklus

  • BK - Kauf einer langen offenen Position

Beispiel: CLOSE>MA(CLOSE,5), BK; // Schlusskurs größer als 5-Zyklus gleitender Durchschnitt, offene Longposition

  • SP - Verkauf zur Schließung der Long-Position

Beispiel: CLOSE

  • SK - Verkauf einer kurz geöffneten Position

Beispiel: CLOSE

  • BP - Kauf zur Abdeckung zur Schließung der Shortposition

Beispiel: CLOSE>MA(CLOSE,5), BP; // Schlusskurs größer als 5-Zyklus gleitender Durchschnitt, schließende Leerposition

  • BPK - Schließung von Short-Positionen und Eröffnung von Long-Positionen (umgekehrte offene Position)

Beispiel: CLOSE>MA(CLOSE,5), BPK; // wenn der Schlusskurs größer ist als der gleitende 5-Perioden-Durchschnitt, schließt man die Short-Position und eröffnet die Long-Position.

  • SPK - Schließen einer Long-Position und Öffnen einer Short-Position (umgekehrte offene Position)

Beispiel: CLOSE

  • CLOSEOUT - schließen Sie alle Positionen, es wird empfohlen, in der Addition und Subtraktion Position Betrieb zu verwenden

Beispiel: CLOSEOUT; Schließen aller Positionen, die aktuell gehalten werden.

Häufig verwendete JavaScript-API

Bevor wir die JavaScript-Sprache-API erklären, werfen wir einen Blick darauf, was die gemeinsame Code-Struktur ist und welche Funktionen sie hat. Dies wird Ihnen helfen, die API besser zu verstehen.

var aa = exchange.GetRecords(); // get the K-line data
var bb = exchange.SetContractType("This_week") // set the trading pair to weekly K-line

Der oben gezeigte Code:

  • Das Erstellen von Variablen in der JavaScript-Sprache wird oft als Declaration Variable bezeichnet. Wir verwenden das Schlüsselwort var, um die Variable zu deklarieren, der Variablenname ist: aa.

  • In der JavaScript-Sprache, ein Gleichheitszeichen zuweisen, das heißt, geben Sie den Wert auf der rechten Seite von = an die Variable auf der linken Seite.

  • Der Code exchange ist das Exchange-Objekt. Der Exchange hier bezieht sich auf den Exchange, den Sie auf der Plattformseite einrichten. Dies ist ein festes Format, dh Sie müssen das Exchange-Objekt angeben, wenn Sie die API der JavaScript-Sprache aufrufen.

  • Der grüne Code ist die API der JavaScript-Sprache. Wenn wir ihn aufrufen, ruft er tatsächlich die Funktion im Austauschobjekt auf. Beachten Sie, dass der Punkt hinter dem Code auch ein festes Format ist. Die Funktion hier ist die gleiche Bedeutung wie die Funktion, die wir in der Mittelschule gelernt haben. Wenn die Funktion keinen Parameter angeben muss, wird sie durch einen leeren Klammer dargestellt; wenn die Funktion in einem Parameter passieren muss, wird der Parameter in Klammern geschrieben.

Nachdem wir den Fall benutzt haben, um die Grundstruktur des Codes zu verstehen, werfen wir einen Blick auf einige JavaScript-APIs, die Sie in Zukunft verwenden werden.

  • SetContractType (Varietycode ) - setzen Sie das Handelspaar, das die Handelsvariante ist, die Sie handeln möchten

Beispiel: exchange.SetContractType ((this_week); //Set das Handelspaar auf wöchentliche K-Linie

  • GetTicker - Tick-Daten erhalten

Beispiel: exchange.GetTicker(); //Get Tick Daten

  • GetRecords - K-Zeilendaten erhalten

Beispiel: exchange.GetRecords(); //Erhalten Sie K-Zeilendaten

  • Kauf - Kauf lang

Beispiel: exchange.Buy ((5000, 1); //Käufe eine Einheit zu 5.000

  • Verkauf - Leerverkauf

Beispiel: exchange.Sell (5000, 1); // Verkaufen Sie eine Einheit zu 5.000

  • GetAccount - Informationen zum Konto erhalten

Beispiel: exchange.GetAccount(); //Erhalten Sie Kontoinformationen

  • GetPosition - Positionsinformation erhalten

Beispiel: exchange.GetPosition(); //Erhalten Sie Positionsinformationen

  • SetDirection - für den Typ des Long- oder Short-Orders festgelegt

Beispiel:

exchange.SetDirection ((buy); //Stellen Sie den Auftragstyp für die Eröffnung von Long-Positionen fest

exchange.SetDirection ((closebuy); //Stellen Sie den Auftragstyp für den Verkauf zur Schließung langer Positionen fest

exchange.SetDirection ((sell); //Stellen Sie den Auftragstyp für die Eröffnung von Short-Positionen fest

exchange.SetDirection ((closesell); //Stellen Sie den Kauf-Ordertyp fest, um die close-short-Position abzudecken

  • Log - Ausgabe einer Nachricht im Log

Beispiel: Log ((hello, World ); //ausgabe "hello world" im Log

  • Schlaf - Pause für eine Weile

Beispiel: Schlaf (1000); / / lassen Sie das Programm für 1 Sekunde pausieren (1000 Millisekunden sind gleich 1 Sekunde)

Einige Leute haben vielleicht Zweifel, so viele APIs oben, wie kann ich alles auswendig lernen? Eigentlich müssen Sie sich an keinen von ihnen erinnern, FMZ Quant offizielle Website hat eine detaillierte API-Dokumentation. Genau wie ein Wörterbuch aufsuchen, wann immer Sie es verwenden, müssen Sie es nur durch unsere Dokumentation überprüfen. Keine Angst vor dem Codierungsteil. Was wir wollen, ist unsere eigenen Strategien durch diese Sprachen zu organisieren. Bitte denken Sie daran, dass Technologie nie eine Schwelle für quantitativen Handel ist. Die ausgezeichnete Handelsstrategie ist die wichtigste von allen.

Zusammenfassend

Das oben genannte ist die am häufigsten verwendete API im quantitativen Handel, die grundsätzlich umfasst: Datenerfassung, Berechnung von Daten, Auftragserteilung. Diese Schritte sollten ausreichen, um mit einer einfachen quantitativen Handelsstrategie umzugehen.

Nachschulübungen

Versuchen Sie, einen M-Sprache 5 Zyklus durchschnittliche Linie-Up-Cross 10 Zyklus bewegliche durchschnittliche Linie Satz zu schreiben.

2, versuchen Sie, die JavaScript-Sprache GetAccount zu verwenden, um Ihre Kontoinformationen zu erhalten, und verwenden Sie Log, um sie in das Protokoll zu drucken.

Ankündigung zum nächsten Abschnitt

Programmieren ist wie das Zusammenstellen von LEGO-Steinen. Die API ist wie die verschiedenen Teile eines Bausteins. Der Programmierungsprozess besteht darin, jedes Lego-Teil zu einem vollständigen Spielzeug zu machen. Im nächsten Abschnitt werde ich Sie führen, um eine vollständige quantitative Handelsstrategie mithilfe der M-Sprache API zusammenzustellen.


Mehr