Sumber daya yang dimuat... Pemuatan...

Upgrade! Cryptocurrency Futures Strategi Martingale

Penulis:Ninabadass, Dibuat: 2022-04-06 17:38:39, Diperbarui: 2022-04-07 09:26:16

Upgrade! Cryptocurrency Futures Strategi Martingale

Sebagai strategi pengajaran, yang terbaik adalah mempertimbangkan praktik. Cryptocurrency Futures Martingale Strategy juga telah ditampilkan di bagian Live dariFMZ.COMSetelah beberapa kesulitan, strategi Martingale dan grid memiliki risiko dan kelemahan mereka sendiri, dan dengan parameter yang ditetapkan secara konservatif, mereka masih bisa berguna.

  • Binance Futures Bot

    img

  • dYdX Bot

    img

Saya selalu menjamin bahwa ada benar-benar tidak ada pengisian ulang untuk membuat kurva hasil.

Hanya saja desain strategi versi pertama relatif sederhana dan kasar. Hanya ada satu posisi dan ekspor data ekuitas total pada antarmuka. kurva keuntungan hanya mencetak keuntungan dan kerugian yang direalisasikan, dan tidak menghitung kerugian mengambang. Banyak siswa baru mengeluh dan meminta untuk mengoptimalkan tampilan.

Dalam artikel ini, saya akan bekerja dengan Anda untuk meningkatkan strategi, yang telah stabil dan praktis selama setengah tahun.

Rencana Peningkatan

  • Bar status diperbarui untuk menampilkan informasi tentang posisi saat ini, bukan massa data yang dicetak. Tampilkan total ekuitas saat ini, laba dan rugi yang mengapung, dan laba dan rugi aktual (jumlah laba dan rugi yang telah dimasukkan dalam laba dan kerugian yang mengapung)
  • Grafik pasar ditampilkan, dan posisi pesanan saat ini yang sedang menunggu ditampilkan.

Versi strategi sebelum upgrade tercatat di halaman Note strategi.

img

Ini juga kebiasaan pengembangan pribadi saya. sangat nyaman untuk merekam setiap bit pengembangan strategi dan iterasi padaFMZ.COM.

Mulai upgrade!

Pertama-tama, mari optimalkan tampilan status bar. Siswa yang akrab dengan dokumentasi pengembangan FMZ tahu bahwaLogStatusfungsi digunakan untuk menampilkan data bar status pada FMZ. kemudian, kita menemukan titik masuk ini dan mulai merancang kode.

img

Selanjutnya, tambahkan potongan besar kode di sini:

                    var tblPos = {
                        "type" : "table",
                        "title" : "position",
                        "cols" : ["position amount", "position direction", "position average price", "position profit and loss", "contract code", "custom feild / " + SpecifyPosField],
                        "rows" : []
                    }
                    var descType = ["long position", "short position"]
                    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" : "data",
                        "cols" : ["current total equity", "actual profit and loss", "current price", "buy order price/amount", "sell order price/amount"],
                        "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)])
                    
                    // Update the chart data             
                    if (t && showLine) {
                        _.each(pos, function(p) {
                            $.PlotLine(descType[p.Type] + "position price", p.Price)
                        })
                        $.PlotLine("buy order price", buyOrder.Price)
                        $.PlotLine("sell order price", sellOrder.Price)
                        $.PlotLine("current price", t.Last)
                    }
                    
                    // Update the status bar data 
                    LogStatus("time:" + _D() + "\n" + "`" + JSON.stringify(tblPos) + "`" + "\n" + "`" + JSON.stringify(tbl) + "`")

Mengganti kasar sebelumnyaLogStatus export.

LogStatus(_D(), "Current total equity:", currTotalEq, "position:", pos)

Strategi ini telah menambahkan 2 parameter:

img

  • showLine Periksa, dan Anda dapat menggunakan perpustakaan gambar garis untuk menggambar pada halaman bot, dan menggambar harga posisi, harga pesanan yang menunggu dan kurva harga saat ini.

  • Tentukan PosField Hal ini digunakan untuk mengatur bidang mentah informasi posisi yang perlu ditampilkan, karena nama lapangan data posisi mentah dari setiap platform berbeda. Seperti, bot Binance saya:

    img

    Aku ingin menampilkanunRealizedProfitAnda dapat mengatur parameter SpecifyPosField ke unRealizedProfit, dan menampilkannya di bilah status.

    Desain serupa memungkinkan strategi untuk mengekspor data yang tidak seragam secara adaptif, memberikan pengguna pilihan untuk menyesuaikan konten ekspor.

Memulai kembali Bot Binance dan dYdX Setelah Upgrade Strategi

img

img

Anda dapat melihat data yang perlu ditampilkan sekilas. jauh lebih nyaman untuk mengamati kemajuan perdagangan strategi, harga posisi saat ini, keuntungan dan kerugian, dan harga pesanan. Strategi ini memiliki risiko tertentu, dan bot akan menetapkan parameter tertentu sesuai dengan kontrol risikonya sendiri, dan bertanggung jawab atas keuntungan dan kerugian sendiri.


Lebih banyak