資源の読み込みに... 荷物...

FMZ Quant トレーディング プラットフォームの拡張 API を使用して,TradingView 警告信号取引を実現します.

作者: リン・ハーンFMZ~リディア, 作成日:2022-12-14 13:42:41, 更新日:2023-09-20 10:17:53

Use the extended API on FMZ Quant Trading Platform to realize TradingView alert signal trading

FMZ Quant トレーディング プラットフォームの拡張 API を使用して,TradingView 警告信号取引を実現します.

FMZ Quant Trading Platformの拡張APIは,直接アクセスをサポートするために最近アップグレードされました. これにより,自動取引のためにFMZ Quant Trading PlatformロボットにTradingView警告信号を簡単に送信できます.拡張APIが何であるか知らない場合は,注意して聞いてください.

FMZ量子取引プラットフォームの拡張API

FMZのAPIドキュメントへのリンク (https://www.fmz.com/api)

拡張APIの主な機能は,プログラム操作のためのFMZ量子取引プラットフォームのさまざまな機能のためのインターフェースを提供することです. 例えば,ロボットを同時でバッチで起動し,ロボットが起動し停止するタイミング,ロボット情報詳細を読み取ることなど.CommandRobot(RobotId, Cmd)このインターフェースは,指定されたIDでロボットにインタラクティブな指示を送信し,ロボットが指示を受けた後に対応する操作 (購入,販売の注文など) を実行することができます. 拡張APIを使用するには,API KEYまず,自分のFMZ口座について:

Use the extended API on FMZ Quant Trading Platform to realize TradingView alert signal trading

秘密の鍵API KEY構成されるaccess keyそしてsecret key. API KEYプログラム操作のFMZ量子取引プラットフォームを定量化するための鍵であるため,適切に保管され,開示されることはありません.API KEYFMZでは,許可を指定できます.例えば,上の図は,API KEYアクセスする許可CommandRobot(RobotId, Cmd)この例では,セキュリティ上の考慮に基づいて, 拡張されたAPI KEYFMZへのアクセス許可についてCommandRobot(RobotId, Cmd) interface.

拡張APIの直接アクセスモード

直接アクセスモードは,API KEYURL Query に直接書き込まれる.例えば,FMZ Quant Trading Platform の拡張 API にアクセスするための URL は以下のように書き込める.

https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyyy&method=CommandRobot&args=[186515,"ok12345"]

どこにhttps://www.fmz.com/api/v1インターフェースアドレスです?続いてはQueryパラメータaccess_key秘密鍵はxxxで表現されます (例えば,それを使用するときに自分のFMZアカウントのaccess_keyを入力します).secret_keyyyyy で表される (それを使用するときに自分のアカウントの secret_key を入力します). パラメータmethodアクセスする拡張 API インターフェイスの特定名,およびargsは,このパラメータです.methodインターフェースを呼び出します.

FMZ量子取引プラットフォームロボットにトランザクションコマンドを送信する信号源として. 実際には,我々はただCommandRobot interface.

トレーディングView

まず,TradingView Pro レベルのアカウントが必要です. WebHood 機能は Basic レベルでは使用できません.

グラフまたは他のスクリプトアルゴリズムにインディケーターを追加することができます. ここで,私たちは最も一般的に使用されるMACDK線周期を1分に設定します (より速い信号発信と簡単な実証のため)

右クリックして,ポップアップメニューから"警告追加"を選択します.

セットWebHookこの時点で,我々はFMZ量子取引プラットフォームで監視信号ロボットを実行することができます.Use the extended API on FMZ Quant Trading Platform to realize TradingView alert signal trading

監視信号を命令するロボット

戦略のソースコード:

// Global variable
var BUY = "buy"     // Note: The command used for spot
var SELL = "sell"   //      The command used for spot
var LONG = "long"   // The command used for future
var SHORT = "short" // The command used for future
var COVER_LONG = "cover_long"   // The command used for future
var COVER_SHORT = "cover_short" // The command used for future

function main() {
    // Clear the log and delete it if not needed
    LogReset(1)

    // Set precision
    exchange.SetPrecision(QuotePrecision, BasePrecision)

    // Identify future or spot
    var eType = 0
    var eName = exchange.GetName()
    var patt = /Futures_/
    if (patt.test(eName)) {
        Log("The added exchange is a futures exchange:", eName, "#FF0000")
        eType = 1
        if (Ct == "") {
            throw "Ct Contract set to null"
        } else {
            Log(exchange.SetContractType(Ct), "set contract:", Ct, "#FF0000")
        }
    } else {
        Log("The added exchange is a spots exchange:", eName, "#32CD32")
    }
    
    var lastMsg = ""
    var acc = _C(exchange.GetAccount)
    while(true) {
        var cmd = GetCommand()
        if (cmd) {
            // Detect interactive commands
            lastMsg = "command:" + cmd + "time:" + _D()
            var arr = cmd.split(":")
            if (arr.length != 2) {
                Log("cmd incorrect information:", cmd, "#FF0000")
                continue
            }

            var action = arr[0]
            var amount = parseFloat(arr[1])

            if (eType == 0) {
                if (action == BUY) {               
                    var buyInfo = IsMarketOrder ? exchange.Buy(-1, amount) : $.Buy(amount)
                    Log("buyInfo:", buyInfo)
                } else if (action == SELL) {        
                    var sellInfo = IsMarketOrder ? exchange.Sell(-1, amount) : $.Sell(amount)
                    Log("sellInfo:", sellInfo)
                } else {
                    Log("The spots exchange is not supported!", "#FF0000")
                }
            } else if (eType == 1) {
                var tradeInfo = null
                var ticker = _C(exchange.GetTicker)
                if (action == LONG) {
                    exchange.SetDirection("buy")
                    tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount)
                } else if (action == SHORT) {        
                    exchange.SetDirection("sell")
                    tradeInfo = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount)
                } else if (action == COVER_LONG) {        
                    exchange.SetDirection("closebuy")
                    tradeInfo = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount)
                } else if (action == COVER_SHORT) {        
                    exchange.SetDirection("closesell")
                    tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount)
                } else {
                    Log("The futures exchange is not supported!", "#FF0000")
                }
                if (tradeInfo) {
                    Log("tradeInfo:", tradeInfo)
                }
            } else {
                throw "eType error, eType:" + eType
            }
            acc = _C(exchange.GetAccount)
        }
        var tbl = {
            type : "table", 
            title : "status information", 
            cols : ["data"], 
            rows : []
        }
        // tbl.rows.push([JSON.stringify(acc)])   // Use it when testing
        LogStatus(_D(), eName, "Last received command:", lastMsg, "\n", "`" + JSON.stringify(tbl) + "`")
        Sleep(1000)
    }
}

