Peningkatan! Strategi masa hadapan mata wang digital Martin

Penulis:Mimpi kecil, Dicipta: 2022-02-07 09:12:36, Dikemas kini: 2023-09-20 10:11:23

img

Peningkatan! Strategi masa hadapan mata wang digital Martin

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

  • Pendaftaran sebenar

    img

  • Disk sebenar dYdX

    img

Mimpi itu menjamin bahawa tidak ada kurva pendapatan pembuatan ketumbar penuh (kepala anjing manual).

Walau bagaimanapun, reka bentuk strategi edisi pertama adalah agak sederhana, pada antara muka hanya terdapat satu pegangan, output data hak total, dan grafik pendapatan hanya dicetak untuk mencapai keuntungan dan kerugian, tanpa mengira kenaikan dan penurunan.

Dalam artikel ini, kami akan berkongsi dengan anda semua tentang peningkatan strategi ini selama enam bulan selepas perang sebenar yang stabil.

Pelan Peningkatan

  • Tanda status peningkatan menunjukkan, menunjukkan maklumat mengenai pegangan semasa, dan bukan sekumpulan data yang dicetak. Menunjukkan keuntungan, keuntungan, kerugian, keuntungan dan kerugian sebenar (keseluruhan keuntungan dan kerugian yang telah dihitung dari keuntungan dan kerugian terapung)
  • Grafik tingkah laku menunjukkan kedudukan yang sedang digantung.

Versi dasar sebelum menaik taraf direkodkan di halaman "Catatan" untuk dasar tersebut.

img

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

Mulakan menaik taraf! Pertama, kita perlu mengoptimumkan "Status Bar" untuk menunjukkan bahawa pelajar yang biasa dengan dokumen pembangunan FMZ tahu bahawa untuk menunjukkan data status bar pada FMZ adalahLogStatusFungsi. Jadi kita cari titik masuk ini untuk mula merancang kod.

img

Di sini, anda perlu memasukkan satu kod besar:

                    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 biasa.LogStatusPengeluaran

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

Strategi ini menambah dua parameter:

img

  • Parameter showLine Apabila dipilih, anda boleh menggunakan perpustakaan baris gambar untuk melukis harga simpanan, harga pesanan, kurva harga semasa di halaman rak sebenar.

  • Tentukan parameter PosField Ia digunakan untuk menetapkan bidang asal maklumat simpanan yang perlu dipaparkan, kerana nama medan data asal simpanan setiap bursa berbeza. Oleh itu, parameter yang disesuaikan direka di sini untuk menentukan nama medan yang akan dipaparkan. Sebagai contoh, saya mempunyai akaun Bitcoin:

    img

    Saya mahu memaparkan data maklumat simpanan dalam medan Info (data asal antara muka bursa)unRealizedProfitSifat, yang memegang tidak mencapai keuntungan atau kerugian. Anda boleh menetapkan parameter SpecifyPosField sebagai unRealizedProfit. Ia boleh dipaparkan di bar status.

    Reka bentuk yang serupa boleh membolehkan dasar untuk menyesuaikan output terhadap data yang tidak seragam, memberi pengguna pilihan untuk menyesuaikan output mereka sendiri.

Mulakan semula cakera nyata Binance, dYdX selepas dasar peningkatan

img

img

Anda boleh melihat semua data yang perlu dipaparkan dengan mudah. Memerhatikan kemajuan perdagangan strategi, harga simpanan semasa, keuntungan, kerugian, harga pesanan yang dipaparkan sangat mudah. Strategi mempunyai risiko tertentu, perisian sebenar menetapkan parameter kawalan tertentu berdasarkan risiko mereka sendiri, keuntungan dan kerugian yang bertanggungjawab. Strategi terbuka hanya digunakan untuk pertukaran pembelajaran.


Berkaitan

Lebih lanjut

AAA386Mimpi, n = 1 dalam kod sumber seolah-olah tidak mencerminkan makna?

HermitXAUUSD dan XAUUSD secara relatif merosot jatuh tidak ada ringgit yang begitu kuat

Oh, Tuhan.Multivariety, Dreamcatcher, mula-mula parameter untuk menukar kepada nisbah ialah pembolehubah keuntungan, supaya anda boleh menjalankan pelbagai mata wang pada masa yang sama.

Mimpi kecilWalau bagaimanapun, ia boleh direka, tetapi ia dianggap lebih berisiko, jadi kematian ditulis sebagai n = 1.

Mimpi kecilYa, kerana harga pasangan yang berlainan sangat berbeza, perbezaan harga yang tidak dapat ditunjukkan secara intuitif perlu direka dalam peratusan. Jika anda terus menunjukkan perbezaan harga, parameter aritmatika perlu ditetapkan untuk menetapkan perbezaan harga yang berbeza secara berasingan.