Die Ressourcen sind geladen. Beförderung...

Erläuterung der erweiterten API-Schnittstelle

  • Die erweiterte API-Schnittstelle der FMZ Quant Trading Platform Anschließen der Abfrageparameter?) des Antrags unmittelbarhttps://www.fmz.com/api/v1Die folgenden Anforderungsparameter werden mitPython:

    {
        "version"   : "1.0",
        "access_key": "xxx",
        "method"    : "GetNodeList",
        "args"      : [],
        "nonce"     : 1516292399361,
        "sign"      : "085b63456c93hfb243a757366600f9c2"
    }
    
    Felder Anweisungen
    Ausgabe Versionnummer.
    Zugriff_Schlüssel AccessKey, beantragen Sie es auf der Account-Management-Seite.
    Methode Die spezifische Anrufmethode.
    Args Die Parameterliste der bestimmten aufgerufenen Methode.
    nicht Zeitstempel, in Millisekunden, erlaubt einen Fehler von 1 Stunde vom Standardzeitstempel. Nonce muss größer sein als der Nonce-Wert des letzten Zugriffs.
    Zeichen Signature.

    Jeder Parametername wird durch das Zeichen getrennt&, und die Parameternamen und -werte sind mit dem Symbol verbunden=. Die vollständige Anfrage-URL (mitmethod=GetNodeListzum Beispiel):

    https://www.fmz.com/api/v1?access_key=xxx&nonce=1516292399361&args=%5B%5D&sign=085b63456c93hfb243a757366600f9c2&version=1.0&method=GetNodeList
    

    Beachten Sie, dass es keinesecret_keyParameter unter den Anforderungsparametern.

  • Signaturmethode DiesignParameter im Anforderungsparameter wird entsprechend dem Format wie folgt verschlüsselt:

    version + "|" + method + "|" + args + "|" + nonce + "|" + secretKey
    

    Nachdem Sie die Zeichenketten verbunden haben, verwenden SieMD5Verschlüsselungsalgorithmus zur Verschlüsselung der Zeichenfolge und Umwandlung in einen hexadezimalen Datenzeichenwert, der als Parameterwert bezeichnet wirdsign- für den Unterschriftenteil siehePythonCode-Erweiterungs-API-SchnittstelleÜberprüfungsverfahren :

    # Parameter
    d = {
        'version': '1.0',
        'access_key': accessKey,
        'method': method,
        'args': json.dumps(list(args)),
        'nonce': int(time.time() * 1000),
    }
    
    # Calculate "sign" signature
    d['sign'] = md5.md5(('%s|%s|%s|%d|%s' % (d['version'], d['method'], d['args'], d['nonce'], secretKey)).encode('utf-8')).hexdigest()
    
  • Interface-Dienstfehler

    • Unzureichende Parameter:
      {
          "code":0,
          "data":{
              "result":null,
              "error":"Params length incorrect"
          }
      }
      

GetNodeList wird angezeigt

DieGetNodeListVerfahren wird verwendet, um die Liste der Hafenarbeiter zu erhalten der FMZ Quant Trading Plattform, die demAPI KEYin der Anfrage.

{
    "code": 0,
    "data": {
        "result": {
            "all": 1,
            "nodes": [{
                "build": "3.7",
                "city": "...",
                "created": "2024-11-08 09:21:08",
                "date": "2024-11-08 16:37:16",
                "forward": "...",
                "guid": "...",
                "host": "node.fmz.com:9902",
                "id": 123,
                "ip": "...",
                "is_owner": true,
                "loaded": 0,
                "name": "MacBook-Pro-2.local",
                "online": true,
                "os": "darwin/amd64",
                "peer": "...",
                "public": 0,
                "region": "...",
                "tunnel": false,
                "version": "...",
                "wd": 0
            }]
        },
        "error": null
    }
}

Beschreibung der zurückgegebenen Wertfelder (die wörtliche Bedeutung ist offensichtlich und wird nicht wiederholt):

  • alle: Anzahl der Hafenarbeiter, die dem Girokonto zugeordnet sind.
  • Knoten: Erfasst die Details des Docker-Knoten.
    • Bau: Versionnummer.
    • Stadt: Die Stadt, in der Sie sich befinden.
    • is_owner: true zeigt einen privaten Docker an, false zeigt einen öffentlichen Docker an.
    • geladen: Belastung, Anzahl der Strategie-Instanzen.
    • öffentlich: 0 bedeutet privaten Docker, 1 öffentliche Docker.
    • Region: Geographische Lage.
    • Version: Detaillierte Versioninformationen des Dockers.
    • wd: Ob Offline-Alarm aktiviert wird, 0 bedeutet nicht aktiviert. Der One-Click-Deployment-Docker enthält einige zusätzliche Informationen.ecs_undunit_, die die relevanten Informationen des One-Click-Deployment-Docker-Servers (Betreibername, Konfiguration, Status usw.), Rechnungszyklus, Preis und andere Informationen, die hier nicht wiederholt werden, erfasst.

