[TOC]

En el campo del trading cuantitativo, las herramientas de trading cuantitativo 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, a medida que la competencia en el mercado se vuelve cada vez más feroz, las herramientas comerciales tradicionales ya no son suficientes para hacer frente a las demandas del mercado que cambian rápidamente. Para que los traders cuantitativos mantengan su ventaja competitiva en este mundo en evolución de activos digitales, se ha agregado una nueva característica importante a la aplicación móvil FMZ: la terminal comercial. Esta función no solo mejorará su eficiencia comercial, sino que también le permitirá usar complementos personalizados para ayudarlo en el trading, inyectando nueva vitalidad a su carrera comercial.
En la plataforma de negociación cuantitativa FMZ,Página de descarga de la aplicación móvilPuedes descargar la aplicación móvil cuantitativa FMZ. Después de descargar e instalar, abra la aplicación móvil FMZ e inicie sesión en su cuenta FMZ.

Cabe señalar que FMZ Quant se divide en el sitio internacional FMZ.COM y el sitio nacional FMZ.CN (que admite diferentes mercados). Debe seleccionar el sitio correspondiente al iniciar sesión. Las diferentes cuentas de sitios son independientes y no universales.
La terminal de comercio de aplicación móvil de la plataforma de comercio cuantitativo FMZ es una herramienta de comercio cuantitativo que encapsula y centraliza las API de los principales intercambios. Puede cambiar rápidamente entre varios intercambios y, confiando en las diversas funciones de la plataforma FMZ, puede realizar captura y análisis de datos, monitoreo de datos en tiempo real, comercio asistido programático, comercio semiautomático y manual y otras operaciones.
Después de iniciar sesión en la aplicación móvil FMZ Quantitative, podrá ver la función “Terminal de operaciones” en la interfaz principal. Haga clic en ella para ingresar a la interfaz de la terminal de operaciones.
Antes de que FMZ lanzara la terminal comercial de aplicación móvil, la terminal web de FMZ ya había lanzado la función de terminal comercial. Tanto la terminal comercial basada en la web como la terminal comercial basada en la aplicación móvil deben estarImplementar al menos una aplicación de alojamiento。 Debido a que todas las solicitudes de interacción reales enviadas al intercambio se ejecutan desde el custodio, no en la aplicación móvil, es más seguro. También evita el problema de que la API KEY esté vinculada a una dirección IP y no se pueda usar si cambia la IP del teléfono móvil.

1. Interfaz principal de la terminal comercial:
Después de abrir la terminal de operaciones, podrá ver la interfaz principal de la misma. Haga clic en el área del cuadro rojo para abrir las interfaces de configuración de “Custodio”, “Bolsa” y “Par comercial”.

2. Zona de negociación:
El área comercial muestra datos de profundidad del mercado; Los controles comerciales pueden establecer el precio del pedido, la cantidad del pedido, la dirección del pedido, el apalancamiento y otras configuraciones.

Las etiquetas en la parte inferior de la interfaz principal muestran información como “Órdenes”, “Posiciones” y “Activos”, lo que le permite ver sus fondos, posiciones y órdenes de un vistazo.
3. Gráfico de la línea K:
Si desea echar un vistazo al gráfico de velas al realizar un pedido, hay un control de visualización plegable considerado diseñado aquí para expandir el mini gráfico de velas del producto actual.

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

Interfaz de gráfico de línea K profesional:

La interfaz del gráfico profesional de líneas K también se puede mostrar horizontalmente:

¿Qué puede hacer el complemento de terminal comercial?
¿Qué lenguajes de programación y herramientas se utilizan para desarrollar plugins?
¿Qué puedes conseguir?
En la comunidad FMZ, los usuarios han planteado una demanda como esta:
Utilice js para recorrer todas las monedas de contrato U en Binance Exchange y abrir una posición de 10u (larga) para cada moneda. ¿Cómo se escribe este código?
Este escenario de demanda se puede realizar completamente mediante el uso de un complemento de terminal comercial, y el terminal comercial es gratuito para ejecutar estrategias de complemento. En comparación con la estrategia a largo plazo en tiempo real, el comercio asistido por complemento de terminal comercial es indudablemente Una buena elección.
Veamos cómo diseñar e implementar este requerimiento planteado por los usuarios.
Primero, debe crear un complemento de terminal comercial y agregar 3 parámetros a esta estrategia de complemento:

Luego empieza a escribir el 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("切换基地址:", 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)
}
Una vez escrito el complemento del terminal comercial, se puede probar:
En la terminal de operaciones de la aplicación móvil, haga clic en el botón “…” para abrir la lista de complementos de la terminal de operaciones. Todos los complementos de la terminal de operaciones en la biblioteca de estrategias de la cuenta FMZ actual se mostrarán en esta lista y podrá Selecciónelos para utilizarlos.

Luego de completar la operación en la APP móvil, utilizamos el siguiente código para consultar las tenencias del disco 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
}
// 查看持仓
return pos.filter(item => Number(item.positionAmt) != 0)
}
Consulta de datos:
[{
"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 observar que se abren 6 posiciones. Esto se debe a que al colocar una orden, es fácil activar el precio límite porque es una orden simulada. Además, dado que la orden es de 10U, es fácil activar el monto mínimo de la orden. límite del par comercial. Por lo tanto, hay varios No se realizaron pedidos con éxito para los pares comerciales. Si el uso real requiere la consideración de situaciones más prácticas, este complemento se puede optimizar para un mejor uso. Este código solo se utiliza para enseñar comunicación.
Hay muchos complementos interesantes en la terminal comercial de aplicaciones móviles de la plataforma de comercio cuantitativo FMZ, ¡ven y explorémoslos juntos!
/upload/asset/16b436307a4ce5c246c2.mp4
La nueva función de terminal comercial de la aplicación móvil FMZ se convertirá en su mano derecha en el mercado de activos digitales, permitiéndole responder a las fluctuaciones y oportunidades del mercado de manera más flexible. Ya no se limita a las estrategias comerciales tradicionales: con complementos personalizados, puede crear estrategias comerciales que sean más inteligentes, más eficientes y más adaptables al mercado. Comencemos este nuevo y apasionante capítulo del trading cuantitativo y mejoremos sus habilidades comerciales y sus ganancias.