Die Ressourcen sind geladen. Beförderung...

Strategierahmen und API-Funktionen

In den inJavaScript, Pythonundcpp, dieSleep()In Live-Trading wird es verwendet, um die Strategie-Polling-Intervalle zu steuern und auch die Anforderungsfrequenz des Zugriffs auf die API-Schnittstelle der Börse zu steuern.

function onTick(){
    //Write strategy logic here, and it will be called constantly, such as printing ticker information
    Log(exchange.GetTicker())
}

function main(){
    while(true){
        onTick()
        // The function "Sleep" is mainly used to control the polling frequency of cryptocurrency strategies to prevent accessing the exchange API interafce too frequently
        Sleep(60000)
    }
}
def onTick():
    Log(exchange.GetTicker())

def main():
    while True:
        onTick()
        Sleep(60000)
void onTick() {
    Log(exchange.GetTicker());
}

void main() {
    while(true) {
        onTick();
        Sleep(60000);
    }
}

Grundlegende Rahmenbeispiele für Kryptowährungsstrategien:

function onTick(){
    // It is just an example; for all the assets will be used to place orders fast during backtest or in live trading, do not implement the example in live trading
    exchange.Buy(100, 1)
}

function main(){
    while(true){
        onTick()
        // The pause period can be customized in millisecond (1 second = 1000 milliseconds)
        Sleep(1000)
    }
}
def onTick():
    exchange.Buy(100, 1)

def main():
    while True:
        onTick()
        Sleep(1000)
void onTick() {
    exchange.Buy(100, 1);
}

void main() {
    while(true) {
        onTick();
        Sleep(1000);
    }
}

Nehmen wir das einfachste Beispiel, wenn ich einen Kauf Auftrag mit einem Preis von 100 und einer Menge von 1 auf der Börse jede Sekunde platzieren möchte, kann ich es so schreiben: Im Folgenden werden die häufig verwendeten API-Funktionen in der Strategieentwicklung und -gestaltung dargestellt.FMZ Quant Trading Plattform API Handbuch.

Globale Funktion

Funktionsname Kurze Einleitung
Ausgabe Gibt die
aktuelle Versionnummer des Systems
Schlaf Schlaffunktion,
Parameter ist der Wert von Millisekunden zum Pausieren
Istvirtual Feststellung der