Keine Parameter

GetRobotGroupList ist nicht verfügbar

GetRobotGroupList()Gibt die Liste der Live-Handelsgruppen zurück des FMZ Quant Trading Platform-Kontos, das demAPI KEYin der Anfrage.

{
    "code": 0,
    "data": {
        "result": {
            "items": [{
                "id": 3417,
                "name": "Test"
            }, {
                "id": 3608,
                "name": "Live trading demo"
            }]
        },
        "error": null
    }
}
  • Posten: Informationen über die Gruppen von Live-Handelsgeschäften.
    • Die Risikopositionen werden in den folgenden Kategorien aufgeführt:
    • Name: Name der Live-Handelsgruppe. DieitemsDas Feld default ist nicht initems.

Keine Parameter

GetPlatformList

GetPlatformList()Gibt die Liste der Börsen zurück, die wurde durch das entsprechende Konto der FMZ Quant Trading Platform hinzugefügt DieAPI KEYin der Anfrage.

{
    "code": 0,
    "data": {
        "result": {
            "all": 2,
            "platforms": [{
                "category": "加密货币||Crypto",
                "date": "2023-12-07 13:44:52",
                "eid": "Binance",
                "id": 123,
                "label": "Binance",
                "logo": "...",
                "name": "币安现货|Binance",
                "stocks": ["BTC_USDT", "LTC_USDT", "ETH_USDT", "ETC_USDT", "BTC_TUSD", "ETH_TUSD", "BNB_TUSD"],
                "website": "..."
            }, {
                "category": "通用协议|Custom Protocol",
                "date": "2020-11-09 11:23:48",
                "eid": "Exchange",
                "id": 123,
                "label": "XX Exchange REST Protocol",
                "logo": "...",
                "name": "通用协议|Custom Protocol",
                "stocks": ["BTC_USDT", "ETH_USDT"],
                "website": ""
            }]
        },
        "error": null
    }
}
  • all: Anzahl der hinzugefügten/konfigurierten Austauschobjekte.
  • Plattformen: Informationen über den Austausch.
    • eid: Die Kennung der Börse auf der FMZ Quant Trading Platform,eidwird in einigen Konfigurationen und Parametern verwendet.

Keine Parameter

GetRobotListe

DieGetRobotListMethode wird verwendet, um die Liste der live Handelsgeschäfte auf dem Konto der FMZ Quant Trading Platform die derAPI KEYin der Anfrage.

{
    "code": 0,
    "data": {
        "result": {
            "all": 1,
            "concurrent": 0,
            "robots": [{
                "charge_time": 1731654846,
                "date": "2024-11-12 14:05:29",
                "end_time": "2024-11-15 14:56:32",
                "fixed_id": 4509153,
                "id": 591026,
                "is_sandbox": 0,
                "name": "test",
                "node_guid": "45891bcf3d57f99b08a43dff76ee1ea1",
                "node_id": 4519153,
                "node_public": 0,
                "profit": 0,
                "public": 0,
                "refresh": 1731651257000,
                "start_time": "2024-11-15 14:56:30",
                "status": 3,
                "strategy_id": 411670,
                "strategy_isowner": true,
                "strategy_language": 0,
                "strategy_name": "test",
                "strategy_public": 0,
                "uid": "105ed6e511cc977921610fdbb7e2a1d6",
                "wd": 0
            }]
        },
        "error": null
    }
}
  • Roboter: Informationen zum Live-Handel
    • group_id: Die ID der Live-Handelsgruppe.group_id field.

Die Auslagerung der Paging-Abfrage. Verzögerung falsche Zahl Die Längeneinstellung der Paging-Abfrage. Länge falsche Zahl Geben Sie den Status des zu abfragenden Live-Handels an, siehe erweiterte API-SchnittstelleLive-Handelskode- Gehen Sie durch.-1um alle Live-Tradings zu bekommen. RobotStatus falsche Zahl Geben Sie das benutzerdefinierte Label des Live-Handels an, den Sie abfragen möchten, und Sie können alle Live-Handels von diesem Label filtern. Etikett falsche String Such nach Schlüsselwörtern. Schlüsselwort falsche String

Nehmen Sie diePythonSpraches erweiterte API-SchnittstelleÜberprüfungsverfahrenZum Beispiel:print(api('GetRobotList'))Erhalten Sie alle Informationen über den Live-Handel.print(api('GetRobotList', 'member2')): Drucken Sie die Informationen für alle Live-Handelsgeschäfte mit dem benutzerdefinierten Etikettmitglied2.print(api('GetRobotList', 0, 5, -1, 'member2')): Seiten von 0 bis 5 und Liste von bis zu 5 mit member2 gekennzeichneten Robotern.

KommandoRobot

