В процессе загрузки ресурсов... загрузка...

FMZ Mobile APP Торговый терминал, расширяющий ваш количественный опыт торговли

Автор:FMZ~Lydia, Создано: 2023-10-30 11:57:31, Обновлено: 2024-11-10 18:51:41

img

В области количественной торговли простые и удобные в использовании инструменты количественной торговли всегда были одним из ключей к достижению роста богатства и управления рисками. Однако с ростом конкуренции на рынке традиционные торговые инструменты больше не являются достаточными для удовлетворения быстро меняющихся потребностей рынка. Чтобы сохранить конкурентное преимущество для количественных трейдеров в постоянно развивающемся мире цифровых активов, FMZ Mobile App добавил значительную новую функцию: торговый терминал. Эта функция не только улучшит вашу эффективность торговли, но и позволит вам с помощью пользовательских плагин-программ помочь в торговле, вливая новую жизненную силу в вашу торговую карьеру.

Руководство для новичков по торговому терминалу:

Что такое торговый терминал FMZ Mobile APP?

На торговой платформе FMZ Quant вы можете загрузить мобильное приложение FMZ Quant сСтраница загрузки мобильного приложенияПосле загрузки и установки откройте мобильное приложение FMZ и войдите в систему с помощью своей учетной записи FMZ.

img

Обратите внимание, что FMZ Quant делится на:FMZ.COMмеждународный сайт иFMZ.CNКитайский внутренний сайт (поддерживающий разные рынки). При входе в систему необходимо выбрать соответствующий сайт. Учеты для разных сайтов независимы и не взаимозаменяемы.

Мобильный торговый терминал FMZ Quantitative Trading Platform APP является количественным торговым инструментом, который инкапсулирует API от крупных бирж. Он позволяет быстро переключаться между различными биржами, и с помощью различных функций платформы FMZ он может выполнять анализ захвата данных, мониторинг данных в режиме реального времени, программно-помощную торговлю, полуавтоматические / ручные торговые операции и т. Д.

Как получить доступ и включить функцию торгового терминала?

После входа в мобильное приложение FMZ Quant вы можете увидеть функцию Trading Terminal на главном интерфейсе.

До того, как FMZ запустил свой мобильный торговый терминал APP, веб-версия FMZ уже запустила эту функцию довольно рано.По крайней мере одна программа докера должна быть развернута.- Да. Это связано с тем, что все фактические запросы, отправляемые на биржи, выполняются с докера, а не на мобильном приложении, что является более безопасным.

img

Подробное объяснение интерфейса торгового терминала

Главный интерфейс торгового терминала:

После открытия торгового терминала вы можете увидеть главный интерфейс торгового терминала.

  • Докер: все докер-программы, развернутые под вашей текущей учетной записью FMZ, будут перечислены здесь для выбора.
  • Обмен: Объекты обмена (конфигурированные с информацией API KEY и т. д.), созданные в вашей текущей учетной записи FMZ, также появятся в соответствующих списках для конкретных операций.
  • Рынки: настройка торговой пары или контракта, который будет работать на этом торговом терминале.

img

Торговая зона:

в зоне торговли отображаются данные о глубине рынка; Торговые виджеты могут устанавливаться с ценой заказа, количеством заказа, направлением заказа, рычагом и другими настройками.

img

В нижних вкладках основного интерфейса отображается информация, такая как Orders, Assets, делая ваши средства и заказы ясными на один взгляд.

К-линейная диаграмма:

Если вы хотите просматривать график K-линии во время размещения заказа, здесь был реализован продуманный дизайн - складной виджет дисплея, который разворачивает мини-карту K-линии текущего продукта.

img

Если вы хотите просмотреть K-линейный график в большей области, отобразить записи о сделках на рынке, подробную информацию и многое другое, вы можете нажать на эту иконку K-линии, чтобы перейти на профессиональную страницу K-линейного диаграмма.

img

Профессиональный интерфейс K-линейной диаграммы:

img

Профессиональный интерфейс K-линейной диаграммы также может отображаться в ландшафтном режиме:

img

Торговый плагин

Что может сделать плагин торгового терминала?

  • Расчет и отображение рыночных данных в режиме реального времени.
  • Размещение и управление заказами.
  • Внедрять управление рисками.
  • Полуавтоматические вспомогательные торговые стратегии.

Какие языки программирования и инструменты используются для разработки плагинов?

  • питон
  • JavaScript
  • c++

Что ты можешь купить?

  • Поделитесь своим плагином с сообществом для взаимного обучения с разработчиками.
  • Учитесь у других разработчиков и вдохновляйтесь.
  • Взаимодействуйте с другими энтузиастами количественной торговли.

Приведите пример, основанный на реальном сценарии применения:

В сообществе FMZ пользователь сделал такой запрос:

Используйте js для прохождения всех валют контракта U на бирже Binance и открыть позицию 10u (long) для каждой валюты.

Этот сценарий требований может быть реализован с помощью плагинов торгового терминала, и запуск плагин-стратегий на торговом терминале является бесплатным.

Давайте посмотрим, как разработать и реализовать запрос пользователя.

Во-первых, нам нужно создать плагин торгового терминала и добавить три параметра к его стратегии:

img

Затем начните писать плагин:

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)
}

После написания плагина торгового терминала его можно протестировать:

В торговом терминале мобильного приложения нажмите кнопку ..., чтобы открыть список плагинов торгового терминала.

img

После завершения операции на мобильном приложении мы используем следующий код для запроса позиции бота-симулятора 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

FMZ Quant Trading Platform мобильный торговый терминал имеет много интересных плагинов.

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

Конец

Новая функция торгового терминала мобильного приложения FMZ станет вашим мощным помощником на рынке цифровых активов, позволяя вам более гибко реагировать на колебания и возможности рынка. Больше не ограничиваясь традиционными торговыми стратегиями, с помощью пользовательских плагинов вы можете создавать более умные, более эффективные торговые стратегии, которые лучше адаптированы к рынку. Давайте начнем эту захватывающую новую главу количественной торговли вместе и улучшим свои торговые навыки и прибыль.


Больше