発明者の量化取引プラットフォーム拡張APIを使用して,TradingViewのアラーム信号取引を実現する (推薦)

作者: リン・ハーン小さな夢, 作成日: 2020-04-29 17:08:27, 更新日: 2023-10-08 19:56:04

img

発明者の量化取引プラットフォームの拡張APIを使用して,TradingViewのアラーム信号取引を実現する

B駅のビデオリンク

Inventor 量化取引プラットフォーム拡張APIは最近アップグレードされ,直接アクセスモードをサポートしているため,Inventor 量化取引プラットフォームロボットに送信されるTradingView アラーム信号を簡単に自動取引できるようにします.

発明者 量化取引プラットフォーム拡張API

発明者APIドキュメントの関連部分へのリンク

拡張APIの主な役割は,プログラム操作の発明者による量化取引プラットフォームの様々な機能へのインターフェースを提供することである.例えば,同時にボットを大量に起動する,ボットを起動,停止する,ボットの詳細を読むなど.我々は発明者による量化取引プラットフォームの拡張APIを使用して,ExtendTradingViewのアラーム信号取引を実現する.この需要計画は拡張API内ののみを使用する.CommandRobot(RobotId, Cmd)インターフェースでは,IDを指定したロボットにインタラクティブ指令を送信し,その指令を受けるとロボットが対応する操作 (例えば,購入,売却など) を実行します.

拡張APIを使用するには,まず自分の発明者アカウントを作成する必要があります.API KEY: img API KEY秘密の鍵はaccess keyそしてsecret key組織化API KEYFMZの拡張機能を作成する際には,FMZの鍵を適切に保管し,漏らさないようにする必要があります.API KEY許可を指定できます. 例えば,この図で,API KEYアクセスCommandRobot(RobotId, Cmd)この例では,セキュリティ上の理由で,FMZの拡張子のみを指定してください.API KEY授与するCommandRobot(RobotId, Cmd)インタフェースへのアクセス許可.

拡張APIの直接アクセス方式

直接アクセスモードはAPI KEYURLのQueryに直接書き込む場合,例えば,発明者のQTAPI拡張にアクセスする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_key秘密鍵はyyyyで表示される (使用時に自分のアカウントの秘密_keyを指定する),パラメータmethod拡張APIの特定名称を表示します.args呼び出すためにmethodインタフェースのパラメータは,

TradingViewを信号源として使って,発明者の量化取引プラットフォームロボットに取引命令を送ります.CommandRobotこのインターフェースは,

トレーディングView

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

img

グラフに指標を加えるには,他のスクリプトアルゴリズムも加えることができます. ここで,最もよく使われるものを簡単に示します.MACD指示を押して,K線周期を1分に設定します (信号がより早く発信され,デモが容易になるため).

img

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

img

"アラーム"のポップウィンドウで設定するWebHookこの段階では,急いで設定する必要がないので,発明者が取引所の端に監視信号を量的に表示するロボットを稼働させました.

監視信号を出すロボット

戦略のソースコード:

// 全局变量
var BUY = "buy"     // 注意:现货用的命令
var SELL = "sell"   //      现货用的命令
var LONG = "long"   // 期货用的命令
var SHORT = "short" // 期货用的命令
var COVER_LONG = "cover_long"   // 期货用的命令
var COVER_SHORT = "cover_short" // 期货用的命令

