В области количественной торговли простые и удобные в использовании инструменты количественной торговли всегда были одним из ключей к достижению роста богатства и управления рисками. Однако с ростом конкуренции на рынке традиционные торговые инструменты больше не являются достаточными для удовлетворения быстро меняющихся потребностей рынка. Чтобы сохранить конкурентное преимущество для количественных трейдеров в постоянно развивающемся мире цифровых активов, FMZ Mobile App добавил значительную новую функцию: торговый терминал. Эта функция не только улучшит вашу эффективность торговли, но и позволит вам с помощью пользовательских плагин-программ помочь в торговле, вливая новую жизненную силу в вашу торговую карьеру.
На торговой платформе FMZ Quant вы можете загрузить мобильное приложение FMZ Quant сСтраница загрузки мобильного приложенияПосле загрузки и установки откройте мобильное приложение FMZ и войдите в систему с помощью своей учетной записи FMZ.
Обратите внимание, что FMZ Quant делится на:FMZ.COMмеждународный сайт иFMZ.CNКитайский внутренний сайт (поддерживающий разные рынки). При входе в систему необходимо выбрать соответствующий сайт. Учеты для разных сайтов независимы и не взаимозаменяемы.
Мобильный торговый терминал FMZ Quantitative Trading Platform APP является количественным торговым инструментом, который инкапсулирует API от крупных бирж. Он позволяет быстро переключаться между различными биржами, и с помощью различных функций платформы FMZ он может выполнять анализ захвата данных, мониторинг данных в режиме реального времени, программно-помощную торговлю, полуавтоматические / ручные торговые операции и т. Д.
После входа в мобильное приложение FMZ Quant вы можете увидеть функцию
До того, как FMZ запустил свой мобильный торговый терминал APP, веб-версия FMZ
Главный интерфейс торгового терминала:
После открытия торгового терминала вы можете увидеть главный интерфейс торгового терминала.
Торговая зона:
в зоне торговли отображаются данные о глубине рынка; Торговые виджеты могут устанавливаться с ценой заказа, количеством заказа, направлением заказа, рычагом и другими настройками.
В нижних вкладках основного интерфейса отображается информация, такая как
К-линейная диаграмма:
Если вы хотите просматривать график K-линии во время размещения заказа, здесь был реализован продуманный дизайн - складной виджет дисплея, который разворачивает мини-карту K-линии текущего продукта.
Если вы хотите просмотреть K-линейный график в большей области, отобразить записи о сделках на рынке, подробную информацию и многое другое, вы можете нажать на эту иконку K-линии, чтобы перейти на профессиональную страницу K-линейного диаграмма.
Профессиональный интерфейс K-линейной диаграммы:
Профессиональный интерфейс K-линейной диаграммы также может отображаться в ландшафтном режиме:
Что может сделать плагин торгового терминала?
Какие языки программирования и инструменты используются для разработки плагинов?
Что ты можешь купить?
В сообществе FMZ пользователь сделал такой запрос:
Используйте js для прохождения всех валют контракта U на бирже Binance и открыть позицию 10u (long) для каждой валюты.
Этот сценарий требований может быть реализован с помощью плагинов торгового терминала, и запуск плагин-стратегий на торговом терминале является бесплатным.
Давайте посмотрим, как разработать и реализовать запрос пользователя.
Во-первых, нам нужно создать плагин торгового терминала и добавить три параметра к его стратегии:
Затем начните писать плагин:
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)
}
После написания плагина торгового терминала его можно протестировать:
В торговом терминале мобильного приложения нажмите кнопку
После завершения операции на мобильном приложении мы используем следующий код для запроса позиции бота-симулятора 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)
}
Найденные данные:
[{
"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"
}]
Можно увидеть, что открыты 6 позиций, это потому, что при размещении реальных ордеров на симуляционном боте легко запустить лимитные цены; кроме того, из-за суммы ордера 10U легко запустить минимальный лимит суммы ордера торговых пар; поэтому несколько торговых пар не были успешно заказаны. Если вам нужно использовать это в реальности, следует рассмотреть более практические ситуации, чтобы оптимизировать этот плагин для лучшего использования.
FMZ Quant Trading Platform мобильный торговый терминал имеет много интересных плагинов.
https://www.fmz.com/upload/asset/16b436307a4ce5c246c2.mp4
Новая функция торгового терминала мобильного приложения FMZ станет вашим мощным помощником на рынке цифровых активов, позволяя вам более гибко реагировать на колебания и возможности рынка. Больше не ограничиваясь традиционными торговыми стратегиями, с помощью пользовательских плагинов вы можете создавать более умные, более эффективные торговые стратегии, которые лучше адаптированы к рынку. Давайте начнем эту захватывающую новую главу количественной торговли вместе и улучшим свои торговые навыки и прибыль.