Ausführungsumgebung, gibt einen wahren Wert zurück, um einen Backtest anzuzeigen Umgebung Das ist eine sehr schöne Idee.PostSenden Sie eine E-Mail. Das ist eine sehr schöne Idee.E-Mail_GoEs ist asynchron. Version derMailFunktion. Das ist eine sehr schöne Idee.SetErrorFilterFilterfehler Logs, der Parameter ist eine regelmäßige Ausdrucksfolge, die Fehlerlogs die mit diesem regulären Ausdruck übereinstimmt, wird nicht in die Protokollfassung hochgeladen. Das System. Das ist ein sehr gutes Beispiel.GetPid- Holen Sie den Roboter. Prozess-ID. Das ist eine sehr schöne Idee.GetLastErrorIch habe die letzte. Fehlermeldung. Das ist eine sehr schöne Idee.GetCommandMachen Sie sich eine Strategie. Interaktionsbefehle, Strategie-Interaktionssteuerungen können [Interaktionssteuerung] Das ist ein sehr gutes Beispiel.GetMetaErhalten Sie den Wert von Meta geschrieben beim Generieren des Strategie-Registrierungscodes. Das ist eine sehr schöne Idee.WählenIch benutze es als Rohmaterial. Socket-Zugriff. Das ist eine sehr schöne Idee.HttpQuerySenden Sie eine HTTP-Anfrage. Das ist eine sehr schöne Idee.HttpQuery_GoEs ist asynchron. Version derHttpQueryFunktion. Das ist eine sehr schöne Idee.CodierenDatenkodierung. Funktion. Das ist eine sehr schöne Idee.UnixNanoErhalten Sie eine Nanosekunde. Zeitstempel. Das ist eine sehr schöne Idee.UnixErhalten Sie die zweite Ebene. Zeitstempel. Das ist eine sehr schöne Idee.GetOSIch werde ein System. Informationen. Das ist eine sehr schöne Idee.MD5Berechnen Sie MD5. Das ist eine sehr schöne Idee.DBExecDatenbank. Funktionen, mit denen SQL-Anweisungen ausgeführt und ausgeführt werden können Datenbankoperationen. Das ist eine sehr schöne Idee.UUIDErstellen Sie eine UUID. Das ist eine sehr schöne Idee.EventLoopHör auf Ereignisse und zurückkehren, nachdem jeder Websocket lesbar ist oder gleichzeitige Aufgaben wieexchange.Go, HttpQuery_Go, etc. abgeschlossen sind, wird diese Funktion ist nur für Live-Trading verfügbar. Das ist eine sehr schöne Idee._GPersistent Daten speichern. Diese Funktion implementiert eine speicherbare globale Wörterbuchfunktion. Struktur ist eine KV-Tabelle, die in der lokalen Datenbank des Docker gespeichert wird Die Datei ist dauerhaft. Das ist ein sehr gutes Beispiel._DZeitstempel-Handler, konvertiert Ein Millisekundenzeitstempel oder Datum Objekt für eine Zeitkette. Das ist ein sehr gutes Beispiel._NEin schwebender Punkt formatieren Zahl, z. B._N(3.1415, 2)wird der Wert von 3,1415 nach Zwei Dezimalstellen, und die Funktion gibt 3,14 zurück. Das ist eine sehr schöne Idee._CProbieren Sie die Funktion für Siehe, dass zum Beispiel die Fehlerverträglichkeit für Dieexchange.GetTickerFunktion ist_C(exchange.GetTicker)und nicht_C(exchange.GetTicker()) | | _ KreuzungEine Kreuzurteilungsfunktion._Cross()Funktions Rückgabewert ist eine positive Zahl Die Periode des Aufwärtstrends wird durch eine negative Zahl angegeben. Der aktuelle Preis der Eurozone ist der aktuelle Preis der Eurozone, und 0 bezieht sich auf den aktuellen Preis der Eurozone. Das gleiche. Das ist ein sehr gutes Beispiel.JSONParseJSON zu parsen, das JSON-Strings, die größere Werte enthalten, werden größer analysiert die Werte zu einem Zeichenfolge-Typ.JSONParse()Funktion nicht unterstützt in das Backtesting-System.

Logfunktionen

Funktionsname Kurze Einleitung
Tagebücher Ausgangsprotokolle, Unterstützung für die Einstellung der Logtextfarbe, Unterstützung für die Einstellung von Push, Unterstützung für das Drucken von Bildern nach Base64-Codierung
LogProfit Ausgangs-P&L-Daten, gedruckte P&L-Werte und Kurven der Ertragsgrößen auf der Grundlage von P&L-Werten
LogProfitReset wird wiederhergestellt Entleeren Sie dieLogProfitFunktionsausgänge alle Gewinnprotokolle, Gewinndiagramme
LogStatus Ausgabeinformationen in der Statusleiste, Unterstützung für die Gestaltung von Buttons in der Statusleiste, Unterstützung für die Ausgabe von Formularen
AktivierenLog Ein- oder Ausschalten der Auftragsinformationsprotokollierung
Schaubild Charting-Funktionen, basierend auf der Charting-Bibliothek Highcharts/Highstocks
KLineChart Pine-Stil-Zeichnungsfunktion, die für die angepasste Zeichnung bei der Strategielaufzeit mit einem Pine-ähnlichen Zeichnungsstil verwendet wird
LogReset wird wiederhergestellt Löschprotokolle, Unterstützung für die Speicherung einer bestimmten Anzahl aktueller Protokolle durch die Parameter-Einstellungen
LogVacuum SQLite-Ressourcen zurückgewinnen, um Speicherplatz zurückzugewinnen, der von SQLite besetzt wird, wenn Daten gelöscht werden, nachdem das Protokoll gelöscht wurde.LogReset()Funktion
console.log Ausgabe von Debug-Informationen in der Spalte Debug-Informationen auf der Live-Handelsseite
console.error Fehlerinformationen werden in der Spalte Debug-Informationen der Live-Handelsseite ausgeführt

Funktionen des Ticker