DieCommandRobotMethode wird verwendet, um eine Interaktion zu senden Befehl zum Live-Handel auf der FMZ Quant Trading Platform derAPI KEYIn der Anfrage. der Live-Handel, der den Interaktionsbefehl erhält, ist der Live-Handel Handels-ID, die von derrobotIdParameter und die Interaktionsbefehl wird von derGetCommand()Funktion Ich habe die Strategie genannt, es zu erfassen.

{
    "code":0,
    "data":{
        "result":true,
        "error":null
    }
}
  • Ergebnis: Ob der interaktive Befehl erfolgreich gesendet wurde; bei dem Senden eines Befehls an einen Live-Handel, der nicht ausgeführt wird, ist das Ergebnis in den zurückgegebenen Daten falsch.

Der ParameterrobotIdwird verwendet, um die ID des Sie können den Live-Handel, der den interaktiven Befehl empfängt. DieGetRobotListMethode zur Erfassung der Informationen der Handel auf dem Konto, das die Live-Handelsinformant enthält.

RobotId wahr Zahl Der Parametercmdist der interaktive Befehl, der an den Bot gesendet wird; der Befehl wird von der Funktion erfasstGetCommand(), die die interaktive Logik in der Strategie auslöst.GetCommand()Funktion imFMZ Quant Trading Plattform API Handbuch.

cmd wahr String

Live-Handelsstrategie, vorausgesetzt, dass diese Strategie in Betrieb ist, ist die Live-Handels-ID 123:

function main() {
    while (true) {
        var cmd = GetCommand()
        if (cmd) {
            Log(cmd)
        }
        Sleep(2000)
    }
}

Wenn wir in diesem Kapitel das Python-Test-Skript verwenden, können wir auf die erweiterte API der FMZ Quant Trading Platform zugreifen:api("CommandRobot", 123, "test command")Der Live-Handel mit ID 123 erhält den interaktiven Befehl:test command, und dann ausdrucken Sie es durch die Log-Funktion Ausgabe.

StoppRobot

StopRobot(RobotId)wird verwendet, um dieAPI KEYfür den Live-Handel des FMZ Quant Trading Die Live-Trading-ID, um zu stoppen, ist die Live-Trading-ID. Handels-ID, die von derrobotId parameter.

{
    "code":0,
    "data":{
        "result":2,
        "error":null
    }
}
  • Ergebnis: Der Live-Trading-Statuscode ist 2, was bedeutet, dass es gestoppt wurde.

Der ParameterrobotIdwird verwendet, um die ID des Sie können dieGetRobotListDie Daten werden im Rahmen der Konto, das die Live-Handels-ID enthält.

RobotId wahr Zahl

NeustartRobot

DieRestartRobotDie Methode wird zur Wiederaufnahme des Live-Handels im Rahmen derAPI KEYDie ID des wieder aufgenommenen Live-Handels ist die von der FMZ Quant Trading Platform angegebene Live-Handels-ID.robotId parameter.

{
    "code":0,
    "data":{
        "result":1,
        "error":null
    }
}
  • Ergebnis: Live-Handelsstatuscode, 1 bedeutet laufend.

DierobotIdDer Parameter wird verwendet, um die Id des Sie können dieGetRobotListDie Daten werden im Rahmen der Konto, das die Live-Handels-ID enthält.

RobotId wahr Zahl Die Parameter der Live-Handelskonfiguration, die ParametersettingsDas Format ist wie folgt:

{
    "appid":"test",
    "args":[],
    "exchanges":[
        {"pair":"SOL_USDT","pid":123},
        {"pair":"ETH_USDT","pid":456}
    ],
    "name":"test",
    "node":123,
    "period":60,
    "strategy":123
}
  • Appid: Benutzerdefinierte Felder Tags können definiert werden.
  • args: Einstellungen der Strategieparameter Die Struktur ist ein Array, jedes Element ist ein Parameter.Interval, und Sie wollen, um zu setzenInterval500 bei Neustart der Strategie, dannargsenthält:["Interval", 500], d. h.:"args": [["Interval", 500]].
  • Börsen: Konfiguration des Börsenobjekts für die Bindung des Live-Handels Die Struktur ist ein Array, wobei jedes Element eine Austauschobjektkonfiguration ist.
    • Es kann sich an das auf der Plattform konfigurierte Exchange-Objekt binden Das heißt:pidKonfiguration:{"pair":"SOL_USDT","pid":123}; pidSie können über dieGetPlatformListSchnittstelle undidFeld in den zurückgegebenen Daten ist der Austauschpid.
    • Wir können direkt in Konfigurationsinformationen passieren und bindet Austauschobjekte Das heißt:eidKonfiguration:{"eid":"Huobi","label":"test Huobi","meta":{"AccessKey":"123","SecretKey":"123"},"pair":"BCH_BTC"}; sensible Informationen wieAPI KEYBei der Verwendung dieser Konfiguration müssen die Informationen bei jeder Erstellung oder Neustartung eines Live-Handels konfiguriert werden.
    • Es kann sich bindenZollprotokollAustauschobjekt Es kann Konfigurationsinformationen übermitteln:{"eid":"Exchange","label":"test exchange","pair":"BTC_USDT","meta":{"AccessKey":"123","SecretKey":"123","Front":"http://127.0.0.1:6666/test"}}. labelAttribut ist, um ein Etikett für das Exchange-Objekt zu setzen, auf das der aktuelleZollprotokoll, die durch dieexchange.GetLabel()die Rolle der Kommission in der Strategie.
  • Name: Strategiebezeichnung
  • Knotenpunkt: Docker-ID Gibt an, auf welchem Docker ausgeführt werden soll. Ist dieses Attribut nicht eingestellt, wird dem Docker die automatische Ausführung zugewiesen.
  • Periode: Standard K-Zeile Periode K-Linien-Periode-Parameter, 60 bedeutet 60 Sekunden.
  • Strategie: Strategie-ID Sie kann mit Hilfe derGetStrategyList method.

