Die Ressourcen sind geladen. Beförderung...

Programmiersprachen

Welche Programmiersprachen stehen zur Verfügung, um meine Strategie auf der FMZ Quant Trading Platform umzusetzen?Programming languages supportedDie FMZ Quant Trading Platform unterstütztJavaScript, TypeScript, Python, C++, PINE, My Language, BlocklyVisualisierung, um Strategien zu schreiben und zu entwerfen.

JavaScript

Es unterstützt die JavaScript-Sprache und integriert folgende JavaScript-Bibliotheken:

TypScript

Es unterstütztTypeScriptSprache, setzen Sie es noch aufJavaScriptStrategie, wenn wir Strategien erstellen, dann schreiben wir// @ts-checkam Anfang des Strategiecodes oder klicken Sie auf die SchaltflächeTypeScriptin der oberen rechten Ecke des Strategiebearbeitungsbereichs umzuschaltenTypeScriptDie Plattform erkennt den Code alsTypeScriptautomatisch und bieten Ihnen entsprechende Kompilierungs- und Typprüfungsunterstützung für

  • Typsicherheit: Die statische Typprüffunktion von TypeScript kann Ihnen helfen, mögliche Fehler beim Schreiben von Code zu finden und die Codequalität zu verbessern.
  • Automatische Codevollendung: Das Typensystem von TypeScript ermöglicht schneller die Suche nach den Attributen und Methoden, die Sie beim Schreiben von Code benötigen, was die Entwicklungseffizienz verbessert.
  • Klarere Codestruktur: Mit TypeScript können Sie Ihren Code besser organisieren und pflegen, sodass er leicht zu lesen und zu verstehen ist.
  • Leistungsstarke objektorientierte Programmierfunktionen: TypeScript bietet leistungsstarke objektorientierte Programmierfunktionen wie Schnittstellen, Klassen, Generika und so weiter, die Ihnen helfen, robusteren und wiederverwendbareren Strategiecode zu schreiben.

Python

  • Setzen Sie den Python-Interpreter, der vom Python-Strategieprogramm verwendet wird

    Strategien, die in Python geschrieben sind, bei Backtesting oder Live-Handel, wenn die Docker-Systemumgebung sowohl Python2 als auch Python3 installiert hat, können Sie die Python-Version so einstellen, dass sie zur Laufzeit auf der ersten Zeile der Strategie gestartet wird, z. B.#!python3und#!python2, so dass das System den Interpreter automatisch findet. Und Sie können auch einen absoluten Pfad angeben, wie:#!/usr/bin/python3.

  • Strategie-Sicherheit auf Basis von Python

    Wenn Handelsstrategien auf der FMZ Quant Trading Platform entwickelt werden, sind die Strategieinhalte nur für die FMZ-Kontoinhaber sichtbar.PythonDie Strategie-Inhalte werden in einem Paket, das in den Strategie-Code geladen wird, so dass die Strategie-Inhaltslokalisierung realisiert werden kann.

    Die Sicherheit des Python-Codes:

    Da Python eine Open-Source-Sprache ist, die extrem einfach zu dekompilieren ist, können Sie die Strategie auf Ihrem eigenen bereitgestellten Docker ausführen und in Form eines Unterkontos oder vollständigen Docker-Managements vermieten, wenn Sie sich Sorgen um das Leck der Strategie machen.

    Die Verschlüsselung des Python-Strategiecodes:

    Standardmäßig wird Python-Strategiecode nicht verschlüsselt, wenn er vom Autor verwendet wird, und verschlüsselt, wenn er an andere vermietet wird. Durch die Bearbeitung des folgenden Codes am Anfang der Python-Strategie können Sie angeben, ob Sie den Strategiecode für den persönlichen Gebrauch oder die Vermietung verschlüsseln möchten. Die Python-Versionen, die die Verschlüsselung von Strategiecodes unterstützen, sind wie folgt: Python 2.7, Python 3.5 und Python 3.6.

    • Wenn der Strategie-Autor sie selbst durchführt oder für andere über einen Registrierungscode verwendet, wird der Strategie-Code verschlüsselt:

      Geben Sie an#!pythonals die Version des Python-Interpreters, und dann verwenden,um zu halten getrennt; Eingabe der Verschlüsselung Befehlencrypt. Wenn Sie die Version von Python nicht angeben, können Sie hinzufügen#!,encrypt directly.

      #!python,encrypt
      

      Oder...

      #!encrypt
      
    • Es wird die Strategie-Codes nicht verschlüsseln, wenn Strategie-Autoren für ihren eigenen Gebrauch laufen und mit anderen über den Registrierungscode teilen:

      #!python,not encrypted
      

      Oder...

      #!not encrypted
      

    Code verwendenos.getenv('__FMZ_ENV__')um festzustellen, ob der Verschlüsselungscode gültig ist; die Rückgabe der Zeichenfolge"encrypt"Es ist nur im Live-Handel gültig, und der Backtest verschlüsselt diePythonStrategiecodes.

    #!encrypt
    def main():
        ret = os.getenv('__FMZ_ENV__')
        # If the print variable ret is the string "encrypt" or ret == "encrypt" is true, that means the encryption is valid. 
        Log(ret, ret == "encrypt")
    

