Upgrade! Strategi Futures Mata Uang Digital

Penulis:Mimpi kecil, Dibuat: 2022-02-07 09:12:36, Diperbarui: 2023-09-20 10:11:23

img

Upgrade! Strategi Futures Mata Uang Digital

作为一个教学策略,兼顾一定的实战性能当然是最好的。「数字货币期货类马丁策略」在FMZ.COM围观板块也已经展示了小半年了。经历了好几拨风吹雨打,马丁、网格策略有其风险硬伤,参数保守一点也不是不能用。

  • Real Binance Futures

    img

  • Disk dYdX

    img

"Mengharukan" adalah istilah yang digunakan untuk menggambarkan suatu kondisi yang tidak dapat dihindari.

Hanya saja, desain strategi versi pertama relatif sederhana, pada antarmuka hanya ada satu kepemilikan, output data laba rugi total, dan kurva laba hanya dicetak untuk mencapai laba rugi, tidak termasuk laba dan rugi.

Artikel ini bersama-sama dengan Anda untuk meningkatkan strategi ini yang telah berlangsung selama enam bulan.

Rencana Peningkatan

  • Upgrade status bar ditampilkan, menunjukkan informasi tentang kepemilikan saat ini, bukan sekumpulan data yang dicetak. Menampilkan total laba atas, laba atas, laba atas yang sebenarnya (jumlah laba atas laba atas yang telah dihitung)
  • Grafik menunjukkan posisi yang sedang ditempelkan.

Versi kebijakan sebelum upgrade tercatat di halaman "Catatan" kebijakan tersebut.

img

这个也是我的个人开发习惯,在FMZ.COM上很方便记录策略开发、迭代的点点滴滴。

Pergilah ke atas! Pertama, kita mengoptimalkan "status bar" untuk menunjukkan bahwa siswa yang akrab dengan dokumentasi pengembangan FMZ tahu bahwa menampilkan data status bar di FMZ adalah hal yang sangat berguna.LogStatusFungsi. Jadi kita mencari titik pemotongan ini dan mulai merancang kode.

img

Di sini, Anda akan melihat beberapa gambar yang menarik dari situs web ini.

                    var tblPos = {
                        "type" : "table",
                        "title" : "持仓",
                        "cols" : ["持仓数量", "持仓方向", "持仓均价", "持仓盈亏", "合约代码", "自定义字段 / " + SpecifyPosField],
                        "rows" : []
                    }
                    var descType = ["多头仓位", "空头仓位"]
                    for (var posIndex = 0 ; posIndex < pos.length ; posIndex++) {
                        tblPos.rows.push([pos[posIndex].Amount, descType[pos[posIndex].Type], pos[posIndex].Price, pos[posIndex].Profit, pos[posIndex].ContractType, SpecifyPosField == "" ? "--" : pos[posIndex].Info[SpecifyPosField]])
                    }
                    
                    var tbl = {
                        "type" : "table",
                        "title" : "数据",
                        "cols" : ["当前总权益", "实际盈亏", "当前价格", "买单价格/数量", "卖单价格/数量"],
                        "rows" : []
                    }
                    var buyOrder = null 
                    var sellOrder = null 
                    for (var orderIndex = 0 ; orderIndex < orders.length ; orderIndex++) {
                        if (orders[orderIndex].Type == ORDER_TYPE_BUY) {
                            buyOrder = orders[orderIndex]
                        } else {
                            sellOrder = orders[orderIndex]
                        }
                    }
                    var realProfit = currTotalEq - totalEq
                    if (exchange.GetName() == "Futures_Binance") {
                        _.each(pos, function(p) {
                            realProfit += parseFloat(p.Info.unRealizedProfit)
                        })                        
                    }
                    var t = exchange.GetTicker()
                    tbl.rows.push([currTotalEq, realProfit, t ? t.Last : "--", (buyOrder.Price + "/" + buyOrder.Amount), (sellOrder.Price + "/" + sellOrder.Amount)])
                    
                    // 更新图表数据             
                    if (t && showLine) {
                        _.each(pos, function(p) {
                            $.PlotLine(descType[p.Type] + "持仓价格", p.Price)
                        })
                        $.PlotLine("买单挂单价格", buyOrder.Price)
                        $.PlotLine("卖单挂单价格", sellOrder.Price)
                        $.PlotLine("当前价格", t.Last)
                    }
                    
                    // 更新状态栏数据
                    LogStatus("时间:" + _D() + "\n" + "`" + JSON.stringify(tblPos) + "`" + "\n" + "`" + JSON.stringify(tbl) + "`")

Menggantikan yang sederhana sebelumnyaLogStatusPengiriman

LogStatus(_D(), "当前总权益:", currTotalEq, "持仓:", pos)

Strategi ini menambahkan dua parameter:

img

  • Parameter showLine Dengan mengklik tombol, Anda dapat menggunakan direktori baris gambar untuk menggambar harga saham, harga pesanan, kurva harga saat ini di halaman real.

  • Spesifikasi PosField Ini digunakan untuk mengatur nama lapangan data asli yang harus ditampilkan, karena setiap bursa memiliki nama lapangan data asli yang berbeda. Oleh karena itu, parameter yang disesuaikan dirancang untuk menentukan nama lapangan yang akan ditampilkan. Saya ingin berbagi pengalaman saya dengan teman-teman saya.

    img

    Saya ingin menampilkan data informasi penyimpanan di kolom Info (data asli antarmuka bursa)unRealizedProfitProperti, yaitu, pemegang saham tidak mencapai laba rugi. Anda dapat mengatur parameter SpecifyPosField menjadi unRealizedProfit.

    Desain yang serupa memungkinkan kebijakan untuk menyesuaikan output terhadap data yang tidak seragam, memberi pengguna pilihan untuk menyesuaikan konten output mereka sendiri.

Restart Binance, dYdX setelah kebijakan upgrade

img

img

Anda dapat melihat semua data yang perlu ditampilkan dengan mudah. Mengamati kemajuan perdagangan strategi, harga saham saat ini, laba rugi, dan harga order yang dipegang sangat mudah. Strategi memiliki risiko tertentu, yang dilakukan oleh perusahaan yang mengatur parameter pengendalian berdasarkan risiko mereka sendiri, keuntungan dan kerugian yang bertanggung jawab. Strategi terbuka hanya digunakan untuk pertukaran dan pembelajaran.


Berkaitan

Lebih banyak

AAA386Jadi, apakah n = 1 dalam kode sumber tidak menunjukkan arti? Apakah n++ tidak menunjukkan jumlah pengumpulan di bawahnya?

HermitXAUUSD dan XAUUSD secara relatif turun turun tidak ada lingkaran yang begitu keras

Tidak.Anda harus mengubah parameter ini menjadi proporsi untuk dapat menjalankan banyak mata uang pada saat yang sama.

Mimpi kecilJika kita tidak bisa mengatasinya, maka kita tidak akan bisa mengatasinya.

Mimpi kecilYa, karena perbedaan harga antara pasangan yang berbeda sangat jauh, perbedaan harga yang tidak dapat diindeks secara intuitif harus dirancang dalam persentase. Jika Anda ingin terus menunjukkan perbedaan harga, Anda perlu mengatur parameter aritmatika untuk mengatur perbedaan harga dari varietas yang berbeda secara terpisah.