Einstellungen falsche JSON-Objekt

Wenn ein Live-Handel durch die erweiterte API erstellt wird, wird die erweiterte APIRestartRobot (RobotId, Settings)Die Anlage muss für den Neustart verwendet werden, und diesettingsDer auf der Plattformseite erstellte Live-Handel kann über die erweiterte API oder durch Klicken auf die Schaltfläche auf der Seite neu gestartet werden.settingsWenn Sie nur dieRobotIdParameter, starten Sie den Live-Handel gemäß den aktuellen Live-Handelseinstellungen.

GetRobotDetail

DieGetRobotDetailDie Methode wird verwendet, um die Einzelheiten des Live-Handels unter dem Konto der FMZ Quant Trading Platform zu erhalten, die demAPI KEYDie zu abrufende ID des Live-Handels ist die von derrobotId parameter.

{
    "code": 0,
    "data": {
        "result": {
            "robot": {
                "charge_time": 1732246539,
                "charged": 5850000,
                "consumed": 5375000000,
                "date": "2018-12-28 14:34:51",
                "favorite": {
                    "added": false,
                    "type": "R"
                },
                "fixed_id": 123,
                "hits": 1,
                "id": 123,
                "is_deleted": 0,
                "is_manager": true,
                "is_sandbox": 0,
                "name": "test",
                "node_id": 123,
                "pexchanges": {
                    "123": "Futures_OKCoin"
                },
                "phash": {
                    "123": "ca1aca74b9cf7d8624f2af2dac01e36d"
                },
                "plabels": {
                    "123": "OKEX futures V5"
                },
                "priority": 0,
                "profit": 0,
                "public": 0,
                "refresh": 1732244453000,
                "robot_args": "[]",
                "start_time": "2024-11-22 11:00:48",
                "status": 1,
                "strategy_args": "[]",
                "strategy_exchange_pairs": "[60,[123],[\"ETH_USDT\"]]",
                "strategy_id": 123,
                "strategy_last_modified": "2024-11-21 16:49:25",
                "strategy_name": "test",
                "strategy_public": "0",
                "uid": "105ed6e51bcc17792a610fdbb7e2a1d6",
                "username": "abc",
                "wd": 0
            }
        },
        "error": null
    }
}
  • charge_time: Die nächste Abzugszeit ist die tatsächliche Ablaufzeit nach dem aktuellen Abzug.
  • Bereits verbrauchte Zeit.
  • Verbraucht: Verbrauchte Menge (0,125 USD = 12500000 / 1e8).
  • Datum: Datum der Entstehung.
  • Fixed_id: Die Docker-ID, die beim laufenden Live-Trading zugewiesen wird.
  • is_manager: Ob Sie die Berechtigung haben, diesen Live-Handel zu verwalten.
  • is_sandbox: Ob es sich um einen simulierten Handel handelt.
  • Name: Name des Live-Handels.
  • Node_id: Docker-ID.
  • pexchanges: Das Austauschobjekt des Live-Handels, 123 ist das Pid, und Futures_OKCoin ist der Austauschname.
  • Plabels: Tag-Informationen des im Live-Handel konfigurierten Austauschobjekts.
  • Gewinn: Daten über den Gewinn aus dem Live-Handel.
  • öffentlich: Ob der Live-Handel öffentlich ist.
  • Aktualisierung: Letzte aktive Zeit.
  • Strategie_exchange_pairs: Konfigurationsobjekt für den Austausch, Satz von Informationen über das Handelspar.
  • wd: Wird der Offline-Alarm aktiviert?

DierobotIdDer Parameter wird verwendet, um die ID des Live-Handels anzugeben, für den die Details zu erhalten sind.GetRobotListMethode zur Erfassung von Informationen über den Live-Handel auf dem Konto, die die Live-Handel-ID enthält.

RobotId wahr Zahl

Die Attributbeschreibung vonstrategy_exchange_pairs, nehmen wir beispielsweise folgende Daten:

