avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada Pesan pribadi
4
fokus pada
1271
Pengikut

Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal alarm TradingView (disarankan)

Dibuat di: 2020-04-29 17:08:27, diperbarui pada: 2025-05-16 16:29:48
comments   104
hits   12185

Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal alarm TradingView (disarankan)

Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal peringatan TradingView

Tautan video stasiun B

API ekstensi Inventor Quantitative Trading Platform baru-baru ini ditingkatkan untuk mendukung mode akses langsung, yang memudahkan pengiriman sinyal alarm TradingView ke robot Inventor Quantitative Trading Platform untuk mewujudkan perdagangan otomatis. Jika Anda masih belum tahu apa itu API ekstensi, izinkan saya menjelaskannya secara rinci.

Ekstensi API platform perdagangan kuantitatif Inventor

Tautan ke bagian relevan dari dokumentasi API Inventor

Fungsi utama API yang diperluas adalah untuk menyediakan antarmuka bagi berbagai fungsi pada platform perdagangan kuantitatif penemu operasi terprogram, seperti memulai robot secara berkelompok di waktu yang sama, memulai dan menghentikan robot pada waktu yang dijadwalkan, membaca detail informasi robot, dan lain-lain. Kami menggunakan Inventor Quantitative Trading Platform Extension API untuk mengimplementasikan perdagangan sinyal peringatan TradingView. Persyaratan ini hanya memerlukan ekstensi API.CommandRobot(RobotId, Cmd)Antarmuka dapat mengirimkan instruksi interaktif ke robot dengan ID yang ditentukan. Robot dapat melakukan operasi yang sesuai (seperti menempatkan pesanan untuk membeli atau menjual) setelah menerima instruksi.

Untuk menggunakan API ekstensi, pertama-tama Anda perlu membuat akun penemu Anda sendiriAPI KEY: Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal alarm TradingView (disarankan) API KEYKuncinya adalahaccess keyDansecret keykomposisi,API KEYIni adalah kunci platform perdagangan kuantitatif yang ditemukan oleh operasi terprogram, jadi ini harus disimpan dengan benar dan tidak pernah diungkapkan. Membuat ekstensi FMZAPI KEYAnda dapat menentukan izin saat Anda menggunakanAPI KEYBerikan AksesCommandRobot(RobotId, Cmd)Untuk contoh ini, demi alasan keamanan, berikan izin hanya kepada ekstensi FMZ.API KEYMemberkatiCommandRobot(RobotId, Cmd)Izin akses untuk antarmuka.

Mode akses langsung untuk API ekstensi

Mode akses langsung berartiAPI KEYTulis langsung di kueri URL. Misalnya, URL untuk mengakses API ekstensi Inventor Quantitative Trading Platform dapat ditulis sebagai:

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

di dalam,https://www.fmz.com/api/v1adalah alamat antarmuka,?Setelah ituQuery,parameteraccess_keyContoh kunci diwakili oleh xxx (isi akses kunci akun FMZ Anda sendiri saat menggunakan), parametersecret_keyKunci rahasia diwakili oleh yyyy (isi sendiri kunci rahasia akun Anda saat menggunakannya), parametermethodAdalah nama spesifik dari antarmuka API yang diperluas yang akan diakses.argsUntuk dipanggilmethodParameter antarmuka.

Kami menggunakan TradingView sebagai sumber sinyal untuk mengirim perintah perdagangan ke robot platform perdagangan kuantitatif milik penemu.CommandRobotAntarmuka ini.

TradingView

Pertama-tama, Anda perlu memiliki akun TradingView Pro. Fitur WebHood dalam alarm tidak tersedia di level Basic. Kita pergi ke grafik di TradingView.

Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal alarm TradingView (disarankan)

Menambahkan indikator ke grafik, tetapi juga algoritma skrip lainnya. Di sini kami menggunakan yang paling umum digunakanMACDIndikator, lalu atur periode K-line menjadi 1 menit (untuk memicu sinyal lebih cepat dan memudahkan demonstrasi).

Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal alarm TradingView (disarankan)

