En la carga de los recursos... Cargando...

FMZ Mobile APP Terminal de comercio, potenciando su experiencia comercial cuantitativa

El autor:FMZ~Lydia, Creado: 2023-10-30 11:57:31, Actualizado: 2024-11-10 18:51:41

img

En el campo de la negociación cuantitativa, las herramientas de negociación cuantitativa simples y fáciles de usar siempre han sido una de las claves para lograr el crecimiento de la riqueza y la gestión de riesgos. Sin embargo, con la creciente competencia del mercado, las herramientas de negociación tradicionales ya no son suficientes para satisfacer las demandas del mercado que cambian rápidamente. Para mantener una ventaja competitiva para los comerciantes cuantitativos en el mundo de los activos digitales en constante evolución, FMZ Mobile App ha agregado una nueva característica significativa: Terminal de negociación. Esta característica no solo mejorará su eficiencia comercial, sino que también lo empoderará a través de programas de complemento personalizados para ayudar en la negociación, inyectando nueva vitalidad en su carrera comercial.

Guía para principiantes de la terminal de negociación:

¿Qué es la terminal de comercio de la aplicación móvil FMZ?

En la plataforma de comercio de FMZ Quant, puede descargar la aplicación móvil FMZ Quant desde elPágina de descarga de aplicaciones móvilesDespués de descargar e instalar, abra la aplicación móvil FMZ y inicie sesión con su cuenta FMZ.

img

Tenga en cuenta que FMZ Quant se divide enFMZ.COMsitio internacional yFMZ.CNChina sitio nacional (que admite diferentes mercados). Al iniciar sesión, debe elegir el sitio correspondiente. Las cuentas de los diferentes sitios son independientes y no intercambiables.

El terminal de comercio móvil APP de la Plataforma de Comercio Cuantitativo FMZ es una herramienta de comercio cuantitativo que encapsula las API de los principales intercambios. Permite cambiar rápidamente entre varios intercambios, y con la ayuda de varias características de la plataforma FMZ, puede realizar análisis de captura de datos, monitoreo de datos en tiempo real, comercio asistido por programa, operaciones comerciales semiautomáticas / manuales, etc.

¿Cómo acceder y habilitar la función del terminal de negociación?

Después de iniciar sesión en la aplicación móvil FMZ Quant, puede ver la función Trading Terminal en la interfaz principal.

Antes de que FMZ lanzara su terminal de negociación de APP móvil, la versión web de FMZ ya había lanzado esta función bastante temprano.al menos un programa de docker debe ser desplegado- ¿ Por qué? Esto se debe a que todas las solicitudes reales enviadas a los intercambios se ejecutan desde el docker, no en la aplicación móvil, lo que es más seguro.

img

Explicación detallada de la interfaz del terminal de negociación

Interfaz principal de la terminal de negociación:

Después de abrir la terminal de negociación, puede ver la interfaz principal de la terminal de negociación.

  • Docker: todos los programas de docker desplegados bajo su cuenta FMZ actual se enumeran aquí para su selección.
  • Intercambio: los objetos de intercambio (configurados con información de la clave API, etc.) creados en su cuenta FMZ actual también aparecerán en las listas correspondientes para selecciones de operaciones específicas.
  • Mercados: Configure el par de operaciones o contrato que esta terminal de operaciones va a operar.

img

2. Zona de comercio:

La zona de negociación muestra los datos de profundidad de mercado; Los widgets de negociación se pueden configurar con el precio de la orden, la cantidad de la orden, la dirección de la orden, el apalancamiento y otros ajustes.

img

Las pestañas inferiores de la interfaz principal muestran información como Orders, Assets, haciendo que sus fondos y órdenes sean claros a simple vista.

3. Diagrama de líneas K:

Si desea ver el gráfico de líneas K mientras realiza un pedido, se ha implementado un diseño reflexivo aquí: un widget de pantalla plegable que despliega el mini gráfico de líneas K del producto actual.

img

Si desea ver el gráfico de línea K en un área más grande, mostrar los registros de transacciones de mercado, información de profundidad y más, puede hacer clic en este icono de línea K para saltar a la página del gráfico de línea K profesional.

img

La interfaz de gráfico de línea K profesional:

img

La interfaz de gráfico profesional de línea K también se puede mostrar en el modo paisaje:

img

Plugin para el comercio

¿Qué puede hacer un complemento de terminal comercial?

  • Cálculo y visualización de datos de mercado en tiempo real.
  • Colocación de pedidos y gestión de pedidos.
  • Implementar la gestión de riesgos.
  • Estrategias de negociación auxiliares semiautomáticas.

¿Qué lenguajes de programación y herramientas se utilizan para desarrollar plugins?

  • el píton
  • JavaScript también está disponible
  • C++

¿Qué puedes conseguir?

  • Comparte tu plugin con la comunidad para aprender mutuamente con los desarrolladores.
  • Aprende de otros desarrolladores y inspira.
  • Interactuar con otros entusiastas del comercio cuantitativo.

Dé un ejemplo basado en un escenario de aplicación de la vida real:

En la comunidad FMZ, un usuario ha presentado una solicitud como esta:

Utilice js para recorrer todas las monedas de los contratos U del intercambio Binance, y abra una posición de 10u (largo) para cada moneda.

Este escenario de requerimiento se puede implementar con plugins de terminales de negociación en realidad, y ejecutar estrategias de plugins en el terminal de negociación es gratuito.

Veamos cómo diseñar e implementar la solicitud del usuario.

En primer lugar, necesitamos crear un complemento de terminal de comercio y añadir tres parámetros a su estrategia:

img

Entonces empieza a escribir el programa de complemento:

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("Switch base address:", 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) {
        // /*
        // For testing purposes, only 10 varieties are opened here. If all varieties are needed, this comment content can be deleted.
        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)
    }

    // Obtain all positions
    let pos = exchange.IO("api", "GET", "/fapi/v2/positionRisk")
    if (!pos) {
        return 
    }
    
    // View positions
    return pos.filter(item => Number(item.positionAmt) != 0)
}

Después de escribir el complemento de terminal de negociación, se puede probar:

En el terminal de negociación de la aplicación móvil, haga clic en el botón ... para abrir la lista de complementos de terminal de negociación.

img

Después de completar la operación en la APP móvil, usamos el siguiente código para consultar la posición del bot de simulación de Binance:

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

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

    // View positions
    return pos.filter(item => Number(item.positionAmt) != 0)
}

Los datos encontrados:

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

Se puede ver que se han abierto 6 posiciones, esto se debe a que al colocar órdenes reales en el bot de simulación, es fácil activar los precios límite; además, debido al monto de la orden de 10U, es fácil activar el límite mínimo del monto de la orden de los pares comerciales; por lo tanto, algunos pares comerciales no se ordenaron con éxito. Si necesita usar esto en la realidad, se deben considerar situaciones más prácticas para optimizar este complemento para un mejor uso.

Otros interesantes complementos integrados en FMZ

El terminal de operaciones de la aplicación móvil FMZ Quant Trading Platform tiene muchos complementos interesantes. Ven a explorar juntos!

https://www.fmz.com/upload/asset/16b436307a4ce5c246c2.mp4

El fin

La nueva función de terminal de trading de la aplicación móvil FMZ se convertirá en su poderoso asistente en el mercado de activos digitales, permitiéndole responder de manera más flexible a las fluctuaciones y oportunidades del mercado.


Más.