"[60,[44314,42960,15445,14703],[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]]"

Die ersten Daten60stellt den Standard-K-Linien-Periodensatz dar bei Live-Handel ist 1 Minute, also 60 Sekunden.

[44314,42960,15445,14703]ist das Austauschobjektpidfür den Live-Handel konfiguriert (nach der Addition-Order).

[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]ist die Handelspaar für das von live konfigurierte Exchange-Objekt Handel (in der Reihenfolge der Addition und in der Korrespondenz eins zu eins) mitpid).

GetAccount

DieGetAccountDie Methode wird verwendet, um die Kontoinformationen zu erfassen, die derAPI KEYin der Anfrage des Kontos der FMZ Quant Trading Platform.

{
    "code":0,
    "data":{
        "result":{
            "balance":22944702436,
            "concurrent":0,
            "consumed":211092719653,
            "currency":"USD",
            "email":"123@qq.com",
            "openai":false,
            "settings":null,
            "sns":{"wechat":true},
            "uid":"105ea6e51bcc177926a10fdbb7e2a1d6",
            "username":"abc"
        },
        "error":null
    }
}
  • Bilanz: Bilanz Der Wert hier ist eine ganze Zahl aufgrund der Präzisionskontrolle. Um es in einen tatsächlichen Wert umzuwandeln, müssen Sie es durch 1e8 (d.h. 10 zur 8. Potenz) dividieren. Der tatsächliche Wert hier ist: 229.44702436

GetExchangeList ist nicht verfügbar

DieGetExchangeListDiese Methode wird verwendet, um die Liste der Börsen und die erforderlichen Konfigurationsinformationen zu erhalten, die von der FMZ Quant Trading Platform unterstützt werden.

Wenn dieisSummaryParameter istfalse, sind die zurückgegebenen Daten:

{
    "code": 0,
    "data": {
        "result": {
            "exchanges": [{
                "category": "加密货币||Crypto",
                "eid": "Futures_Binance",
                "id": 74,
                "logo": "/upload/asset/d8d84b23e573e9326b99.svg",
                "meta": "[{\"desc\": \"Access Key\", \"qr\":\"apiKey\",\"required\": true, \"type\": \"string\", \"name\": \"AccessKey\", \"label\": \"Access Key\"}, {\"encrypt\": true, \"qr\":\"secretKey\",\"name\": \"SecretKey\", \"required\": true, \"label\": \"Secret Key\", \"type\": \"password\", \"desc\": \"Secret Key\"}]",
                "name": "币安期货|Futures_Binance",
                "priority": 200,
                "stocks": "BTC_USDT,ETH_USDT,ETH_USD",
                "website": "https://accounts.binance.com/zh-TC/register?ref=45110270"
            }]
        },
        "error": null
    }
}

Wenn dieisSummaryParameter isttrue, sind die zurückgegebenen Daten:

{
    "code": 0,
    "data": {
        "result": {
            "exchanges": [{
                "category": "加密货币||Crypto",
                "eid": "Futures_Binance",
                "id": 74,
                "logo": "/upload/asset/d8d84b23e573e9326b99.svg",
                "name": "币安期货|Futures_Binance",
                "priority": 200,
                "website": "https://accounts.binance.com/zh-TC/register?ref=45110270"
            }]
        },
        "error": null
    }
}
  • Meta: Austausch von Konfigurationsmetadaten.

DieisSummaryDer Parameter wird verwendet, um anzugeben, ob die zurückgegebenen Daten zusammenfassende Informationen sind.

istZusammenfassung wahr Boole

DeleteNode wird nicht verwendet

DieDeleteNode(Nid)Methode wird verwendet, um den Docker-Knoten zu löschen, der demAPI KEYDie gelöschte Docker-Knoten-ID ist die von dernid parameter.

{
    "code":0,
    "data":{
        "result":true,
        "error":null
    }
}
  • Ergebnis: Ob das zugehörige Dockerprogramm erfolgreich gelöscht wurde.

DienidSie können die Parameter für die Identifizierung des zu löschenden Dockers verwenden.GetNodeListDie Kommission hat eine Reihe von Maßnahmen ergriffen.

Nied wahr Zahl

LöschenRobot

DieDeleteRobot(RobotId, DeleteLogs)Die Methode wird verwendet, um den Live-Handel zu löschen, der demAPI KEYDie gelöschte Live-Trading-ID ist die Live-Trading-ID, die vomrobotId parameter.

{
    "code":0,
    "data":{
        "result":0,
        "error":null
    }
}
  • Ergebnis: Das Ergebnis des Feedbacks der Operation zur Löschung des Live-Handels. 0: Normal gelöscht. -2: Die Löschung erfolgreich, aber der Docker, der mit dem Live-Handel verbunden ist, konnte nicht kontaktiert werden. Bitte löschen Sie die Datei 123.db3 manuell!

