Die Ressourcen sind geladen. Beförderung...

FMZ-API-Anweisungen

Schriftsteller:Null, Erstellt: 2020-04-20 10:19:00, Aktualisiert: 2023-04-12 14:44:56

// true    

}


[http://underscorejs.org/](http://underscorejs.org/)
```js
function main() {
    var sum = _.reduce([1, 2, 3], function(memo, num){return memo + num}, 0)
    Log(sum)
}
  • C++Bibliothekhttps://nlohmann.github.io/json/
    void main() {
        json table = R"({"type": "table", "title": "Position Information", "cols": ["Column1", "Column2"], "rows": [["abc", "def"], ["ABC", "support color #ff0000"]]})"_json;
        LogStatus("`" + table.dump() + "`");
        LogStatus("Fist line message\n`" + table.dump() + "`\nThird line message");
        json arr = R"([])"_json;
        arr.push_back(table);
        arr.push_back(table);
        LogStatus("`" + arr.dump() + "`");
        
        table = R"({
            "type" : "table", 
            "title" : "Position Operation", 
            "cols" : ["Column1", "Column2", "Action"], 
            "rows" : [
                ["abc", "def", {"type": "button", "cmd": "coverAll", "name": "close position"}]
            ] 
        })"_json;
        LogStatus("`" + table.dump() + "`", "\n`" + R"({"type": "button", "cmd": "coverAll", "name": "close position"})"_json.dump() + "`");
    }
    

Funktionsindikatoren in der Bibliothek Talib

Zu den Parametern der folgenden Funktionen gehören:Records[Close]stellt den Schlusskurs in den eingehenden k-Liniendaten dar,Array()stellt ein Array dar undArray(outInteger)stellt die Rückgabe eines Arrays mit ganzen Zahlen dar.

Beispielcode für AnrufeCCIIndikator:

function main() {
    var records = exchange.GetRecords()
    var cci = talib.CCI(records, 14)
    Log(cci)
}
import talib
def main():
    records = exchange.GetRecords()
    # the parameter "14" can be default 
    cci = talib.CCI(records.High, records.Low, records.Close, 14)   
    Log(cci)
void main() {
    auto records = exchange.GetRecords();
    auto cci = talib.CCI(records, 14);
    Log(cci);
}
  • Pattern Recognition:

    Indikator Beschreibung
    CDL2CROWS Zwei Krähen
    CDL2CROWS ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL3BLACKCROWS Drei schwarze Krähen
    CDL3BLACKCROWS ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL3INSIDE Drei nach innen, nach oben, nach unten
    CDL3INSIDE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL3LINESTRIKE Drei-Linien-Streik
    CDL3LINESTRIKE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL3AUSEN Drei Außen oben/unten
    CDL3OUTSIDE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL3Stern im Süden Drei Sterne im Süden
    CDL3STARSINSOUTH ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL3 Weiße Soldaten Drei weiße Soldaten im Vormarsch
    CDL3WHITESOLDIERS ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLABANDONEDBABY ist für dich. Verlassenes Baby
    CDLABANDONEDBABY ((Records[Open,High,Low,Close],Penetrierung = 0.3) = Array ((outInteger)
    CDLADVANCEBLOCK Vorlaufblock
    CDLADVANCEBLOCK ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLBELTHOLD Gürtel halten
    CDLBELTHOLD ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLBRAKAWAY Abspaltung
    CDLBREAKAWAY ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLClosingMarubozu Abschluss von Marubozu
    CDLCLOSINGMARUBOZU ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLCONCEALBABYSWALL ist für Sie nicht verfügbar. Wie man eine Schwalbe versteckt
    CDLCONCEALBABYSWALL ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLGegenangriff Gegenangriff
    CDLCOUNTERATTACK ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLDARKCLOUDCOVER Dunkle Wolkendecke
    CDLDARKCLOUDCOVER ((Records[Open,High,Low,Close],Penetrierung = 0.5) = Array ((outInteger)
    CDLDOJI Ich bin ein Doji.
    CDLDOJI ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLDOJISTAR Doji-Stern
    CDLDOJISTAR ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLDRAGONFLYDOJI (Drachenflügel) Die Libelle Doji
    CDLDRAGONFLYDOJI ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLENGULFING Ein verschluckendes Muster
    CDLENGULFING ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLEVENINGDOJISTAR ist für Sie ein großer Erfolg. Abendstern
    CDLEVENINGDOJISTAR ((Records[Open,High,Low,Close],Penetrierung = 0.3) = Array ((outInteger)
    CDLEVENINGSTAR Abendstern
    CDLEVENINGSTAR ((Records[Open,High,Low,Close],Penetration = 0.3) = Array ((outInteger)
    CDLGAPSIDESIDEWITZ Aufwärts-/Abwärts-Grenze nebenan weiße Linien
    CDLGAPSIDESIDEWHITE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLGRAVESTONEDOJI Grabstein Doji
    CDLGRAVESTONEDOJI ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHAMMER Hämmer
    CDLHAMMER ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHANGINGMAN ist ein guter Mann. Der Hängende
    CDLHANGINGMAN ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHARAMI Harami-Muster
    CDLHARAMI ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHARAMICROSS Harami Kreuzmuster
    CDLHARAMICROSS ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHIGHWAVE Hochwellenkerze
    CDLHIGHWAVE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHIKKAKE Hikkake-Muster
    CDLHIKKAKE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHIKKAKEMOD Modifiziertes Hikkake-Muster
    CDLHIKKAKEMOD ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHOMINGPIGEON Pigeon-Homing
    CDLHOMINGPIGEON ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLIDENTICAL3CROWS ist für Sie eine gute Idee. Drei gleiche Krähen
    CDLIDENTICAL3CROWS ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLINNECK Muster im Nacken
    CDLINNECK ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLINVERTEDHAMMER Umgekehrter Hammer
    CDLINVERTEDHAMMER ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLKICKING Ich trete.
    CDLKICKING ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLKICKINGBYLENGTH Treten - Stier/Bär bestimmt durch den längeren Marubozu
    CDLKICKINGBYLENGTH ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLLADDERBOTTOM Boden der Leiter
    CDLLADDERBOTTOM ((Records[Open,High,Low,Close]) = Array ((outInteger)
    Ich bin nicht derjenige, der das Problem hat. Langbeinige Dojz
    CDLLONGLEGGEDDOJI ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLLONGLINE Lange Linienkerze
    CDLLONGLINE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLMARUBOZU Marubōzu
    CDLMARUBOZU ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLMATCHINGLOW Niedrige Übereinstimmung
    CDLMATCHINGLOW ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLMATHOLD Mattenhalte
    CDLMATHOLD ((Records[Open,High,Low,Close],Penetration = 0.5) = Array ((outInteger)
    CDMORNINGDOJISTAR ist ein großes Projekt. Morgenstern
    CDLMORNINGDOJISTAR ((Records[Open,High,Low,Close],Penetrierung = 0.3) = Array ((outInteger)
    CDLMORNINGSTAR Morgenstern
    CDLMORNINGSTAR ((Records[Open,High,Low,Close],Penetrierung = 0.3) = Array ((outInteger)
    CDLONNECK Muster am Hals
    CDLONNECK ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLPIERCING Durchbohrendes Muster
    CDLPIERCING ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLRICKSHAWMAN Der Rikscha-Mann
    CDLRICKSHAWMAN ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLRISEFALL3Methoden Aufstieg/Abstieg drei Methoden
    CDLRISEFALL3METHODS ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLSEZEINSCHIEDENDE Linien Trennlinien
    CDLSEPARATINGLINES ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLShootingSTAR Schießender Stern
    CDLSHOOTINGSTAR ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLSKURZLINE Kurze Linie Kerze
    CDLSHORTLINE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL Spinningtop Spinnende Spitze
    CDLSPINNINGTOP ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLSTALLEDPATTERN Stallbild
    CDLSTALLEDPATTERN ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLSTICKSANDWICH Ein Sandwich.
    CDLSTICKSANDWICH ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLTAKURI Takuri (Dragonfly Doji mit sehr langem Unterschatten)
    CDLTAKURI ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLTASUKIGAP Das Tasuki Gap
    CDLTASUKIGAP ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLTHRUSTING Schub-Muster
    CDLTHRUSTING ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLTRISTAR Tristar-Muster
    CDLTRISTAR ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLUNIQUE3RIVER Einzigartiger 3 Fluss
    CDLUNIQUE3RIVER ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLUPSIDEGAP2CROWS ist nicht verfügbar. Aufwärtsgeschaltet Zwei Krähen
    CDLUPSIDEGAP2CROWS ((Records [Open,High,Low,Close]) = Array ((outInteger)
    CDLXSIDEGAP3Methoden Aufwärts-/Abwärtslücke drei Methoden
    CDLXSIDEGAP3METHODS ((Records[Open,High,Low,Close]) = Array ((outInteger)
  • Volume Indicators:

    Indikator Beschreibung
    AD Chaikin A/D-Leitung
    AD ((Records[High,Low,Close,Volume]) = Array ((outReal)
    ADOSC Chaikin-A/D-Oszillator
    ADOSC ((Records[High,Low,Close,Volume],Fast Period = 3,Slow Period = 10) = Array ((outReal)
    OBV Über das Bilanzvolumen
    OBV ((Records[Close],Records[Volume]) = Array ((outReal)
  • Math Transform:

    Indikator Beschreibung
    ACOS Vektorrigonometrische ACos
    ACOS ((Records[Close]) = Array ((outReal)
    ASIN Vektor-Trigonometrische ASin
    ASIN ((Records[Close]) = Array ((outReal)
    ATAN Vektor-Trigonometrische ATan
    ATAN ((Records[Close]) = Array ((outReal)
    CEIL Vektordecke
    CEIL ((Records[Close]) = Array ((outReal)
    Kosten für den Betrieb Vektor-Trigonometrische Cos
    COS ((Records[Close]) = Array ((outReal)
    COSH Vektor-Trigonometrischer Cosh
    COSH ((Records[Close]) = Array ((outReal)
    Auslauf Vektorarithmetik Exp
    EXP ((Records[Close]) = Array ((outReal)
    Fußboden Vektorfläche
    FLOOR ((Records[Close]) = Array ((outReal)
    LN Vektor Log Natural
    LN ((Records[Close]) = Array ((outReal)
    LOG10 Vektor Log10
    LOG10 ((Records[Close]) = Array ((outReal)
    SIN Vektor-Trigonometrisches Sin
    SIN ((Records[Close]) = Array ((outReal)
    SINH Vektor-Trigonometrische Synchronisation
    SINH ((Records[Close]) = Array ((outReal)
    SQRT Quadratwurzel des Vektors
    SQRT ((Records[Close]) = Array ((outReal)
    TAN Vektor Trigonometrischer Tan
    TAN ((Records[Close]) = Array ((outReal)
    TANH Vektor-Trigonometrische Tanh
    TANH ((Records[Close]) = Array ((outReal)
  • Math Operators:

    Indikator Beschreibung
    Maximal Höchster Wert in einem bestimmten Zeitraum
    MAX ((Records[Close],Zeitrahmen = 30) = Array ((outReal)
    MAXINDEX Index mit dem höchsten Wert in einem bestimmten Zeitraum
    MAXINDEX ((Records[Close],Zeitrahmen = 30) = Array ((outInteger)
    MIN Mindestwert über einen bestimmten Zeitraum
    MIN ((Records[Close],Zeitrahmen = 30) = Array ((outReal)
    MININDEX Index des niedrigsten Wertes über einen bestimmten Zeitraum
    MININDEX ((Records[Close],Zeitrahmen = 30) = Array ((outInteger)
    MINMAX Mindest- und Höchstwerte für einen bestimmten Zeitraum
    Die Daten werden in der Tabelle 1 aufgeführt.
    MINMAXINDEX Indizes der niedrigsten und höchsten Werte über einen bestimmten Zeitraum
    MINMAXINDEX ((Records[Close],Zeitperiode = 30) = [Array ((outMinIdx),Array ((outMaxIdx) ]
    Gesamtbetrag Zusammenfassung
    SUM ((Records[Close],Zeitrahmen = 30) = Array ((outReal)
  • Cycle Indicators:

    Indikator Beschreibung
    Der Wert des Zinssatzes ist zu messen Hilbertsche Transformation - Periode des dominierenden Zyklus
    HT_DCPERIOD ((Records[Close]) = Array ((outReal)
    Ht_DCPHASE Hilbertsche Transformation - Dominanzphase des Zyklus
    HT_DCPHASE ((Records[Close]) = Array ((outReal)
    HT_PHASOR Hilbertsche Transform - Phasorkomponenten
    HT_PHASOR ((Records[Close]) = [Array ((outInPhase),Array ((outQuadrature) ]
    Ht_SINE Hilbertsche Transform - Sinewave
    HT_SINE ((Records[Close]) = [Array ((outSine),Array ((outLeadSine) ]
    Der Wert des Zinssatzes ist zu messen Hilbert-Transform - Trend gegen Zyklusmodus
    HT_TRENDMODE ((Records[Close]) = Array ((outInteger)
  • Volatility Indicators:

    Indikator Beschreibung
    ATR Durchschnittlicher tatsächlicher Bereich
    ATR ((Records[High,Low,Close],Zeitrahmen = 14) = Array ((outReal)
    NATR Normalisierter durchschnittlicher tatsächlicher Bereich
    NATR ((Records[High,Low,Close],Zeitrahmen = 14) = Array ((outReal)
    - Das ist nicht nötig. Wirkliche Reichweite
    (Durchschnittliche Anzahl der Werte, die für die Anzahl der Werte verwendet werden, die für die Anzahl der Werte verwendet werden)
  • Overlap Studies:

    Indikator Beschreibung
    BBANDS Bollinger-Bänder
    BBANDS ((Records[Close],Time Period = 5,Abweichungen nach oben = 2,Abweichungen nach unten = 2,MA Typ = 0) = [Array ((outRealUpperBand),Array ((outRealMiddleBand),Array ((outRealLowerBand) ]
    DEMA Doppel exponentieller gleitender Durchschnitt
    DEMA ((Records[Close],Zeitrahmen = 30) = Array ((outReal)
    EMA Exponentieller gleitender Durchschnitt
    EMA ((Records[Close],Zeitrahmen = 30) = Array ((outReal)
    Der Wert des Zinssatzes ist zu messen Hilbertsche Transform - Sofortige Trendlinie
    HT_TRENDLINE ((Records[Close]) = Array ((outReal)
    KAMA Kaufman Adaptiver gleitender Durchschnitt
    KAMA ((Records[Close],Zeitrahmen = 30) = Array ((outReal)
    - Nein. Beweglicher Durchschnitt
    MA ((Records[Close],Zeitrahmen = 30,MA Typ = 0) = Array ((outReal)
    Mutter MESA Adaptiver gleitender Durchschnitt
    MAMA ((Records[Close],Fast Limit = 0.5,Slow Limit = 0.05) = [Array ((outMAMA),Array ((outFAMA) ]
    Zwischenpunkt Mittelpunkt der Periode
    MIDPOINT ((Records[Close],Zeitrahmen = 14) = Array ((outReal)
    Mittelpreis Mittelpunktpreis im Zeitraum
    MIDPRICE ((Records[High,Low],Zeitrahmen = 14) = Array ((outReal)
    SAR Parabolische SAR
    SAR ((Records[High,Low],Beschleunigungsfaktor = 0,02,AF Maximum = 0,2) = Array ((outReal)
    SAREXT Parabolische SAR - Erweiterung
    SAREXT ((Records[High,Low],Startwert = 0,Offset auf Reverse = 0,AF Init Long = 0.02,AF Long = 0.02,AF Max Long = 0.2,AF Init Short = 0.02,AF Short = 0.02,AF Max Short = 0.2) = Array ((outReal)
    SMA Einfacher gleitender Durchschnitt
    SMA ((Records[Close],Zeitrahmen = 30) = Array ((outReal)
    T3 Dreifacher exponentieller gleitender Durchschnitt (T3)
    T3 ((Records[Close],Zeitrahmen = 5,Volumenfaktor = 0,7) = Array ((outReal)
    TEMA Dreifacher exponentieller gleitender Durchschnitt
    TEMA ((Records[Close],Zeitrahmen = 30) = Array ((outReal)
    Trima Dreiecks gleitender Durchschnitt
    TRIMA ((Records[Close],Zeitrahmen = 30) = Array ((outReal)
    WMA Gewichteter gleitender Durchschnitt
    WMA ((Records[Close],Zeitrahmen = 30) = Array ((outReal)
  • Statistic Functions:

    Indikator Beschreibung
    LINEARREG Lineare Regression
    LINEARREG ((Records[Close],Zeitrahmen = 14) = Array ((outReal)
    LINEARREG_ANGLE Lineare Regressionswinkel
    LINEARREG_ANGLE ((Records[Close],Time Period = 14) = Array ((outReal))
    LINEARREG_INTERCEPT ist eine Lineare Regressionsunterbrechung
    LINEARREG_INTERCEPT ((Records[Close],Time Period = 14) = Array ((outReal))
    LINEARREG_SLOPE Lineare Regressionsneigung
    LINEARREG_SLOPE ((Records[Close],Time Period = 14) = Array ((outReal))
    STDDEV Standardabweichung
    STDDEV ((Records[Close],Zeitrahmen = 5, Abweichungen = 1) = Array ((outReal)
    TSF Zeitreihenprognose
    TSF ((Records[Close],Zeitrahmen = 14) = Array ((outReal)
    VAR Abweichung
    VAR ((Records[Close],Zeitrahmen = 5,Abweichungen = 1) = Array ((outReal)
  • Momentum Indicators:

    Indikator Beschreibung
    ADX Durchschnittlicher Richtungsbewegungsindex
    ADX ((Records[High,Low,Close],Zeitrahmen = 14) = Array ((outReal)
    ADXR Durchschnittlicher Index der Richtungsbewegung
    ADXR ((Records[High,Low,Close],Time Period = 14) = Array ((outReal))
    Abweichend Absolute Preis-Oszillator
    APO ((Records[Close],Fast Period = 12,Slow Period = 26,MA Typ = 0) = Array ((outReal)
    AROON Aroon
    AROON ((Records[High,Low],Time Period = 14) = [Array ((outAroonDown),Array ((outAroonUp) ]
    AROONOSC Aroon-Oszillator
    AROONOSC ((Records[High,Low],Zeitrahmen = 14) = Array ((outReal)
    BOP Machtgleichgewicht
    BOP ((Records[Open,High,Low,Close]) = Array ((outReal))
    CCI Index der Warenkanäle
    CCI ((Records[High,Low,Close],Zeitrahmen = 14) = Array ((outReal)
    Gemeinsame Marktorganisation Chande-Impuls-Oszillator
    CMO ((Records[Close],Zeitrahmen = 14) = Array ((outReal)
    DX Richtungsbewegungsindex
    DX ((Records[High,Low,Close],Zeitrahmen = 14) = Array ((outReal)
    MACD Gleitender Durchschnitt Konvergenz/Divergenz
    MACD ((Records[Close],Fast Period = 12,Slow Period = 26,Signal Period = 9) = [Array ((outMACD),Array ((outMACDSignal),Array ((outMACDHist) ]
    MACDEXT MACD mit kontrollierbarem MA-Typ
    MACDEXT ((Records[Close],Fast Period = 12,Fast MA = 0,Slow Period = 26,Slow MA = 0,Signal Period = 9,Signal MA = 0) = [Array ((outMACD),Array ((outMACDSignal),Array ((outMACDHist) ]
    MACDFIX Beweglicher Durchschnittskonvergenz/Divergenzfix 12/26
    MACDFIX ((Records[Close],Signal Period = 9) = [Array ((outMACD),Array ((outMACDSignal),Array ((outMACDHist) ]
    MFI Geldflussindex
    MFI ((Records[High,Low,Close,Volume],Zeitrahmen = 14) = Array ((outReal)
    MINUS_DI Minus Richtungsanzeige
    MINUS_DI(Records[High,Low,Close],Zeitperiode = 14) = Array ((outReal)
    MINUS_DM Minus Richtungsbewegung
    MINUS_DM ((Records[High,Low],Zeitperiode = 14) = Array ((outReal)
    Mutter! Momentum
    MOM ((Records[Close],Zeitrahmen = 10) = Array ((outReal)
    PLUS_DI Plus-Richtungsanzeiger
    PLUS_DI ((Records[High,Low,Close],Zeitperiode = 14) = Array ((outReal)
    PLUS_DM Zusätzliche Richtungsbewegung
    PLUS_DM ((Records[High,Low],Zeitperiode = 14) = Array ((outReal)
    PPO Prozentualer Preis-Oszillator
    PPO ((Records[Close],Fast Period = 12,Slow Period = 26,MA Typ = 0) = Array ((outReal)
    ROC Veränderungsrate: ((Preis/PrevPrice) -1) *100
    ROC ((Records[Close],Zeitrahmen = 10) = Array ((outReal)
    ROCP Wechselkurs Prozentsatz: (Preis-vorpreis) /vorpreis
    ROCP ((Records[Close],Zeitrahmen = 10) = Array ((outReal)
    ROCR Wechselkursverhältnis: (Preis/PrevPrice)
    ROCR ((Records[Close],Zeitrahmen = 10) = Array ((outReal)
    ROCR100 Wechselkursverhältnis 100 Skala: (Preis/PrevPrice) *100
    ROCR100 ((Records[Close],Zeitrahmen = 10) = Array ((outReal)
    RSI Relativer Stärkeindex
    RSI ((Records[Close],Zeitrahmen = 14) = Array ((outReal)
    STOCH Stochastische
    STOCH ((Records[High,Low,Close],Fast-K Period = 5,Slow-K Period = 3,Slow-K MA = 0,Slow-D Period = 3,Slow-D MA = 0) = [Array(outSlowK),Array(outSlowD]
    STOCHF Stochastisch schnell
    STOCHF ((Records[High,Low,Close],Fast-K Period = 5,Fast-D Period = 3,Fast-D MA = 0) = [Array(outFastK),Array(outFastD]
    Stochrs Stochastic Relative Strength Index
    STOCHRSI ((Records[Close],Zeitperiode = 14,Fast-K Periode = 5,Fast-D Periode = 3,Fast-D MA = 0) = [Array(outFastK),Array(outFastD]
    TRIX Ein-Tage-Rate-Of-Change (ROC) einer dreifachen glatten EMA
    TRIX ((Records[Close],Zeitperiode = 30) = Array ((outReal)
    ULTOSC Endgültiger Oszillator
    ULTOSC ((Records[High,Low,Close],Erste Periode = 7,Zweite Periode = 14,Dritte Periode = 28) = Array ((outReal)
    WILLR Williams % R
    WILLR(Records[High,Low,Close],Zeitperiode = 14) = Array(outReal)
  • Price Transform:

    Indikator Beschreibung
    AVGPRICE Durchschnittlicher Preis
    AVGPRICE ((Records[Open,High,Low,Close]) = Array ((outReal)
    MEDPRICE Durchschnittlicher Preis
    MEDPRICE ((Records[High,Low]) = Array ((outReal)
    TYPE-Preis Typischer Preis
    TYPPRICE ((Records[High,Low,Close]) = Array ((outReal)
    WCLPRICE Gewichteter Schlusskurs
    WCLPRICE ((Records[High,Low,Close]) = Array ((outReal)

Grundlegende Daten

Die FMZ Quant Trading Plattform unterstützt das Backtesting und Abfragen verschiedener fundamentaler Daten im Bot.

Datenanforderung

Verwendungexchange.GetData(Source)Funktion, um die Grunddaten zu erhalten. Die grundlegenden Daten der Kryptowährung wurden nicht vorübergehend gesammelt.

Datenformat

Die grundlegenden Daten der Kryptowährung wurden nicht vorübergehend gesammelt.

Erweiterung der API der FMZ-Plattform

Die FMZ Quant Trading-Plattform unterstützt die programmatische Invokation verschiedener Funktionen der Plattform und hat die erweiterte API eröffnet.

Es unterstützt die Erweiterung API Authority Management, wie in der Abbildung gezeigt:

img

Es erlaubt die neu hinzugefügtenAPI KEYSie haben alle Berechtigungen.*in das Eingabefeld API-Berechtigungen, um alle Benutzeroberflächenberechtigungen zu öffnen. Geben Sie spezifische Benutzeroberflächenberechtigungen an und geben Sie die entsprechenden erweiterten API-Funktionsnamen ein, die durch Kommas getrennt sind, z. B.GetRobotDetail, DeleteRobotDas heißt, gib mir das hier.API KEYdie Erlaubnis zurErhalten Sie die Schnittstelle des Bots detaillierte InformationenundSchnittstelle des Bots löschen.

Erstellen von ApiKey

img

API-Rückgabecode

Beschreibung Code
Erfolgreiche Ausführung 0
Falscher API-Schlüssel 1
Falsche Unterschrift 2
Nicht-Fehler 3
Falsche Methode 4
Falscher Parameter 5
Interner unbekannter Fehler 6

Bot-Status

(Normaler Start)

Status Code
Inaktivität 0
In Betrieb 1
Aufhören 2
Ausgeschrieben 3
Aufgehalten 4
Die Strategie hat Fehler. 5

(abnormal)

Status Code
Die Strategie ist abgelaufen, und bitte kontaktieren Sie den Autor, um es wieder zu kaufen -1
Kein Docker gefunden -2
Fehler bei der Kompilierung der Strategie -3
Der Bot läuft bereits. -4
Unzureichende Bilanz -5
Die Anzahl der gleichzeitigen Strategien überschreitet die Grenze -6

Überprüfungsverfahren

Überprüfung der Token

Verwendungmd5Verschlüsselungsmethode zu überprüfen.

Python, Golang Sprache Anrufbeispiele:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
import json
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

try:
    import md5
    import urllib2
    from urllib import urlencode
except:
    import hashlib as md5
    import urllib.request as urllib2
    from urllib.parse import urlencode

accessKey = 'f27bfcXXXXXXXX013c62e98XXXXX817a'
secretKey = 'ffeXXXXXXXX085ff7269XXXXXXXX6f82'

def api(method, *args):
    d = {
        'version': '1.0',
        'access_key': accessKey,
        'method': method,
        'args': json.dumps(list(args)),
        'nonce': int(time.time() * 1000),
        }

    d['sign'] = md5.md5(('%s|%s|%s|%d|%s' % (d['version'], d['method'], d['args'], d['nonce'], secretKey)).encode('utf-8')).hexdigest()
    # Note: for the timeout problem of "urllib2.urlopen" function, you can set the timeout time; for example, urllib2.urlopen ('https://www.fmz.com/api/v1', urlencode(d).encode('utf-8'), timeout = 10), that is, set timeout for 10 seconds
    return json.loads(urllib2.urlopen('https://www.fmz.com/api/v1', urlencode(d).encode('utf-8')).read().decode('utf-8'))

# Return the docker list
print(api('GetNodeList'))
# Return the exchange list
print(api('GetPlatformList'))
# GetRobotList (offset, length, robotStatus, label); passing "-1" means obtaining all
print(api('GetRobotList', 0, 5, -1, 'member2'))
# CommandRobot(robotId, cmd) sends commands to the bot
print(api('CommandRobot', 123, 'ok'))
# StopRobot(robotId) returns the bot status code
print(api('StopRobot', 123))  
# RestartRobot(robotId) returns the bot status code
print(api('RestartRobot', 123))
# GetRobotDetail(robotId) returns detailed bot information
print(api('GetRobotDetail', 123))
package main

import (
    "fmt"
    "time"
    "encoding/json"
    "crypto/md5"
    "encoding/hex"
    "net/http"
    "io/ioutil"
    "strconv"
    "net/url"
)

// Fill in your own FMZ platform api key
var apiKey string = ""                                  
// Fill in your own FMZ platform secret key
var secretKey string = ""                               
var baseApi string = "https://www.fmz.com/api/v1"

func api(method string, args ... interface{}) (ret interface{}) {
    // Process args
    jsonStr, err := json.Marshal(args)
    if err != nil {
        panic(err)
    }

    params := map[string]string{
        "version" : "1.0", 
        "access_key" : apiKey,
        "method" : method,
        "args" : string(jsonStr),
        "nonce" : strconv.FormatInt(time.Now().UnixNano() / 1e6, 10),
    }    

    data := fmt.Sprintf("%s|%s|%s|%v|%s", params["version"], params["method"], params["args"], params["nonce"], secretKey)
    h := md5.New()
    h.Write([]byte(data))
    sign := h.Sum(nil)

    params["sign"] = hex.EncodeToString(sign)

    // http request 
    client := &http.Client{}

    // request 
    urlValue := url.Values{}
    for k, v := range params {
        urlValue.Add(k, v)
    }
    urlStr := urlValue.Encode()
    request, err := http.NewRequest("GET", baseApi + "?" + urlStr, nil)
    if err != nil {
        panic(err)
    }    

    resp, err := client.Do(request)
    if err != nil {
        panic(err)
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    ret = string(b)
    return 
}

func main() {
    settings := map[string]interface{}{
        "name": "hedge test",
        "strategy": 104150,                      
        // K-line period parameter "60" means 60 seconds
        "period": 60,                           
        "node" : 73938,                         
        "appid": "member2",                
        "exchanges": []interface{}{
            map[string]interface{}{
                "eid": "Exchange", 
                "label" : "test_bjex", 
                "pair": "BTC_USDT", 
                "meta" : map[string]interface{}{
                    // Fill in the access key
                    "AccessKey": "",                                
                    // Fill in the secret key
                    "SecretKey": "",                                
                    "Front" : "http://127.0.0.1:6666/exchange",
                },
            },
        },
    }

    method := "RestartRobot"
    fmt.Println("Call interface:", method)
    ret := api(method, 124577, settings)
    fmt.Println("main ret:", ret)
}

Direktprüfung

Es unterstützt die Überprüfung ohnetoken(übergeben)secret_keySie können eine URL generieren, die direkt zugänglich ist. Zum Beispiel die URL, die direkt interaktive Anweisungen an den Bot gibt, die fürTradingViewoder derWebHookin anderen Fällen zurückrufen. FürCommandRobot(RobotId, Cmd)Funktion, der Parameternoncekeine Überprüfung erfordert und die Zugriffsfrequenz und die Besuchszeiten der Schnittstelle nicht begrenzt sind.

https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyyy&method=CommandRobot&args=[186515,"ok12345"]

Unter der Voraussetzung, daß die direkte Prüfung unterstützt wird,CommandRobotInterface wird unterstützt, um dieBodyDie Daten in der Anfrage.WebHook URLvonTradingView:

https://www.fmz.com/api/v1?access_key=fd3be82e9e6e6ed4439f2793a5e9ca&secret_key=520b9f10f3768e6ad1af59ff25184&method=CommandRobot&args=[130350,+""]

Achten Sie auf die Einstellung nach folgendem Format:args=[130350,+""], in denen130350ist der BotIDder FMZ Quant Trading Plattform.

Einstellungen im Nachrichtenfeld (die angeforderten Body Daten, die gesendet werden sollen):

  • JSON-Format

    {"close": {{close}}, "name": "aaa"}
    

    Der Roboter mitIDvon186515kann die interaktive Anweisung erhalten:{"close": 39773.75, "name": "aaa"}.

  • Textformat:

    BTCUSDTPERP Crossing 39700.00 close: {{close}}
    

    Der Roboter mitIDvon186515kann die interaktive Anweisung erhalten:BTCUSDTPERP Crossing 39700.00 close: 39739.4.

Beispiele fürPython & GolangSprachanrufe:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import json
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

try:
    import urllib2
except:
    import urllib.request as urllib2

accessKey = 'your accessKey'
secretKey = 'your secretKey'

def api(method, *args):
    return json.loads(urllib2.urlopen(('https://www.fmz.com/api/v1?access_key=%s&secret_key=%s&method=%s&args=%s' % (accessKey, secretKey, method, json.dumps(list(args)))).replace(' ', '')).read().decode('utf-8'))

# If APIKEY does not have the interface permission, the call to print(api('RestartRobot', 130350)) will fail, and the returned data is: {'code': 4, 'data': None}
# print(api('RestartRobot', 130350))

# Print bot details with ID 130350
print(api('GetRobotDetail', 130350))  
package main

import (
    "fmt"
    "encoding/json"
    "net/http"
    "io/ioutil"
    "net/url"
)

// Fill in your own FMZ platform api key
var apiKey string = "your access_key"                                  
// Fill in your own FMZ platform secret key
var secretKey string = "your secret_key"                               
var baseApi string = "https://www.fmz.com/api/v1"

func api(method string, args ... interface{}) (ret interface{}) {
    jsonStr, err := json.Marshal(args)
    if err != nil {
        panic(err)
    }
    
    params := map[string]string{
        "access_key" : apiKey,
        "secret_key" : secretKey,
        "method" : method,
        "args" : string(jsonStr),
    }    

    // http request 
    client := &http.Client{}

    // request 
    urlValue := url.Values{}
    for k, v := range params {
        urlValue.Add(k, v)
    }
    urlStr := urlValue.Encode()
    request, err := http.NewRequest("GET", baseApi + "?" + urlStr, nil)
    if err != nil {
        panic(err)
    }    

    resp, err := client.Do(request)
    if err != nil {
        panic(err)
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    ret = string(b)
    return 
}

func main() {
    method := "GetRobotDetail"
    fmt.Println("Call interface:", method)
    ret := api(method, 130350)
    fmt.Println("main ret:", ret)
}

Verwenden Sie die erweiterte API auf FMZ Quant, um TradingView Warnsignalhandel zu realisieren

Erklärung der erweiterten API

  • Die erweiterte API der FMZ Quant Trading Plattform

    https://www.fmz.com/api/v1?

    Das obige Symbol?wird von den Anforderungsparametern gefolgt.

    Die inPythonSprache:

    {
        'version'   : '1.0',
        # Access key, applied on the account management page
        'access_key': '8a1f6c3785fd78a1848320e0b19js99f',   
        # The specific method called
        'method'    : 'GetNodeList',                        
        # The parameter list of specific method algorithm
        'args'      : [],                                   
        # Timestamp, in the unit of millisecond, is allowed to have 1 hour of time error both before and after the standard timestamp;the nonce must be greater than the nonce value of the last access 
        'nonce'     : 1516292399361,                        
        # Signature
        'sign'      : '085b63456c93hfb243a757366600f9c2'    
    }
    

    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=8a1f6c3785fd78a1848320e0b19js99f&
    nonce=1516292399361&
    args=%5B%5D&
    sign=085b63456c93hfb243a757366600f9c2&
    version=1.0&
    method=GetNodeList
    

    Achten Sie darauf, dass es keinesecret_keyzwischen den Anforderungsparametern.

  • Signaturmethode In den Anforderungsparametern wird der Parametersignist eine verschlüsselte Zeichenfolge, und die Verschlüsselungsmethode ist wie folgt.

    Nach dem Format:

    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.

    Die BezugnahmePythonCode des Signaturteils:

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

GetNodeList (siehe unten)

GetNodeList()Gibt die Dockerliste des FMZ Quant Trading-Plattformkontos zurück, die demAPI KEYin der Anfrage.

  • Parameter Keine

  • Rücklaufwert

    {
        "code": 0,
        "data": {
            "result": {
                "nodes": [{
                    // Version number
                    "build": "3.3",                 
                    "date": "2018-01-19 10:35:24",
                    "id": 34500,
                    "ip": "126.28.21.120",
                    // Number of the bots running on this docker
                    "loaded": 1,                    
                    "name": "iZ9116xhkgtZ",
                    // Whether online
                    "online": true,                 
                    // Operation system
                    "os": "linux",                  
                    // Whether to enable offline alert
                    "wd": 0                         
                },
                ...
                ]
            },
            "error": null
        }
    }
    

GetRobotGroupList()

GetRobotGroupList()gibt die Bot-Gruppierungsliste des FMZ Quant Trading-Plattformkontos zurück, die demAPI KEYin der Anfrage.

  • Parameter Keine

  • Rücklaufwert

    {
        "code":0,
        "data":{
            "result":{
                // All bot grouping information: group ID, group name 
                "items":[{"id":1122,"name":"test"}]
            },
            "error":null
        }
    }
    

GetPlatformList()

GetPlatformList()gibt die Liste der Börsen zurück, die durch das Konto der FMZ Quant Trading Plattform hinzugefügt wurden, die demAPI KEYin der Anfrage.

  • Parameter Keine

  • Rücklaufwert

    {
        "code": 0,
        "data": {
            "result": {
                "platforms": [{
                    "eid": "Huobi",
                    "id": 12483,
                    // The label when adding a platform
                    "label": "huobi - test ETH/ETC",                            
                    "logo": "huobi.png",
                    "name": "huobi",
                    "stocks": ["LTC_BTC", "ETH_BTC", "ETC_BTC", "BCH_BTC"],
                    "website": "https://www.huobi.pro/"
                }, {
                    "eid": "AEX",
                    "id": 16345,
                    "label": "AEX",
                    "logo": "",
                    "name": "AEX",
                    "stocks": ["LTC_BTC", "ETH_BTC", "ETC_BTC", "BCC_BTC"],
                    "website": "https://www.aex.com/"
                },
                ...
                ]
            },
            "error": null
        }
    }
    

GetRobotList(...)

GetRobotList(offset, length, robotStatus, label)Gibt die Roboterliste des Kontos der FMZ Quant Trading Plattform zurück, die derAPI KEYin der Anfrage.

  • Parameteroffset, lengthundrobotStatussind von ganzzahligem Typ undlabelist der Stringart.

    • offset
    • length
    • robotStatus(Überschreiten -1 bedeutet, alles zu bekommen)
    • label(Einmaliges Etikett; alle Bots mit dem Etikett können ausflirtet werden)

    FürPythonCodebeispiel, siehe obenÜberprüfungsmethode - Überprüfung von Token, und folgt diePythonEinladungsbeispiel:print api('GetRobotList', 'member2')Drucken Sie die Informationen aller Roboter mit dem benutzerdefinierten Etikettmember2. print api('GetRobotList', 0, 5, -1, 'member2')Seite 0 bis 5 und eine Liste von bis zu 5 Robotern mitmember2.

  • Rücklaufwert

    {
        "code": 0,
        "data": {
            "result": {
                "all": 53,
                "bots": [{
                    "date": "2017-12-25 09:29:27",
                    "end_time": "2017-12-28 17:44:21",
                    "id": 66054,
                    // If the value is 1, the bot is a virtual platform bot
                    "is_sandbox": 1,                                      
                    "name": "C++ test strategy",
                    "node_guid": "705d9aaaaaaaa93b49baaaaa787581cb087",
                    "profit": 0,
                    "public": 0,
                    "refresh": 151345645647000,
                    "start_time": "2017-12-28 17:44:15",
                    "status": 3,
                    "strategy_id": 65365,
                    "strategy_isowner": true,
                    "strategy_name": "C++  Version  Docker  API  Test Strategy(cryptocurrency futures and spot markets)",
                    "wd": 0
                }, ...
                ]
            },
            "error": null
        }
    }
    

KommandoRobot(...)

CommandRobot(RobotId, Cmd)Die Schnittstelle sendet den interaktiven Befehl an den entsprechenden Roboter (Roboter)ID: RobotId) derAPI KEYin der Anfrage des FMZ Quant-Kontos (der interaktive Befehl wird vomGetCommand()API in die Strategie aufgerufen und zurückkehrt).

  • ParameterRobotIdist von ganzzahligem Typ, nämlich der BotID; Cmdist von String-Typ, der interaktive Befehle an Bots sendet.

    • RobotIdDer Roboter.ID, kann durch dieGetRobotList(...) interface.
    • Cmdist 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 (um die interaktive Logik inGetCommand()Funktion in der Akte).
  • Rücklaufwert

    {
        // The API request was successfully executed
        "code": 0,                 
        "data": {
            // However, sending a command to a bot that is not running returns failure
            "result": false,       
            "error": null
        }
    }
    

StopRobot(RobotId)

StopRobot(RobotId)Stoppt die Ausführung des Bots mit der angegebenen ID (Roboter)ID: RobotId), die demAPI KEYin der Anforderung des FMZ Quant-Kontos.

  • ParameterRobotIdist von ganzzahligem Typ, nämlich der BotID, die durchGetRobotList(...)Schnittstelle;StopRobot(RobotId)Die Schnittstelle gibt den Statuscode des gestoppten Roboters zurück.

  • Rücklaufwert

    {
        "code": 0,
        "data": {
            // 2 means stopping
            "result": 2,           
            "error": null
        }
    }
    

Wieder startenRobot(...)

RestartRobot(RobotId, Settings)Der Roboter wird mit der angegebenen ID (Roboter) neu gestartet.ID: RobotId), die demAPI KEYin der Anforderung des FMZ Quant-Kontos.

Wenn der Roboter durch die erweiterte API erstellt wird, wird die erweiterte APIRestartRobot (RobotId, Settings)Die Anlage muss für den Neustart verwendet werden, und dieSettingsParameter muss übergeben werden. Der auf der Plattformseite erstellte Roboter kann über die erweiterte API oder durch Klicken auf die Taste auf der Seite neu gestartet werden.SettingsParameter, oder einfach nur die dieRobotIdWenn Sie nur dieRobotIdParameter, starten Sie den Bot nach den aktuellen Bot-Einstellungen.

  • Parameter

    • Ohne die Konfiguration des Bots, die Strategie ParameterSettings: RobotIdist von ganzzahligem Typ; der RoboterIDkann durchGetRobotList(...).

    • Mit der Konfiguration des Bots, die Strategie ParameterSettings: RobotIdist von ganzzahligem Typ; der BotIDkann durchGetRobotList(...). Settingsist vonJSONObjekttyp.

      SettingsParameterformat wie folgt:

      Settings = {
          "name": "hedge test",
          // Strategy parameter
          "args": [["Interval", 500]],            
          // Strategy ID, which can be obtained with "GetStrategyList" method
          "strategy": 25189,                      
          // K-line period parameter "60" means 60 seconds
          "period": 60,                           
          // Specify on which docker to run; if the attribute is not written, it will be automatically assigned to run
          "node" : 51924,                         
          // Custom field
          "appid": "member2",                     
          "exchanges": [
              // ZB; "pid" can be obtained by "GetPlatformList" method
              {"pid": 15445, "pair": "ETH_BTC"},     
              // OKEX; 2 exchange objects are configured
              {"pid": 13802, "pair": "BCH_BTC"},     
              
              // In addition to the platforms ("pid" identification) configured by the FMZ dashboard, you can also set exchange configuration information that has not been configured to operate the bot
              {"eid": "OKEX", "pair": "ETH_BTC", "meta" :{"AccessKey": "xxx", "SecretKey": "yyy"}},
              {"eid": "Huobi", "pair": "BCH_BTC", "meta" :{"AccessKey": "xxx", "SecretKey": "yyy"}}
          ]
      }
      

      Anmerkung: Wenn Sie die sensiblen Informationen verwenden, wie zum Beispiel die PlattformAPI KEY, einschließlich"meta":{"AccessKey":"xxx","SecretKey":"yyy"}in der Konfiguration voneid, sollten Sie wissen, dass FMZ die Daten nicht speichert. Die Daten werden direkt an das Docker-Programm gesendet, so dass diese Informationen jedes Mal konfiguriert werden müssen, wenn der Bot erstellt oder neu gestartet wird.

      Um den Bot neu zu starten, der das Plugin verwendet, um den Austausch zu unterstützen, wenn Sie dieSettingsSie sollten die folgenden Einstellungen für dieexchangesEigenschaft:

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

      labelAttribut ist, um ein Etikett für das Exchange-Objekt zu setzen, auf das der aktuelleAllgemeines Protokoll, die durch dieexchange.GetLabel()die Rolle der Kommission in der Strategie.

  • Rücklaufwert

    {
        "code": 0,
        "data": {
            // 1 means running
            "result": 1,          
            "error": null
        }
    }
    

GetRobotDetail (RobotId))

GetRobotDetail(RobotId)Erhält die detaillierten Informationen über den Roboter mit der angegebenen ID (robotID: RobotId), die demAPI KEYauf Anfrage des Kontos der FMZ Quant Trading Plattform.

  • ParameterRobotIdist von ganzzahligem Typ; der RoboterIDkann durchGetRobotList(...).

  • Rücklaufwert

    {
        "code": 0,
        "data": {
            "result": {
                "robot": {
                    // Next payment time, namely the effective cut-off time after the current payment
                    "charge_time": 1561992608,                                                  
                    // Elapsed Time
                    "charged": 3600,                                                            
                    // Amount consumed (0.125 CNY = 12500000 / 1e8)
                    "consumed": 12500000,                                                       
                    "date": "2019-07-01 21:50:08",
                    "debug": "{\"Nano\":1561989722431145193,\"Stderr\":\"\",\"Stdout\":\"\"}",  
                    // Stop time
                    "end_time": "2019-07-01 22:02:02",                                          
                    // The docker ID assigned when the robot is running; if it is automatic, the value is -1
                    "fixed_id": 85960,                                                          
                    "id": 150288,
                    "is_deleted": 0,
                    // Whether it has the permission to manage the bot
                    "is_manager": true,                                                         
                    // Whether it is virtual exchange 
                    "is_sandbox": 0,                                                            
                    // Robot name
                    "name": "Spread monitoring2",                                                         
                    // Docker ID
                    "node_id": 85960,                                                           
                    // The exchange objects configured by the robot
                    "pexchanges": {                                                             
                        // 14703 is eid, and "GateIO" is exchange name
                        "14703": "GateIO",                                                      
                        "15445": "ZB",
                        "42960": "OKEX",
                        "44314": "Huobi"
                    },
                    // label information of the exchange object configured by the robot
                    "plabels": {                                                                
                        "14703": "Gate.IO (old name: BTER)",
                        "15445": "ZB",
                        "42960": "OKEX spot V3 test",
                        "44314": "Huobi - newest test"
                    },
                    "profit": 0,
                    // Whether to show public
                    "public": 0,                                                                
                    // Recent active time
                    "refresh": 1561989724000,                                                   
                    "robot_args": "[[\"TickInterval\",500],[\"StrOnePair\",\"spot:Huobi:spot;spot:OKEX:spot;false;60;5;0;0\"],[\"StrTwoPair\",\"spot:ZB:spot;spot:GateIO:spot;false;60;5;0;0\"],[\"StrThreePair\",\"null\"],[\"StrFourPair\",\"null\"],[\"StrSixPair\",\"null\"],[\"StrFivePair\",\"null\"],[\"ResetChart\",false]]",
                    "start_time": "2019-07-01 22:00:54",
                    // Robot status
                    "status": 4,                                                                
                    "strategy_args": "[[\"TickInterval\",\"Detection frequency (ms)\",\"This is millisecond. Don't set it too small.\",500],[\"StrOnePair\",\"Combination1\",\"Spread Combination\",\"spot:Huobi:spot;spot:OKCoin:spot;false;60;5;0;0\"],[\"StrTwoPair\",\"Combination2\",\"Spread Combination\",\"future:Futures_OKCoin:this_week;spot:OKCoin:spot;false;60;5;0;0\"],[\"StrThreePair\",\"Combination3\",\"Spread Combination\",\"future:Futures_OKCoin:this_week;future:Futures_OKCoin:quarter;true;60;5;0;0\"],[\"StrFourPair\",\"Combination4\",\"Spread Combination\",\"null\"],[\"StrSixPair\",\"Combination6\",\"Combination\",\"null\"],[\"StrFivePair\",\"Combination5\",\"Combination\",\"null\"],[\"ResetChart\",\"whether to clear the previous chart\",\"clear the previous chart\",false]]",
                    // Configured exchange objects, set trading pair information
                    "strategy_exchange_pairs": "[60,[44314,42960,15445,14703],[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]]",
                    // Strategy ID
                    "strategy_id": 21337,                                                       
                    // Strategy's last modification time
                    "strategy_last_modified": "2018-11-29 12:07:58",                            
                    // Strategy name
                    "strategy_name": "Digital currency spread monitoring and analysis",                                       
                    "summary": "Polling time consuming: 500ms\n`[{\"type\":\"table\",\"title\":\"pair basic data\",\"cols\":[\"ID\",\"NameA - NameB\",\"SymbolA - SymbolB\",\"UpdCycle\",\"isUSD\",\"Collect\"],\"rows\":[[\"0 \",\"Huobi/OKEX\",\"spot/spot\",60,false,\"612ms\"],[\"1 \",\"ZB/GateIO\",\"spot/spot\",60,false,\"501ms\"]]},{\"type\":\"table\",\"title\":\"pair market data\",\"cols\":[\"ID\",\"NameA - NameB\",\"SymbolA - SymbolB\",\"A_Bids1\",\"B_Asks1\",\"Plus\",\"A_Asks1\",\"B_Bids1\",\"Minus\"],\"rows\":[[\"0 \",\"Huobi/OKEX\",\"spot/spot\",10518.02,10525.1,-7.08,10520,10523,-3],[\"1 \",\"ZB/GateIO\",\"spot/spot\",285.68,286,-0.32,285.8,285.85,-0.05]]},{\"type\":\"table\",\"title\":\"pair statistical data\",\"cols\":[\"ID\",\"NameA - NameB\",\"SymbolA - SymbolB\",\"Maximum spread\",\"Minimum spread\",\"Mean positive premium\",\"Mean negative premium\"],\"rows\":[[\"0 \",\"Huobi/OKEX\",\"spot/spot\",0,-3,0,-1.47],[\"1 \",\"ZB/GateIO\",\"spot/spot\",0.03,-0.05,0.03,-0.05]]}]`\n",
                    // Whether to enable offline alert
                    "wd": 0                                                                      
                }
            },
            "error": null
        }
    }
    

    DiesummaryDas Attribut in den zurückgegebenen Daten (Informationen in der Statusleiste des Bots; 10 Sekunden lang zwischengespeichert; nicht die neuesten Daten) hat derzeit eine Datenmenge (zwischengespeicherte Daten); die Datenmenge beträgt 200 KB, und die überschüssigen Daten werden abgeschnitten.GetRobotLogsSchnittstelle zu erhalten (wennGetRobotLogsErhält die Informationen der Statusleiste, das Feldsummaryist die jüngste Daten).

    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 die von dem Bot eingestellte Standard-K-Linien-Periode dar: 1 Minute, also 60 Sekunden.

    [44314,42960,15445,14703]ist das Austauschobjekteidfür den Bot konfiguriert (nach der Additionsreihenfolge).[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]ist das Handelspaar für das vom Bot konfigurierte Tauschobjekt (in der Reihenfolge der Addition und in einer Eins-zu-Eins-Korrespondenz miteid).

GetAccount (siehe unten)

GetAccount()gibt die Kontoinformationen zurück, die derAPI KEYauf Anfrage des Kontos der FMZ Quant Trading Plattform.

  • Parameter Keine

  • Rücklaufwert

    {
        "code": 0, 
        "data": {
            "result": {
                "username": "littlelittledream",
                "level": 0,
                "consumed": 3235500000,
                "invitation_code": "1545967",
                "points": 25,
                // The value here, due to precision control, is expressed in integer. To convert it to actual value, you need to divide it by 1e8 (i.e. 10 to the 8th power), and the actual result here is: 65.421
                "balance": 6542100000               
            },
            "error": None
        }
    }
    

Erhalten


Mehr