Klik kanan pada grafik dan pilih Tambahkan Peringatan dari menu pop-up.

Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal alarm TradingView (disarankan)

Diatur di jendela pop-up “Peringatan”WebHookPada langkah ini, Anda tidak perlu terburu-buru untuk mengaturnya. Pertama-tama mari kita jalankan robot yang memantau sinyal pada Platform Perdagangan Kuantitatif Inventor.

Robot pemesan sinyal pemantauan

Kode sumber strategi:

// 全局变量
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)
    }
}

Kode sumber strategi

Kode strategi sangat sederhana, deteksiGetCommandNilai pengembalian fungsi, ketika pesan interaktif dikirim ke program kebijakan,GetCommandFungsi ini akan mengembalikan pesan ini, dan kemudian program strategi akan melakukan operasi perdagangan yang sesuai berdasarkan konten pesan. Tombol interaktif telah disiapkan pada strategi ini, yang dapat menguji fungsi interaktif. Misalnya, jalankan strategi ini dan konfigurasikan robot dengan simulasi pertukaran Inventor Quantitative Trading Platform.WexApp

Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal alarm TradingView (disarankan)

Klik tombol interaksi untuk menguji kemampuan robot dalam menerima perintah beli.

Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal alarm TradingView (disarankan)

Anda dapat melihat bahwa string perintah yang diterima oleh robot adalah:buy:0.01

Kita hanya perlu membuat URL permintaan WebHook mengakses Inventor Quantitative Trading Platform Extension API saat peringatan TradingView dipicu.CommandRobotSaat menggunakan antarmuka, parameter yang dibawa adalahbuy:0.01Itu saja.

Menyiapkan WebHook TradingView

Kembali ke TradingView, kami mengisi URL WebHook. Memberiaccess_keysecret_keyIsi parameter Anda sendiriAPI KEYmethodSudah diperbaiki, kita hanya perlu mengaksesCommandRobotAntarmuka API yang diperluas ini,argsParameternya adalah[机器人ID,命令字符串]Dalam bentuk, kita bisa langsung mendapatkan ID robot melalui halaman robot, seperti yang ditunjukkan pada gambar: Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal alarm TradingView (disarankan) Kali ini kita biarkan sinyal terpicu dan membeli 0,02 koin. Rangkaian perintahnya adalah:"buy:0.02". Ini melengkapi URL WebHook. Metode ini hanya mendukung penulisan sinyal di URL. Jika Anda ingin mendapatkan konten pesan peringatan yang dapat dikeluarkan oleh strategi TV itu sendiri, lihat https://www.fmz.com/api#%E7%9B %B4%E6%8E%A5%E9%AA%8C%E8%AF%81.

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

Pengaturan di TradingView:

Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal alarm TradingView (disarankan)

Menunggu sinyal untuk dipicu… Menunggu sinyal untuk dipicu.. Menunggu sinyal untuk dipicu.

Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal alarm TradingView (disarankan)

Robot menerima sinyal:

Gunakan API Ekstensi Platform Perdagangan Kuantitatif Inventor untuk mengimplementasikan perdagangan sinyal alarm TradingView (disarankan)

Dengan cara ini, Anda dapat menggunakan fungsi grafik yang kaya dan algoritma indikator pada TradingView bersama dengan robot strategi dari Inventor Quantitative Trading Platform untuk mencapai perdagangan otomatis yang Anda inginkan. Dibandingkan dengan memindahkan strategi pada TradingView ke dalam bahasa JavaScript dan Python, kesulitannya sangat berkurang.

Kode strategi “Monitoring Signal Order Placing Robot” hanya untuk pembelajaran dan penelitian. Anda perlu mengoptimalkan dan menyesuaikannya sendiri untuk penggunaan yang sebenarnya. Robot ini mendukung futures dan disarankan untuk mengaturnya ke mode market order. Lihat strateginya parameter kode untuk rincian. Ini hanyalah titik awal. Jika Anda memiliki pertanyaan atau saran, silakan tinggalkan pesan.