Der ParameterrobotIdwird verwendet, um die ID des Sie können dieGetRobotListDie Daten werden im Rahmen der Konto, das die Live-Handels-ID enthält.

RobotId wahr Zahl DiedeleteLogsDer Parameter wird verwendet, um festzulegen, ob das Live-Trading-Log gelöscht werden soll, wenn ein wahrer Wert übergeben wird (z. B.:true), wird das Live-Handelsprotokoll gestrichen.

DeleteLogs wahr Boole

GetStrategyList ist nicht verfügbar.

DieGetStrategyListdie Methode zur Erfassung von Informationen über die Plattformstrategie verwendet wird.

{
    "code": 0,
    "data": {
        "result": {
            "all": 123,
            "strategies": [{
                "category": 9,
                "date": "2024-11-10 20:40:04",
                "description": "",
                "forked": 0,
                "hits": 0,
                "id": 123,
                "is_buy": false,
                "is_owner": false,
                "language": 2,
                "last_modified": "2024-11-11 17:23:52",
                "name": "HedgeGridStrategy",
                "profile": {
                    "avatar": "...",
                    "nickname": "abc",
                    "uid": "4ed225440db1eda23fe05ed10184113e"
                },
                "public": 0,
                "tags": "",
                "uid": "4ed225440db1eda23fe05ed10184113e",
                "username": "abc"
            }]
        },
        "error": null
    }
}
  • All: Die Gesamtzahl der Strategien, die durch die Filteranfrage gefunden wurden.
  • Strategien: Spezifische Strategieinformationen werden angefordert.

DieoffsetParameter wird verwendet, um die Verschiebung beim Abfragen festzulegen.

Verzögerung wahr Zahl DielengthParameter wird verwendet, um die Länge der Abfrage festzulegen.

Länge wahr Zahl DiestrategyTypeDer Parameter wird verwendet, um den zu abfragenden Strategietypen festzulegen.

  • strategyTypeEinstellung der Parameter0: alle Strategien.
  • strategyTypeEinstellung der Parameter1: Die Strategie ist öffentlich.
  • strategyTypeEinstellung der Parameter2: Strategie, die überprüft werden soll.

Strategie wahr Zahl DiecategoryDer Parameter wird verwendet, um die zu abfragende Strategiekategorie festzulegen.

  • categoryEinstellung der Parameter-1: alle Strategien.
  • categoryEinstellung der Parameter0- eine individuelle Strategie.

Kategorie wahr Zahl DieneedArgsParameter wird verwendet, um festzulegen, ob die abzufragende Strategie Parameter hat.

  • needArgsEinstellung der Parameter0: alle Strategien.

NeedsArgs wahr Zahl DielanguageParameter wird verwendet, um die Programmiersprache der zu abfragenden Strategie festzulegen.

  • languageEinstellungen der Parameter0: JavaScript-Sprache.
  • languageEinstellungen der Parameter1Die Sprache Python.
  • languageEinstellungen der Parameter2: C++ Sprache.
  • languageEinstellungen der Parameter3: Visualisierungsstrategie.
  • languageEinstellungen der Parameter4Meine Sprache.
  • languageEinstellungen der Parameter5: PINE-Sprache

Sprache wahr Zahl DiekwParameter wird verwendet, um das Schlüsselwort der zu abfragenden Strategie festzulegen.

  • Wenn Sie eine leere Zeichenfolge setzen, wird kein Schlüsselwortfilter verwendet.

kW wahr String

Neuer Roboter

DieNewRobotDie Methode wird verwendet, um einen Live-Handel im Rahmen derAPI KEYdem im Antrag angegebenen Konto der FMZ Quant Trading Platform entspricht.

{
    "code":0,
    "data":{
        "result":591988,
        "error":null
    }
}
  • Ergebnis: Die Erstellung ist erfolgreich und die Live-Trading-ID wird zurückgegeben.

Die Live-Handelskonfigurationsparameter,settingsDas Format der Parameter ist wie folgt:

{
    "appid":"test",
    "args":[],
    "exchanges":[
        {"pair":"SOL_USDT","pid":123}
    ],
    "group":123,
    "name":"test",
    "node":123,
    "period":60,
    "strategy":123
}
  • Gruppe: Geben Sie die Gruppe für den Live-Handel an.
  • args: Strategieparameter oder ein leeres Array, wenn die Strategie keine Parameter hat.
  • Austausch: Für die Konfiguration des Austauschobjekts sieheRestartRobot interface.

Einstellungen wahr JSON-Objekt

In der Konfiguration voneidin dersettingsParameter,"meta":{"AccessKey": "123", "SecretKey": "123"}Diese Daten werden direkt an das Dockerprogramm weitergeleitet, so dass diese Informationen jedes Mal konfiguriert werden müssen, wenn ein Live-Handel erstellt oder neu gestartet wird.