戦略のソースコード (https://www.fmz.com/strategy/203063)

戦略コードは非常にシンプルです. それは,リターン値を検出しますGetCommand戦略プログラムにインタラクティブなメッセージを送信すると,GetCommandインタラクティブなボタンはこの戦略に設定されています. たとえば,この戦略を実行し,ロボットを設定します.WexAppFMZ量子取引プラットフォームのシミュレーション取引所です

ロボットに受信されるコマンド文字列は:buy:0.01.

WebHook 要求の URL は TradingView 警告が起動したときに WebHook 要求の URL を作成する必要がありますCommandRobotFMZ 量子取引プラットフォームの拡張APIのインターフェースで,運ばれるパラメータはbuy:0.01.

トレーディングビューの WebHook を設定する

パラメータのためのあなたの独自のAPI KEYを入力してください.access_key, secret_key.....method固定されています.我々は,単にアクセスする必要がありますCommandRobotextendedAPIインターフェース パラメータargsその形は[Robot ID, Command String]ロボットIDを ロボットページから直接取得できます.

Use the extended API on FMZ Quant Trading Platform to realize TradingView alert signal trading

コマンド文字列は: 0.02 コインbuy:0.02. WebHook の URL が完了します.この方法では,URL に信号を書き込むのみがサポートされます.https://www.fmz.com/api#直接の検証です

https://www.fmz.com/api/v1?access_key=e3809e173e23004821a9bfb6a468e308&secret_key=45a811e0009d91ad21154e79d4074bc6&method=CommandRobot&args= [191755,"buy:0.02"]

トレーディングビューで設定:

Use the extended API on FMZ Quant Trading Platform to realize TradingView alert signal trading

信号が発信されるまで待って... 信号が発信されるまで待って... 信号が発信されるまで待って... ... ほら

Use the extended API on FMZ Quant Trading Platform to realize TradingView alert signal trading

ロボットはシグナルを受け取り,TradingViewの様々なチャート機能と指標アルゴリズムを使用して,FMZ Quant Trading Platformの戦略ロボットと協力して,望む自動取引を達成できます.

監視信号による注文の配置のためのロボットの戦略コードは,学習と研究のみの目的である.実際のボットの使用は,フューチャーをサポートするために自己最適化および調整する必要があります.市場価格オーダーモードに設定することをお勧めします.詳細については戦略コードパラメータを参照してください. 質問や提案があれば メッセージを残してください


関連性

もっと