O recurso está a ser carregado... Carregamento...

Instruções da API FMZ

Autora:Zero., Criado: 2020-04-20 10:19:00, Atualizado: 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++bibliotecahttps://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() + "`");
    }
    

Indicadores de função na biblioteca Talib

Entre os parâmetros das seguintes funções:Records[Close]representa o preço de fechamento nos dados de linha k recebidos,Array()representa uma matriz, eArray(outInteger)representa a devolução de uma matriz de dados inteiros.

Exemplo de código de chamadaCCIIndicador:

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:

    Indicador Descrição
    CDL2CROWS Dois Corvos
    CDL2CROWS ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL3BLACKCROWS Três Corvos Negros
    CDL3BLACKCROWS ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL3 DENTRO Três dentro para cima/abaixo
    CDL3INSIDE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL3LINESTRIKE Greve de três linhas
    CDL3LINESTRIKE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL3FOLHO Três fora para cima/para baixo
    CDL3OUTSIDE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL3 Estrela do Sul Três estrelas no sul
    CDL3STARSINSOUTH ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL3SOLDADOS Brancos Três soldados brancos avançando
    CDL3WHITESOLDIERS ((Registros [Open,High,Low,Close]) = Matriz ((outInteger)
    CDLABANDONEDBABY Bebê abandonado
    CDLABANDONEDBABY ((Registros [Open,High,Low,Close],Penetração = 0.3) = Array ((outInteger)
    CDLADVANCEBLOCK Bloqueio antecipado
    CDLADVANCEBLOCK ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLBELTHOLD Segurança do cinto
    CDLBELTHOLD ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLBRAKAWAY Separação
    CDLBREAKAWAY ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLCLOSING MARUBOZU Fechando o Marubozu
    CDLCLOSINGMARUBOZU ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLCONCEALBABYSWALL (em inglês) Escondendo a Baby Swallow
    CDLCONCEALBABYSWALL ((Registros [Open,High,Low,Close]) = Matriz ((outInteger)
    CDLContra-ataque Contra-ataque.
    CDLCOUNTERATTACK ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLDARKCLOUDCOVER Cobertura de nuvens escuras
    CDLDARKCLOUDCOVER ((Records[Open,High,Low,Close],Penetração = 0.5) = Array ((outInteger)
    CDLDOJI Doji
    CDLDOJI ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLDOJISTAR Estrela Doji
    CDLDOJISTAR ((Records[Open,High,Low,Close]) = Array ((outInteger)
    O CDDRAGONFLYDOJI Doji da libélula
    CDLDRAGONFLYDOJI ((Registros [Open,High,Low,Close]) = Matriz ((outInteger)
    CDLENGULFING Padrão de engolimento
    CDLENGULFING ((Records[Open,High,Low,Close]) = Array ((outInteger)
    O CDVENINGDOJISTAR Estrela do Doji
    CDLEVENINGDOJISTAR ((Records[Open,High,Low,Close],Penetração = 0.3) = Array ((outInteger)
    CDLEVENINGSTAR Estrela da Noite
    CDLEVENINGSTAR ((Records[Open,High,Low,Close],Penetração = 0.3) = Array ((outInteger)
    CDLGAPSIDEESIDEBLANCO Linhas brancas laterais de abertura para cima/para baixo
    CDLGAPSIDESIDESWHITE ((Registros [Open,High,Low,Close]) = Array ((outInteger)
    CDLGRAVESTONEDOJI Doji da lápide
    CDLGRAVESTONEDOJI ((Records[Open,High,Low,Close]) = Matriz ((outInteger)
    CDLHAMMER Martelado
    CDLHAMMER ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHANGINGMAN Um enforcador
    CDLHANGINGMAN ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHARAMI Padrão Harami
    CDLHARAMI ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHARAMICROSS Padrão Harami
    CDLHARAMICROSS ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDHIGHWAVE Velas de ondas altas
    CDLHIGHWAVE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHIKKAKE Padrão Hikkake
    CDLHIKKAKE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHIKKAKEMOD Padrão Hikkake modificado
    CDLHIKKAKEMOD ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLHOMINGPIGEON Pombo-caminhador
    CDLHOMINGPIGEON ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLIDENTICAL3CROWS (em inglês) Três corvos idênticos
    CDLIDENTICAL3CROWS ((Records[Open,High,Low,Close]) = Matriz ((outInteger)
    CDLINNEC Padrão no pescoço
    CDLINNECK ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLINVERTEDHAMMER Martelo invertido
    CDLINVERTEDHAMMER ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLKICK A dar pontapés.
    CDLKICKING ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLKICKINGBYLENGTH Chutar - touro/urso determinado pelo marubozu mais longo
    CDLKICKINGBYLENGTH ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLLADDERBOTTOM Base da escada
    CDLLADDERBOTTOM ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLLONGLEGGEDDOJI (em inglês) Dojz de Pernas Longas
    CDLLONGLEGGEDDOJI ((Registros [Open,High,Low,Close]) = Matriz ((outInteger)
    CDLLONGLINE Lâmpada de linha longa
    CDLLONGLINE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLMARUBOZU Marubozu
    CDLMARUBOZU ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLMATCHINGLOW Coincidência baixa
    CDLMATCHINGLOW ((Registros [Open,High,Low,Close]) = Matriz ((outInteger)
    CDLMATHOLD Segurança do tapete
    CDLMATHOLD ((Registros [Open,High,Low,Close],Penetração = 0.5) = Matriz ((outInteger)
    CDMORNINGDOJISTAR Estrela do Doji da manhã
    CDLMORNINGDOJISTAR ((Registros [Open,High,Low,Close],Penetração = 0.3) = Array ((outInteger)
    CDLMORNINGSTAR Estrela da Manhã
    CDLMORNINGSTAR ((Records[Open,High,Low,Close],Penetração = 0.3) = Array ((outInteger)
    CDLONNECK Padrão no pescoço
    CDLONNECK ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CIDLPIERCE Padrão de perfuração
    CDLPIERCING ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLRICKSHAWMAN O homem do riquixá
    CDLRICKSHAWMAN ((Records[Open,High,Low,Close]) = Array ((outInteger)
    MÉTODOS CDLRISEFALL3 Três métodos de subida/baixa
    CDLRISEFALL3METHODS ((Records[Open,High,Low,Close]) = Array ((outInteger)
    LÍNIA DE SEPARATÇÃO Linhas de separação
    CDLSEPARATINGLINES ((Registros [Open,High,Low,Close]) = Matriz ((outInteger)
    CDLSHOOTINGSTAR Estrela cadente
    CDLSHOOTINGSTAR ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLSORTLINE Lâmpada de linha curta
    CDLSHORTLINE ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDL SPINNINGTOP - O Spinning Top.
    CDLSPINNINGTOP ((Records[Open,High,Low,Close]) = Array ((outInteger)
    Padrão CDLSTALLED Padrão parado
    CDLSTALLEDPATTERN ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLSTICKSANDWICH (em inglês) Sandwich de pau
    CDLSTICKSANDWICH ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLTAKURI Takuri (Dragonfly Doji com sombra inferior muito longa)
    CDLTAKURI ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLTASUKIGAP Falta de Tasuki
    CDLTASUKIGAP ((Registros [Open,High,Low,Close]) = Array ((outInteger)
    CDLTHRUSTING Padrão de empurrão
    CDLTHRUSTING ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLTRISTAR Padrão Tristar
    CDLTRISTAR ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLUNIQUE3RIVER Rio Unique 3
    CDLUNIQUE3RIVER ((Records[Open,High,Low,Close]) = Array ((outInteger)
    CDLUPSIDEGAP2CROWS (em inglês) O espaço de dois corvos
    CDLUPSIDEGAP2CROWS ((Registros [Open,High,Low,Close]) = Matriz ((outInteger)
    CDLXSIDEGAP3 MÉTODOS Diferença de alta/baixa três métodos
    CDLXSIDEGAP3METHODS ((Records[Open,High,Low,Close]) = Array ((outInteger)
  • Volume Indicators:

    Indicador Descrição
    AD Chaikin A/D Line
    AD ((Records[High,Low,Close,Volume]) = Array ((outReal)
    ADOSC Oscilador Chaikin A/D
    ADOSC ((Records[High,Low,Close,Volume],Fast Period = 3,Slow Period = 10) = Array ((outReal)
    OBV Sobre o volume do balanço
    OBV ((Records[Close],Records[Volume]) = Array ((outReal)
  • Math Transform:

    Indicador Descrição
    ACOS ACos trigonométrico vetorial
    ACOS ((Records[Close]) = Array ((outReal)
    ASIN ASin vectorial trigonométrico
    ASIN ((Records[Close]) = Array ((outReal)
    ATAN ATan trigonométrico vetorial
    ATAN ((Records[Close]) = Array ((outReal)
    CEIL Tecto vetorial
    CEIL ((Records[Close]) = Matriz ((outReal)
    COS Cos trigonométricos vetoriais
    COS ((Records[Close]) = Array ((outReal)
    COSH Cosh trigonométrico vetorial
    COSH ((Records[Close]) = Array ((outReal)
    EXP Aritmética vetorial Exp
    EXP ((Records[Close]) = Matriz ((outReal)
    Piso Piso vetorial
    FLOOR ((Records[Close]) = Array ((outReal)
    LN Vector Log Natural
    LN ((Records[Close]) = Array ((outReal)
    LOG10 Vector Log10
    LOG10 ((Records[Close]) = Array ((outReal)
    SIN Vector Trigonometric Sin
    SIN ((Records[Close]) = Array ((outReal)
    SINH Vector Trigonometric Sinh
    SINH ((Records[Close]) = Array ((outReal)
    SQRT Raiz quadrada do vetor
    SQRT ((Records[Close]) = Array ((outReal)
    TAN Tan trigonométrico vetorial
    TAN ((Records[Close]) = Array ((outReal)
    TANH Vector Trigonometric Tanh
    TANH ((Records[Close]) = Array ((outReal)
  • Math Operators:

    Indicador Descrição
    Max. Valor máximo durante um período especificado
    MAX ((Records[Close],Time Period = 30) = Array ((outReal)
    MAXINDEX Índice de valor mais elevado durante um período especificado
    MAXINDEX ((Records[Close],Time Period = 30) = Array ((outInteger)
    MIN Valor mais baixo durante um período especificado
    MIN ((Records[Close],Time Period = 30) = Array ((outReal)
    MININDEX Índice do valor mais baixo durante um período especificado
    MININDEX ((Records[Close],Time Period = 30) = Array ((outInteger)
    MINMAX Valores mais baixos e mais elevados durante um período especificado
    MINMAX ((Registros[Fechar],Período de tempo = 30) = [Array ((outMin),Array ((outMax) ]
    MINMAXINDEX Índices dos valores mais baixos e mais elevados durante um determinado período
    MinMAXINDEX ((Registros[Fechar],Período de tempo = 30) = [Array ((outMinIdx),Array ((outMaxIdx) ]
    Total Resumo
    SUM ((Records[Close],Time Period = 30) = Array ((outReal)
  • Cycle Indicators:

    Indicador Descrição
    MT_DCPERIOD Transformação de Hilbert - Período do ciclo dominante
    HT_DCPERIOD ((Records[Close]) = Matriz ((outReal)
    MT_DCPHASE Transformação de Hilbert - Fase do ciclo dominante
    HT_DCPHASE ((Records[Close]) = Matriz ((outReal)
    HT_PHASOR Transformação de Hilbert - Componentes de Fasor
    HT_PHASOR ((Records[Close]) = [Array ((outInPhase),Array ((outQuadrature) ]
    MT_SINE Transformação de Hilbert - SineWave
    HT_SINE ((Records[Close]) = [Array ((outSine),Array ((outLeadSine) ]
    MT_TRENDMODE Transformação de Hilbert - Modo de tendência versus ciclo
    HT_TRENDMODE ((Records[Close]) = Array ((outInteger)
  • Volatility Indicators:

    Indicador Descrição
    ATR Intervalo verdadeiro médio
    ATR ((Records[High,Low,Close],Time Period = 14) = Array ((outReal)
    NATR Intervalo verdadeiro médio normalizado
    NATR ((Records[High,Low,Close],Time Period = 14) = Array ((outReal)
    Trange Distância real
    TRANGE ((Records[High,Low,Close]) = Array ((outReal)
  • Overlap Studies:

    Indicador Descrição
    BANCO DE BANCO Bandeiras de Bollinger
    BBANDS ((Records[Close],Time Period = 5,Deviations up = 2,Deviations down = 2,MA Type = 0) = [Array ((outRealUpperBand),Array ((outRealMiddleBand),Array ((outRealLowerBand) ]
    DEMA Média móvel exponencial dupla
    DEMA ((Records[Close],Time Period = 30) = Array ((outReal)
    EMA Média móvel exponencial
    EMA ((Records[Close],Time Period = 30) = Array ((outReal)
    MT_TRENDLINE Transformação de Hilbert - Linha de tendência instantânea
    HT_TRENDLINE ((Records[Close]) = Matriz ((outReal)
    KAMA Média Móvel Adaptativa de Kaufman
    KAMA ((Records[Close],Time Period = 30) = Array ((outReal)
    MA Média móvel
    MA ((Records[Close],Time Period = 30,MA Type = 0) = Array ((outReal)
    Mãe Média móvel adaptativa MESA
    MAMA ((Records[Close],Fast Limit = 0.5,Slow Limit = 0.05) = [Array ((outMAMA),Array ((outFAMA) ]
    Ponto médio Ponto médio do período
    MIDPOINT ((Records[Close],Time Period = 14) = Array ((outReal)
    Preço médio Preço do ponto médio ao longo do período
    MIDPRICE ((Records[High,Low],Time Period = 14) = Array ((outReal)
    SAR SAR parabólico
    SAR ((Records[High,Low],Fator de aceleração = 0,02,AF máximo = 0,2) = Array ((outReal)
    SAREXT SAR parabólica - alargada
    SAREXT ((Registros[Alto, Baixo],Valor inicial = 0,Offset no reverso = 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 Média móvel simples
    SMA ((Records[Close],Time Period = 30) = Array ((outReal)
    T3 Média móvel exponencial tripla (T3)
    T3 ((Records[Close],Time Period = 5,Volume Factor = 0.7) = Array ((outReal)
    TEMA Média móvel exponencial tripla
    TEMA ((Records[Close],Time Period = 30) = Array ((outReal)
    TRIMA Média móvel triangular
    TRIMA ((Records[Close],Time Period = 30) = Array ((outReal)
    WMA Média móvel ponderada
    WMA ((Records[Close],Time Period = 30) = Array ((outReal)
  • Statistic Functions:

    Indicador Descrição
    LINEARREG Regressão linear
    LINEARREG ((Records[Close],Time Period = 14) = Array ((outReal)
    LINEARREG_ANGLE Ângulo de regressão linear
    LINEARREG_ANGLE ((Records[Close],Time Period = 14) = Array ((outReal)
    LINEARREG_INTERCEPT Interceptação de regressão linear
    LINEARREG_INTERCEPT ((Records[Close],Time Period = 14) = Array ((outReal)
    LINEARREG_SLOPE Inclinação de regressão linear
    LINEARREG_SLOPE ((Records[Close],Time Period = 14) = Array ((outReal)
    STDDEV Desvio padrão
    STDDEV ((Records[Close],Time Period = 5,Deviations = 1) = Array ((outReal)
    TSF Previsão de séries temporais
    TSF ((Records[Close],Time Period = 14) = Array ((outReal)
    VAR Variância
    VAR ((Records[Close],Time Period = 5,Deviations = 1) = Array ((outReal)
  • Momentum Indicators:

    Indicador Descrição
    ADX Índice médio de movimento direcional
    ADX ((Records[High,Low,Close],Time Period = 14) = Array ((outReal)
    ADXR Classificação média do índice de movimento direcional
    ADXR ((Records[High,Low,Close],Time Period = 14) = Array ((outReal)
    APO Oscilador de preços absoluto
    APO ((Records[Close],Periodo rápido = 12,Periodo lento = 26,MA Tipo = 0) = Array ((outReal)
    AROON Aroon
    AROON ((Records[High,Low],Time Period = 14) = [Array ((outAroonDown),Array ((outAroonUp) ]
    AROONOSC Oscilador Aroon
    AROONOSC ((Records[High,Low],Time Period = 14) = Array ((outReal)
    BOP Equilíbrio de Poder
    BOP ((Records[Open,High,Low,Close]) = Array ((outReal)
    CCI Índice do canal de mercadorias
    CCI ((Records[High,Low,Close],Time Period = 14) = Array ((outReal)
    Organização comum de mercado Oscilador de Momento de Chande
    CMO ((Records[Close],Time Period = 14) = Array ((outReal)
    DX Índice de movimento direcional
    DX ((Records[High,Low,Close],Time Period = 14) = Array ((outReal)
    MACD Média móvel de convergência/divergência
    MACD ((Records[Close],Periodo rápido = 12,Periodo lento = 26,Periodo de sinal = 9) = [Array ((outMACD),Array ((outMACDSignal),Array ((outMACDHist) ]
    MACDEXT MACD com tipo de MA controlável
    MACDEXT ((Records[Close],Periodo rápido = 12,MA rápido = 0,Periodo lento = 26,MA lento = 0,Periodo de sinal = 9,MA sinal = 0) = [Array(outMACD),Array(outMACDSignal),Array(outMACDHist]
    MACDFIX Média móvel de convergência/divergência 12/26
    MACDFIX ((Registros[Fechar],Período de sinal = 9) = [Array ((outMACD),Array ((outMACDSignal),Array ((outMACDHist) ]
    Finanças estrangeiras Índice de fluxo de caixa
    MFI ((Records[High,Low,Close,Volume],Time Period = 14) = Array ((outReal)
    Minus_DI Indicador de direcção negativo
    MINUS_DI ((Records[High,Low,Close],Time Period = 14) = Array ((outReal)
    MINUS_DM - Movimento direcional
    MINUS_DM ((Registros[Alto, Baixo],Período de tempo = 14) = Matriz ((outReal)
    Mãe Impulso
    MOM ((Records[Close],Time Period = 10) = Array ((outReal)
    PLUS_DI Indicador de direcção
    PLUS_DI ((Records[High,Low,Close],Time Period = 14) = Array ((outReal)
    PLUS_DM Mais movimento direcional
    PLUS_DM ((Records[High,Low],Time Period = 14) = Array ((outReal)
    PPO Oscilador de preços percentual
    PPO ((Records[Close],Periodo rápido = 12,Periodo lento = 26,MA Tipo = 0) = Array ((outReal)
    ROC Taxa de variação: ((preço/preço anterior) -1) *100
    ROC ((Records[Close],Time Period = 10) = Array ((outReal)
    ROCP Taxa de variação Percentagem: (preço-prevPrice)/prevPrice
    ROCP ((Records[Close],Time Period = 10) = Array ((outReal)
    ROCR Taxa de variação: (preço/prevPrice)
    ROCR ((Records[Close],Time Period = 10) = Array ((outReal)
    ROCR100 Taxa de variação do rácio 100 escala: (preço/prevPrice) * 100
    ROCR100 ((Records[Close],Time Period = 10) = Array ((outReal)
    RSI Índice de força relativa
    RSI ((Records[Close],Time Period = 14) = Array ((outReal)
    STOCH Estocástico
    STOCH ((Registros [Alto, Baixo, Próximo],Periodo rápido-K = 5,Periodo lento-K = 3,Periodo lento-K MA = 0,Periodo lento-D = 3,Periodo lento-D MA = 0) = [Array(outSlowK),Array(outSlowD]
    STOCHF Rápido Estocástico
    STOCHF ((Registros[Alto, Baixo, Próximo],Periodo rápido-K = 5,Periodo rápido-D = 3,Periodo rápido-D MA = 0) = [Array(outFastK),Array(outFastD]
    STOCHRSI Índice de Força Relativa Estocástico
    STOCHRSI ((Records[Close],Período de tempo = 14,Período rápido-K = 5,Período rápido-D = 3,Período rápido-D MA = 0) = [Array(outFastK),Array(outFastD]
    TRIX Rate-of-Change (ROC) de 1 dia de uma EMA tripla suave
    TRIX ((Records[Close],Time Period = 30) = Array ((outReal)
    ULTOSC Oscilador Último
    ULTOSC ((Records[High,Low,Close],Primeiro Período = 7,Segundo Período = 14,Terceiro Período = 28) = Array ((outReal)
    WILLR Williams % R
    WILLR ((Records[High,Low,Close],Time Period = 14) = Array ((outReal)
  • Price Transform:

    Indicador Descrição
    AVGPRICE Preço médio
    AVGPRICE ((Records[Open,High,Low,Close]) = Array ((outReal)
    MEDPRICE Preço médio
    MEDPRICE ((Records[High,Low]) = Matriz ((outReal)
    Tipo de preço Preço típico
    TYPPRICE ((Records[High,Low,Close]) = Array ((outReal)
    WCLPRICE Preço de fechamento ponderado
    WCLPRICE ((Records[High,Low,Close]) = Array ((outReal)

Dados fundamentais

A plataforma FMZ Quant Trading suporta backtesting e consulta de vários dados fundamentais no bot. Os dados fundamentais são fornecidos em tempo real pelo centro de dados da plataforma FMZ Quant Trading, e o centro de dados continuará a coletar e resumir vários dados fundamentais.

Invocação de dados

Utilizaçãoexchange.GetData(Source)Função para obter os dados fundamentais. Os dados fundamentais da criptomoeda não foram coletados temporariamente.

Formato de dados

Os dados fundamentais da criptomoeda não foram coletados temporariamente.

Extensão da API da plataforma FMZ

A plataforma FMZ Quant Trading suporta a invocação programática de várias funções da plataforma e abriu a API estendida.

Suporta a extensão de gerenciamento de autoridade de API, conforme mostrado na figura:

img

Permite que os novosAPI KEYPode entrar.*na caixa de entrada de permissão da API para abrir todas as permissões da interface. Especifique permissões de interface específicas e insira os correspondentes nomes de função estendida da API, separados por vírgulas, comoGetRobotDetail, DeleteRobot, isto é, dá-me istoAPI KEYa autorização paraobter a interface do bot informações detalhadaseexcluir interface do bot.

Criar ApiKey

img

Código de devolução API

Descrição Código
Execução bem sucedida 0
Chave de API errada 1
Assinatura errada. 2
Erro de não 3
Método incorreto 4
Parâmetro incorreto 5
Erro interno desconhecido 6

Status do bot

(Início normal)

Situação Código
Inatividade 0
Em funcionamento 1
Parar 2
Desligado. 3
Parado. 4
A estratégia tem erros. 5

(abnormal)

Situação Código
A estratégia expirou, e por favor entre em contato com o escritor para comprá-lo novamente -1
Nenhuma doca encontrada -2
Erro de compilação da estratégia -3
O bot já está a funcionar. -4
Balanço insuficiente -5
O número de estratégias simultâneas excede o limite -6

Métodos de verificação

Verificação de tokens

Utilizaçãomd5método de encriptação a verificar.

Python, Golang linguagem de chamadas exemplos:

#!/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)
}

Verificação directa

Suporta a verificação semtoken(passagem)secret_keyPor exemplo, a URL que dá diretamente instruções interativas para o bot, que pode ser usado paraTradingViewou oWebHookrecall em outros casos. ParaCommandRobot(RobotId, Cmd)função, o parâmetrononceNão necessita de verificação e a frequência de acesso e os tempos de visita da interface não são limitados.

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

Na circunstância de a verificação directa ser apoiada, apenasCommandRobotInterface é suportada para obter oBodyOs dados na solicitação.WebHook URLdeTradingView:

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

Preste atenção ao ajuste de acordo com o seguinte formato:args=[130350,+""], em que130350É o robô?IDda plataforma FMZ Quant Trading.

Configurações na caixa de mensagens (os dados Body solicitados a serem enviados):

  • Formato JSON:

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

    O robô comIDde186515podem receber a instrução interactiva:{"close": 39773.75, "name": "aaa"}.

  • Formato de texto:

    BTCUSDTPERP Crossing 39700.00 close: {{close}}
    

    O robô comIDde186515podem receber a instrução interactiva:BTCUSDTPERP Crossing 39700.00 close: 39739.4.

Exemplos dePython & Golangchamadas de idiomas:

#!/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)
}

Use a API estendida no FMZ Quant para realizar o trading de sinais de alerta

Explicação da API alargada

  • A API estendida da plataforma de negociação FMZ Quant

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

    O símbolo acima?é seguido pelos parâmetros de pedido.

    Os parâmetros de pedido descritos noPythonLíngua:

    {
        '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'    
    }
    

    Cada nome de parâmetro é separado pelo carácter&, e os nomes e valores dos parâmetros estão ligados ao símbolo=. O URL de solicitação completo (tomandomethod=GetNodeListPor exemplo:

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

    Cuidado para que não hajasecret_keyentre os parâmetros de solicitação.

  • Método de assinatura Nos parâmetros de pedido, o parâmetrosigné uma cadeia de caracteres criptografada, e o método de criptografia é o seguinte.

    Segundo o formato:

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

    Depois de concatenar cordas, useMD5Algoritmo de criptografia para criptografar a cadeia e convertê-la em um valor de cadeia de dados hexadecimal, referido como o valor do parâmetrosign.

    ReferênciaPythonCódigo da parte de assinatura:

    # 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 (em inglês)

GetNodeList()Retorna a lista do docker da conta da plataforma de negociação FMZ Quant correspondente aoAPI KEYno pedido.

  • Parâmetro Nenhum

  • Valor de retorno

    {
        "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()Retorna a lista de agrupamento de bots da conta da plataforma de negociação FMZ Quant correspondente aoAPI KEYno pedido.

  • Parâmetro Nenhum

  • Valor de retorno

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

GetPlatformList (()

GetPlatformList()Retorna a lista de bolsas que foram adicionadas pela conta da plataforma de negociação FMZ Quant correspondente aoAPI KEYno pedido.

  • Parâmetro Nenhum

  • Valor de retorno

    {
        "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)Retorna a lista de robôs da conta da plataforma de negociação FMZ Quant correspondente aoAPI KEYno pedido.

  • Parâmetrooffset, lengtherobotStatussão de tipo inteiro, elabelé de tipo corda.

    • offset
    • length
    • robotStatus(passar -1 significa obter tudo)
    • label(etiqueta personalizada; todos os bots com a etiqueta podem ser coqueteados)

    ParaPythonExemplo de código, consulte o anteriorMétodo de verificação - Verificação de tokens, e o seguinte:PythonExemplo de invocação:print api('GetRobotList', 'member2')imprimir as informações de todos os robôs com o rótulo personalizadomember2. print api('GetRobotList', 0, 5, -1, 'member2')Páginas de 0 a 5 e lista até 5 robôs rotulados commember2.

  • Valor de retorno

    {
        "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
        }
    }
    

ComandoRobot(...)

CommandRobot(RobotId, Cmd)A interface envia o comando interativo para o robô correspondente (robôID: RobotId) doAPI KEYna solicitação da conta FMZ Quant (o comando interativo é capturado peloGetCommand()API chamado na estratégia e retorna).

  • ParâmetroRobotIdé de tipo inteiro, nomeadamente o botID; Cmdé de tipo string, que envia comandos interativos para bots.

    • RobotIdO robô.ID, pode ser obtida através doGetRobotList(...) interface.
    • Cmdé o comando interativo enviado para o bot; o comando será capturado pela funçãoGetCommand(), que desencadeia a lógica interactiva na estratégia (para realizar a lógica interactiva na estratégia, consulte oGetCommand()função no ficheiro).
  • Valor de retorno

    {
        // 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
        }
    }
    

PararRobot(RobotId)

StopRobot(RobotId)para de executar o bot com o ID especificado (robot)ID: RobotId), correspondente aoAPI KEYNo pedido da conta FMZ Quant.

  • ParâmetroRobotIdé de tipo inteiro, nomeadamente o botID, que pode ser obtido porGetRobotList(...)interface;StopRobot(RobotId)A interface retorna o código de estado do robô parado.

  • Valor de retorno

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

ReiniciarRobot(...)

RestartRobot(RobotId, Settings)reinicia o robô com o ID especificado (robôID: RobotId), correspondente aoAPI KEYNo pedido da conta FMZ Quant.

Se o robô é criado pela API estendida, a API estendidaRestartRobot (RobotId, Settings)deve ser utilizado para reiniciar, e oSettingsParâmetro deve ser passado. O robô criado na página da plataforma pode ser reiniciado através da API estendida ou clicando no botão na página.SettingsParâmetro, ou apenas passar o oRobotIdParâmetro. Se você só passar oRobotIdParâmetro, inicie o bot de acordo com as configurações atuais do bot.

  • Parâmetro

    • Sem configurar o bot, o parâmetro estratégiaSettings: RobotIdé de tipo inteiro; o robôIDpodem ser obtidos porGetRobotList(...).

    • Com a configuração do bot, o parâmetro estratégiaSettings: RobotIdé de tipo inteiro; o botIDpodem ser obtidos porGetRobotList(...). Settingsé deJSONTipo de objeto.

      Settingsformato do parâmetro:

      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"}}
          ]
      }
      

      Nota: Quando você usa as informações confidenciais, tais como plataformaAPI KEY, incluindo"meta":{"AccessKey":"xxx","SecretKey":"yyy"}na configuração deeid, você deve saber que o FMZ não armazena os dados. Os dados serão enviados diretamente para o programa docker, então essa informação deve ser configurada toda vez que o bot é criado ou reiniciado.

      Para reiniciar o bot que usa o plugin para suportar o intercâmbio, ao configurar oSettingsParâmetro, você deve fazer as seguintes configurações para oexchangesAtributo:

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

      labelatributo é definir um rótulo para o objeto de troca acessado pelo atualProtocolo Geral, que podem ser obtidos através doexchange.GetLabel()A política de emprego

  • Valor de retorno

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

GetRobotDetail ((RobotId))

GetRobotDetail(RobotId)Obtém as informações pormenorizadas sobre o robô com o ID especificado (robotID: RobotId), correspondente aoAPI KEYNo pedido da conta da plataforma de negociação FMZ Quant.

  • ParâmetroRobotIdé de tipo inteiro; o robôIDpodem ser obtidos porGetRobotList(...).

  • Valor de retorno

    {
        "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
        }
    }
    

    OsummaryAtributo nos dados devolvidos (informação na barra de status do bot; armazenado em cache por 10 segundos; não os dados mais recentes) atualmente tem um limite de quantidade de dados (dados armazenados em cache); o limite de quantidade de dados é de 200KB, e o excesso de dados será truncado.GetRobotLogsinterface para obter (quandoGetRobotLogsobtém as informações da barra de estado, o camposummarysão os dados mais recentes).

    A descrição do atributo destrategy_exchange_pairs, por exemplo, os seguintes dados:

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

    Os primeiros dados60representa o período de linha K por defeito definido pelo bot é 1 minuto, ou seja, 60 segundos.

    [44314,42960,15445,14703]é o objeto de trocaeidconfigurado para o bot (de acordo com a ordem de adição).[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]é o par de negociação definido para o objeto de troca configurado pelo bot (na ordem de adição e em correspondência um a um comeid).

GetAccount ((()

GetAccount()Retorna a informação da conta correspondente aoAPI KEYNo pedido da conta da plataforma de negociação FMZ Quant.

  • Parâmetro Nenhum

  • Valor de retorno

    {
        "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
        }
    }
    

Obtenção


Mais.