Funktionsname Kurze Einleitung
exchange.GetTicker Geht schon.
der Tick-Zitat
exchange.GetDepth Geht schon.
Daten zur Orderbuchtiefe
exchange.GetTrades Geht schon.
Marktumsatzdaten
exchange.GetRecords Geht schon.
K-Liniendaten
exchange.GetPeriod Geht schon.
die aktuelle K-Periode
exchange.SetMaxBarLen
Festlegung der maximalen Länge der K-Linie
exchange.GetRawJSON Geht schon.
der Rohgehalt, der durch den letzten Ruhezustand zurückgegeben wurde
exchange.GetRate Geht schon.
der aktuell festgelegte Wechselkurs
exchange.GetUSDCNY Geht schon.
der letzte USD/CNY-Wechselkurs
exchange.SetData Ausgestattet
die Daten, die beim Ausführen der Strategie geladen werden
exchange.GetData Geht schon.
geladene Daten oder Daten, die durch externe Links bereitgestellt werden
exchange.GetMarkets Geht schon.
Informationen über den Devisenmarkt
exchange.GetTickers Geht schon.
aggregierte Marktdaten von Börsen

Transaktionsfunktionen

Funktionsname Kurze Einleitung
exchange.Buy Einladen einer Bestellung, Futures-Kontrakte müssen darauf achten, dass die Richtung der Transaktion korrekt eingestellt ist, wenn die Richtung der Transaktion und die Transaktionsfunktion nicht übereinstimmen, wird der Fehler gemeldet!
exchange.Sell Senden Sie Verkaufsaufträge, Futures-Kontrakte, wenn die Platzierung von Aufträgen müssen darauf achten, dass die Transaktionsrichtung richtig eingestellt ist, wenn die Transaktionsrichtung und die Transaktionsfunktion nicht übereinstimmen, wird es einen Fehler melden
exchange.CreateOrder Übermittlung einer Bestellung und Angabe der Transaktionsart, Transaktionsrichtung, des Preises und der Menge durch Parameter
exchange.CancelOrder Bestellung annullieren
exchange.GetOrder Erhalten Sie Bestellinformationen, Datenstruktur istAufordnungStruktur
exchange.GetOrders Nicht ausgefüllte Bestellungen mit Datenstruktur erhaltenAufordnungStruktur-Array (Liste)
exchange.GetHistoryOrders Erhalten Sie die historischen Aufträge des aktuellen Handelspares und des aktuellen Handelsvertrags; Unterstützung bei der Angabe bestimmter Handelsprodukte
exchange.SetPrecision Setzen Sie die Präzision des Preises und der Bestellmenge des Austauschobjekts, nachdem das System eingestellt wurde, ignoriert das System automatisch die Datenredundanz.
exchange.SetRate Festlegen des Wechselkurses
exchange.IO Für andere Schnittstellenanrufe im Zusammenhang mit Austauschobjekten
exchange.Log Ausgabe, Aufzeichnung von Transaktionsprotokollen und keine Bestellungen
exchange.Encode Berechnung der Signaturverschlüsselung
exchange.Go Mehrthreaded asynchrone Stützfunktionen
exchange.GetAccount Erhalten Sie Kontoinformationen
exchange.GetAssets Anforderung von Informationen zu den Vermögenswerten eines Umtauschkontos
exchange.GetName Erhalten Sie den Namen des Austauschobjekts
exchange.GetLabel Erhalten Sie das Etikett des Austauschobjekts
exchange.GetCurrency Holen Sie sich das aktuelle Handelspaar
exchange.SetCurrency Wechseln von Handelsparen
exchange.GetQuoteCurrency Erhalten Sie den Namen der Währung des aktuellen Handelspaares

Zukunftsfunktionen

