avatar of 发明者量化-小小梦 发明者量化-小小梦
focar em Mensagem privada
4
focar em
1271
Seguidores

O terminal de negociação do aplicativo móvel FMZ potencializa sua experiência de negociação quantitativa

Criado em: 2023-10-27 16:06:15, atualizado em: 2024-11-10 18:49:54
comments   2
hits   2113

[TOC]

O terminal de negociação do aplicativo móvel FMZ potencializa sua experiência de negociação quantitativa

No campo da negociação quantitativa, ferramentas de negociação quantitativa simples e fáceis de usar sempre foram uma das chaves para alcançar crescimento patrimonial e gerenciamento de riscos. No entanto, à medida que a concorrência no mercado se torna cada vez mais acirrada, as ferramentas de negociação tradicionais não são mais suficientes para lidar com as rápidas mudanças nas demandas do mercado. Para que os traders quantitativos mantenham sua vantagem competitiva neste mundo em evolução de ativos digitais, um novo recurso importante foi adicionado ao aplicativo móvel FMZ: terminal de negociação. Esse recurso não só melhorará sua eficiência de negociação, mas também permitirá que você use plug-ins personalizados para auxiliar na negociação, injetando nova vitalidade em sua carreira de negociação.

Guia de introdução ao Terminal de negociação:

O que é o terminal de negociação do aplicativo móvel FMZ?

Na plataforma de negociação quantitativa FMZ,Página de download do aplicativo móvelVocê pode baixar o aplicativo móvel quantitativo FMZ. Após baixar e instalar, abra o aplicativo móvel FMZ e faça login na sua conta FMZ.

O terminal de negociação do aplicativo móvel FMZ potencializa sua experiência de negociação quantitativa

Deve-se notar que o FMZ Quant é dividido em site internacional FMZ.COM e site doméstico FMZ.CN (com suporte a diferentes mercados). Você precisa selecionar o site correspondente ao fazer login. Contas de sites diferentes são independentes e não universais.

O terminal de negociação de aplicativo móvel da plataforma de negociação quantitativa FMZ é uma ferramenta de negociação quantitativa que encapsula e centraliza as APIs das principais bolsas. Ele pode alternar rapidamente entre várias bolsas e, contando com as várias funções da plataforma FMZ, pode realizar captura e análise de dados, monitoramento de dados em tempo real, negociação assistida programática, negociação semiautomática e manual e outras operações.


Como acesso e habilito a funcionalidade do Terminal de Negociação?

Após efetuar login no FMZ Quantitative Mobile APP, você pode ver a função “Trading Terminal” na interface principal. Clique nela para entrar na interface do terminal de negociação.

Antes da FMZ lançar o terminal de negociação de APP móvel, o terminal web da FMZ já havia lançado a função de terminal de negociação. Tanto o terminal de negociação baseado na web quanto o terminal de negociação baseado em APP móvel devem serImplantar pelo menos um aplicativo hoster。 Como todas as solicitações de interação reais enviadas à bolsa são executadas pelo custodiante, e não no aplicativo móvel, é mais seguro. Ele também evita o problema de a API KEY estar vinculada a um endereço IP e não poder ser usada se o IP do celular mudar.

O terminal de negociação do aplicativo móvel FMZ potencializa sua experiência de negociação quantitativa


Explicação detalhada da interface do terminal de negociação

1. Interface principal do terminal de negociação:

Após abrir o terminal de negociação, você pode ver a interface principal do terminal de negociação. Clique na área da caixa vermelha para abrir as interfaces de configuração “Custodian”, “Exchange” e “Trading Pair”.

  • Host: Todos os programas host implantados na conta FMZ atual estarão na lista, e você pode selecionar um host específico para usar.
  • Exchange: O objeto de exchange criado e configurado na conta FMZ atual (API KEY configurada e outras informações) também aparecerá na lista correspondente. Você pode selecionar a exchange específica (conta) a ser operada.
  • Par de negociação: defina o par de negociação e o contrato a serem operados pelo terminal de negociação atual. A caixa de entrada do par de negociação exibirá os pares de negociação e contratos selecionáveis ​​com base nas informações de entrada.

O terminal de negociação do aplicativo móvel FMZ potencializa sua experiência de negociação quantitativa


2. Área de negociação:

A área de negociação exibe dados de profundidade de mercado; Os controles de negociação podem definir o preço do pedido, a quantidade do pedido, a direção do pedido, a alavancagem e outras configurações.

O terminal de negociação do aplicativo móvel FMZ potencializa sua experiência de negociação quantitativa

Os rótulos na parte inferior da interface principal exibem informações como “Pedidos”, “Posições” e “Ativos”, permitindo que você veja seus fundos, posições e pedidos rapidamente.


3. Gráfico de linhas K:

Se você quiser dar uma olhada no gráfico de velas ao fazer um pedido, há um controle de exibição dobrável projetado aqui para expandir o mini gráfico de velas do produto atual.

O terminal de negociação do aplicativo móvel FMZ potencializa sua experiência de negociação quantitativa