Wenn wir ein Live-Trading-Exchange-Objekt mit dem benutzerdefinierten Protokoll erstellen, wenn die Konfiguration dersettingsParameter, können wir die folgenden Einstellungen für dieexchangesEigenschaft:

{
    "eid": "Exchange",
    "label": "test",
    "pair": "ETH_BTC",
    "meta": {
        "AccessKey": "123",
        "SecretKey": "123",
        "Front": "http://127.0.0.1:6666/test"
    }
}

labelDas Attribut ist ein Etikett für das Exchange-Objekt zu setzen, auf das das aktuelle benutzerdefinierte Protokoll zugreift.exchange.GetLabel()die Rolle der Kommission in der Strategie.

Plugin ausführen

DiePluginRunDie Methode wird verwendet, um dieDebug-ToolFunktion der FMZ Quant Trading Plattform; nur die Sprache JavaScript wird unterstützt.

{
    "code": 0,
    "data": {
        "result": "{\"logs\":[{\"PlatformId\":\"\",\"OrderId\":\"0\",\"LogType\":5,\"Price\":0,\"Amount\":0,\"Extra\":\"Hello FMZ\",\"Currency\":\"\",\"Instrument\":\"\",\"Direction\":\"\",\"Time\":1732267473108}],\"result\":\"\"}",
        "error": null
    }
}
  • Ergebnis: Das Debugging-Tool gibt die Testergebnisdaten zurück, nachdem der übermittelte JavaScript-Code erfolgreich ausgeführt wurde.

Die Einstellungsparameter im Debugger,settingsdie Prüfungskode in diesourceDas AttributsettingsDas Parameterformat ist wie folgt:

{
    "exchanges":[{"pair":"SOL_USDT","pid":123}],
    "node":123,
    "period":60,
    "source":"function main() {Log(\"Hello FMZ\")}"
}
  • Quelle: Code, der debuggt werden muss.
  • Node: Docker ID, Sie können festlegen, auf welchem Docker der Live-Handel ausgeführt wird.
  • Austausch: Für die Konfiguration des Austauschobjekts sieheRestartRobot interface.

Einstellungen wahr JSON-Objekt

{"eid": "OKEX", "pair": "ETH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "123"}} {"eid": "Huobi", "pair": "BCH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "123"}}

Für dieexchangesAttribut insettings, muss nur eine eingestellt werden, wenn diePluginRunMethode (nur ein Austauschobjekt wird unterstützt, wenn es in der Debug-Tool-Seite verwendet wird).settings, aber ein Fehler wird bei Zugriff auf das zweite Austauschobjekt im Code gemeldet.

GetRobotLogs

DieGetRobotLogsDie Methode wird verwendet, um die Protokollinformationen des Live-Handels unter dem Konto der FMZ Quant Trading Platform zu erhalten, die demAPI KEYDie zu erhaltende ID der Live-Handelsplattform ist die von der Agentur angegebene Live-Handelsplattform-ID.robotId parameter.

{
    "code": 0,
    "data": {
        "result": {
            "chart": "",
            "chartTime": 0,
            "logs": [{
                "Total": 20,
                "Max": 20,
                "Min": 1,
                "Arr": []
            }, {
                "Total": 0,
                "Max": 0,
                "Min": 0,
                "Arr": []
            }, {
                "Total": 0,
                "Max": 0,
                "Min": 0,
                "Arr": []
            }],
            "node_id": 123,
            "online": true,
            "refresh": 1732201544000,
            "status": 4,
            "summary": "...",
            "updateTime": 1732201532636,
            "wd": 0
        },
        "error": null
    }
}
  • Logs: Log-Informationen: Im Feld Arr finden sich mehrere Log-Daten. Die erste Datenstruktur in Logs ist der Log-Eintrag in der Strategie-Log-Tabelle in der Live-Handelsdatenbank. Die zweite Datenstruktur in Logs ist der Log-Eintrag in der Strategie-Log-Tabelle in der Live-Handelsdatenbank. Die dritte Datenstruktur in Logs ist der Log-Eintrag in der Strategie-Log-Tabelle in der Live-Handelsdatenbank.
  • Zusammenfassung: Live-Handelsstandsbalkendaten.

DierobotIdDer Parameter wird verwendet, um die Id des Live-Handel, für den die Protokollinformationen zu erhalten sind. Sie können dieGetRobotListMethode zur Beschaffung von Informationen Über den Live-Handel auf dem Konto, das die Live-Trading-ID.

RobotId wahr Zahl DielogMinIdDer Parameter wird verwendet, um die Mindest-ID des Logs anzugeben.

LogMinId wahr Zahl DielogMaxIdDer Parameter wird verwendet, um die maximale ID des Logs anzugeben.

LogMaxId wahr Zahl DielogOffsetDer Parameter wird verwendet, um den Versatz festzulegen, nachdem der Bereich durchlogMinIdundlogMaxId, auf der Grundlage derlogOffset(wie viele Datensätze übersprungen werden).