Funktionsname Kurze Einleitung
[exchange.GetPositions(/Syntax-Guide#fun_exchange.getpositions] Futures-Positionen mit Datenstruktur erhaltenPositionStruktur-Array (Liste)
exchange.SetMarginLevel Setzen Sie den Hebel
exchange.SetDirection Funktion zur Einstellung derexchange.BuyFunktion,exchange.SellFunktion zur Ausführung der Bestellrichtung des Futures-Kontrakts
exchange.SetContractType Stellen Sie zum Beispiel den Vertragskode ein:exchange.SetContractType("swap")Funktion setzt den Vertragskode aufswap, der den Vertrag für den laufenden Betrieb als dauerhaften Vertrag festlegt
exchange.GetContractType Holen Sie sich den aktuellen Vertragskode
exchange.GetFundings Holen Sie sich die aktuellen Futures-Börse dauerhaften Vertrag Finanzierung Rate Daten

Netzwerkfunktionen

Funktionsname Kurze Einleitung
exchange.SetBase Setzt die Basisadresse der verpackten Exchange API-Schnittstelle
exchange.GetBase Erhalten Sie die aktuelle Basisadresse der Exchange-API-Schnittstelle
exchange.SetProxy Proxy einrichten
exchange.SetTimeout Setzen Sie Ruheprotokoll Timeout

JavaScript-Mehrthreading

Die FMZ Quant Trading Plattform unterstützt wirklich die Mehrthread-Funktion derJavaScriptDas System setzt eine Sprachstrategie von Grund auf ein und verfolgt folgende Ziele:

Gegenstände Anweisungen Anmerkungen
Schleiffaden Mehrthreadedes globales Objekt Funktionen der Mitglieder:Thread, getThread, mainThread, usw.
Faden Thread-Objekt Funktionen der Mitglieder:peekMessage, postMessage, join, usw.
ThreadLock Thread-Sperrobjekt Funktionen der Mitglieder:acquire, release. Sie können als Parameter der Thread-Ausführungsfunktion in die Thread-Umgebung übergeben werden.
ThreadEvent Ereignisobjekt Funktionen der Mitglieder:set, clear, wait, isSet. Sie können als Parameter der Thread-Ausführungsfunktion in die Thread-Umgebung übergeben werden.
ThreadBedingung Objekt der Bedingung Funktionen der Mitglieder:notify, notifyAll, wait, acquire, release. Sie können als Parameter der Thread-Ausführungsfunktion in die Thread-Umgebung übergeben werden.
ThreadDict Wörterbuchobjekt Funktionen der Mitglieder:get, set. Sie können als Parameter der Thread-Ausführungsfunktion in die Thread-Umgebung übergeben werden.

FMZ Quant Trading Plattform Syntax-HandbuchJavaScript-Mehrthreading

Web3

Funktionsname Kurze Einleitung
Der Ausgleich. Registrierung für ABI
Ausgleich.IO ((api, eth,...) Aufruf der Ethernet-RPC-Methode
Auswechselung.IO (Code,...) Codierungsfunktion
- Ich bin nicht derjenige. kodierteCodierungsfunktion
Auswechselung.IO ((Decode,...) Entschlüsselungsfunktion
Schlüsselfunktion: Verwendet, um private Schlüssel zu wechseln
Auswechselung. Methoden zur Invokation eines Smart Contracts
Ausgleich.IO (( Adresse) Erhalten Sie die aktuell konfigurierte Wallet-Adresse
Auswechselung.IO ((base,...) Einrichtung von RPC-Knoten

TA-Indikatorenbibliothek

Funktionsname Kurze Einleitung
TA.MACD Berechnen Sie den exponentiell glätteten Divergenzdurchschnitt
TA.KDJ Berechnung der stochastischen Indikatoren
TA.RSI Berechnen Sie den Stärkeindikator
TA.ATR Berechnung des durchschnittlichen tatsächlichen Volatilitätsindikators
TA.OBV Berechnung der Energiemasseindikatoren
TA.MA Berechnung der gleitenden Durchschnittsindikatoren
TA.EMA Berechnung von Indikatoren für exponentielle Durchschnittswerte
TA.BOLL Berechnung des Bollinger-Band-Indikators
TA.Alligator Berechnen Sie den Alligator Line Indicator
TA.CMF Berechnung des Indikators Chaikin Cashflow
TA.Highest Berechnung des Höchstpreises für den Zeitraum
TA.Lowest Berechnung des Mindestpreises für den Zeitraum
TA.SMA Berechnung der einfachen gleitenden Durchschnittsindikatoren

Talib Indikator Bibliothek

Die Talib-Indikatorbibliothek enthält zahlreiche Handelsindikatoren wietalib.CDL2CROWSSie können zum Syntax-Handbuch springen.

Strategie-Eingabefunktionen Bibliotheken mit Vorlagen