avatar of 发明者量化-小小梦 发明者量化-小小梦
フォロー ダイレクトメッセージ
4
フォロー
1271
フォロワー

FMZモバイルアプリ取引端末は定量取引体験を強化します

作成日:: 2023-10-27 16:06:15, 更新日:: 2024-11-10 18:49:54
comments   2
hits   2113

[TOC]

FMZモバイルアプリ取引端末は定量取引体験を強化します

定量取引の分野では、シンプルで使いやすい定量取引ツールが、常に富の増加とリスク管理を実現するための鍵の 1 つとなっています。しかし、市場競争がますます激しくなるにつれ、従来の取引ツールでは急速に変化する市場の需要に対応することができなくなっています。進化を続けるデジタル資産の世界で定量トレーダーが競争上の優位性を維持できるよう、FMZ モバイル アプリに新しい主要機能であるトレーディング ターミナルが追加されました。この機能により、取引の効率が向上するだけでなく、カスタム プラグインを使用して取引を支援できるようになり、取引キャリアに新たな活力が注入されます。

トレーディングターミナル入門ガイド:

FMZ モバイル APP 取引端末とは何ですか?

FMZ定量取引プラットフォームでは、モバイルアプリのダウンロードページFMZ定量モバイルアプリをダウンロードできます。ダウンロードしてインストールしたら、FMZ モバイル アプリを開き、FMZ アカウントにログインします。

FMZモバイルアプリ取引端末は定量取引体験を強化します

FMZ Quant は、FMZ.COM 国際サイトと FMZ.CN 国内サイト (異なる市場をサポート) に分かれていることに注意してください。ログインするときに、対応するサイトを選択する必要があります。異なるサイトのアカウントは独立しており、汎用的ではありません。

FMZ 定量取引プラットフォームのモバイル APP 取引端末は、主要な取引所の API をカプセル化して一元化する定量取引ツールです。さまざまな取引所間を素早く切り替えることができ、FMZ プラットフォームのさまざまな機能を利用して、データのキャプチャと分析、リアルタイムのデータ監視、プログラム支援取引、半自動および手動取引などの操作を実現できます。


トレーディング ターミナル機能にアクセスして有効にするにはどうすればよいですか?

FMZ Quantitative モバイル アプリにログインすると、メイン インターフェイスに「取引ターミナル」機能が表示されます。それをクリックすると、取引ターミナル インターフェイスに入ります。

FMZがモバイルアプリ取引端末をリリースする前に、FMZウェブ端末はすでに取引端末機能を開始していました。ウェブベースの取引端末とモバイルアプリベースの取引端末の両方が必要です。少なくとも1つのホストアプリケーションをデプロイする。 取引所に送信される実際のやり取りのリクエストはすべて、モバイル アプリではなくカストディアンから実行されるため、より安全です。また、API KEY が IP アドレスにバインドされ、携帯電話の IP が変更された場合に使用できなくなるという問題点も回避できます。

FMZモバイルアプリ取引端末は定量取引体験を強化します


取引端末インターフェースの詳細な説明

1. 取引端末のメインインターフェース:

取引端末を開くと、取引端末のメインインターフェースが表示されます。赤いボックス領域をクリックすると、「カストディアン」、「取引所」、「取引ペア」の設定インターフェースが開きます。

  • ホスト: 現在の FMZ アカウントに展開されているすべてのホスト プログラムがリストに表示され、使用する特定のホストを選択できます。
  • 取引所: 現在の FMZ アカウントで作成および設定された取引所オブジェクト (設定された API KEY およびその他の情報) も、対応するリストに表示されます。操作する特定の取引所 (アカウント) を選択できます。
  • 取引ペア: 現在の取引端末で操作する取引ペアと契約を設定します。取引ペア入力ボックスには、入力情報に基づいて選択可能な取引ペアと契約が表示されます。

FMZモバイルアプリ取引端末は定量取引体験を強化します


2. 取引エリア:

取引エリアには市場の深さデータが表示されます。 取引コントロールでは、注文価格、注文数量、注文方向、レバレッジなどの設定を設定できます。

FMZモバイルアプリ取引端末は定量取引体験を強化します

メインインターフェースの下部にあるラベルには、「注文」、「ポジション」、「資産」などの情報が表示され、資金、ポジション、注文を一目で確認できます。


3. Kラインチャート:

注文時にローソク足チャートを確認したい場合は、現在の製品のミニローソク足チャートを拡張するためにここで設計された配慮のある折りたたみ表示コントロールがあります。

FMZモバイルアプリ取引端末は定量取引体験を強化します


市場取引記録、深度、その他の情報を表示する K ライン チャートをより広い領域に表示したい場合は、この K ライン アイコンをクリックして、プロフェッショナルな K ライン チャート ページに移動できます。

FMZモバイルアプリ取引端末は定量取引体験を強化します


プロフェッショナルなKラインチャートインターフェース:

FMZモバイルアプリ取引端末は定量取引体験を強化します


プロフェッショナルな K ライン チャートのインターフェイスは、水平方向に表示することもできます。

FMZモバイルアプリ取引端末は定量取引体験を強化します


取引プラグイン

取引端末プラグインは何ができますか?

  • リアルタイムの市場データの計算と表示。
  • 注文の配置と注文の管理。
  • リスク管理を実現します。
  • 半自動支援取引戦略。

プラグインの開発にはどのようなプログラミング言語とツールが使用されますか?

  • python
  • javascript
  • c++

何が手に入りますか?

  • プラグインをコミュニティと共有し、開発者と一緒に学びましょう。
  • 他の開発者から学び、インスピレーションを得ましょう。
  • 他の定量取引愛好家と交流しましょう。

実際のアプリケーションシナリオを例に挙げてみましょう

FMZ コミュニティでは、ユーザーから次のような要求が出されています。

js を使用して、Binance Exchange のすべての U 契約通貨を横断し、各通貨に対して 10u のポジション (ロング) を開きます。このコードはどのように記述しますか?

この需要シナリオは、実際にはトレーディングターミナルプラグインを使用することで完全に実現でき、トレーディングターミナルはプラグイン戦略を実行するために無料です。長期的なリアルタイム戦略トレーディングターミナルプラグイン支援トレーディングと比較して、間違いなく良い選択です。

ユーザーから提起されたこの要件をどのように設計し、実装するかを見てみましょう。

まず、取引ターミナル プラグインを作成し、プラグイン戦略に 3 つのパラメータを追加する必要があります。

FMZモバイルアプリ取引端末は定量取引体験を強化します

次に、プラグインの作成を開始します。

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

取引端末プラグインが記述されたら、テストすることができます。

モバイルアプリの取引端末で、「…」ボタンをクリックして、取引端末プラグインリストを開きます。現在のFMZアカウント戦略ライブラリにあるすべての取引端末プラグインがこのリストに表示され、使用できます。選択することで。

FMZモバイルアプリ取引端末は定量取引体験を強化します

モバイル アプリでの操作が完了したら、次のコードを使用して 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)
}

クエリデータ:

[{
	"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 定量取引プラットフォームのモバイル APP 取引端末には興味深いプラグインがたくさんあります。ぜひ一緒に探索してください。

/upload/asset/16b436307a4ce5c246c2.mp4


THE END

FMZ モバイル アプリの新しい取引端末機能は、デジタル資産市場におけるあなたの右腕となり、市場の変動や機会に、より柔軟に対応できるようになります。従来の取引戦略に限定されず、カスタム プラグインを使用すると、よりスマートで効率的、かつ市場に適応しやすい取引戦略を作成できます。定量取引のこのエキサイティングな新しい章を始めて、取引スキルと利益を向上させましょう。