Se você quiser uma área maior para exibir o gráfico K-line, mostrando registros de transações de mercado, profundidade e outras informações, você pode clicar neste ícone K-line para pular para a página profissional do gráfico K-line.

O terminal de negociação do aplicativo móvel FMZ potencializa sua experiência de negociação quantitativa


Interface profissional de gráfico K-line:

O terminal de negociação do aplicativo móvel FMZ potencializa sua experiência de negociação quantitativa


A interface profissional do gráfico K-line também pode ser exibida horizontalmente:

O terminal de negociação do aplicativo móvel FMZ potencializa sua experiência de negociação quantitativa


Plugin de negociação

O que o plugin do terminal de negociação pode fazer?

  • Cálculo e apresentação de dados de mercado em tempo real.
  • Colocação de pedidos e gerenciamento de pedidos.
  • Alcançar a gestão de riscos.
  • Estratégias de negociação assistida semiautomática.

Quais linguagens de programação e ferramentas são utilizadas para desenvolver plugins?

  • python
  • javascript
  • c++

O que posso obter?

  • Compartilhe seus plugins com a comunidade e aprenda com os desenvolvedores.
  • Aprenda e inspire-se com outros desenvolvedores.
  • Interaja com outros entusiastas de negociação quantitativa.

Tome como exemplo um cenário de aplicação prática

Na comunidade FMZ, os usuários apresentaram uma demanda como esta:

Use js para percorrer todas as moedas de contrato U na Binance Exchange e abra uma posição 10u (longa) para cada moeda. Como você escreve esse código?

Este cenário de demanda pode ser completamente realizado usando um plug-in de terminal de negociação, e o terminal de negociação é gratuito para executar estratégias de plug-in. Comparado com a estratégia de longo prazo em tempo real, o plug-in de terminal de negociação assistido por negociação é, sem dúvida, uma boa escolha.

Vamos ver como projetar e implementar esse requisito levantado pelos usuários.

Primeiro, você precisa criar um plug-in de terminal de negociação e adicionar 3 parâmetros à estratégia do plug-in:

O terminal de negociação do aplicativo móvel FMZ potencializa sua experiência de negociação quantitativa

Então comece a escrever o plug-in:

function main() {
    let exName = exchange.GetName()
    if (exName != "Futures_Binance") {
        return "not support!"
    }

    let apiBase = "https://fapi.binance.com"
    if (isSimulate) {
        apiBase = "https://testnet.binancefuture.com"        
        Log("切换基地址:", apiBase)
    }
    exchange.SetBase(apiBase)
    
    try {
        var obj = JSON.parse(HttpQuery(apiBase + "/fapi/v1/exchangeInfo"))
    } catch (e) {
        Log(e)
    }
    
    let pairs = []
    for (var i in obj.symbols) {
        if (obj.symbols[i]["status"] !== "TRADING" || obj.symbols[i]["quoteAsset"] !== "USDT") {
            continue
        }
        let = pair = obj.symbols[i]["baseAsset"] + "_" + obj.symbols[i]["quoteAsset"]
        pairs.push(pair)
    }
    
    let markets = _C(exchange.GetMarkets)
    for (var i in pairs) {
        // /*
        // 这里为了测试,只开仓10个品种,如果要全品种,这段注释内容可以删除
        if (i >= 9) {
            break
        }
        // */

        let pair = pairs[i]
        exchange.SetCurrency(pair)
        exchange.SetContractType("swap")
        let ticker = exchange.GetTicker()
        if (!ticker) {
            continue 
        }
        
        let = amountPrecision = markets[pair + ".swap"]["AmountPrecision"]
        exchange.SetDirection("buy")
        let amount = _N(qty / ticker.Last, amountPrecision)
        if (amount > 0) {
            exchange.Buy(-1, amount)
        }

        Sleep(100)
    }

    // 获取所有持仓
    let pos = exchange.IO("api", "GET", "/fapi/v2/positionRisk")
    if (!pos) {
        return 
    }
    
    // 查看持仓
    return pos.filter(item => Number(item.positionAmt) != 0)
}

Depois que o plug-in do terminal de negociação for escrito, ele poderá ser testado:

No terminal de negociação do APP móvel, clique no botão “…” para abrir a lista de plug-ins do terminal de negociação. Todos os plug-ins do terminal de negociação na biblioteca de estratégia da conta FMZ atual serão exibidos nesta lista e podem ser usados selecionando-os.

O terminal de negociação do aplicativo móvel FMZ potencializa sua experiência de negociação quantitativa

Após concluir a operação no APP móvel, usamos o seguinte código para consultar os acervos do disco de simulação da Binance:

function main() {
    let apiBase = "https://testnet.binancefuture.com"
    exchange.SetBase(apiBase)

    let pos = exchange.IO("api", "GET", "/fapi/v2/positionRisk")
    if (!pos) {
        return 
    }

    // 查看持仓
    return pos.filter(item => Number(item.positionAmt) != 0)
}

Dados da consulta:

[{
	"symbol": "ETCUSDT",
	"entryPrice": "16.17",
	"unRealizedProfit": "0.08567881",
	"positionSide": "LONG",
	"updateTime": 1698420908103,
	"isolated": false,
	"breakEvenPrice": "16.176468",
	"leverage": "20",
	"adlQuantile": 3,
	"positionAmt": "0.65",
	"markPrice": "16.30181356",
	"liquidationPrice": "0",
	"maxNotionalValue": "400000",
	"marginType": "cross",
	"notional": "10.59617881",
	"isolatedMargin": "0.00000000",
	"isAutoAddMargin": "false",
	"isolatedWallet": "0"
}, {
	"positionAmt": "105",
	"markPrice": "0.09371526",
	"liquidationPrice": "0",
	"leverage": "20",
	"maxNotionalValue": "90000",
	"positionSide": "LONG",
	"isolatedWallet": "0",
	"symbol": "TRXUSDT",
	"updateTime": 1698420906668,
	"breakEvenPrice": "0.094497784",
	"isolatedMargin": "0.00000000",
	"isolated": false,
	"entryPrice": "0.09446",
	"adlQuantile": 1,
	"unRealizedProfit": "-0.07819770",
	"isAutoAddMargin": "false",
	"notional": "9.84010230",
	"marginType": "cross"
}, {
	"unRealizedProfit": "-0.00974456",
	"isAutoAddMargin": "false",
	"notional": "9.97449543",
	"isolatedWallet": "0.50309216",
	"updateTime": 1698420905377,
	"markPrice": "67.85371047",
	"isolatedMargin": "0.49334760",
	"adlQuantile": 2,
	"symbol": "LTCUSDT",
	"entryPrice": "67.92",
	"liquidationPrice": "64.91958163",
	"maxNotionalValue": "250000",
	"positionSide": "LONG",
	"isolated": true,
	"positionAmt": "0.147",
	"breakEvenPrice": "67.947168",
	"leverage": "20",
	"marginType": "isolated"
}, {
	"liquidationPrice": "1613.23261508",
	"marginType": "isolated",
	"isolated": true,
	"symbol": "ETHUSDT",
	"entryPrice": "1784.27",
	"markPrice": "1783.35661952",
	"isAutoAddMargin": "false",
	"positionSide": "LONG",
	"notional": "8.91678309",
	"leverage": "10",
	"maxNotionalValue": "30000000",
	"isolatedWallet": "0.89551774",
	"adlQuantile": 1,
	"positionAmt": "0.005",
	"breakEvenPrice": "1784.983708",
	"unRealizedProfit": "-0.00456690",
	"isolatedMargin": "0.89095084",
	"updateTime": 1698420900362
}, {
	"positionAmt": "17.1",
	"marginType": "cross",
	"isolatedWallet": "0",
	"adlQuantile": 2,
	"liquidationPrice": "0",
	"maxNotionalValue": "250000",
	"positionSide": "LONG",
	"isolated": false,
	"symbol": "EOSUSDT",
	"breakEvenPrice": "0.6432572",
	"updateTime": 1698420904257,
	"isolatedMargin": "0.00000000",
	"isAutoAddMargin": "false",
	"notional": "10.34550000",
	"entryPrice": "0.643",
	"markPrice": "0.60500000",
	"unRealizedProfit": "-0.64980000",
	"leverage": "20"
}, {
	"isolated": false,
	"adlQuantile": 1,
	"liquidationPrice": "0",
	"maxNotionalValue": "10000000",
	"notional": "9.73993328",
	"leverage": "20",
	"updateTime": 1698420901638,
	"symbol": "BCHUSDT",
	"entryPrice": "250.0",
	"markPrice": "243.49833219",
	"isAutoAddMargin": "false",
	"positionSide": "LONG",
	"positionAmt": "0.040",
	"breakEvenPrice": "250.1",
	"isolatedMargin": "0.00000000",
	"unRealizedProfit": "-0.26006671",
	"marginType": "cross",
	"isolatedWallet": "0"
}]

Você pode ver que 6 posições estão abertas. Isso ocorre porque ao fazer uma ordem, é fácil acionar o preço limite porque é uma ordem simulada. Além disso, como a ordem é 10U, é fácil acionar o valor mínimo da ordem limite do par de negociação. Então, há vários Nenhum pedido foi colocado com sucesso para os pares de negociação. Se o uso real exigir a consideração de situações mais práticas, este plug-in pode ser otimizado para melhor uso. Este código é usado apenas para ensinar comunicação.


Outros plugins FMZ internos interessantes

Existem muitos plug-ins interessantes no terminal de negociação de aplicativo móvel da plataforma de negociação quantitativa FMZ, venha explorar junto!

/upload/asset/16b436307a4ce5c246c2.mp4


THE END

A nova função de terminal de negociação do aplicativo móvel FMZ se tornará seu braço direito no mercado de ativos digitais, permitindo que você responda às flutuações e oportunidades do mercado com mais flexibilidade. Não mais limitado às estratégias de negociação tradicionais, com plug-ins personalizados, você pode criar estratégias de negociação mais inteligentes, mais eficientes e mais adaptáveis ​​ao mercado. Vamos começar este novo e emocionante capítulo de negociação quantitativa e melhorar suas habilidades de negociação e lucros.