function main() {
    // 清空日志,如不需要,可以删除
    LogReset(1)

    // 设置精度
    exchange.SetPrecision(QuotePrecision, BasePrecision)

    // 识别期货还是现货
    var eType = 0
    var eName = exchange.GetName()
    var patt = /Futures_/
    if (patt.test(eName)) {
        Log("添加的交易所为期货交易所:", eName, "#FF0000")
        eType = 1
        if (Ct == "") {
            throw "Ct 合约设置为空"
        } else {
            Log(exchange.SetContractType(Ct), "设置合约:", Ct, "#FF0000")
        }
    } else {
        Log("添加的交易所为现货交易所:", eName, "#32CD32")
    }
    
    var lastMsg = ""
    var acc = _C(exchange.GetAccount)
    while(true) {
        var cmd = GetCommand()
        if (cmd) {
            // 检测交互命令
            lastMsg = "命令:" + cmd + "时间:" + _D()
            var arr = cmd.split(":")
            if (arr.length != 2) {
                Log("cmd信息有误:", 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("现货交易所不支持!", "#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("期货交易所不支持!", "#FF0000")
                }
                if (tradeInfo) {
                    Log("tradeInfo:", tradeInfo)
                }
            } else {
                throw "eType error, eType:" + eType
            }
            acc = _C(exchange.GetAccount)
        }
        var tbl = {
            type : "table", 
            title : "状态信息", 
            cols : ["数据"], 
            rows : []
        }
        // tbl.rows.push([JSON.stringify(acc)])   // 测试时使用
        LogStatus(_D(), eName, "上次接收到的命令:", lastMsg, "\n", "`" + JSON.stringify(tbl) + "`")
        Sleep(1000)
    }
}

策略ソースコード

戦略コードは簡単で,検出できます.GetCommandこの関数は,関数に返される値で,関数に返される値です.GetCommand機能はこのメッセージを返し,そのメッセージの内容に基づいて,ポリシーのプログラムが対応する取引操作を行う.このポリシーは,インタラクションの機能をテストするためのインタラクションボタンが設定されている.例えば,このポリシーの実行を,ロボットに設定した発明者の量化取引プラットフォームの模擬取引所.WexApp

img

ロボットが購入命令を受け取る機能をテストするために,インタラクションボタンをクリックします.

img

機械が受信するコマンド文字列は:buy:0.01

WebHookは,URLで開拓者へのアクセスを求め,QUAIT 取引プラットフォームの拡張APIを検索します.CommandRobotインタフェースでは,このパラメータがbuy:0.01ほら ほら

WebHook を設定する

WebHook の URL を入力します.access_keysecret_key任意の項目を入力します.API KEYmethod固定,我々は訪問するだけCommandRobotこの拡張APIは,argsこのパラメータは[机器人ID,命令字符串]機械人IDの形式は,ロボットページから直接入手できます.img信号が発信されると,0.02コインを買い,命令文字列を"buy:0.02"この方法では,信号を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"]

取引視野で設定:

img

信号が発信されるのを待って... 信号が発信されるのを待って... 等待信号触发.

img

ロボットが信号を受け取った.

img

この方法により,TradingViewの豊富なグラフ機能,指標アルゴリズムと発明者の戦略ロボットを組み合わせて,TradingViewの戦略をJavaScriptやPython言語に移植するよりも難易度が直線を下げて,自分の望む自動化取引を実現することができます.

『監視信号下単一のロボット』戦略コードは学習研究のみであり,実用盤での使用は自己最適化調整が必要であり,フューチャーをサポートし,市場価格单行本モードに設定することを推奨します.詳細については戦略コードパラメータを参照してください. 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 投稿者: 氏


関連性

もっと

pw1013ディープコインの取引所に繋がれるでしょうか? ありがとうございました

ミンジ1005発明者はいつコインペアで先物契約に勝てるの? 通貨安とオイティは手数料が少ないし,高周波ロボットは手数料が悪い.

ミンジ1005発明者はいつコインペアで先物契約に勝てるの? 通貨安とオイティは手数料が少ないし,高周波ロボットは手数料が悪い.

スマイルス取引の戦略は,私は取引を開いた後,時には中途半端に取引が増加します. そして,最後の取引を平ら化しようとすると,cover_longですべてのポジションを平ら化する方法です. (中途半端に何回増えるかわからないので), "cover_long:1"の1は何に変わりますか,コードを跪いてください.

tyk950115私のTVの戦略メッセージはこうです. 注文は{{strategy.order.action}}@{{strategy.order.contracts}} 取引は{{ticker}}. 新しい戦略ポジションは{{strategy.position_size}} 契約をしたい場合は 4つのアラームを追加する必要があります. webhookは,ポリシー内のフィールドを引用できますか? それとも,私がそれを実行するには,それを入力する必要がありますか? webhookの4つの方法long、cover_long\short、cover_shortは,アラーム内のメッセージとどのように対照するのですか?

学量化tvのニューステキストも転送したいのですが,運べません. URLのみがパラメータを運び,Tradingviewのメッセージではありません.

ニン[1234567, "buy:50"] これは50ドル相当のBTCを購入したものです. しかし,私が売り切ったとき,[1234567,"sell:50"] はエラーが表示されました:Sell ((-1, 50): insufficient balance では,最初に購入したBTCを全部売り切れるように設定するにはどうすればいいのでしょうか?

はいこの機能はすごい!

ランン先生 こんにちは,私はあなたのステップをステップで描きました. サーバーは発明者のサーバーを選びました. しかし,テレビは既に信号を発しています. しかし,発明者のロボットは信号命令を実行していません. それはサーバーのせいですか?

ほら ほら素晴らしい,コレクションをゆっくり見る

Qを逆方向に/upload/asset/19a5ed382b58652c4dd19.png /upload/asset/19b0ea9ffa5100a3594f3.png /upload/asset/19a806e32e9b589696fa0.png /upload/asset/19a5005173219393cf2d9.png ステップで追加した契約コードが,なぜエラーが表示されるのか,そのステップが間違っているのか?

武漢語例えば,tv ポリシーに複数の空白先の指示がある場合,これはtv ポリシーに提示された空白先,増やし先,平衡先を操作するのですか?

PY008未来契約のコードは何ですか?

メロ23ビデオ・チュートリアルがどこにあるのか

酸塩支持できる取引所はどれか.

ユアンリジー契約はどうなるの? プログラミングは小白で,英語は綴り字以外は知らない.

ミケルス巨大な波がすぐに広がり,これはとても強い.

スカイフਾਇਰ素晴らしい シンプルなステップ

説教素晴らしい

pw1013版主さんにお聞きしたよ

エキシアオ49コミュニティに質問がありました 調べて下さい

小さな夢インターフェースがないとできない.

エキシアオ49ディープもAPI接続をしていないのか?

小さな夢ユーザの需要によって決まる.

小さな夢この戦略は,一文や二文で達成できるのではなく,具体的策略の変更が必要です. FMZはPINE言語を直接サポートし,直接PINEスクリプトを実行することが比較的簡単です.

ミンジ1005小林先生:あなたの公開したロボットには,開封後停止機能を追加したいのですが,どこで追加しますか? FMZには,停止機能の内蔵がありますか?

小さな夢顧客サービスも聞いてみました. 契約されていないAPIを根絶します.

ミンジ1005絶対に無理だ

小さな夢これは現時点のAPIインターフェースだ,ボス! 海外のFMZが支援している.

ミンジ1005https://www.coinw.fit/front/API このウェブサイトにはAPIがあり,梯子を必要とする /upload/asset/2986424014eb005f8cda2.png

ミンジ1005https://www.coinw.fit/front/API このウェブサイトにはAPIがあり,梯子を必要とします.

小さな夢このアドレスは開けていません. 契約されたAPI文書はありません.

ミンジ1005API 入力リンク:https://coinw.pw/API

小さな夢これはcoinwの現金APIで,coinwの現金FMZは既にサポートされています.彼らは契約のインターフェースを持っていません.

ミンジ1005このIPアドレスを入力するだけで,このIPアドレスを入力します. このIPアドレスを入力するだけで,このIPアドレスを入力します. API 入力リンク:https://coinw.pw/API

小さな夢恥ずかしながら,あなたはコインウォン契約にAPIがあることを確認しましたか?

ミンジ1005そうです,小林先生,アクセスすれば,多くの量的なアクセスができます. なぜなら,コインは80%の報酬を得ています.

小さな夢こんにちは,この取引所にアクセスするには,coinwの契約が必要ですか?

2 2 古い波この問題について,私は,この問題について,この問題について,この問題について,この問題について,

ランン兄弟,テレビの戦略はFMZを直接リンクする,あなたは成功しましたか?

小さな夢これは,例えば,あなたの要求のデザインで cover_long:1, を cover_long:all に変更して,FMZのこの監視ポリシーで,受信したインタラクションのcover_long を変更して,all の場合,すべての平行判断します. ` ` // グローバル変数 var BUY = "buy" // 注意: 現貨のコマンド var SELL = "sell" // 現貨で使うコマンド var LONG = "long" // フューチャー用のコマンド var SHORT = "short" // フューチャー用のコマンド var COVER_LONG = "cover_long" // フューチャー用コマンド var COVER_SHORT = "cover_short" // フューチャー用のコマンド ありがとうございました. ありがとうございました. ありがとうございました. メディアは, } else if (eType == 1) { は,この式で表示される. var tradeInfo = ゼロ 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) について この操作が実行されている場合,この操作が実行されている場合, // ここでは,すべての平面の操作設計を行うために,特定の書き込みを行うために, all のようなパラメータを特定します. 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 } { ほかに } ログ (("フューチャー取引所はサポートしていません!", "#FF0000") ありがとうございました. if (tradeInfo) { を表示する ログ (("tradeInfo:", tradeInfo) ありがとうございました. { else } { ほかに } "eType error, eType:" + eType を表示する ありがとうございました. acc = _C (exchange.GetAccount) ありがとうございました. ` `

イダイ疑問は解決しましたか?

小さな夢警報が発信されるのは,テレビの安定性について,よくわからない.

ベイイargs=[191755,"buy:0.02"],ここではパラメータを追加し,複数の作業を同時に空白することもできます.そのパラメータのうちの1つを省略することは良いですか?複数のテレビアラームが発生するでしょうか.

小さな夢FMZの拡張APIを使用してTVリクエストを受信し,Bodyコンテンツにアクセスできます. 現在,TVがリクエストを送るURLでは,Bodyのデータも受信できます.

1131717062TVで,戦略的な平行取引の警告をどのように構築するか,webhook url

小さな夢FMZの拡張APIを使用してTVリクエストを受信し,Bodyコンテンツを入手することができます.https://www.fmz.com/api#%E7%9B%B4%E6%8E%A5%E9%AA%8C%E8%AF%81

学量化 https://www.fmz.com/strategy/221850,看到了,感谢大神!!

小さな夢直接接続方法があり,要求されたボディの情報にアクセスし,戦略スクエア検索で検索できます.

小さな夢政策を修正し,50を当時の価格で割った.

小さな夢命令が受信された場合,ロボットのステータスタブをクリックし,最後に命令を受け取ったときをクリックします. 設定が正しいか確認します.

ランン設定はBiankanの現貨で,ロボットのログにヒントはありません,TVはトリガー条件とWebhookで設定できます.

小さな夢具体的には,あなたのロボットの配置された取引所は現貨ですか? 将来の取引ですか? ロボットのログに何が表示されますか?

小さな夢/upload/asset/16afbca03eec23516d37.png /upload/asset/16afbca03eec23516d37.png /upload/asset/16afbca03eec23516d37.png /upload/asset/16afbca03eec23516d37.png /upload/asset/16afbca03eec23516d37.png /upload/asset/16afbca03eec23516d37.png /upload/asset/16afbca03eec23516d37.png 取引所が間違って追加した.

小さな夢兄さん,API KEYのスクリーンショットは暗号化され,セキュリティは第一です.

Qを逆方向に/upload/asset/19aee891571def2a6c4f3.png 私はBINANのAPIの権限をすべて開いており,契約口座も開いていますが,戦略が実行されているときに常にフューチャー取引所を追加することはできません. コードの問題ですか?

小さな夢ログには,Binanceが追加した取引所のオブジェクトがBinance現金であることを説明しています. しかし,あなたのポリシーはフューチャー契約コードを設定したので,エラーが発生します.

小さな夢トレーディングビューでアラームを設定し,アラーム設定でwebhookアドレスを入力する必要があります.

小さな夢この関数の記述には,この関数の種類が記載されています.

小さな夢この記事の初めにはリンクがあります.

メロ23B ステーション ビデオの名前は?

小さな夢フューチャー・現貨の使い方は同じですが,リンク内のパラメータを入れ替えるだけです. "var BUY" = "buy" は "var BUY" を表しています. "var SELL" は "sell" を表しています "var LONG"は"長い"という意味です "var SHORT"は"short"を意味しています. "cover_long" は "cover_long" を表示しています. "cover_short" は,このページのページを表示しています. long は開いた多頭位置,short は開いた空頭位置,cover_long は平いた多頭,cover_short は平いた空頭位置である. ` ` https://www.fmz.com/api/v1?access_key=e3809e173e23004821a9bfb6a468e308&secret_key=45a811e0009d91ad21154e79d4074bc6&method=CommandRobot&args=[191755,"buy:0.02"] ` ` リンク内のbuyを入れ替えてください.

小さな夢TVに2つのアラームを追加します.

酸塩もし,平の多シェアで同時に複数開いている場合,つまり信号設定がcover_long:10とshort:10ですが,TVで設定された後に1つの信号しか実行できない場合,これは負債ではありませんか?この問題を解決する方法をお尋ねください.

小さな夢契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には,契約書には.

小さな夢フューチャー設定の契約は実行されます. 戦略パラメータでは,TVで設定された webhook url にフューチャー命令 long, cover_long などを使用します.

キー986設定された現貨の操作コードです.

小さな夢ビデオ・チュートリアルがあります.