Type/to search
8
Follow
1365
Followers
meningkatkan! Strategi Martingale untuk Kontrak Berjangka Mata Uang Kripto
Discussions
Created 2022-02-07 09:12:36  Updated 2024-12-02 21:32:43
 5
 4319

img

meningkatkan! Strategi Martingale untuk Kontrak Berjangka Mata Uang Kripto

Sebagai strategi pengajaran, tentu saja yang terbaik adalah mempertimbangkan kinerja praktis tertentu. "Strategi Martin untuk Kontrak Berjangka Mata Uang Kripto" telah ditampilkan di bagian Pantauan FMZ.COM selama hampir setengah tahun. Setelah melalui pasang surut, ditemukan bahwa strategi Martin dan grid memiliki risiko dan kekurangan, dan parameter konservatif tidak berarti keduanya tidak dapat digunakan.

  • Binance Futures Langsung

    img

  • dYdX Langsung

    img

Tn. Meng menjamin bahwa sama sekali tidak ada pengisian ulang untuk "memproduksi" kurva hasil (kepala anjing manual).

Namun, versi pertama dari desain strategi tersebut agak kasar. Hanya ada satu posisi dan total data ekuitas yang ditampilkan pada antarmuka, dan kurva imbal hasil hanya mencetak laba dan rugi yang terealisasi, tanpa memperhitungkan kerugian mengambang. Banyak mahasiswa baru yang mengeluhkan hal ini dan meminta agar tampilannya dioptimalkan.

Dalam artikel ini, mari kita tingkatkan strategi yang telah digunakan secara praktis selama setengah tahun.

Rencana Peningkatan

  • Memperbarui tampilan bilah status untuk menampilkan informasi posisi saat ini alih-alih mencetak banyak data. Menampilkan total ekuitas saat ini, laba rugi mengambang, dan laba rugi aktual (total laba rugi termasuk laba rugi mengambang)
  • Grafik pasar ditampilkan, dan posisi pesanan tertunda saat ini ditampilkan.

Versi kebijakan sebelum pemutakhiran dicatat di halaman Catatan kebijakan.

img

Ini juga kebiasaan pengembangan pribadi saya. Sangat mudah untuk mencatat setiap detail pengembangan dan iterasi strategi di FMZ.COM.

Mulai perbarui!
Pertama, mari kita optimalkan tampilan "status bar". Siswa yang sudah familiar dengan dokumen pengembangan FMZ tahu bahwa data status bar ditampilkan di FMZ menggunakanLogStatusfungsi. Lalu kita temukan titik masuk ini dan mulai mendesain kode.

img

Selanjutnya, tambahkan potongan kode besar di sini:

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) + "`")

Ganti minyak mentah sebelumnyaLogStatusKeluaran

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

Strategi ini menambahkan 2 parameter:

img

  • Tampilkan Parameter Baris
    Jika dicentang, Anda dapat menggunakan pustaka gambar garis untuk menggambar di halaman perdagangan riil, menggambar harga posisi, harga pesanan tertunda, dan kurva harga saat ini.

  • Tentukan parameter PosField
    Digunakan untuk menetapkan bidang asli informasi posisi yang perlu ditampilkan, karena nama bidang data asli posisi berbeda untuk setiap bursa. Jadi di sini kita merancang parameter khusus untuk menentukan nama bidang yang akan ditampilkan.
    Misalnya, akun riil Binance saya:

    img

    Saya ingin menampilkan bidang Info dari data informasi posisi (data asli dari antarmuka pertukaran)unRealizedProfitAtribut, yaitu laba rugi yang belum terealisasi dari posisi tersebut. Anda dapat mengatur parameter SpecifyPosField ke unRealizedProfit. Ini akan ditampilkan di bilah status.

    Desain yang serupa memungkinkan strategi untuk mengadaptasi keluaran ke data yang tidak seragam, sehingga memberikan pengguna opsi untuk menyesuaikan konten keluaran.

Mulai kembali perdagangan nyata Binance dan dYdX setelah meningkatkan strategi

img

img

Anda dapat melihat bahwa data yang perlu ditampilkan jelas sekilas. Jauh lebih mudah untuk mengamati kemajuan perdagangan strategi, harga posisi saat ini, untung rugi, dan harga pesanan tertunda.
Strategi ini memiliki risiko tertentu. Tetapkan parameter tertentu sesuai dengan pengendalian risiko Anda sendiri dan tanggung sendiri keuntungan dan kerugian Anda. Strategi ini diungkapkan hanya untuk komunikasi dan pembelajaran.

Related Recommendations
Comment
All comments (5)

    梦总,源码里的n=1好像并没有体现出意义?下面并没有n++体现加仓次数?

    4 years ago

    可以设计上,不过感觉风险比较大,所以就写死n=1了。

    4 years ago

    梦总 我觉得做黄金不错 XAUUSD 相对来说暴涨暴跌真没有币圈这么猛

    4 years ago

    多品种啊,梦总~首先利润变量那个参数要改成比例才可以多币种同时跑吧

    4 years ago

    是的,因为不同交易对,价格相差甚远,不能直观的用价格差表示了,需要用百分比来设计。如果要继续用价格差表示,需要设置一个数组参数,分开设置这些不同品种的价格差。

    4 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)