[TOC] Je vous en prie.
Dans le domaine de la négociation quantitative, des outils de négociation quantitative simples et faciles à utiliser ont toujours été l'une des clés de la croissance de la richesse et de la gestion des risques. Cependant, à mesure que la concurrence augmente sur le marché, les outils de négociation traditionnels ne sont plus suffisants pour répondre aux besoins du marché en évolution rapide. Afin de permettre à un grand nombre de traders de maintenir leur avantage concurrentiel dans le monde en évolution des actifs numériques, l'application mobile FMZ a ajouté une fonctionnalité majeure: le terminal de négociation.
Il y a aussi une plateforme de trading quantitative FMZ.Page de téléchargement de l'application mobileVous pouvez télécharger l'APP de téléphonie mobile FMZ Quantitative.
Il est important de noter que la quantification FMZ est divisée en stations internationales FMZ.COM, stations nationales FMZ.CN (les marchés pris en charge varient), où il est nécessaire de sélectionner les sites correspondants lors de la connexion, les différents comptes de sites étant indépendants et non généraux.
FMZ Quantitative Trading Platform Mobile APP Trading Terminal est un outil de négociation quantitative centralisé après l'emballage des API des principaux échanges. Il peut être rapidement basculé sur les différents échanges.
Une fois que vous vous êtes connecté à l'application mobile FMZ Quantitative, vous pouvez voir la fonctionnalité "Terminal de transaction" sur l'interface principale.
Avant que FMZ ne lance le terminal de transaction de l'application mobile, le terminal de transaction Web de FMZ était en ligne depuis longtemps.Au moins un programme d'administrateur déployéJe ne sais pas. Parce que toutes les demandes d'interaction qui sont effectivement envoyées à l'échange sont exécutées par l'hôte et non sur l'application mobile, c'est plus sûr.
L'interface principale du terminal de transaction:
Après avoir ouvert le terminal, vous pouvez voir l'interface principale du terminal, cliquer sur la zone rouge pour ouvrir l'interface de configuration "Custodian", "Exchange" et "Trading Pair".
2ème zone de négociation:
Les zones de négociation affichent les données de profondeur du marché. Le contrôleur de transaction peut régler le prix, le nombre, la direction et le levier des commandes.
Les balises situées au bas de l'interface principale affichent des informations telles que "ordre", "détention" et "actifs", ce qui permet de voir vos fonds, vos positions et vos ordres.
Le graphique de ligne 3K:
Si vous souhaitez consulter le diagramme de lignes K lors de la commande, voici un dispositif de visualisation pliable conçu avec soin pour déployer le mini-diagramme de lignes K de la variété actuelle.
Si vous souhaitez avoir une zone plus grande pour afficher le K-line chart, afficher les enregistrements de transactions sur le marché, la profondeur, etc., vous pouvez cliquer sur cette icône K-line pour accéder à la page professionnelle du K-line chart.
L'interface K-Line professionnelle:
L'interface professionnelle K-line permet également d'afficher:
Qu'est-ce qu'un terminal de transaction peut faire?
Quels langages de programmation et quels outils sont utilisés pour développer des plugins?
Qu'est-ce que le GET peut nous apporter?
Dans la communauté FMZ, les utilisateurs ont fait une demande:
Utilisez js pour parcourir toutes les pièces de contrat U sur l'échange Binance, et chaque pièce est en bourse 10u (plus), veuillez demander comment écrire ce code.
Ce scénario de demande peut en fait être entièrement réalisé avec un plug-in de terminal de transaction, et la stratégie de fonctionnement du plug-in de terminal de transaction est gratuite, ce qui est sans aucun doute une bonne option par rapport à la stratégie de fonctionnement du trading de terminal de transaction à long terme.
Nous allons voir comment concevoir pour répondre à cette demande des utilisateurs.
Tout d'abord, vous devez créer un plugin de terminal de transaction et ajouter trois paramètres à la stratégie de ce plugin:
Il a ensuite commencé à écrire des plugins:
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)
}
Une fois que le plugin de terminal de transaction a été écrit, vous pouvez tester:
Dans le terminal de trading de l'application mobile, cliquez sur le bouton "... " pour ouvrir la liste des plugins de terminal de trading, et les plugins de terminal de trading dans la bibliothèque de stratégie actuelle du compte FMZ seront affichés dans cette liste.
Une fois l'opération terminée sur l'APP du téléphone, nous utilisons le code suivant pour rechercher le stockage de l'analogue 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)
}
Pour les données:
[{
"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"
}]
Vous pouvez voir que 6 positions sont ouvertes, car il est facile de déclencher un prix limité lors de la commande réelle, car il s'agit d'un disque simulé. En outre, comme il est facile de déclencher un montant de 10U, il est facile de déclencher une limite de montant minimum de commande pour la paire de transactions. Si l'utilisation réelle nécessite de prendre en compte davantage de situations réelles, afin d'optimiser ce plugin pour une meilleure utilisation, ce code est uniquement utilisé pour l'échange pédagogique.
FMZ est une plateforme de trading quantitative pour les téléphones mobiles, et il y a beaucoup d'autres plugins intéressants à explorer!
Le montant de l'impôt sur le revenu est calculé à partir du montant de l'impôt sur le revenu.
Les nouvelles fonctionnalités du terminal de trading de l'application mobile FMZ vous aideront à mieux gérer les fluctuations et les opportunités du marché des actifs numériques. Ne vous limitez plus aux stratégies de trading traditionnelles, mais créez des stratégies de trading plus intelligentes, plus efficaces et plus adaptées au marché grâce à des plugins personnalisés.
- Je vous en prie.Le rêve est de vivre dans un monde où les gens sont différents.
L'inventeur de la quantification - un petit rêveGrâce au soutien, les ingénieurs de développement de la plate-forme ont été très efficaces, et les suivants ajouteront encore plus de fonctionnalités utiles, que les utilisateurs peuvent mentionner malgré les besoins.