C++

Unsere Plattform unterstützt die Programmiersprache C++ undC++ 11Strategien in C++ werden vorkompiliert und dann ausgeführt. Strategien in C++ im Backtesting-System werden auf dem C++-Backtesting-Server des Backtesting-Systems ausgeführt; Strategien in C++ in der Bot-Umgebung werden basierend auf dem Docker ausgeführt, nachdem sie kompiliert wurden. Die Verwendung der Programmiersprache C++ und derC++ 11Mit den modernen Funktionen von C++ können Sie flexible und skalierbare Handelsalgorithmen für den automatisierten Handel erstellen.

Die folgenden C++-Bibliotheken sind integriert:

MyLanguage

Die Plattform unterstützt die Schreib- und Designstrategie in MyLanguage, die mit den meisten Grammatik-, Befehl- und Funktionen der Wenhua MyLanguage kompatibel ist. MyLanguage fördert die Bausteinprogrammierung, die komplexe Algorithmen in Funktionen aufteilt. Sie unterstützt komplexe Finanzlogik-Anwendungen durch prägnante Grammatik, spezialisierte Datenstrukturen und eine leistungsstarke Bibliothek von Finanzfunktionsbibliotheken.

Beispiel für die MyLanguage-Strategie: System basierend auf dem translationalen Bollinger-Kanal

M := 12; // Parameter range 1, 20
N := 3; // Parameter range 1, 10
SDEV := 2; // Parameter range 1, 10
P := 16; // Parameter range 1, 20
//The strategy is a trend-following trading strategy for larger periods, such as daily.
//This model is only used as a case study for model development, and entering the market accordingly will be at your own risk.
////////////////////////////////////////////////////////
//Panning BOLL Channel Calculation
MID:=MA(C,N);//Calculate the middle track       
TMP:=STD(C,M)*SDEV;//Calculate the standard deviation
DISPTOP:=REF(MID,P)+TMP;//Translate BOLL channel upper track
DISPBOTTOM:=REF(MID,P)-TMP;//Translate BOLL channel down track
//System admission
H>=DISPTOP,BPK;
L<=DISPBOTTOM,SPK;
AUTOFILTER;

PINE-Sprache

Die Plattform unterstützt und ist mit Skripten in der PINE-Sprache vonTrading View. Die PINE-Sprache ist eine leichte, aber leistungsstarke Strategie-Design-Programmiersprache zur Erstellung von backtested, live-trading-Indikatoren und Strategien, mit einem florierenden Forum, das mehr als 100.000 PINE-Skripte erstellt hat. Benutzer können leicht auf eine breite Palette von technischen Analysen und Handelsstrategien zugreifen und sie anwenden; Benutzer können ihre Handelsideen mit Hilfe von Community-Skripten schnell umsetzen, wodurch die Notwendigkeit, Code von Grund auf zu schreiben, beseitigt wird und somit die Entwicklungszeit erheblich verkürzt wird. Es hilft sowohl Anfängern als auch erfahrenen Händlern, verschiedene technische Indikatoren, Strategien und Programmierkonzepte zu erlernen und zu verstehen.

Beispiel für eine PINE-Sprachstrategie: Super-Trend-Strategie

strategy("supertrend", overlay=true)

[supertrend, direction] = ta.supertrend(input(5, "factor"), input.int(10, "atrPeriod"))

plot(direction < 0 ? supertrend : na, "Up direction", color = color.green, style=plot.style_linebr)
plot(direction > 0 ? supertrend : na, "Down direction", color = color.red, style=plot.style_linebr)

if direction < 0
    if supertrend > supertrend[2]
        strategy.entry("entry long", strategy.long)
    else if strategy.position_size < 0
        strategy.close_all()
else if direction > 0
    if supertrend < supertrend[3]
        strategy.entry("entry short", strategy.short)
    else if strategy.position_size > 0
        strategy.close_all()

Blockierte Visualisierung

Unsere Plattform unterstützt den Blockly-visuellen Ansatz zur Programmierung. Mit dem Blockly-Editor können Benutzer Code-Konzepte durch Zusammenfügen von grafischen Blöcken (ähnlich Bausteinen) wie Variablen, logischen Ausdrücken, Schleifen usw. ausdrücken. Auf diese Weise muss der Programmierungsprozess nicht mehr zu viel Aufmerksamkeit auf die langweiligen Grammatikdetails richten und kann direkt den Programmierprinzipien folgen. Durch die Anordnung und Kombination von grafischen Blöcken können Benutzer die Programmierlogik leicht verstehen und kreative Ideen verwirklichen. Ideal für die Entwicklung eines Interesses an Strategieentwicklung, um schnell mit programmatischem, quantitativen Handel zu beginnen.

Willkommen auf der FMZ Quant Trading Plattform Schlüssel zur Sicherheit