LogOffset wahr Zahl Der ParameterlogLimitwird verwendet, um die Anzahl der zu wählenden Datensätze nach Feststellung der Ausgangsposition festzulegen.

LogLimit wahr Zahl DieprofitMinIdDer Parameter wird verwendet, um die Mindest-ID des Gewinnprotokolls festzulegen.

Gewinn wahr Zahl Der ParameterprofitMaxIdwird verwendet, um die maximale ID des Gewinnprotokolls festzulegen.

GewinnmaxId wahr Zahl Der ParameterprofitOffsetwird verwendet, um den Versatz (wie viele Aufzeichnungen übersprungen werden) als Ausgangsposition festzulegen.

GewinnAusgleich wahr Zahl Der ParameterprofitLimitwird verwendet, um die Anzahl der zu wählenden Datensätze nach Feststellung der Ausgangsposition festzulegen.

Gewinngrenze wahr Zahl Der ParameterchartMinIdwird verwendet, um die Mindest-ID des Chartdatenprotokolls festzulegen.

Abbildung wahr Zahl Der ParameterchartMaxIdwird verwendet, um die maximale ID des Diagrammdatensatzes festzulegen.

Karte MaxId wahr Zahl Der ParameterchartOffsetwird verwendet, um den Versatz einzusetzen.

Abbildung: wahr Zahl Der ParameterchartLimitwird verwendet, um die Anzahl der Aufzeichnungen zu erhalten.

ChartLimit wahr Zahl Der ParameterchartUpdateBaseIdwird verwendet, um die Basis-Id festzulegen nach Aktualisierung der Abfrage.

ChartUpdateBaseId wahr Zahl Der ParameterchartUpdateDatewird verwendet, um die Daten festzulegen Aufzeichnung Update Zeitstempel, und es wird Filter aus Aufzeichnungen größer als dieses Zeitstempel.

TabelleAktualisierungDatum wahr Zahl Der ParametersummaryLimitwird verwendet, um die Anzahl der Der Parameter ist von Ganzzahlentyp für die Abfrage der Statusleiste Handel. Einstellung auf 0 bedeutet, dass keine Abfrage in der Statusleiste erforderlich ist Informationen, und die Einstellung auf eine andere Zahl als Null zeigt die Anzahl der Die Daten werden in der Statusleiste (Byte) angezeigt. Die Datenmenge ist nicht begrenzt, so dass Sie eine größersummaryLimitParameter, um alle Statusleiste zu erhalten Die Daten der Statusleiste werden in den zurückgegebenen Daten gespeichertsummary.

Zusammenfassung wahr Zahl

  • Strategieprotokolltabelle in der Datenbank DieArrAttributwert im ersten Element derLogsDer Attributwert (Array-Struktur) in den zurückgegebenen Daten (Logdaten) wird wie folgt beschrieben:

    "Arr": [
        [3977, 3, "Futures_OKCoin", "", 0, 0, "Sell(688.9, 2): 20016", 1526954372591, "", ""],
        [3976, 5, "", "", 0, 0, "OKCoin:this_week too many positions, long: 2", 1526954372410, "", ""]
    ],
    
    Identifizierung LogTyp Eid Auftrag Preis Betrag Zusätzlich Datum Vertrag Typ Richtung
    3977 3 Futures_OKCoin "" 0 0 Verkauf ((688,9, 2): 20016 1526954372591 "" ""
    3976 5 "" "" 0 0 OKCoin:diese_Woche zu viele Positionen, lang: 2 1526954372410 "" ""

    extraist die beigefügte Meldung des gedruckten Protokolls.

    Die spezifischen Bausteine, die durchlogTypeDie Werte werden wie folgt beschrieben:

    LogTyp: 0 1 2 3 4 5 6
    Bedeutung von logType: Kaufen Verkauf Rücktritt Fehler Gewinne Nachricht RESTART
  • Log-Tabelle des Gewinndiagramms in der Datenbank Die Daten in der Diagrammtabelle stimmen mit dem Gewinnprotokoll in der Strategietabelle überein.

    "Arr": [
        [202, 2515.44, 1575896700315],
        [201, 1415.44, 1575896341568]
    ]
    

    Nehmen wir beispielsweise eine der Protokolldaten:

    [202, 2515.44, 1575896700315]
    

    202ist logID; 2515.44ist der Gewinnwert;1575896700315ist Zeitstempel.

  • Chart-Logtabelle in der Datenbank

    "Arr": [
        [23637, 0, "{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"],
        [23636, 5, "{\"x\":1575960300000,\"y\":3.0735}"]
    ]
    

    Nehmen wir beispielsweise eine der Protokolldaten:

    [23637, 0, "{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"],
    

    23637ist das ProtokollID, 0ist der Index der Diagrammdatenreihe und die letzten Daten"{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"ist die Logdaten; diese Daten sind die K-Liniendaten auf dem Diagramm.

Überprüfungsverfahren Handelsterminal